The featuretree IR: an Open Feature-Tree Format, Emitted Natively into Several CAD Systems and Checked by Re-Reading

A STEP file carries a part's shape but not how it was built; a CAD system's native file carries the history but only that vendor can read it. We publish the specification of a small neutral format between the two: 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 feature tree in FreeCAD (headless PartDesign), build123d (code), and Onshape (REST, with every reference written as a FeatureScript query that Onshape re-evaluates on regeneration), and as scripts for Autodesk Fusion and SolidWorks. Every emitted part is checked the same way: exported to STEP and compared with a reference build by volume and a Boolean-free point-sampled IoU, with a per-feature volume trace that names the first feature where two backends disagree. We report the measurements, including the parts that fail. On the eleven feature trees recovered from the NIST MBE PMI corpus FreeCAD reproduces the reference on 10 of 11; Onshape reproduces every feature of our coverage parts exactly, but its corpus run was stopped by the free plan's daily API quota after two parts. Running the backends against each other found six defects, including one in the reference backend and two rules the specification had never stated. Separately, reading NIST's native SolidWorks files back through two decoders shows why one decoder is not enough: Onshape's importer matches NIST's own STEP on 11 of 11 parts, an open-source decoder on 1, four of its failures passing its own check. Neutral feature exchange is not new — it goes back to the macro-parametric work of 2003, and a closely related system appeared this year — so we claim no novelty. We offer an open specification, an MIT-licensed implementation, and measurements that can be reproduced. Code (MIT) and the commands that regenerate every number: github.com/punkfab/featuretree, commit 865dde3.

Authors

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2026-09-30
DOI
https://doi.org/10.5281/zenodo.23049387
Primary Topic
Manufacturing Process and Optimization
Type
preprint
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
preprint

The featuretree IR: an Open Feature-Tree Format, Emitted Natively into Several CAD Systems and Checked by Re-Reading

Daniel Newcome
Zenodo (CERN European Organization for Nuclear Research)
Manufacturing Process and Optimization
preprint

The featuretree IR: an Open Feature-Tree Format, Emitted Natively into Several CAD Systems and Checked by Re-Reading

Daniel Newcome
preprint en

Abstract

A STEP file carries a part's shape but not how it was built; a CAD system's native file carries the history but only that vendor can read it. We publish the specification of a small neutral format between the two: 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 feature tree in FreeCAD (headless PartDesign), build123d (code), and Onshape (REST, with every reference written as a FeatureScript query that Onshape re-evaluates on regeneration), and as scripts for Autodesk Fusion and SolidWorks. Every emitted part is checked the same way: exported to STEP and compared with a reference build by volume and a Boolean-free point-sampled IoU, with a per-feature volume trace that names the first feature where two backends disagree. We report the measurements, including the parts that fail. On the eleven feature trees recovered from the NIST MBE PMI corpus FreeCAD reproduces the reference on 10 of 11; Onshape reproduces every feature of our coverage parts exactly, but its corpus run was stopped by the free plan's daily API quota after two parts. Running the backends against each other found six defects, including one in the reference backend and two rules the specification had never stated. Separately, reading NIST's native SolidWorks files back through two decoders shows why one decoder is not enough: Onshape's importer matches NIST's own STEP on 11 of 11 parts, an open-source decoder on 1, four of its failures passing its own check. Neutral feature exchange is not new — it goes back to the macro-parametric work of 2003, and a closely related system appeared this year — so we claim no novelty. We offer an open specification, an MIT-licensed implementation, and measurements that can be reproduced. Code (MIT) and the commands that regenerate every number: github.com/punkfab/featuretree, commit 865dde3.

Zenodo (CERN European Organization for Nuclear Research)
Manufacturing Process and Optimization
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

The featuretree IR: an Open Feature-Tree Format, Emitted Natively into Several CAD Systems and Checked by Re-Reading — Daniel Newcome · Zenodo (CERN European Organization for Nuclear Research) (2026) | TGRS Research Map | TGRS