CAD Landscape
Paradigms, pipelines — how are parts designed and represented
The path from a designer's intent to a physical part. At each stage some of the original information is compressed, translated, or thrown away — the friction badges mark lossy transitions.
- Functional relationships
- Constraints & tolerances
- Material intent
- Assembly dependencies
- Geometry encoded
- Params may survive
- Constraints in solver
- Native format (.f3d, .sldprt)
- STEP · geometry + some topo
- IGES · older, lossy
- STL · triangles only
- 3MF · better than STL
- Toolpaths generated
- Support structures
- G-code / machine lang
- Intent gone
- FDM / SLA / SLS print
- CNC mill / lathe
- Sheet metal
- Physical artifact
How do you represent a shape?
The mathematical objects every paradigm above uses to actually represent curved geometry — the things a CAD kernel knows how to compute booleans, offsets, and tangents against.
How an assembly responds when one part changes — the difference between a clean cascade update, hours of manual touch-up, and a solver explosion. Each card is one regime, in roughly increasing order of how well it scales.
The paradigm tags from above, applied to specific tools. Most commercial tools blend paradigms; some common tools and what each is good and bad at.
| Tool | Paradigm | Best for | Not great for |
|---|---|---|---|
| Fusion 360 | parametricexplicit | Full product design, assemblies, CAM integration, manufacturing | Organic forms, code-driven generation, open source workflows |
| SolidWorks | parametricexplicit | Industrial engineering, large assemblies, simulation, PDM | Cost, accessibility, scripting workflows |
| Rhino + Grasshopper | explicitprocedural | Architecture, complex surfaces, algorithmic generation, NURBS | Assembly management, standard mechanical engineering |
| OpenSCAD | proceduralexplicit | Code-driven geometry, 3D printing, version control, open source | Curved surfaces, NURBS, interactive design |
| CadQuery / Build123d | proceduralexplicit | Python-driven precision CAD, STEP output, engineering-grade parts | Visual/interactive design, non-programmer designers |
| libfive | implicit | Implicit modeling, SDFs, organic blending, research, algorithmic | Manufacturing pipelines, sharp corners, standard CAM |
| Blender | explicitprocedural | Organic sculpting, animation, visualization, geometry nodes | Precision engineering, tolerances, manufacturing output |
| Onshape | parametricexplicit | Collaborative design, cloud-native, parametric assemblies | Offline workflows, scripting beyond FeatureScript |
What's left of the model when it crosses a tool boundary. The bar shows roughly how much design intent is dropped on the way out; the text below names exactly what gets lost and what's preserved.
Procedural-on-Explicit: CadQuery and Build123d drive the OpenCascade BRep kernel and emit precision STEP for sketch-and-feature work.
Procedural-on-Implicit: nTop and libfive use field-based geometry for lattices, topology optimization, and blends.
Both keep design intent in code, not in a solver's hidden state, allowing for better constraint propagation.
- STEP — ISO 10303 family, AP242 is the modern profile for mechanical CAD exchange. Carries BRep + NURBS + assembly structure; drops parametric history. iso.org/66654
- STL — originated by 3D Systems for stereolithography; triangulated surface only, no topology or metadata. wiki: STL
- 3MF — open spec maintained by the 3MF Consortium; mesh + color + material + print settings. 3mf.io/specification
- IGES — NIST IGES 5.3 (1996); largely superseded by STEP. nist.gov
- G-code — ISO 6983 / EIA RS-274; in practice every controller layers vendor dialects on top.
- BRep — Mäntylä, An Introduction to Solid Modeling (Computer Science Press, 1988). The Parasolid and ACIS kernels are the production embodiments most commercial CAD ships on.
- Implicit / field-based — Bloomenthal et al., Introduction to Implicit Surfaces (Morgan Kaufmann, 1997). Modern engineering implementations: libfive, nTop.
- Parametric constraint solving — Hoffmann, Geometric and Solid Modeling (Morgan Kaufmann, 1989). Open implementations: SolveSpace, the FreeCAD sketcher.
- Procedural / code-first — OpenSCAD; CadQuery and Build123d both sit on top of the OpenCascade BRep kernel, which is what lets them emit precision STEP.
- Bézier curves — Pierre Bézier's original work at Renault in the 1960s. Modern treatment in Farin, Curves and Surfaces for CAGD (Morgan Kaufmann).
- B-splines — de Boor, A Practical Guide to Splines (Springer).
- NURBS — Piegl & Tiller, The NURBS Book, 2nd ed. (Springer, 1997). Underpins STEP surface entities and most commercial freeform CAD.
- T-splines — Sederberg, Zheng, Bakenov, Nasri, "T-splines and T-NURCCs," ACM SIGGRAPH 2003.
- Subdivision surfaces — Catmull & Clark, "Recursively generated B-spline surfaces on arbitrary topological meshes," Computer-Aided Design 10(6), 1978.
- SDFs — Hart, "Sphere Tracing: a geometric method for the antialiased ray tracing of implicit surfaces," The Visual Computer (1996). Quílez's SDF primitive catalog is the most-used practical reference today.
- Mainstream parametric BRep + CAM: Fusion 360, SolidWorks, Onshape.
- NURBS + node-based procedural: Rhino, Grasshopper.
- Polygonal + procedural (not engineering-targeted): Blender with Geometry Nodes.
- Code-first / OpenCascade-backed: OpenSCAD, CadQuery, Build123d.
- Implicit research / hobbyist: libfive.
- nTop — implicit-modeling-based engineering CAD; field-driven design, block-dataflow programming, STEP / CAD interop. ntop.com
- Production case studies (aerospace, medical, defense): ntop.com/customers
- Technical primer on the implicit-engineering approach: ntop.com/resources/blog