text-to-cad
✨ Features
- Generate - Create source-controlled CAD models with coding agents like Codex and Claude Code.
- Export - Produce STEP, STL, 3MF, DXF, GLB, topology data, and URDF/SDF/SRDF robot descriptions.
- Browse - Inspect generated geometry, flat patterns, and robot-description files in CAD Explorer.
- Source - Find and download off-the-shelf STEP parts from the hosted step.parts catalog.
- Reference - Copy stable
@cad[...]references so agents can make precise follow-up edits. - Review - Render quick review images for fast checks during an iteration loop.
- Reproduce - Edit source files first, then regenerate explicit targets.
- Local - Run harness, skills and explorer locally with no backend to host.
🧰 Skills
- CAD Skill - STEP, STL, 3MF, DXF, GLB/topology, render images, and
@cad[...]geometry references. Bundled skill · Standalone repo - step.parts Skill - Find, evaluate, and download common off-the-shelf STEP models from step.parts, including screws, nuts, washers, bearings, standoffs, electronics parts, motors, and connectors. Bundled skill
- CAD Explorer Skill - Start or reuse CAD Explorer and return visual review links for generated
.step,.stp,.stl,.3mf,.dxf,.urdf,.srdf, and.sdffiles. Bundled skill - URDF Skill - Generated URDF XML, robot links, joints, limits, validation, mesh references, and CAD Explorer URDF visualization. Bundled skill
- SDF Skill - Generated SDFormat/SDF XML, simulator model/world structure, validation, mesh URIs, plugins, and simulator-specific metadata. Bundled skill
- SRDF Skill - MoveIt2 SRDF semantics, direct SRDF-to-URDF Explorer links, inverse kinematics, path planning, and optional MoveIt2-server testing for existing URDFs. Bundled skill
- SendCutSend Skill - SendCutSend.com-specific DXF and STEP/STP upload preflight reports using its ordering guide, catalog, and specs for selected materials, SKUs, services, and secondary operations. Bundled skill
🧩 Harness
The harness/ directory contains optional repo-level instruction files for larger CAD projects that will be edited by coding agents. These files keep project behavior predictable: edit sources before derived artifacts, regenerate explicit targets, avoid broad repo scans, treat CAD outputs as LFS-heavy, and keep reusable workflow details in the skills themselves.
To use the harness in another CAD project, copy harness/AGENTS.md and harness/CLAUDE.md into that project's root.
💻 Installation
Clone once for script installs, then choose your agent:
git clone https://github.com/earthtojake/text-to-cad.git
cd text-to-cad
Codex
./scripts/codex-install.sh
Installs to ${CODEX_HOME:-$HOME/.codex}/skills.
Claude Code
./scripts/claude-install.sh
Installs to ${CLAUDE_SKILLS_DIR:-$HOME/.claude/skills}.
Gemini CLI
./scripts/gemini-install.sh
Installs to ${GEMINI_SKILLS_DIR:-.gemini/skills}.
OpenClaw
./scripts/openclaw-install.sh
Installs to ${OPENCLAW_SKILLS_DIR:-$HOME/.openclaw/skills}.
Universal Installer
npx agent-skills-cli add earthtojake/text-to-cad
This installs the repo's skills into supported agents automatically. Learn more at agentskills.in.
For verification, troubleshooting, manual install, and uninstall steps, see INSTALLATION.md. For local CAD generation, also install the CAD runtime dependencies from the setup commands below.
📸 Screenshots
CAD
|
URDF
|
SRDF / MoveIt2
|
🔁 Workflow
- Describe - Tell your agent about the part, assembly, fixture, robot, or mechanism you want.
- Edit - Let your coding agent update repo-local CAD source files.
- Regenerate - Create explicit STEP, STL, 3MF, DXF, GLB, URDF, SDF, or SRDF targets.
- Inspect - Open CAD Explorer to review the generated model.
- Reference - Copy
@cad[...]handles when you want geometry-aware edits. - Commit - Save the source and generated artifacts together once the model is ready.
🧪 Benchmarks
The repo stores heavyweight assets in assets/** and benchmarks/** through Git LFS and excludes those trees from default LFS pulls so lightweight clones do not fetch GIF assets. Benchmark markdown remains normal Git for readable diffs. To hydrate only the benchmark assets locally, run:
git lfs pull --include="benchmarks/**"
| # | Target | Prompt | Output |
|---|---|---|---|
| 1 | Rectangular calibration block with four holes | Create a centered 100 x 60 x 20 mm block with four 8 mm vertical through-holes. Add only a 2 mm chamfer on the top outer perimeter. | ![]() |
| 2 | Circular flange with bolt-hole pattern | Create an 80 mm diameter, 10 mm thick circular flange with a 30 mm central through-bore. Add six 6 mm through-holes on a 60 mm bolt circle and fillet the outside circular edges. | ![]() |
| 3 | L-bracket with gussets and two hole directions | Create an L-bracket from a base plate and rear vertical plate. Add vertical base holes, horizontal back-plate holes, two triangular gussets, and a filleted base/back transition. | ![]() |
| 4 | Stepped shaft with keyway | Create a 120 mm shaft along X with 20/30/20 mm diameter stepped sections. Add end chamfers and a shallow rectangular keyway on top of the middle section. | ![]() |
| 5 | Open-top electronics enclosure with bosses | Create a hollow open-top enclosure with 3 mm walls and floor. Add four internal standoffs with centered blind holes and 2 mm outside vertical corner fillets. | ![]() |
| 6 | Aerospace-style clevis bracket with lightening cutouts | Create a symmetric clevis bracket with a base plate, two rounded lugs, base mounting holes, and a horizontal lug bore. Add triangular lightening cutouts, reinforcing ribs, and rounded transitions. | ![]() |
| 7 | Radial-engine-style cylinder with cooling fins | Create a vertical engine-cylinder form with a central barrel, 12 cooling fins, a base flange, and a top cap. Add a 35 degree angled spark-plug boss with a coaxial through-hole. | ![]() |
| 8 | Centrifugal impeller with backward-curved blades | Create a centrifugal impeller with a backplate, hub, and through-bore. Add 12 fused backward-curved blades sweeping about 45 degrees from root to tip. | ![]() |
| 9 | Spiral staircase with helical handrail | Create a miniature spiral staircase with a central column, base disk, and 20 rising wedge treads. Add a one-revolution helical handrail and vertical balusters at the tread outer ends. | ![]() |
| 10 | Simplified planetary gear stage | Create a flat planetary gear assembly with separate sun, planet, ring, carrier, and pin bodies. Use simplified trapezoidal teeth and place three planets around the sun on a 42 mm radius circle. | ![]() |
🛠️ Local Development
Clone the repo:
git clone https://github.com/earthtojake/text-to-cad.git
cd text-to-cad
Install Python CAD dependencies:
python3.11 -m venv .venv
./.venv/bin/python -m pip install --upgrade pip
./.venv/bin/pip install -r skills/cad/requirements.txt
Install CAD Explorer dependencies:
npm --prefix skills/cad-explorer/scripts/explorer install
Start or reuse CAD Explorer for the current workspace:
npm --prefix skills/cad-explorer/scripts/explorer run dev:ensure -- --workspace-root "$PWD" --root-dir .
Then open the URL printed by the command.
For a specific file, pass its path explicitly:
npm --prefix skills/cad-explorer/scripts/explorer run dev:ensure -- --workspace-root "$PWD" --root-dir . --file path/to/model.step
CAD Explorer supports .step, .stp, .stl, .3mf, .dxf, .urdf, .srdf, and .sdf files. SRDF reviews can use optional local MoveIt2 controls when the CAD Explorer skill's MoveIt2 server is running.
CAD Explorer renders models with browser WebGL. If Chrome shows "WebGL unavailable" or "Error creating WebGL context" on Linux, check chrome://gpu, enable hardware acceleration or software WebGL, and update the system graphics/Mesa drivers before reloading the Explorer URL.
For manual foreground Explorer development:
npm --prefix skills/cad-explorer/scripts/explorer run dev











