{"slug": "text-to-cad-makes-mechanical-design-a-coding-agent-problem", "title": "Text-to-CAD makes mechanical design a coding-agent problem", "summary": "A GitHub repository called text-to-cad, created by software engineer Jake Fitzgerald, has reached 14,800 stars and 1,500 forks by turning mechanical design into a coding-agent problem. The MIT-licensed tool provides 11 agent skills for Claude Code and Codex that generate CAD models via Python scripts using build123d and OpenCASCADE, with features like content-hashed caching, STEP file exports, and automated inspection. It also includes pipelines for sourcing real components, generating G-code, and creating URDF/SRDF/SDF files for robotics, demonstrating that coding agents can handle mechanical design when framed as a coding task.", "body_md": "[AI](https://sourcefeed.dev/c/ai)Article\n\n# Text-to-CAD makes mechanical design a coding-agent problem\n\nA 14k-star skills library turns Claude Code and Codex into a prompt-to-printed-part pipeline.\n\n[Mariana Souza](https://sourcefeed.dev/u/mariana_souza)\n\nA repo called [text-to-cad](https://github.com/earthtojake/text-to-cad) has spent the summer bouncing around the top of GitHub trending, and for once the stars are earned. Jake Fitzgerald, a software engineer who came back to robotics after a decade away, built it to generate parts for a 7-DOF robot arm he was designing. Five months after the first commit it sits at 14,800 stars and 1,500 forks, MIT-licensed, with no company behind it. He calls it \"just a fun open source tool.\"\n\nIt's also the clearest answer yet to a question people keep asking: can a coding agent do mechanical design? The honest answer is no, not the way a mechanical engineer means it. What text-to-cad demonstrates is a narrower claim with bigger consequences: you can restate mechanical design as a coding problem, and coding agents are already good at coding problems.\n\n## Geometry as a build artifact\n\nThe library is eleven agent skills in the SKILL.md format that Claude Code and Codex (0.142+) load natively; `npx skills add earthtojake/text-to-cad` installs the set. The core CAD skill doesn't ask the model to \"imagine\" a part. It has the agent write a short Python script using [build123d](https://build123d.readthedocs.io), a parametric modeling library on the [OpenCASCADE](https://dev.opencascade.org) kernel, the same B-rep engine under FreeCAD. A `@step` decorator turns one function returning a shape into a STEP file, with STL, 3MF, and GLB as derived exports.\n\nAround that sits `cadgen`, a wrapper that behaves less like a drawing tool and more like Bazel. The model script is the source of truth; every exported file is a derived output you never hand-edit. Model functions take no parameters. The environment is explicitly not an input: no `os.environ`, no clock, no randomness. Builds are content-hashed and cached, child parts build in parallel, and a `cadgen store why` command prints exactly which dependency change triggered a rebuild. Those constraints exist so an agent can iterate fast without corrupting its own state, but they'd be sane engineering in a human-only codebase too.\n\nThen comes the part that makes the whole thing work. After any visible change, the skill requires the agent to run `cadgen step inspect` for bounds and topology counts, and `cadgen step snapshot` to render a PNG it must review before handing files to a browser-based viewer skill. That render loop is the substitute for spatial intuition. The model never gained a sense of space; the harness converted a spatial domain into the two things coding agents already do well, writing Python and running CLIs, and closed the loop with pictures. It's the same trick as making an agent run the test suite, applied to atoms.\n\n## The pipeline, not the party trick\n\nText-to-STEP demos have existed for years. What separates this repo is everything downstream of the model file. A `step.parts` skill sources from a curated catalog of 12,000+ off-the-shelf STEP components, so the agent drops in a real bearing instead of hallucinating one. A DXF skill produces cut layouts, with a companion that validates files before upload to [SendCutSend](https://sendcutsend.com). A DfAM checker measures wall thickness, overhangs, and support volume per printing process. A G-code skill slices through real slicer CLIs against printer profiles, and a Bambu Lab skill will upload and, in the repo's own wording, \"cautiously\" start a local print job.\n\nFor robotics developers there's a second pipeline that may matter more than the modeling: URDF generation with links, joints, limits, and inertials, SRDF for MoveIt planning groups, and SDF for simulator worlds. Anyone who has hand-computed inertia tensors into XML knows why that's the sleeper feature here. Prompt to printed part is the demo; mesh to maintained robot description is the daily driver.\n\n## The bet against specialized models\n\nThere was already a serious attempt at this problem. [Zoo](https://zoo.dev), formerly KittyCAD, spent years on purpose-built ML for text-to-CAD plus KCL, its own modeling language, and hobbyists have been coaxing ChatGPT into OpenSCAD since 2023. Fitzgerald's bet runs the other way: general frontier models, thin deterministic tooling, no training. On his account in the Hacker News thread, the approach only started working well on the latest model generation. That tracks with the broader pattern of the past two years, where domain harnesses keep beating domain models the moment general capability catches up. If you're building agent tooling in any visual or physical domain, that's the transferable lesson: don't wait for a model with new senses, build the render-and-verify loop.\n\n## Where it breaks\n\nThe HN discussion is a useful corrective, and the failure modes are real. Describing geometry in prose is often slower than sketching it; one commenter's engine-cylinder prompt, complete with fin spacing and bolt circles, read longer than the drafting would have taken. Models still misjudge space in ways no compile step catches, like generating gussets that overlap mounting holes. Token burn on iterative visual feedback is heavy. And professional CAD pain lives in constraint solvers, tolerances, GD&T, assembly change management, and PDM, none of which this touches.\n\nThere's a subtler limit for teams. STEP into SolidWorks or Fusion imports as a dumb solid: valid geometry, no feature tree. The parametric history lives in the Python script, which is great if your collaborators read Python and useless if they live in feature trees. This tool sits beside an MCAD seat, not in place of one.\n\n## Who should care\n\nIf you're prototyping robot hardware, printing jigs, enclosures, and adapters, or you've ever opened Fusion resentfully for a 40mm bracket, install it this week; the setup is one command plus Python 3.11. If you're a working mechanical engineer, nothing here threatens your job, though the parts-sourcing and printability checks might still save you an afternoon. Either way, the repo's durable contribution is the proof that deterministic code-CAD plus mandatory visual verification gives today's agents enough structure to ship physical objects, and that structure will still be standing when the models underneath it get better at seeing.\n\n## Sources & further reading\n\n1. \n                                    [earthtojake/text-to-cad](https://github.com/earthtojake/text-to-cad)\n                                — github.com\n2. \n                                    [Text-to-CAD](https://news.ycombinator.com/item?id=47970497)\n                                — news.ycombinator.com\n3. \n                                    [CAD Skills: Open source collection teaches coding agents parametric CAD modeling](https://3druck.com/en/programs/cad-skills-open-source-collection-teaches-coding-agents-parametric-cad-modeling-at-12157432/)\n                                — 3druck.com\n\n[Mariana Souza](https://sourcefeed.dev/u/mariana_souza)· Senior Editor\n\nMariana covers the fast-moving world of machine learning and generative AI, with a particular focus on how these technologies are reshaping development workflows. When she isn't stress-testing the latest foundation models, she's usually at a local hackathon.\n\n## Discussion 0\n\nNo comments yet\n\nBe the first to weigh in.", "url": "https://wpnews.pro/news/text-to-cad-makes-mechanical-design-a-coding-agent-problem", "canonical_source": "https://sourcefeed.dev/a/text-to-cad-makes-mechanical-design-a-coding-agent-problem", "published_at": "2026-09-09 12:09:30+00:00", "updated_at": "2026-09-09 12:41:15.927662+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools"], "entities": ["text-to-cad", "Jake Fitzgerald", "Claude Code", "Codex", "build123d", "OpenCASCADE", "SendCutSend", "Bambu Lab"], "alternates": {"html": "https://wpnews.pro/news/text-to-cad-makes-mechanical-design-a-coding-agent-problem", "markdown": "https://wpnews.pro/news/text-to-cad-makes-mechanical-design-a-coding-agent-problem.md", "text": "https://wpnews.pro/news/text-to-cad-makes-mechanical-design-a-coding-agent-problem.txt", "jsonld": "https://wpnews.pro/news/text-to-cad-makes-mechanical-design-a-coding-agent-problem.jsonld"}}