Parametric CAD in Rust
Geometry representation & seriousness for CAD
- Many argue a triangle-mesh kernel (Manifold) is unsuitable for “serious” CAD and manufacturing:
- Meshes are lossy approximations; errors accumulate when later features reference earlier ones (e.g., tangency, precise constraints).
- High-end CAD uses BREP/NURBS surfaces for exact geometry and robust booleans/fillets.
- Others note meshes are fine as an output format (e.g., for visualization, games, 3D printing prototypes) but poor as an internal representation for precision work.
- Manifold is praised for robust watertight CSG on meshes, but its accuracy limits are seen as a blocker for pro manufacturing workflows.
What counts as CAD?
- Debate over “CAD” vs “modeling”:
- Some reserve “CAD” for design with real units, constraints, and manufacturing intent; “modeling” for visual/game assets.
- Others point out that common terms (CAD/CAM) and tools blur the line.
- Several commenters stress that parametric CAD = constraint-based modeling (dimensions, perpendicularity, tangency, etc.), not just code that generates shapes.
Programmatic vs GUI workflows
- Enthusiasts like code-based CAD for:
- Version control, types, tests, CI, and reproducible regeneration from parameters.
- Simple, highly parametric parts (fasteners, gears, boxes).
- Critics say:
- This space is already explored by OpenSCAD, libfive, BRL-CAD, etc.
- For complex or irregular parts, pure code feels like “editing SVG in a text editor” vs using a proper GUI.
- CSG-style tools struggle with surfacing, fillets, chamfers, and ergonomic geometric constraints.
- Some want hybrid systems: code as source of truth but a GUI that stays in sync and helps pick faces, edges, and positions.
LLMs and AI agents
- Several report LLMs work surprisingly well with CSG/OpenSCAD-like APIs:
- The problem becomes logic/syntax rather than purely spatial reasoning.
- Text→OpenSCAD or text→FreeCAD macros are already being used.
- Others doubt AI spatial competence and note that code generation doesn’t fix the limitations of mesh-based geometry or lack of constraints.
- The project’s explicit “for AI agents” positioning draws both curiosity and skepticism, with some seeing it as over-marketed.
Existing tools and ecosystem
- Multiple mature or related systems are mentioned:
- FreeCAD, SolveSpace, Onshape, Fusion 360, SolidWorks, OpenCASCADE (via build123d, pythonocc), libfive, Fidget, Microcad, EngineeringSketchPad, BRL-CAD, Truck, Fornjot.
- Consensus: commercial parametric CAD remains far ahead for assemblies, manufacturing workflows, constraints, libraries of standard parts, and integration with CAM/metrology.
- Some users value FOSS tools like OpenSCAD and FreeCAD despite limitations; others prioritize capability over implementation language.
Constraint solving and numerics
- Several insist that parametric CAD’s hard part is the geometric kernel + constraint solver, not just “types + CSG”:
- BREP modeling, topological naming, robust booleans, fillets, and constraint satisfaction are highlighted as unsolved or difficult areas.
- A subthread dives into numerical methods (Jacobians, Newton-based optimization) vs SAT/SMT-style constraint solving and how tricky branching/multiple solutions are for geometry.
- One commenter criticizes the article’s implication that Rust types or lack of GC meaningfully mitigate floating-point issues; FP error is described as a deep, language-agnostic problem.
Usability and presentation
- Some praise the idea for web apps and scriptable generation of STLs, and express intent to experiment.
- Others complain about the site’s dark-mode contrast and washed-out screenshots, calling it hard to read; a few emphasize giving such feedback more politely.
- There is mild suspicion that parts of the article read like LLM-generated marketing copy, which some find off-putting.
Overall reception
- Positive: neat Rust-based, OpenSCAD-like tool; good fit for simple, code-heavy, highly parametric parts and AI/automation experiments.
- Negative: not genuinely “parametric CAD” in the industrial sense; mesh-based, CSG-only, and far from replacing established constraint-based BREP systems.