featuretree: Verified Recovery of Editable CAD Feature Trees from STEP, for Open CAD Systems
Importing a STEP file into a parametric CAD system yields a single frozen solid: the design history is gone, and no pad depth or hole diameter can be edited. Recovering that history is a well-studied problem — the acceptance criterion used here was stated as a definition by Gupta and Nau in 1995, and commercial implementations have shipped since roughly 1998. It is nonetheless absent from every open-source CAD system and from every callable library we could find: the capability exists only inside proprietary seats costing thousands of dollars per year, with no API. This paper describes featuretree, an MIT-licensed, training-free recogniser that recovers an editable feature tree from an exact boundary representation, gates every recovery by re-executing the tree and comparing the result against the input, and emits into FreeCAD and Onshape — two systems with no import-time feature recognition at all. On the eleven-part NIST MBE PMI conformance corpus it returns an editable tree for all eleven parts, VERIFIED for 3 and PARTIAL for 8, with no incorrect tree accepted; recovered geometry overlaps its input by 97.6% IoU on average and by at least 93.5% on every part, measured without Boolean operations. We also report a negative result about the acceptance criterion itself: a volume-and-extent comparison lets over-cut and uncut material cancel, and when a stronger recogniser multiplied the candidates it accepted two parts that overlap their inputs by only 95.0% and 93.7%. The acceptance gate now also requires a Boolean-free two-sided IoU of 99.5%. No methodological novelty is claimed. The contribution is an available, honest implementation and a measured account of where it fails. A full prior-art scan is included in the software repository. Changes in version 3 (2026-09-29). Layered 2.5D recognition. Parts are also recognised as a stack of sketch-and-pad layers along each principal axis, split at perpendicular faces and at section-topology changes, with holes cut as vertical runs. Mean exactly-registered IoU over the corpus rises from 65.0% to 97.6%, and the worst part from 7.4% to 93.5%. The predicted failure, observed, and removed. Under the volume-and-extent gate, the new candidates produced two false accepts (CTC-03 at 95.0%, FTC-07 at 93.7% IoU). The gate now also requires IoU ≥ 99.5%, measured without Boolean operations; VERIFIED stays at 3 of 11 with no false accepts. When nothing verifies, the best-overlapping candidate is returned rather than the one closest on volume. IoU for every part is now a measurement under the recogniser's exact transform, not a lower bound. Design intent scored on all eleven parts against the designer's AP242 semantic PMI: 97 of 196 holes, 68 of 74 nominal sizes, 9 of 11 unit systems. New figure: every part, input beside recovered tree. New limitations: per-layer draft, one stack per part, recognition time (median 152 s). Reproducibility. Figures come from repository commit 270e60d, whose paper/figures/recovered/ holds every recovered tree they were measured on.
Authors
- Daniel Newcome (ORCID: https://orcid.org/0009-0000-6015-8713)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-09-29
- DOI
- https://doi.org/10.5281/zenodo.23035433
- Primary Topic
- Manufacturing Process and Optimization
- Type
- preprint