agentcad / how it works
A CAD tool designed for human-agent interaction.
A verbatim moment from the Wright Flyer build — the prompt that kicked it off, the commands the agent ran, and what came back.
The prompt
What the human said.
“Now build the airframe — forward elevator (canard), twin rudders, outrigger trusses. Use the spec I gave you. Verify against dimensions before showing me anything.”
What the agent ran
The actual bash invocations, in order.
agentcad run parts/airframe.py --output airframe_v1 --dry-run
# caught a 2-foot length mismatch in the metrics; edited two constants in geometry.py
agentcad run parts/airframe.py --output airframe_v2 --render iso,front,top --export glb
What the agent got back
Verbatim JSON from the CAD kernel — the same payload the agent reads to decide whether to press on or correct course.
First run
{
"command": "run",
"status": "success",
"metrics": {
"dimensions": {"x": 7110.4, "y": 12293.6, "z": 1999.9},
"volume": 307750308.22,
"face_count": 684,
"edge_count": 1368,
"is_valid": true
},
"via": "daemon"
}dimensions.x = 7110.4 mm = 23.3 ft. Spec is 21 ft 1 in. Off by ~2 ft. The agent edits and re-runs without showing the human anything.
Second run
{
"command": "run",
"status": "success",
"version": 8,
"label": "airframe_v2",
"outputs": {
"step": "v8_airframe_v2/output.step",
"glb": "v8_airframe_v2/output.glb"
},
"metrics": {
"dimensions": {"x": 6480.8, "y": 12293.6, "z": 1999.9},
"volume": 305738441.28,
"face_count": 684,
"is_valid": true
},
"renders": {
"iso": "v8_airframe_v2/renders/iso.png",
"front": "v8_airframe_v2/renders/front.png",
"top": "v8_airframe_v2/renders/top.png"
}
}dimensions.x = 6480.8 mm = 21 ft 3 in. Within 2 in of spec. is_valid: true. Renders, GLB, and a side-by-side diff against v1 drop into v8_airframe_v2/.
The preview the agent reads

v8_airframe_v2/preview.png. Auto-generated four-pane render — TOP, ISO FRONT-RIGHT, ISO BACK-RIGHT, ISO BACK-LEFT. The agent reads it alongside the JSON to verify the geometry visually before handing off to a human.What the agent showed the human

v8_airframe_v2/renders/iso.png. Pre-validated, dimensionally-correct.What changed for the human
The human never saw the 23.3-ft mistake. They came back to a pre-validated render and a build that matched the spec they had set. agentcad gave the agent ground truth on every run; the agent did the rest.
Where this loop runs
Anywhere your coding agent runs. Install agentcad and the agent picks up the same loop: write, run, read JSON, iterate, hand off. With MCP integration the bash calls become native agent tools — same JSON shape, same metrics.
The Wright Flyer was 234 parts, 19 build versions, one Claude session. The same loop scaled all the way up — see it end to end in the case study.