快速导读:提出Drawing-Recode框架,通过独立提取几何层与标注层并利用交叉注意力与标注接地损失显式对齐,从栅格二维CAD图纸生成参数化CAD代码。
Drawing-Recode解决的核心问题是:如何从一张包含尺寸标注的栅格二维CAD图纸中,自动生成可编辑的三维参数化CAD代码。与现有方法不同,它首次将几何层(形状轮廓)与标注层(尺寸、公差)作为两个独立的信息源处理,并通过交叉注意力机制与标注接地损失(AGL)显式对齐两者。
该方法分两阶段:阶段一用YOLO检测标注区域、SVTR识别文本,构建标注表;阶段二用共享CLIP ViT编码四视图几何特征,通过BERT嵌入标注文本与坐标,经交叉注意力将标注特征接地到几何特征,引入sink token处理无标注区域,拼接等轴测视图特征后送入Qwen2.5-0.5B自回归生成SPCC格式CAD代码。在自建DeepCAD-SPCC数据集上,ACCcmd达87.01%,ACCparam达82.53%,MCD为7.86(×10²),IR仅0.97%,全面优于基线方法。
英文题目:Drawing-Recode: Annotation Grounding for Parametric CAD Code Generation from Raster 2D CAD Drawings
论文出处:arXiv 每日论文精选 · arXiv:2607.27558
原始论文:PDF / 论文页面
这篇论文解决什么问题?
工业界存有海量数字化前积累的栅格二维CAD图纸,这些图纸是零件再制造与逆向工程的重要依据。然而,手动将这些图纸重建为三维参数化模型耗时巨大,自动化需求迫切。
二维CAD图纸天然包含两层信息:几何层定义零件的形状轮廓,标注层提供尺寸、公差等约束。有效利用两层信息是恢复三维形状的关键,但现有方法要么仅处理矢量图纸(如Drawing2CAD),要么将两层信息混合编码而未能显式建模其对应关系(如CAD2Program),导致标注信息无法精确指导几何重建。
CAD2Program虽然也从栅格图纸生成CAD程序,但使用单一编码器同时处理几何与标注,且限于橱柜领域,泛化能力不足。Drawing2CAD依赖SVG矢量格式,无法直接应用于栅格图纸。这些局限凸显了在通用机械零件领域实现标注与几何显式接地的必要性。
Drawing-Recode的出发点正是这一研究空白:如何在栅格二维图纸上,让模型明确知道“这条尺寸线标注的是哪个面”,从而生成准确的三维参数化CAD序列。
核心创新
- 独立提取几何层与标注层,并通过交叉注意力与标注接地损失(AGL)显式对齐两层信息。
- 构建基于DeepCAD的多样化机械零件二维CAD图纸数据集,支持通用CAD代码生成。
- 引入sink token处理无标注几何区域,提升接地精度与代码有效性。
方法概览
Drawing-Recode分两阶段:阶段一用YOLO检测标注区域,SVTR识别文本,构建标注表;阶段二用共享CLIP ViT编码四视图几何特征,通过BERT嵌入标注文本与坐标,经交叉注意力模块将标注特征接地到几何特征,引入sink token处理无标注区域,拼接等轴测视图特征后经投影器送入LLM(Qwen2.5-0.5B)自回归生成SPCC格式CAD代码,联合训练LLM损失与标注接地损失(AGL)。
- 阶段一:标注提取。使用YOLO检测图纸中的标注区域(尺寸线、文本等),SVTR识别标注文本内容,构建包含文本、坐标、视图归属的结构化标注表。
- 阶段二:几何编码。采用共享权重的CLIP ViT编码前视图、右视图、俯视图和等轴测视图的几何特征,确保跨视图特征空间一致。
- 标注嵌入与交叉注意力。标注表中的文本经BERT嵌入,坐标经MLP编码后拼接为标注特征;几何特征作为Query,标注特征作为Key和Value,通过交叉注意力模块将标注信息“接地”到对应的几何区域。
- Sink Token机制。引入一个可学习的sink token,与标注特征拼接后参与交叉注意力计算。无对应标注的几何区域将其注意力分配给sink token,避免强制对齐到无关标注,提升接地精度。
- 特征融合与代码生成。接地后的四视图几何特征与等轴测视图原始几何特征拼接,经投影器映射后送入Qwen2.5-0.5B大语言模型,自回归生成SPCC格式的参数化CAD代码。
- 联合训练。训练损失由两部分组成:LLM的标准自回归语言建模损失,以及标注接地损失(AGL)。AGL计算交叉注意力图中每个几何patch与其对应标注之间的对齐程度,显式约束模型学习正确的接地关系。
- 数据集构建。基于DeepCAD数据集,通过渲染二维投影并自动添加尺寸标注,构建了包含多样化机械零件的DeepCAD-SPCC数据集,支持通用CAD代码生成任务的训练与评估。
- 输出格式。默认输出SPCC格式(结构化参数化CAD代码),同时支持转换为CadQuery格式。SPCC格式依赖自定义解析器,CadQuery格式执行时可能引入额外运行时错误,需注意格式选择。
逐图理解论文
失败案例与直觉

图1对比了现有方法与Drawing-Recode的核心区别。现有方法将几何层与标注层联合编码,而Drawing-Recode独立提取两层信息,再通过接地机制显式对齐。这一设计差异是本文方法论的起点。
核心区分与研究空白

图2展示了Drawing-Recode的整体流程。阶段一用YOLO和SVTR提取标注,阶段二用Drawing Encoder编码四视图几何特征,经交叉注意力接地标注后送入LLM生成CAD代码。注意两阶段的清晰分工。
最强结论

表2展示了消融实验结果。上半部分单独移除各组件,下半部分逐步添加组件。从Vanilla到完整模型,ACCcmd从80.51%提升至87.01%,AGL贡献了关键增益。
实验如何设计?
- 数据集:自建DeepCAD-SPCC数据集,基于DeepCAD的机械零件模型渲染二维投影并添加标注。
- 基线方法:Drawing2CAD-vector(矢量输入)、DeepCAD-raster(栅格输入但无标注处理)、DeepCAD-vector、CAD2Program。
- 评估指标:ACCcmd(命令准确率)、ACCparam(参数准确率)、MCD(平均倒角距离,×10²)、IR(无效比例)。
- 消融实验:逐步添加交叉注意力、sink token、AGL等组件,验证各模块贡献。
- 鲁棒性测试:对图纸施加模拟扫描噪声(旋转、模糊、噪声),在不重新训练的条件下评估模型鲁棒性。
- 输出格式对比:比较SPCC与CadQuery两种输出格式在重建精度上的差异。
关键结果与论文证据
- 主实验结果(Table 1, p5):Drawing-Recode在ACCcmd(87.01%)、ACCparam(82.53%)、MCD(7.86)和IR(0.97%)上全面优于所有基线方法,验证了显式标注接地的有效性。
- 消融实验(Table 2, p5):Vanilla配置(无交叉注意力、无AGL)ACCcmd仅80.51%;添加交叉注意力后提升至86.29%;加入sink token后为86.23%;完整模型(+AGL)达到87.01%,证明AGL是关键提升因素。
- 组件顺序添加(Table 2下半部分, p5):从Vanilla逐步添加坐标信息、等轴测视图、权重共享、文本提示、AGL,性能逐步提升,验证了各设计选择的合理性。
- 定性结果(Figure 4, p6):Drawing-Recode重建的三维形状与Ground Truth最为接近,尤其在包含复杂标注的零件上,明显优于Drawing2CAD-vector和CAD2Program。
- 标注接地可视化(Figure 5, p6):交叉注意力图显示,模型成功将标注文本(如尺寸数值)接地到对应的几何区域,sink token有效吸收了无标注区域的注意力。
- 输出格式对比(Table 3, p6):SPCC格式在MCD上优于CadQuery格式,因CadQuery执行时可能引入运行时错误,导致重建精度下降。
- 鲁棒性测试(Table 4, p7):在模拟扫描噪声条件下,完整模型(+AGL)ACCcmd仅从87.01%降至86.32%,MCD从7.86升至8.15,退化极小;而Vanilla配置ACCcmd从80.51%骤降至65.76%,MCD从12.34升至17.27,证明显式接地策略对噪声具有强鲁棒性。
- AGL权重分析(p5):AGL权重α需仔细调节,过大或过小均会损害性能,过大时模型过度关注对齐而忽略代码生成质量,过小时接地效果不足。
阅读时需要注意
- 数据集局限:基于DeepCAD数据集,建模操作种类有限,可能未完全覆盖真实工业复杂零件的建模需求。
- 扫描噪声实验:鲁棒性测试在人工构造的模拟噪声条件下进行,尚未在真实工业扫描图纸上验证。
- 输出格式依赖:SPCC格式依赖自定义解析器,CadQuery格式执行时可能引入额外运行时错误,实际部署需考虑格式兼容性。
- AGL权重敏感:α需针对不同数据集和任务仔细调节,增加了实际应用的调参负担。
关联工作
- CAD2Program:同样从栅格图纸生成CAD程序,但使用单一编码器同时处理几何与标注,且限于橱柜领域,缺乏通用性。
- Drawing2CAD:从SVG矢量图纸生成参数化CAD序列,不适用于栅格图纸,且未显式建模标注接地。
- CAD-Llama:提出SPCC格式并训练LLaMA生成CAD代码,本文采用该格式作为输出表示。
- CAD-Recode:LLM结合点云投影器生成CadQuery代码,本文受其LLM-based思路启发,但面向二维图纸输入。