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 gives agents like Claude Code, Codex, or OpenClaw the ability to do CAD design by letting them see the work they’re doing — and then easily hand that off to their human collaborator.

← Back to agentcad · See it in action · Docs