跳转至

SldprtNet: A Large-Scale Multimodal Dataset for CAD Generation in Language-Driven 3D Design

会议: CVPR 2025
arXiv: 2603.13098
代码: 未公开
领域: 其他
关键词: CAD数据集, 多模态, Text-to-CAD, 参数化建模, SolidWorks

一句话总结

本文构建了一个包含24万+工业零件的大规模多模态CAD数据集 SldprtNet,每个样本对齐了3D模型、多视角图像、参数化建模脚本和自然语言描述四种模态,并开发了支持13种CAD操作的编码器/解码器工具实现无损双向转换,实验证明多模态输入显著优于纯文本输入。

研究背景与动机

领域现状:CAD(计算机辅助设计)在机械设计和制造中至关重要。现有的3D模型数据集如 ShapeNet、ModelNet 主要以 mesh 或点云形式存储,只保留了最终表面形状而丢失了建模历史和参数化信息。少数参数化数据集如 ABC、Fusion 360 Gallery 虽然保留了几何精度,但缺少语义级别的文本标注。

现有痛点:Text-to-CAD 建模面临三个核心问题:(1) 数据量小——CAD 数据集需要专业人员手动创建,远小于图像/文本数据集;(2) 模态缺失——现有数据集通常只覆盖单一模态(几何、序列或文本),无法支持跨模态学习;(3) 操作类型受限——DeepCAD 和 Text2CAD 只支持草图+拉伸两种操作,覆盖的零件类型非常有限。

核心矛盾:现代多模态模型(如 CLIP、Flamingo、BLIP-2)已经证明跨模态对齐学习对泛化和迁移至关重要,但 CAD 领域缺少一个真正对齐多种模态的大规模数据集来支撑这些方法。

本文目标 构建一个支持多模态、双向转换、语义标注、可编辑且人类可读的大规模 CAD 数据集。

切入角度:作者利用 SolidWorks API 开发编码器/解码器工具,将原生 .sldprt 文件转换为结构化文本,同时渲染多视角图像并用多模态 LLM 生成自然语言描述,实现四种模态的完全对齐。

核心 idea:用SolidWorks API构建一套闭环工具链,从24万+工业零件中提取对齐的3D模型、图像、参数化脚本和自然语言描述,形成支持 Text-to-CAD 的多模态数据集。

方法详解

整体框架

SldprtNet 的构建 pipeline 包含四个阶段:(1) 从 GrabCAD、McMaster-Carr、FreeCAD 三大平台收集约68万 .sldprt 文件;(2) 过滤保留包含至少一种13类特征的24万+高质量模型;(3) 通过自动化工具提取四种模态数据;(4) 使用多模态 LLM 生成并人工校验自然语言描述。

关键设计

  1. 编码器(CAD → Text):

    • 功能:将 .sldprt 文件无损转换为结构化参数文本
    • 核心思路:自动遍历 Feature Tree,按建模历史顺序提取特征类型、名称和父子关系,然后对每种特征调用对应模块提取详细参数(尺寸、约束、草图实体等),生成人类和机器都可读的文本格式
    • 设计动机:支持13种 CAD 操作(包括拉伸、倒角、圆角、线性阵列、镜像阵列等),远超 DeepCAD 的2种操作,大幅扩展了可覆盖的零件复杂度和多样性
  2. 解码器(Text → CAD):

    • 功能:从参数化文本重建完整的3D零件模型
    • 核心思路:先创建空白 .sldprt 文档,解析 Feature Tree,按特征顺序和层级关系依次调用 SolidWorks API 创建对应特征,确保几何和拓扑一致性
    • 设计动机:与编码器构成闭环系统,支持"模型→文本→模型"的往返转换,可用于结构验证、数据增强和合成数据生成
  3. 多模态对齐生成:

    • 功能:为每个3D模型生成对齐的多视角合成图像和自然语言描述
    • 核心思路:渲染6个正交视图(前/后/左/右/上/下)+ 1个等轴视图,合并为单张图像以减少 token 数量;将合成图像 + 参数化文本输入 Qwen2.5-VL-7B 生成描述,再经人工验证对齐
    • 设计动机:利用12块 A100 GPU 共368 GPU-小时完成24万+样本的描述生成,七视图合成图既保证了几何完整性又优化了推理效率

损失函数 / 训练策略

基线实验使用标准的语言模型微调策略,在5万样本子集上分别微调 Qwen2.5-7B(纯文本)和 Qwen2.5-7B-VL(图像+文本),使用 Exact Match Score、BLEU Score、Command-Level F1 等指标评估。

实验关键数据

主实验

指标 Qwen2.5-7B (纯文本) Qwen2.5-7B-VL (图+文) 提升
Exact Match Score 0.0058 0.0099 +70.7%
BLEU Score 97.18 97.93 +0.77%
Command-Level F1 0.3247 0.3670 +13.0%
Partial Match Rate 0.5554 0.6162 +10.9%
Tolerance Accuracy 0.5016 0.4630 -7.7%

数据集统计

复杂度等级 特征数量 样本数 比例
Level 1 (Simple) 1-5 93,188 ~38.4%
Level 2 (Moderate) 6-10 78,926 ~32.5%
Level 3 (Advanced) 11-100 69,259 ~28.5%
Level 4 (Expert) 100+ 1,234 ~0.5%

关键发现

  • 多模态输入(图像+文本)在 Exact Match、F1、Partial Match 三个结构对齐指标上全面优于纯文本输入,验证了视觉信息对 CAD 语义理解的重要性
  • 纯文本模型在 Tolerance Accuracy 上略优,可能因为过拟合于数值参数而非结构语义
  • 2D Sketch 是使用频率最高的特征类型,Chamfer 和 Fillet 也很常见,反映数据集的工业导向

亮点与洞察

  • 闭环编解码设计非常巧妙——支持模型→文本→模型的无损往返,可用于自动验证生成结果的正确性,也方便数据增强和规模扩展
  • 七视图合成为单图的策略既减少了输入 token 长度又保留了完整几何信息,适合多模态模型推理
  • 支持13种 CAD 操作的参数化表示是对 DeepCAD(仅2种)的重大升级,使数据集能覆盖真实工业零件的复杂度

局限与展望

  • 论文发表在 ICRA 而非典型的 CAD/Vision 顶会,数据集的实际 CAD 生成效果的评估还比较初步(仅做了简单 baseline 对比)
  • 编码器/解码器依赖 SolidWorks 商业软件的 API,难以复现和扩展到开源 CAD 平台
  • Baseline 实验使用的数据子集仅5万条(占总量约20%),未展示全量训练效果
  • 自然语言描述虽经人工验证,但24万+的量级下人工校验的覆盖率和质量存疑

相关工作与启发

  • vs DeepCAD: DeepCAD 开创了将 CAD 建模视为序列生成问题的范式,但仅支持草图+拉伸2种操作,且缺少自然语言输入。SldprtNet 在操作种类(13种)和模态丰富度上全面升级
  • vs Text2CAD: Text2CAD 虽然加入了文本描述,但其描述是从建模序列合成的而非从视觉信息生成,容易与实际几何产生语义偏差。SldprtNet 利用多模态 LLM 从图像+参数同时生成描述,对齐质量更高
  • vs ABC/Fusion 360: ABC 规模大(100万+B-Rep)但缺少序列和文本标注;Fusion 360 有建模历史但规模小且无文本标注。SldprtNet 在模态完整性上是最全面的

评分

  • 新颖性: ⭐⭐⭐ 数据集构建工作为主,方法创新有限
  • 实验充分度: ⭐⭐⭐ 仅有简单 baseline 对比,缺少更多下游任务验证
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,数据处理流程描述详细
  • 价值: ⭐⭐⭐⭐ 填补了多模态 CAD 数据集的空白,对 Text-to-CAD 研究有重要支撑价值