Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Send build123d CAD commands via HTTP to render images, allowing visual iteration on 3D models entirely within a containerized CAD environment.
Send build123d CAD commands via HTTP to render images, allowing visual iteration on 3D models entirely within a containerized CAD environment.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Give your AI agent eyes for CAD work.
CAD Agent is a rendering server that lets AI agents see what they're building. Send modeling commands β receive rendered images β iterate visually. Use when: designing 3D-printable parts, parametric CAD, mechanical design, build123d modeling
Critical: All CAD logic runs inside the container. You (the agent) only: Send commands via HTTP View the returned images Decide what to do next YOU (agent) CAD AGENT CONTAINER βββββββββββββ βββββββββββββββββββ Send build123d code β Executes modeling β Returns JSON status Request render β VTK renders the model β Returns PNG image *Look at the image* Decide: iterate or done Never do STL manipulation, mesh processing, or rendering outside the container. The container handles everything β you just command and observe.
git clone https://github.com/clawd-maf/cad-agent.git cd cad-agent
docker build -t cad-agent:latest . Or using docker-compose: docker-compose build
# Using docker-compose (recommended) docker-compose up -d # Or using docker directly docker run -d --name cad-agent -p 8123:8123 cad-agent:latest serve
curl http://localhost:8123/health # Should return: {"status": "healthy", ...} Docker-in-Docker caveat: In nested container environments (e.g., Clawdbot sandbox), host networking may not workβcurl localhost:8123 will fail even though the server binds to 0.0.0.0:8123. Use docker exec cad-agent python3 -c "..." commands instead. On a normal Docker host, localhost access works fine.
curl -X POST http://localhost:8123/model/create \ -H "Content-Type: application/json" \ -d '{ "name": "my_part", "code": "from build123d import *\nresult = Box(60, 40, 30)" }'
# Get multi-view (front/right/top/iso) curl -X POST http://localhost:8123/render/multiview \ -d '{"model_name": "my_part"}' -o views.png # Or 3D isometric curl -X POST http://localhost:8123/render/3d \ -d '{"model_name": "my_part", "view": "isometric"}' -o iso.png Look at the image. Does it look right? If not, modify and re-render.
curl -X POST http://localhost:8123/model/modify \ -d '{ "name": "my_part", "code": "result = result - Cylinder(5, 50).locate(Pos(20, 10, 0))" }' # Re-render to check curl -X POST http://localhost:8123/render/3d \ -d '{"model_name": "my_part"}' -o updated.png
curl -X POST http://localhost:8123/export \ -d '{"model_name": "my_part", "format": "stl"}' -o part.stl
EndpointWhat it doesPOST /model/createRun build123d code, create modelPOST /model/modifyModify existing modelGET /model/listList models in sessionGET /model/{name}/measureGet dimensionsPOST /render/3d3D shaded render (VTK)POST /render/2d2D technical drawingPOST /render/multiview4-view compositePOST /exportExport STL/STEP/3MFPOST /analyze/printabilityCheck if printable
from build123d import * # Primitives Box(width, depth, height) Cylinder(radius, height) Sphere(radius) # Boolean a + b # union a - b # subtract a & b # intersect # Position part.locate(Pos(x, y, z)) part.rotate(Axis.Z, 45) # Edges fillet(part.edges(), radius) chamfer(part.edges(), length)
Don't bypass the container. No matplotlib, no external STL libraries, no mesh hacking. Renders are your eyes. Always request a render after changes. Iterate visually. The whole point is you can see what you're building.
The project has safeguards against accidentally committing CAD outputs: .gitignore blocks *.stl, *.step, *.3mf, etc. Pre-commit hook rejects design files User's designs stay local, never versioned
Repository build123d docs VTK
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.