Execution-grounded CAD generation

CAD-VIGA

Agentic Vision-Guided Refinement for Parametric CAD Generation

A coding agent that does not merely imagine geometry. It plans, writes executable CadQuery, renders the result, checks semantic evidence, and revises until the model passes.

G. Abdullin · A. Blinov · A. Narimov · R. Gilmetdinov · M. Mousatat
Innopolis University

MCPCadQuerySemantic PARTSVision feedback
Uploaded CAD artifact rendered in-browser Twin-engine aircraft · live STL
Live STL
Semantic-color aircraft render used when the interactive 3D viewer cannot load.
Preparing live STL stream…
Live STL viewer

The model is ready to load.

Drag to inspect · pinch to zoom
15BenchCAD samples
45CAD-VIGA attempts
100%CAD-VIGA completion
37.8%Baseline completion
2.56×End-to-end composite
The research question

Can a general coding agent become a useful CAD agent when execution is part of its reasoning loop?

CAD-VIGA surrounds a multimodal coding agent with planning, kernel execution, semantic rendering, geometric evidence, and a verifier protocol—without training a new CAD-specific model.

01

Executable programs, not decorative meshes

The primary artifact is editable CadQuery code. Every accepted result must run in a CAD kernel and preserve a meaningful construction procedure.

result = build() → execute → render → verify
02

Semantic part identity

A required PARTS manifest assigns stable names to logical components, making visual feedback precise and traceable.

03

Validity is only a sanity gate

A watertight mesh can still contain the wrong opening, a floating support, a damaged silhouette, or an implausible interface.

04

Separate reliability from fidelity

The paper reports pipeline completion, geometric overlap, and semantic correctness separately. That distinction prevents orchestration failures from being mistaken for reconstruction failures.

Demo video

Interactive evidence

Inspect the aircraft in three dimensions.

The aircraft above is fetched directly from model.stl, parsed in the browser, and rendered as live WebGL geometry—not as a pre-rendered spin. Drag, pinch, zoom, auto-rotate, or switch to wireframe to inspect the actual uploaded mesh.

A

Aircraft assembly

This is the uploaded 14.3 MB aircraft STL rendered at runtime. The viewer streams and parses 286,299 triangles, reorients the CAD Z-up export, and fits the real mesh to the camera.

Runtime artifactOne source model, rendered live from the repository.

assets/models/aircraft/model.stl is fetched by the browser. The original CadQuery program and six backend renders are packaged beside it for provenance and comparison.

Interactive system map

Follow evidence through the CAD-VIGA pipeline.

Select a stage or individual tool to see its responsibility, evidence, and outputs. The animated trace follows the main execution path; a blocked final gate returns the agent to a targeted correction round.

Ready to inspect
01
InputsSpecification
02
Coding agentGenerator + verifier
03
Local MCP serverState + orchestration
04
CAD executionKernel + evidence
01
Input specification

Prompt

The prompt supplies object identity, desired dimensions, functional intent, and any constraints that are not reliably inferable from pixels.

intentdimensionsconstraints
Semantic quality gates

The verifier checks the engineering story, not just the silhouette.

CAD-VIGA rejects unresolved evidence even when the mesh executes. High-risk interfaces receive adaptive close-up renders, and functional openings must have modeled depth rather than a visual trick.

01
Fitted attachments

Roots, seats, sockets, fairings, and transitions must visibly connect.

02
Continuous load paths

Pylons, brackets, rails, struts, mounts, and supports must bridge the parts they connect.

03
Functional depth

Recesses, bores, channels, ducts, and openings are verified as real geometry.

04
Reference-critical curvature

Rounded, domed, tapered, or softly blended contours cannot collapse into blocky approximations.

Controlled benchmark · seed 42

CAD-VIGA made reliability the decisive end-to-end result.

We evaluated 15 difficulty-balanced BenchCAD Vision2Code samples—five easy, five medium, and five hard—with three attempts per method. CAD-VIGA completed all 45 attempts; the one-shot baseline completed 17 of 45.

CAD-VIGA 45 / 45

100% executable completion

One-shot baseline 17 / 45

37.8% executable completion

Reliability gain +62.2 pp 28 baseline attempts failed before producing an evaluable CAD result.
End-to-end meansFailures = 0

The fairest pipeline-level view: every failed attempt contributes zero.

Voxel IoU0.3800CAD-VIGA
2.44×
Voxel IoU0.1559Baseline
Composite0.5073CAD-VIGA
2.56×
Composite0.1978Baseline
Successful-run meansFailures excluded

Among attempts that executed, geometric fidelity was similar and the baseline means were slightly higher.

Voxel IoU0.3800CAD-VIGA · n=45
≈
Voxel IoU0.4127Baseline · n=17
Composite0.5073CAD-VIGA · n=45
≈
Composite0.5236Baseline · n=17
Completion by difficulty15 attempts per tier
Easy15/15 vs 8/15

CAD-VIGA 100% · baseline 53.3%

Medium15/15 vs 6/15

CAD-VIGA 100% · baseline 40.0%

Hard15/15 vs 3/15

CAD-VIGA 100% · baseline 20.0%

CAD-VIGAone-shot baseline
Statistical reading

Reliability improved; successful-run fidelity did not show a significant difference.

Welch tests over successful attempts found no statistically significant difference for Voxel IoU (p = 0.690) or composite score (p = 0.784). CAD-VIGA was also slower: 447 s per attempt on average versus 61 s for the baseline. The result supports execution-grounded reliability, not a claim of universally better geometry.

All 15 samples

Explore completion and quality sample by sample.

Means are calculated across successful attempts. “No result” means all three baseline attempts failed.

Loading benchmark records…

Latest benchmark evidence

Representative outputs from the new 45-attempt CAD-VIGA run.

Each card uses the uploaded run’s reference image and links to the actual generated STEP program artifact. The headline metric is the three-attempt sample mean; the attempt strip shows run-to-run variation.

Hard

Ball knob

Three successful generations, including two near-perfect attempts. The sample mean remains high despite variation in attempt two.

Mean Voxel IoU0.8857Mean composite0.9308
BenchCAD reference views of the hard ball knob sample.
Reference image · uploaded benchmark
Composite by attempt
A10.9851
A20.8120
A30.9953
Best artifact: attempt 3 · IoU 0.9938
Honest interpretation

What the updated study establishes—and what remains open.

On this 15-sample, three-attempt benchmark, CAD-VIGA eliminated execution failures: 45 of 45 attempts completed, compared with 17 of 45 for one-shot generation. That reliability produced much stronger zero-filled end-to-end scores.

Reliability is not the same as geometric superiority.

Among successful attempts, the two methods had similar means and neither Welch comparison was statistically significant. CAD-VIGA’s strongest claim here is robust completion under tool feedback.

01
Small benchmark

Fifteen samples and one random seed are evidence, not a definitive leaderboard.

02
Uneven fidelity

The hard tier contains both near-perfect results and severe semantic mismatches.

03
Higher compute cost

Iterative planning, rendering, and verification took about 7.4× longer per attempt.

04
Next experiment

More seeds, larger samples, ablations, and paired human review are needed to isolate which feedback tools improve geometry.

Run CAD-VIGA

Connect the MCP agent to the CAD backend.

The local client stays lightweight. CadQuery execution, rendering, metrics, and heavier dependencies live on the backend.

01
Install the MCP server
pip install git+https://github.com/Mousatat/CAD-Agent-capastone.git@cadviga-mcp
02
Add it to Claude Code
claude mcp add cad-viga --command "cad-viga" --env CAD_API_URL=http://127.0.0.1:9000
03
Start the backend
git clone --branch cadviga-viewer --single-branch https://github.com/Mousatat/CAD-Agent-capastone.git
cd CAD-Agent-capastone && bash START_SERVER.sh
Citation

Cite CAD-VIGA.

The downloadable paper documents the earlier preliminary run; this website also reports the newer controlled baseline comparison from the uploaded benchmark archive.

@misc{abdullin2026cadviga,
  title  = {CAD-VIGA: Agentic Vision-Guided Refinement
            for Parametric CAD Generation},
  author = {Abdullin, G. and Blinov, A. and Narimov, A.
            and Gilmetdinov, R. and Mousatat, M.},
  year   = {2026},
  note   = {Project paper, Innopolis University}
}
Expanded CAD-VIGA figure