OrionFlow
Research · 2026

Teaching a model to think like a CAD engine

To generate parametric CAD, a model has to learn more than what a part looks like. It has to learn how a part is reasoned about — spatially, topologically, and as a sequence of intent.

OrionFlow Research7 min read

Geometry alone is a weak teacher. A mesh tells a model the final shape but nothing about the moves that produced it — which face a pocket was cut into, why a sketch stays attached when a parameter changes, or whether an operation added or removed material. So our extractor pulls a multimodal graph out of every model, not just its surface.

Four layers of signal

From each source model we extract four aligned views, all keyed to the same features:

  • Structure — a dependency graph of features with one-hot operation tokens, normalized parameter vectors, and a chronological index, plus edges for profile, base, support, and expression links.
  • Space — a rolling timeline of the solid at every step: bounding box, centre of mass, volume, surface area, face/edge/vertex counts, and the deltas between steps. This is what teaches additive vs. subtractive intent.
  • Sketch — the constraint graph: each constraint's bound geometry and vertices, driving vs. reference status, and degrees of freedom. Fully-constrained sketches carry the strongest design intent.
  • Topology — stable anchors that replace fragile face IDs with geometric signatures (centre of mass, normal, adjacency), so references survive renaming.

Why a graph, not a sequence

A CAD model isn't a flat list of steps — it's a hierarchy. A sketch is mapped onto a datum; a pocket cuts a specific pad; a parameter in a spreadsheet drives a pad's length three steps later. Flatten that into "step 1 → step 2 → step 3" and you throw away the relationships that make an edit predictable. We keep the true dependency edges, so a graph network can learn that geometry is a spatial, constraint-driven hierarchy.

The volumetric delta

Diffing the solid's volume across a step labels every operation: a pad adds, a pocket removes. The model learns the physical consequence of each feature, not just its name.

Built to degrade gracefully

The extractor is deterministic and defensive. If an exotic part defeats one layer, the row still yields a valid base model with the failure recorded — we never silently drop data, and we never let a noisy heuristic pollute ground truth. Inference about manufacturing or feature semantics lives in a separate, confidence-scored pass, kept out of the deterministic extraction entirely.


Next: Deterministic round-trip, verified →

← All research