Michael Thomson
Natural-language parametric CAD

Every Model

Describe a part in plain English and get a parametric CAD model you can edit, re-dimension, and export. The system compiles what it wrote before it shows you anything.

Overview

An LLM writing confident-looking geometry that doesn't build is the default failure mode for this problem. So the model never gets to claim success. One agent writes the CAD source, a separate agent compiles it with the real geometry kernel and diffs the result against what was asked for. If it doesn't compile, it isn't an answer.

What it does
  • 01Plain English into editable CAD
  • 02Compiled and verified before you see it
  • 03Parametric source, not a dead mesh
  • 04Seven narrow agents, not one big one
  • 05Live 3D viewer in the browser
  • 06Improves from its own history, with approval

In practice

You describe a part, watch it appear in a 3D viewer, then refine it by talking to it. What comes back is code with named dimensions, not a mesh. Change the wall thickness and the whole part updates. An STL is a dead end for the user; source they can own isn't.

One request
  1. You describe a part→
  2. Router picks a path→
  3. Author writes the source→
  4. Verifier compiles and diffs→
  5. Tokens stream back→
  6. Turn lands in the journal

The agents

Seven of them, each with one narrow job. None is a general assistant and only one is allowed to emit a CAD file. Narrow agents are testable: I can assert the author emits exactly one file, and that the verifier fails closed.

Writing
  • Routing a request
  • Authoring the source
  • Spatial reasoning
Checking
  • Compile verification
  • Manufacturability review
Learning
  • Distilling patterns from history
  • Proposing improvements for review
Built with
Python 3.13FastAPIdeepagentsLangChainAnthropic ClaudeOpenSCADReact 19TypeScriptthree.jsZustandExpress 5MongoDBStripeDocker