← All projects

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 systemd unit with lingering enabled, so it auto-starts at boot and restarts on failure.

03 · Stack

Built with.

BackendPython stdlib HTTP server (app/server.py) · SSE
ModellingCadQuery 2.7 (Python 3.12 venv)
DesignClaude CLI + parametric-3d-printing skill
Frontendthree.js viewer · chat UI (app/static/)
OutputWatertight STL + multi-view preview PNG
Deployuser systemd service · serves over LAN