cd /news/ai-agents/show-hn-cad-studio-describe-a-part-g… · home › topics › ai-agents › article
[ARTICLE · art-148490] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Show HN: CAD Studio – Describe a part, get parametric CAD you can print (macOS)

Developer Filippo Finke released CAD Studio, a native macOS app that turns a text description into parametric CAD models by having a local coding agent (Claude Code or Codex CLI) write and run build123d Python scripts. CAD Studio requires macOS 15 or later, Python 3.10–3.13 or uv, and exports STEP, 3MF, STL, PDF drawings and model.py as a ZIP, with a non-notarized CADStudio.dmg available from the project's latest GitHub release. The app adds a live 3D viewer, physics-based mechanism animation, ISO first-angle technical drawings, a print-plate layout for slicers, and version history that preserves chat and context.

read5 min views4 publishedOct 9, 2026
Show HN: CAD Studio – Describe a part, get parametric CAD you can print (macOS)
Image: Michielbdejong (auto-discovered)

Describe a part, get a printable model. A native macOS CAD studio powered by the coding agent on your Mac (Claude Code or Codex) and build123d.

Type "a print-in-place planetary gearbox with four colors, animated with real gear ratios" and CAD Studio has your coding agent write a parametric model.py, run it with build123d and hand you a 3D model, an ISO technical drawing and files ready for your slicer. Every change is a new version you can go back to.

Website · ▶︎ Watch the narrated demo (MP4, with sound)

  • Chat with an agent that writes and fixes parametric build123d scripts for you
  • Live 3D viewer with orbit, zoom, pan, grid, wireframe and multi-color 3MF parts
  • Measure distances and cut sections through the model
  • Animate mechanisms with a physics simulation (masses, springs, friction) and per-frame collision checks
  • Multi-part models: assembled, exploded or print-plate view, show, hide or keep parts together
  • Print plate with every part oriented and laid out for printing (plate.3mf , opened in your slicer)
  • Floating parameter panel with sliders: tweak dimensions without calling the agent
  • ISO technical drawings (first-angle projection): assembly with parts list plus one sheet per part, as a multi-page PDF
  • Version history: jump back to any generation, chat and context included, and compare versions in 3D
  • Attach or paste (⌘V) reference images, sketches, PDFs and STEP/STL files to the chat
  • Export STEP, 3MF, STL, PDF drawing and model.py as one ZIP
  • Printer-aware design rules for FDM, multi-material, resin and SLS, in mm, cm, m or inches
  • Drag panels anywhere: chat left, right or at the bottom, layout saved per project
  • English, Italian, German and French

Every screenshot below is from the same project: a print-in-place planetary gearbox, from the first launch to version 2.

Set up once, then describe your part. Pick your printer and units on first launch, create a project and type what you need.

First launch Describe the part
The agent at work The finished gearbox

Parts, motion and drawings. Explode the assembly, play the simulated motion and flip through the drawing sheets.

Exploded view Simulated motion
Edit parameters without the agent Measure distances
Section view One sheet per part
Ask for a change: version 2 Compare with version 1
Chat on the right Chat at the bottom

Prerequisites

  • macOS 15 or later
  • Claude Code signed in (runclaude once in Terminal), orCodex CLI signed in (codex login ); pick one inSettings → Agent
  • uv or Python 3.10–3.13, used to install build123d on first launch

Download

Grab CADStudio.dmg from the latest release and drag CAD Studio into Applications. The app isn't notarized, so the first time macOS blocks it: open System Settings → Privacy & Security and click Open Anyway, or run:

xattr -dr com.apple.quarantine "/Applications/CAD Studio.app"

Build from source (needs Xcode 16 or later)

git clone https://github.com/filippofinke/cad-studio.git
cd cad-studio
./build.sh --install

This builds a universal CAD Studio.app, copies it to /Applications and launches it. ./build.sh --dmg builds build/CADStudio.dmg. You can also open CADStudio.xcodeproj and press ⌘R.

Every project is a folder. CAD Studio runs the agent installed on your Mac in headless mode (claude -p --output-format stream-json, or codex exec --json in its workspace sandbox) inside that folder, with a CAD system prompt that asks for a single parametric model.py. The agent runs the script with a dedicated Python environment (~/Library/Application Support/CAD Studio/venv, with build123d, matplotlib and numpy) until it produces:

<Project>/
├── model.py              # parametric build123d script
├── references/           # images attached in the chat
├── output/
│   ├── model.3mf         # main model, with part colors
│   ├── model.stl
│   ├── model.step
│   ├── plate.3mf         # parts laid out ready to print
│   ├── schematic.svg / .png / .pdf   # page 1 + multi-page PDF
│   ├── schematic-2.svg …  # one sheet per part
│   ├── animation.json    # optional: simulated motion, values and collisions
│   └── manifest.json     # size, volume, parameters, warnings
└── .cadstudio/           # chat, session, logs and versions

The app streams the agent's text and tool calls into the chat, watches output/ and reloads the 3D view and the drawing as soon as files change. Each successful generation is copied to .cadstudio/versions/<n>/ together with the chat and a forked Claude session, so going back to a version also restores what the agent remembers.

  • Generations use your Claude Code or Codex plan. A simple part takes one to two minutes; a complex mechanism can take half an hour.
  • By default the agent ignores your personal configuration (Claude Code hooks, plugins and MCP servers, Codex config.toml ). Turn this off inSettings → Advanced if your login depends on them.
  • Settings → Agent → Restricted Bash (Claude Code) limits the agent to the project's Python interpreter and read-only commands.
  • Files are always in millimeters; the chosen unit is used in replies and drawings.

Open a pull request against main with a Conventional Commits title (feat: …, fix: …). PRs are squash-merged, and release-please turns them into a release PR that bumps the version and updates the changelog. Merging it publishes a GitHub release with the DMG attached.

👤 Filippo Finke

Give a ⭐️ if this project helped you!

Copyright © 2026 Filippo Finke.

This project is MIT licensed.

Not affiliated with Anthropic.

── more in #ai-agents 4 stories · sorted by recency
── more on @cad studio 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-cad-studio-d…] indexed:0 read:5min 2026-10-09 · —