SldprtNet: A Large-Scale Multimodal Dataset for CAD Generation in Language-Driven 3D Design¶
会议: CVPR2025
arXiv: 2603.13098
代码: 待确认
领域: others
关键词: CAD生成, 多模态数据集, 语言驱动3D设计, 参数化建模, SolidWorks
一句话总结¶
构建包含24.2万工业零件的大规模多模态CAD数据集SldprtNet,提供3D模型、多视图图像、参数化文本脚本和自然语言描述的完整对齐,支持语义驱动的CAD建模任务。
研究背景与动机¶
- 语义驱动的CAD建模(Text-to-CAD)需要大规模高质量数据集,但现有数据集在规模、模态、可编辑性上存在不足
- 非参数化数据集(ModelNet、ShapeNet等)仅含网格/点云,不保留设计历史和参数信息,无法支持参数化编辑
- 参数化CAD数据集(ABC、Fusion 360)缺乏文本标注和视觉信息,限制了语言驱动任务
- DeepCAD仅支持2种CAD命令(草图+拉伸),Text2CAD的文本描述是合成生成的,与实际几何存在语义偏差
- CAD-GPT、CAD-MLLM、CAD-Coder等近期工作虽探索了多模态/代码驱动方法,但各有局限:数据规模小、仅含合成样本、命令覆盖不足
- 现有工作多聚焦单一模态,缺少图像-参数脚本-自然语言全对齐的多模态CAD数据集
方法详解¶
数据集构成(每个样本4个组件): 1. 3D模型: 同时提供.sldprt(SolidWorks原生)和.step(通用交换格式)两种格式 2. 多视图图像: 6个正交视图(前/后/左/右/上/下)+1个等轴测视图,合成为单张复合图像以减少token长度 3. 参数化文本: 通过Encoder工具从.sldprt提取结构化建模脚本,包含特征树和每个特征的详细参数 4. 自然语言描述: 使用Qwen2.5-VL-7B对复合图像+参数化文本进行推理,生成外观和功能描述(12块A100 GPU,368 GPU-hours)
数据来源: 从GrabCAD、McMaster-Carr和FreeCAD三个公开平台收集约68万.sldprt工业零件,经筛选保留24.2万高质量样本。
核心工具(Encoder/Decoder): - Encoder(CAD→文本): 遍历.sldprt特征树,按建模历史顺序提取特征类型、名称、父子关系和参数,输出包含Feature Tree概览和每个特征详细参数的结构化文本 - Decoder(文本→CAD): 解析文本脚本,初始化空白.sldprt文档,按原始建模序列调用SolidWorks API逐步重建3D模型,确保几何和拓扑与源模型一致 - 支持13种CAD操作类型(草图、拉伸、倒角、圆角、线性阵列、镜像等),远超DeepCAD的2种
数据处理流水线: 1. 从GrabCAD、McMaster-Carr、FreeCAD用自动化脚本(Macro 1)收集~68万.sldprt模型 2. 筛选保留包含至少1种支持特征类型的24.2万模型 3. 自动化执行:多视图渲染(Macro 2)→参数化命令提取(Encoder)→格式转换(Macro 3)→语言描述生成(Qwen2.5-VL) 4. 描述生成使用12块A100 GPU,共368 GPU-hours 5. 人工验证并对齐生成的描述、渲染图像和3D模型
数据集五项设计原则: 多模态性、双向可表示性、语义标注、可编辑性、人类可读格式
复杂度分层: - Level 1(简单): 1-5个特征,93,188样本 - Level 2(中等): 6-10个特征,78,926样本 - Level 3(高级): 11-100个特征,69,259样本 - Level 4(专家): 100+个特征,1,234样本
实验关键数据¶
在5万样本子集上微调基线模型的对比(测试集3644样本):
| 指标 | Qwen2.5-7B(纯文本) | Qwen2.5-7B-VL(图像+文本) |
|---|---|---|
| Exact Match Score | 0.0058 | 0.0099 (+70.7%) |
| Command-Level F1 | 0.3247 | 0.3670 (+13.0%) |
| Partial Match Rate | 0.5554 | 0.6162 (+10.9%) |
| BLEU Score | 97.18 | 97.93 |
| Parameter Tolerance Acc | 0.5016 | 0.4630 |
- 多模态模型在精确匹配(+70.7%)、命令级F1(+13.0%)和部分匹配率(+10.9%)上全面优于纯文本模型
- 纯文本模型在参数容差精度上略优(0.5016 vs 0.4630),可能反映其对数值的过拟合倾向
- 2D Sketch是使用频率最高的特征类型;Chamfer和Fillet高频出现反映工业零件特点
- Linear Pattern和Mirror Pattern相对低频,可能因设计者倾向于显式复制而非阵列化
亮点¶
- 规模与质量并重: 24.2万真实工业零件(来自GrabCAD等专业平台),非合成生成,工程实用性强
- 完整多模态对齐: 3D模型(.sldprt+.step)+多视图图像+参数化脚本+自然语言,五模态严格对齐
- 双向无损转换: Encoder/Decoder工具支持CAD↔文本闭环,可用于数据增强、结构验证和合成数据生成
- 13种CAD命令: 包括2D Sketch、Extrusion、Chamfer、Fillet、Linear Pattern、Mirror Pattern等,大幅扩展了覆盖范围
- 复杂度分层设计: 支持分层评估和课程学习策略
- 实验验证了多模态输入对CAD生成的必要性
局限性¶
- 基线实验仅在5万样本子集上进行,未充分利用全部24.2万样本
- 自然语言描述由Qwen2.5-VL-7B生成,虽经人工验证对齐但仍可能存在语义偏差
- 基线模型的生成质量(Exact Match仅0.01)距实用仍有很大差距
- 仅支持SolidWorks平台的.sldprt格式,与其他CAD软件的兼容性有限
- 数据集构建依赖SolidWorks商业软件,难以完全开源复现流水线
- 未评估生成的3D模型的几何质量(如是否可制造、是否满足工程约束)
- 复合图像将7个视图合成为单张,可能损失细节分辨率
- 13种CAD操作虽已显著扩展,但仍未覆盖所有SolidWorks支持的特征类型
- 数据集中专家级模型仅1,234个(0.5%),可能导致高复杂度生成能力不足
- 与ABC(100万+)和ShapeNet(300万+)相比,总规模仍有差距
与相关工作的对比¶
- vs ABC: ABC规模更大但缺乏建模序列和文本标注,SldprtNet提供完整的参数化建模历史
- vs DeepCAD: DeepCAD仅支持2种命令(草图+拉伸),SldprtNet支持13种,几何多样性大幅提升
- vs Text2CAD: Text2CAD的文本是合成的,SldprtNet用Qwen2.5-VL-7B基于图像+脚本生成更准确的描述
- vs CAD-MLLM: Omni-CAD大量合成样本,SldprtNet全部为真实工业零件
评分¶
- 新颖性: ⭐⭐⭐⭐ (首个四模态完整对齐的大规模工业CAD数据集)
- 实验充分度: ⭐⭐⭐ (基线实验仅为概念验证,深度不足)
- 写作质量: ⭐⭐⭐⭐ (结构清晰,数据集描述详尽)
- 价值: ⭐⭐⭐⭐ (填补了语义驱动CAD建模的数据空白,社区价值高)