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

Agent view: four-pane preview rendered by agentcad on every successful run — TOP, ISO FRONT-RIGHT, ISO BACK-RIGHT, ISO BACK-LEFT — showing the corrected airframe in wireframe from four angles
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

Iso render of the corrected airframe (v2): forward elevator, twin rudders, outrigger trusses, total length 21 ft 3 in
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.

agentcad is an open-source CAD tool for your agent: Claude Code, Codex, OpenClaw, or any coding agent can create real CAD output, inspect it, iterate on it, and hand it off to you.

← Back to agentcad · GitHub · See it in action · Docs