Text2CAD (MLYengineering)
Contract-driven, agentic system for deterministic CAD generation from natural language.
What it does and how it connects
Text2CAD is an agent pipeline that turns natural-language engineering intent into STEP and FCStd CAD artifacts. Its stated principle is that LLMs reason while deterministic tools decide: separate planner, implementation, validation, repair, execution, evaluation, and learning agents pass explicit, versioned JSON artifacts between each other, and all geometry is generated and executed headlessly in FreeCAD.
Before any CAD execution, scripts must pass contract gates: a runner contract that enforces an exact import block, document creation, a single solid output, and an exact STEP export; Python syntax validation; and AST-based undefined-name analysis. Failures are classified and drive replanning, and every run produces KPI traces and artifacts.
The README is explicit that this is an engineering pipeline, not a prompt demo: CAD execution is ground truth, with no hidden retries, and wasted CAD executions are treated as architectural bugs.
Alternatives
Compare side by side- constraint-kit
Splits the job so the LLM picks parts, parameters, and mates while deterministic solvers and parametric generators build exact B-rep solids, rather than gating agent-written FreeCAD scripts through contracts.
- printwright
Shows the part on the printer bed and sends it to a Klipper printer through OrcaSlicer, rather than emitting STEP and FCStd artifacts from headless FreeCAD.
- Ark
Ships its own parametric CAD kernel and Studio app for humans and agents, rather than running agent-written scripts through headless FreeCAD.
- Zoo
A C# SDK for the Zoo API that generates parts through a hosted text-to-CAD service, rather than a local contract-gated agent pipeline.
- cadclamp
A benchmark that scores AI-generated CAD on whether the part can actually be printed, rather than a generator.
Recurring errors it addresses
Error Index entries this tool is built to reduce or work around.
- A FreeCAD MCP bridge silently ignored parameters the client materialized from JSON-Schema defaults, so box(size=20) produced a default 10mm shape. The agent believes it built the requested geometry while the model is something else entirely.Error Index
- When an agent fans out parallel create calls through the FreeCAD MCP bridge, the shared connection races: the first object is created even though its call reports failure, and the second object is silently never created with the status still showing healthy.Error Index
Sources
Not verified
- Pricing: none stated on the repo.
- No GitHub releases exist, so latest release fields are null.
- Real user voices: the repo has 0 open issues, and no independent user post was found.
- A named individual builder beyond the repository owner handle MLYengineering
Last verified November 6, 2026. Listings are informational. The evidence score measures public, verifiable evidence and is not an endorsement or a compatibility claim.