CAD-Assistant: Tool-Augmented VLLMs as Generic CAD Task Solvers¶
会议: ICCV 2025
arXiv: 2412.13810
代码: https://github.com/dimitrismallis/CAD-Assistant
领域: 多模态视觉语言模型
关键词: CAD Agent, 工具增强, VLLM, 几何推理, FreeCAD
一句话总结¶
提出CAD-Assistant,首个面向通用CAD任务的工具增强视觉大语言模型框架,通过集成CAD专用工具集(草图参数化器、渲染模块、约束检查器等)和FreeCAD Python API,在零样本设置下超越了监督式任务特定方法。
研究背景与动机¶
计算机辅助设计(CAD)领域长期面临自动化瓶颈。现有研究集中在固定工作流(如3D逆向工程、CAD生成等),通用CAD智能体仍然几乎空白。尽管VLLM在多领域展现了强大能力,但在CAD场景中面临三大核心挑战:
几何推理能力不足:VLLM难以准确理解渲染对象的语义、空间排列和基本体的定位
CAD命令效果不可预测:高级CAD操作(倒角、圆角、几何约束等)对模型拓扑的影响复杂且非直觉,VLLM无法可靠预测
缺乏实际CAD交互:现有方法无法与CAD软件直接交互,生成的设计无法被验证
工具增强(Tool-Augmentation)已被证明能有效缓解基础模型的短板,但在CAD领域尚未被探索。本文正是填补这一空白。
方法详解¶
整体框架¶
CAD-Assistant采用"规划器-环境-工具集"的三组件架构。每个时间步 \(t\),规划器分析当前上下文生成计划 \(p_t\) 和动作 \(a_t\)(Python代码),动作在环境中执行并返回反馈,驱动下一步迭代:
其中 \(x_0\) 为多模态用户查询,\(c_t\) 为上下文,\(f_t\) 为代码执行输出,\(e_t\) 为CAD设计的新状态。过程持续迭代直到规划器生成TERMINATE信号。
关键设计¶
-
VLLM规划器(Planner):
- 采用GPT-4o作为核心规划器
- 接受多模态输入(文本、草图、绘制命令、3D扫描)
- 生成Python代码形式的动作(而非自然语言指令),可直接使用FreeCAD API
- 通过上下文拼接机制 \(c_{t+1} \leftarrow \text{concat}(f_t, \{c_s\}_{s=1}^t)\) 维持长期记忆
-
CAD专用工具集(7种工具):
- Python:逻辑运算和动作格式化
- FreeCAD集成:通过Python API直接调用CAD软件
- Sketch Parameterizer:基于Davinci模型将手绘草图图像转为参数化CAD草图
- Sketch Recognizer:渲染草图并可视化参数,供规划器理解2D几何
- Solid Recognizer:渲染3D CAD模型并标注参数,增强3D理解
- Constraint Checker:分析几何约束的应用效果,判断约束是否破坏几何完整性
- Crosssection Extractor:从3D网格生成截面图像,用于3D扫描的逆向工程
-
几何推理增强策略:
- 参数化策略:point-based表示优于SGPBench的implicit表示(精度从0.674提升到0.748)
- 序列化策略:schema-embedded格式(JSON, 0.748)优于tabular格式(HTML/CSV/Markdown, ~0.71)
- 渲染增强:精确渲染(0.754)优于文本描述(0.748),也优于手绘草图(0.616)
- 过参数化:冗余参数集与point-based相比精度几乎无损(0.747 vs 0.748),但某些任务可能受益
损失函数 / 训练策略¶
CAD-Assistant是无训练(training-free)框架,不需要任何微调或优化。其核心依赖: - 工具的docstring作为使用说明 - 零样本提示(zero-shot prompting)为主,少样本(5-shot)可进一步提升 - 通过FreeCAD几何求解器验证约束的正确性 - 通过多模态反馈(渲染图像 + JSON参数)进行迭代修正
实验关键数据¶
主实验¶
| 任务 | 指标 | CAD-Assistant | GPT-4o Baseline | 监督方法 | 提升 |
|---|---|---|---|---|---|
| 2D CQA (SGPBench) | Accuracy | 0.791 | 0.686 | - | +15.3% |
| 3D CQA (SGPBench) | Accuracy | 0.857 | 0.782 | - | +9.6% |
| Auto-constraining | PF1 | 0.979 | 0.693 | 0.706 (Vitruvion) | +38.7% |
| Auto-constraining | CF1 | 0.484 | 0.274 | 0.238 (Vitruvion) | +103.4% |
| 手绘草图参数化 | Accuracy | 0.784 | - | 0.789 (Davinci) | 接近 |
| 手绘草图参数化 | CD↓ | 0.680 | - | 1.184 (Davinci) | -42.6% |
消融实验¶
| 配置 | PF1 | CF1 | 说明 |
|---|---|---|---|
| 无工具+无docstring (0-shot) | 0.726 | 0.318 | 基线 |
| +多模态识别器 (MMrecog) | 0.747 | 0.329 | 渲染辅助理解 |
| +约束检查器 (ConstrCheck) | 0.979 | 0.484 | 关键提升来源 |
| 完整+5-shot | 0.981 | 0.514 | 少量示例有帮助 |
| 完整+5-shot+docstring | 0.984 | 0.529 | 最佳配置 |
关键发现¶
- 工具增强最关键的贡献来自约束检查器,它使智能体能评估约束应用后的几何变化,避免破坏性操作
- GPT-4 mini从工具增强获得的收益有限(2D: 0.614 vs 0.594),说明强大的VLLM是工具增强发挥作用的前提
- 人工评估显示98.5%的工具使用是有效的,少数错误主要来自FreeCAD API的不正确调用
- 失败案例分析显示大部分错误来自VLLM推理错误(如混淆梯形与三角形)
亮点与洞察¶
- 通用性设计:无需训练,通过docstring即可扩展新工具,不受现有CAD数据集命令集的限制
- 实际CAD交互:生成的FreeCAD代码可编辑、可解释、可直接用于生产
- 多模态输入支持:从文本描述到手绘草图、3D扫描、绘制命令,覆盖多种使用场景
- 评估框架贡献:定义了通用CAD智能体的评估标准,整合多个现有CAD基准
局限与展望¶
- 依赖闭源GPT-4o作为规划器,成本高且无法本地部署
- JSON序列化在复杂大型设计中可能产生过长上下文
- 当前评估以2D草图和简单3D模型为主,工业级复杂CAD模型的能力未充分验证
- 工具集固定(7种),可探索更多专业工具(如有限元分析、公差分析)
相关工作与启发¶
- 与CadVLM/CADLLM等微调方法形成对比,展示了无训练范式的竞争力
- 工具增强范式可推广至其他工程软件交互场景(如EDA、仿真)
- Vitruvion在大规模数据上训练却不如零样本的CAD-Assistant,说明约束求解器的反馈至关重要
评分¶
- 新颖性: ⭐⭐⭐⭐ CAD领域首个工具增强VLLM框架,填补了重要空白
- 实验充分度: ⭐⭐⭐⭐ 覆盖CQA/约束推理/草图参数化三大任务,含human evaluation和失败分析
- 写作质量: ⭐⭐⭐⭐⭐ 框架描述清晰,工具设计动机充分,可视化丰富
- 价值: ⭐⭐⭐⭐⭐ 对CAD自动化和AI辅助设计具有变革性意义,实践价值极高
相关论文¶
- [AAAI 2026] ReCAD: Reinforcement Learning Enhanced Parametric CAD Model Generation with Vision-Language Models
- [ICLR 2026] Error Notebook-Guided, Training-Free Part Retrieval in 3D CAD Assemblies via Vision-Language Models
- [ICCV 2025] Dynamic Group Detection using VLM-augmented Temporal Groupness Graph
- [CVPR 2026] From Intuition to Investigation: A Tool-Augmented Reasoning MLLM Framework for Generalizable Face Anti-Spoofing
- [CVPR 2025] RAP: Retrieval-Augmented Personalization for Multimodal Large Language Models