
Can It Actually Work? Synthesizing Functional CAD Mechanisms
FunCAD-Harness is a framework in which LLM agents design CAD mechanisms and revise them using physical simulation feedback. It turns abstract functional requirements into candidate-specific physical tests. The paper also introduces FunCADBench, a benchmark of 46 mechanism families with interdependent, multi-step operations. Experiments on frontier LLM agents show it exposes mechanical failures that visual inspection misses and raises functional success over standard simulation-augmented baselines.
What it claims
FunCAD-Harness is a two-agent loop from CUHK (Shenzhen) and CUHK (arXiv v1, October 2026). It checks whether an LLM-built CAD mechanism performs its requested function in rigid-body simulation, not just whether it looks right. Across the authors' runs, agents produced 75 assemblies covering all 46 FunCADBench families, and 38 of them pass the full harness evaluation. The authors also report three findings. Strong visual 3D modeling does not predict better functional design. Agents rely mostly on CAD programs and simulation and rarely use rendered images. Removing visual access from the constructor still leaves substantial task success.
How it works
The harness splits work between a constructor, which designs the mechanism and declares physical assumptions, and a test-binding agent, which prepares physical tests. Each task fixes a natural-language request and an abstract test template, defined as operations, observations and success criteria. The binding agent maps that template onto the specific candidate: which part is the input, what loads to apply, what to observe. A gravity alarm and a mainspring alarm get different tests for the same requirement. Requests and templates stay fixed across candidates on the 46 registered tasks.
flowchart LR R[Request + test template] --> C[Constructor: CAD + assumptions] C --> B[Test binding per candidate] B --> S[Chrono/Bullet simulation + geometry audit] S -->|pass all checks| D[Done] S -->|functional failure| F[Structured feedback] S -->|geometry violation| F S -->|execution incomplete| F F --> C
Feedback falls into three types:
- Functional failure reports the check, the value and the threshold.
- Geometry violation reports the body pair, the pose and the overlap magnitude.
- Execution incomplete reports an error code and the evidence gaps.
The constructor then chooses its own revision. A design succeeds only if it passes every functional check and every applicable source-geometry check, such as collisions, under its declared operating conditions.
Evidence
The simulator uses Project Chrono for rigid-body dynamics and Bullet for collision detection. Agents may replace a native interaction with a declared "equivalent model", for example a gear coupling instead of tooth contact. That replacement cut wall time for 1,200 steps from about 1,073 s (extrapolated) to 136 s. Equivalent models specify force or torque laws rather than output trajectories. Connections release if their source regions separate, and the original CAD geometry is audited separately at sampled poses.
FunCADBench tasks are organised along five axes: motion primitives, topology, complexity, contact and geometric difficulty. Examples range from a four-bar wiper and a scissor lift to a clock movement, a press-to-unlock knife, a ratchet head, a four-station indexing table and a releasable reduction winch.
Limits
The fetched text ends partway through Section 4. Per-model success rates, the models tested, baseline definitions, cost figures and the size of the improvement over simulation-augmented baselines are not visible. Success is defined "under the task's simulation protocol". Equivalent models are agent-chosen approximations, so a pass is not a fabrication guarantee. The page does not state code, data or licence availability beyond the project page thegenlab.ai/funcad/.
Organisations named here
- arXiv
- FunCADBench
Technologies named here
- FunCAD-Harness
- LLM
Techniques named here
- Simulation-feedback functional CAD design
Related in research



