Parametric Computer-Aided Design (CAD) of articulated assemblies is essential for product development, yet generating these multi-part, movable models from high-level descriptions remains unexplored. To address this, we propose ArtiCAD, the first training-free multi-agent system capable of generating editable, articulated CAD assemblies directly from text or images. Our system divides this complex task among four specialized agents: Design, Generation, Assembly, and Review. One of our key insights is to predict assembly relationships during the initial design stage rather than the assembly stage. By utilizing a Connector that explicitly defines attachment points and joint parameters, ArtiCAD determines these relationships before geometry generation, effectively bypassing the limited spatial reasoning capabilities of current LLMs and VLMs. To further ensure high-quality outputs, we introduce validation steps in the generation and assembly stages, accompanied by a cross-stage rollback mechanism that accurately isolates and corrects design- and code-level errors. Additionally, a self-evolving experience store accumulates design knowledge to continuously improve performance on future tasks. Extensive evaluations on three datasets (ArtiCAD-Bench, CADPrompt, and ACD) validate the effectiveness of our approach. We further demonstrate the applicability of ArtiCAD in requirement-driven conceptual design, physical prototyping, and the generation of embodied AI training assets through URDF export.
Figures & tables
Figure 1: Top: CAD Assemblies generated by ArtiCAD across three task categories: Static, Articulated, and Industrial. All outputs are editable. Bottom: An example application. Given a user requirement, ArtiCAD generates an articulated CAD assembly with functional components ( e.g . , an enclosure, rods/handles, and player pieces). The components are then fabricated using a 3D printer (Bambu Lab P1S) and assembled into a working tabletop football prototype. (Photos taken by the authors.)
Figure 2: Early vs. late assembly relationship prediction. Top : early prediction (ours) specifies connectors at design time; assembly reduces to deterministic frame alignment. Bottom : deferring connection decisions to assembly stage forces a second planning pass that must parse all generated code, infer coordinate systems, and resolve cross-part dimensions—a task with long context and high failure rate.
Figure 3: The five core kinematic joint types utilized in ArtiCAD . Each joint connects two parts at a shared coordinate frame; the specific degrees of freedom (DOF) constraints determine the allowed relative motion, which is subsequently resolved by FreeCAD’s Assembly solver.
Figure 4: Overview of the ArtiCAD pipeline. A Design Agent decomposes multimodal input into components and connectors; Generation Agents generate per-part FreeCAD scripts through a generate–execute–repair loop with VLM validation; a deterministic Assembly Agent aligns parts and verifies the result via VLM and LLM judges; a Review Agent scores the output and records the case into the partitioned experience store. Cross-stage rollback (top) propagates failures to the responsible stage.
Method
Geo. ↑
Detail ↑
Motion ↑
Succ. ↑
Single-VLM Loop (Claude-Opus-4.6)
3.13
2.71
3.66
100%
Single-VLM Loop (GPT-5.2)
3.14
2.87
3.50
98.3%
Single-VLM Loop (Gemini-3-Flash)
3.06
2.58
3.53
99.2%
Single-VLM Loop (Gemini-3-Pro)
3.31
2.82
3.67
98.3%
ArtiCAD (Gemini-3-Flash)
3.41
2.92
3.82
100%
ArtiCAD (Gemini-3-Pro)
3.57
3.14
3.91
100%
Table 1: Main results on ArtiCAD-Bench (120 items). Metrics defined in Sec. 5.1 ; scores averaged across three VLM judges. For static assemblies, the Motion metric is not included in the average calculation. Best in bold , second best underlined
Variant
Geo. ↑
Detail ↑
Motion ↑
Succ. ↑
Avg. Iter. ↓
ArtiCAD
3.41
2.92
3.82
100%
3.1
(a) Late prediction of assembly relationship
3.11
2.65
3.16
89.2%
–
(b) w/o cross-stage rollback
3.15
2.89
3.63
95.0%
–
(c) w/o experience store
3.37
2.94
3.77
100%
4.4
Table 2: Ablation study on ArtiCAD-Bench. All ablation variants use Gemini-3-Flash as the backbone. Each variant removes one key component. Metrics follow Tab. 1 . Avg. Iter. counts the mean generate-execute-repair iterations per task (lower is better).
Method
IoGT ↑
PCD ↓
HD ↓
Compile Rate ↑
mean
med.
mean
med.
mean
med.
3D-PreMise † [ 59 ]
–
0.942
–
0.137
–
0.446
91.0%
CADCodeVerify † [ 1 ]
–
0.944
–
0.127
–
0.419
96.5%
Seek-CAD † [ 31 ]
0.801
–
0.199
–
0.538
–
–
Single-VLM Loop
0.873
0.979
0.044
0.027
0.148
0.103
99.5%
ArtiCAD (ours)
0.897
0.986
0.034
0.025
0.130
0.090
100.0%
Table 3: Comparison on CADPrompt. † Results from the respective papers (model weights and inference code are not publicly available). Best in bold .
Figure 5: Qualitative results comparing ArtiCAD with Single-VLM Loop on our bench.
Method
RS-CD ↓
RS-IoU ↑
Mov. Type Acc ↑
Mov. F1 ↑
mean
med
mean
med
SINGAPO [ 34 ]
0.037
0.030
0.156
0.136
0.772
0.590
Articulate-Anything † [ 26 ]
0.087
0.078
0.194
0.181
0.812
0.577
PAct [ 35 ]
0.036
0.025
0.346
0.371
0.732
0.450
ArtiCAD (ours)
0.030
0.017
0.386
0.406
0.934
0.841
Table 4: Comparison on ACD dataset. † Articulate-Anything uses Claude-Opus-4.6 as backbone; our method uses Gemini-3-Flash. Best in bold .
Figure 6: Qualitative comparisons between ArtiCAD and SINGAPO, Articulate-Anything, and PAct on the ACD dataset. Black arrows indicate prismatic (translational) joints, and red arrows indicate revolute (rotational) joints.
Figure 7: URDF export verification for embodied AI applications. Top: exported assemblies loaded in Robot Viewer. Bottom: the same models with joint coordinate frames visualized. The exported URDFs preserve the intended joint structure, axis directions, and motion limits.