3.5 KiB
CAD Feature Tree Export
feature_tree.json is now a SolidWorks FeatureManager-style export. Semantic
models are replayed from the feature nodes themselves; uploaded STEP models use
a SolidWorks-style imported feature with an embedded SurfaceIR payload.
Contract
- The artifact name stays
feature_tree.json. tree_kindissolidworks_feature_manager.schema_versionis1.0.- The JSON Schema lives at
designir-pipeline/contracts/feature_tree.schema.json. - Studio records the artifact with role
feature_tree; no feature-tree UI is required.
Top-level fields are:
model: part metadata such as model id, family, units, and document type.source: DesignIR path, STEP path, reconstruction mode, backend, and the native-history claim.feature_manager: root id, standard SolidWorks reference nodes, and ordered feature nodes.rebuild_contract: the replay mode and compiler entrypoint.validation: structure validation, replay status, geometry/B-Rep status, and feature-recognition coverage.
FeatureManager Style
Every tree starts with a familiar part root and reference geometry:
历史原点前视基准面上视基准面右视基准面原点
Semantic DesignIR features are normalized into SolidWorks-style nodes:
extrude_circle,extrude_rectangle,add_cylinder->BossExtrudethrough_hole->CutExtrudepolar_hole_pattern-> seedCutExtrudeplusCircularPattern- recognized future operations map to
Revolve,RevolvedCut,HoleWizard,Fillet,Chamfer,LinearPattern, andMirrorPattern
Parameters are attached to the owning feature node. They are not top-level
tree nodes. Each parameter keeps a binding_id that matches parameters.json
and the DesignIR semantic parameter name.
Semantic feature trees do not embed a full DesignIR copy. BossExtrude,
CutExtrude, and CircularPattern nodes store the reconstructable sketch,
depth, direction, hole, and pattern definitions needed by the
FeatureTreeCompiler.
Each node also includes SolidWorks-style inspection fields:
definition: feature-specific definition such as end condition, depth, direction, merge result, seed features, axis, or sketch profile.dimensions: SolidWorks-style dimension rows such asD1@凸台-拉伸1, with parameter bindings when available.references: sketch, plane, parent features, and child features.selection_sets: selected faces, edges, and contours. These stay empty until stable B-Rep selectors are available.rebuild: suppression and rollback/rebuild status.
STEP And SurfaceIR
STEP does not contain original SolidWorks sketches or FeatureManager history. For uploaded STEP/SurfaceIR models, the exporter creates one canonical SolidWorks-style imported feature:
solidworks_type:ImportedFeaturedisplay_name:导入1english_name:Imported1
The imported feature embeds compressed gzip+base64+json SurfaceIR. This keeps
the tree honest and independently replayable without pretending that the
original native CAD history was recovered.
Replay
The tree can be replayed without sibling files:
python designir-pipeline/scripts/feature_tree.py compile \
feature_tree.json \
--output-step replayed.step \
--output-designir replayed.designir.json
Semantic trees replay through feature_tree.compile_feature_manager, which
builds DesignIR 3.0 from FeatureManager nodes and then calls
designir_pipeline.compile_designir. Imported SurfaceIR trees replay through
surfaceir_pipeline.build_surfaceir.