The featuretree IR: an Open Feature-Tree Format, Emitted Natively into Several CAD Systems and Checked by Re-Reading
When a program or a language-model agent writes a part, a person still has to be able to open it, see how it was built, and change one dimension without starting again. That needs a shared, small description of the feature tree (the "timeline" every history-based CAD system shows) that an agent can emit, each CAD system can rebuild natively, and an edit made in any of them can be read back into. Feature-based modelling has been studied since the 1980s and no complete vocabulary exists; we publish a deliberately small one and a rule for growing it. The featuretree IR is a declarative JSON list of named features (sketches with arcs, pad, pocket, fillet, revolve and placed cuts, with draft) whose references to faces and edges are stored as queries resolved against live geometry, never as kernel identifiers. One IR is emitted as a native, editable tree in FreeCAD, build123d and Onshape, and as scripts for Autodesk Fusion and SolidWorks (not yet run). Every emitted part is checked the same way: STEP export, a volume and Boolean-free IoU gate against a reference build, and a per-feature volume trace that names the first feature where two backends disagree. On the eleven trees recovered from the NIST MBE PMI corpus FreeCAD reproduces the reference on 10 of 11; Onshape, limited by its free plan's API quota, has run 3 and passes 1. An edit made in the FreeCAD tree, read back by feature name and rebuilt by the reference, agrees on 43 of 46 single-dimension edits (27 before a defect this measurement found was fixed). Of the 240 features in the designers' own trees of the same parts, 52% have a kind of their own in the IR; hole, pattern and chamfer would bring that to 94%. Running the backends against each other found six defects, including one in the reference backend and two rules the specification had never stated. Neutral feature exchange is not new, and we claim no novelty; we offer an open specification, an MIT-licensed implementation, and reproducible measurements. Version 2 adds the mapping to each system's feature tree, the edit round trip, the vocabulary coverage, the rule for adding feature kinds, and one more Onshape part. Numbers come from the repository tag ir-paper-v2.
Authors
- Daniel Newcome (ORCID: https://orcid.org/0009-0000-6015-8713)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-10-05
- DOI
- https://doi.org/10.5281/zenodo.23156302
- Primary Topic
- Manufacturing Process and Optimization
- Type
- preprint