Project 02
CAD Studio
Describe a part. Claude designs it. Preview and download the STL — from any device on your LAN.
CAD Studio is a chat-driven web app for parametric 3D design. You describe a physical part in plain language; Claude writes a CadQuery model, runs it, and renders a preview you can rotate in the browser. Follow-ups like "make it 40 mm long" continue the same session and regenerate the geometry in place.
The left panel is a chat with live status — "Writing model.py", "Running CadQuery and rendering the preview" — streaming in real time. The right panel is an interactive three.js viewer with model dimensions and triangle count below.
01 · How it works
A CLI-driven backend, streamed to the browser.
prompt ─▶ claude CLI (parametric-3d-printing skill)
│ writes model.py ─▶ runs CadQuery ─▶ model.stl + preview.png
▼
SSE events ─▶ browser: chat status + three.js viewer + download
app/server.py is a zero-dependency stdlib HTTP server. Each browser gets its
own workspace under app/sessions/<id>/; the server drives the
claude CLI with the parametric-3d-printing skill loaded, pins it to a
CadQuery 2.7 virtualenv, and enforces a model.stl /
model_preview.png naming convention so the UI always tracks the latest
version. It uses the existing Claude Code login — no API key, no per-token cost.
02 · Features
What you get.
-
Conversational design
Describe a part or ask for changes; replies and live build status stream in as Claude works.
-
Interactive 3D viewer
The generated STL loads into a three.js viewer — drag to rotate, scroll to zoom. A Render tab shows the skill's multi-view PNG.
-
Iteration in place
Follow-ups resume the same Claude session and regenerate the model. Verified: a block went from 30 → 40 mm exactly.
-
Runs as a service
Installed as a user
systemdunit with lingering enabled, so it auto-starts at boot and restarts on failure.
03 · Stack
Built with.
| Backend | Python stdlib HTTP server (app/server.py) · SSE |
|---|---|
| Modelling | CadQuery 2.7 (Python 3.12 venv) |
| Design | Claude CLI + parametric-3d-printing skill |
| Frontend | three.js viewer · chat UI (app/static/) |
| Output | Watertight STL + multi-view preview PNG |
| Deploy | user systemd service · serves over LAN |