CAD 图纸的 AI 识别这两年从“实验室里跑得通”到“产线上真能用”中间隔着的坑比大多数人想象的多。我前后参与过三个制造业客户的图纸智能解析项目从最初拿开源模型硬怼到后来搭出一套能扛住日均几千张图纸的识别流水线踩过的坑包括但不限于DWG 版本兼容性炸裂、图层命名毫无规律、标注文字和几何实体对不上号、扫描件分辨率低到 OCR 直接摆烂。这篇内容就是把这套落地经验完整拆开讲——2026 年做 CAD AI 识别系统到底怎么从零推到生产可用。不管你是制造业的数字化负责人、想切入工业 AI 的开发者还是被老板要求“搞个 AI 识图”的工程师下面这些内容应该都能帮你少走至少半年的弯路。1. 先搞清楚你要识别的到底是什么很多人一上来就说“我要做 CAD AI 识别”但你问他识别什么回答往往是“就是识别图纸内容”。这个答案等于没说。CAD 图纸里的信息层次非常丰富不同层次的识别难度、技术路线、落地价值完全不同。不把这个问题拆清楚后面选型一定跑偏。1.1 CAD 图纸里的四层信息结构我把一张典型机械加工图纸的信息分成四层第一层是几何实体。线段、圆弧、样条曲线、面域、三维实体这些是 CAD 的骨架。识别这层信息相对成熟DXF 格式本身就是结构化的直接解析实体段就能拿到坐标和拓扑关系。难点在于不同 CAD 软件AutoCAD、中望、浩辰、Creo导出的 DXF 存在方言差异某些自定义实体需要单独处理。第二层是图层与属性。图层名、颜色、线型、线宽这些承载了工程师的分类逻辑。比如“轮廓线”图层放零件外轮廓“中心线”图层放对称轴“标注”图层放尺寸。识别这层的关键是建立图层名到语义类别的映射但麻烦在于不同企业、不同工程师的图层命名习惯千差万别有的用中文“粗实线”有的用英文“OUTLINE”有的干脆用“图层1”“图层2”。第三层是标注与文字。尺寸标注、公差、粗糙度符号、技术要求文字、标题栏信息。这层是图纸的“语义层”也是 AI 识别价值最高的部分。传统 OCR 只能拿到文字内容但拿不到文字和几何实体的关联关系——比如“Φ50”这个尺寸到底标注的是哪条边。要建立这种关联需要结合标注的引线端点坐标和几何实体的空间位置做匹配。第四层是工程语义。这是最高层包括工艺信息、材料信息、装配关系、设计意图。这层信息往往不在图纸上直接写着需要结合行业知识推理。比如看到某个孔的标注是“Φ10 H7”有经验的工程师就知道这是配合孔需要精加工。AI 要识别到这层需要引入领域知识图谱。落地建议第一版系统不要贪多先把第一层和第二层做扎实第三层做部分场景第四层留到二期。我见过太多项目因为一上来就想做“全语义理解”结果连几何实体解析都没跑通就烂尾了。1.2 不同识别目标对应的技术路线差异识别目标不同技术选型差异巨大。我整理了一张对照表识别目标推荐技术路线数据要求落地难度几何实体提取DXF/DWG 解析库 规则引擎无需训练数据低图层语义分类规则 小样本分类模型每类 50-100 样本中标注文字识别OCR 版面分析标注数据集中标注-实体关联空间关系推理 图神经网络标注关联数据集高工程语义理解知识图谱 大模型推理领域知识库很高扫描件图纸识别图像分割 OCR 矢量化大量标注图像高这张表的核心信息是不是所有识别任务都需要深度学习。几何实体提取用传统的 DXF 解析库比如 ezdxf、ODA就能做到 95% 以上的准确率上深度学习反而是杀鸡用牛刀。真正需要 AI 能力的是标注关联和语义理解这两个环节。1.3 企业实际需求与“伪需求”的区分在项目启动阶段业务方提的需求往往需要翻译。我遇到过几个典型案例某客户说“我要自动识别所有零件的加工工艺”——深入聊完发现他们真正想要的是“根据图纸上的尺寸公差和粗糙度标注自动判断哪些面需要精加工”。这是一个具体的、可定义的问题而不是笼统的“识别工艺”。另一个客户说“我要 AI 自动改图”——实际需求是“批量修改图纸标题栏里的版本号和日期”。这个用脚本就能搞定根本不需要 AI。我的经验是在需求调研阶段一定要追问“识别出来之后你要拿这个结果做什么”。答案越具体技术方案越清晰。如果业务方说不清楚用途这个需求大概率是伪需求先放一放。2. 数据管线从 DWG 到可训练数据集的完整链路CAD AI 识别项目最容易低估的环节就是数据准备。我做过统计一个中等规模的识别系统数据管线的开发和调试时间占总工期的 50%-60%。这部分做不好后面模型再好也白搭。2.1 DWG/DXF 解析的版本兼容性陷阱DWG 是 AutoCAD 的私有格式版本众多R14、2000、2004、2007、2010、2013、2018每个版本的内部结构都有差异。开源方案里LibreDWG 能覆盖大部分版本但偶尔会丢实体ODAOpen Design Alliance的 SDK 兼容性最好但需要商业授权。DXF 相对开放但同样有版本差异。我建议的解析策略是优先走 DXF 通道。如果客户能提供 DXF 文件直接用 ezdxf 或类似库解析稳定性最高。DWG 文件先做格式转换。用 ODA File Converter 批量转成 DXF再走解析流程。注意转换过程中要保留图层和标注信息某些转换工具会丢失扩展数据。建立版本白名单。对于识别系统来说不需要支持所有 DWG 版本。跟客户确认他们实际使用的 CAD 软件和版本范围只支持这几个版本能大幅降低复杂度。import ezdxf def parse_dxf(filepath): doc ezdxf.readfile(filepath) msp doc.modelspace() entities [] for entity in msp: etype entity.dxftype() if etype LINE: entities.append({ type: line, start: entity.dxf.start, end: entity.dxf.end, layer: entity.dxf.layer }) elif etype CIRCLE: entities.append({ type: circle, center: entity.dxf.center, radius: entity.dxf.radius, layer: entity.dxf.layer }) elif etype TEXT: entities.append({ type: text, content: entity.dxf.text, insert: entity.dxf.insert, layer: entity.dxf.layer }) return entities这段代码看起来简单但实际跑起来会遇到各种边界情况块引用INSERT需要递归展开、属性块ATTRIB需要单独提取、多行文字MTEXT的格式代码需要清洗。这些细节处理不好后面标注关联就会出错。2.2 图层规范化统一命名是第一道坎图层是 CAD 图纸的“分类标签”但现实中的图层命名极其混乱。我见过一个客户的图纸同一个“轮廓线”概念在不同图纸里分别叫“0”“轮廓”“OUTLINE”“粗实线”“CUT”“L1”……这种情况下任何基于图层名的规则都会失效。我的处理方案是三步走第一步统计所有图层名。把客户所有历史图纸的图层名拉出来做词频统计。通常会发现 20% 的图层名覆盖了 80% 的实体。第二步建立映射表。把统计出来的图层名人工映射到标准类别轮廓、中心线、标注、文字、剖面线、隐藏线等。这一步需要跟客户的资深工程师一起做因为有些命名只有他们看得懂。第三步处理未映射图层。对于映射表覆盖不到的图层用几何特征做兜底分类。比如一个图层上全是短线段且分布均匀大概率是剖面线全是虚线且贯穿图形大概率是中心线。实操心得图层映射表不要写死在代码里做成可配置的 YAML 文件。不同客户的映射表不同甚至同一客户不同事业部的也不同。做成配置化之后新客户上线只需要改配置不用改代码。2.3 扫描件与低质量图纸的预处理很多企业的老图纸是扫描件分辨率低、有噪点、甚至倾斜。这类图纸的识别链路和矢量图纸完全不同图像去噪与增强。用 OpenCV 做自适应二值化去除扫描噪点。对于倾斜的图纸用霍夫变换检测边框直线做纠偏。版面分析。把图纸分成标题栏区域、视图区域、标注区域。这一步可以用基于规则的方法标题栏通常在右下角固定位置也可以用版面分析模型。矢量化。对几何线条做细化thinning和线段拟合把像素级的线条转成矢量线段。这一步的精度直接决定了后续几何识别的准确率。OCR 文字识别。工程图纸的文字有特殊性字体多样宋体、仿宋、RomanS、hz-s 等、字号小、旋转角度多。通用 OCR 模型直接上效果很差需要用工程图纸数据做微调。我实测下来扫描件图纸的端到端识别准确率能做到 75%-85% 就算不错了远低于矢量图纸的 95%。所以如果客户同时有矢量图纸和扫描件建议优先做矢量图纸扫描件作为二期。3. AI 模型选型哪些环节真的需要深度学习这是最容易花冤枉钱的环节。很多团队一上来就买 GPU 服务器、搭深度学习框架结果发现大部分识别任务用规则引擎就能搞定。我的原则是能用规则解决的不用模型能用小模型解决的不用大模型。3.1 几何识别传统算法 vs 深度学习的边界几何实体识别这个任务传统算法和深度学习的适用边界很清晰矢量图纸的几何识别传统算法完胜。DXF 文件本身就是结构化的解析出来就是精确的坐标和拓扑关系。用深度学习去识别矢量图纸的线段相当于用大炮打蚊子不仅浪费算力精度还不如直接解析。扫描件图纸的几何识别深度学习有优势。像素级的线条检测、虚线识别、圆弧拟合这些任务用 CNN 或 Transformer 做分割和检测效果确实比传统霍夫变换好。特别是对于有断线、粘连、噪点的图纸深度学习模型的鲁棒性明显更强。我的建议是做一个混合管线矢量图纸走解析通道扫描件走图像识别通道两条通道的输出统一到同一套数据结构后面的标注关联和语义理解共用。3.2 标注关联图神经网络的实际效果标注关联是 CAD AI 识别里技术含量最高的环节。一张图纸上可能有几十个尺寸标注每个标注需要关联到它标注的几何实体。传统做法是用空间距离做匹配标注引线端点最近的实体但这个方法在密集标注区域错误率很高。我们试过用图神经网络GNN来做这个任务把几何实体和标注都建成图的节点空间关系建成边用 GNN 学习节点之间的关联概率。实测下来在标注密集区域GNN 比纯空间距离方法的准确率提升了约 15 个百分点。但 GNN 的代价是需要标注数据。我们标注了大约 2000 张图纸的标注关联关系才把模型训到可用状态。如果客户没有这个数据积累建议先用规则方法上线在运行过程中积累数据等数据够了再上模型。3.3 大模型在图纸理解中的角色定位2025 年以来大模型在图纸理解上的应用越来越多。但我必须说清楚大模型目前不适合做精确的几何识别和尺寸提取它擅长的是语义层面的理解和推理。具体来说大模型在 CAD 识别系统里可以承担这些角色技术要求文本理解把“未注圆角 R2”“热处理 HRC45-50”这类技术要求文字转成结构化信息。标题栏信息抽取从标题栏的杂乱文字中抽取零件名称、图号、材料、比例等字段。跨图纸推理根据装配图和零件图的对应关系推理装配约束。人机交互让用户用自然语言查询图纸信息比如“找出所有孔径大于 20mm 的孔”。注意大模型的输出有幻觉风险在工程场景下必须加校验层。比如大模型说某个尺寸是 Φ50系统需要回到原始标注数据里验证这个值确实存在才能采信。4. 系统架构从单机脚本到生产级流水线一个能 demo 的 CAD AI 识别脚本和一个能扛住生产环境的识别系统差距是数量级的。这部分讲架构设计的关键决策。4.1 批处理与实时识别的架构分叉首先要明确系统的使用模式批处理模式客户一次性上传几百上千张图纸系统排队处理几小时后出结果。这种模式对延迟不敏感架构可以简单用消息队列 worker 池就行。实时识别模式用户在 CAD 软件里操作时系统实时识别当前视图的内容并给出提示。这种模式对延迟要求高通常要求 500ms 内出结果需要做模型量化、缓存、增量识别等优化。大多数企业的实际需求是批处理模式。我建议第一版就做批处理把识别质量做扎实实时识别留到后续版本。很多团队一上来就追求实时结果识别准确率惨不忍睹用户用两次就不用了。4.2 识别结果的结构化存储方案识别结果怎么存直接决定了上层应用能做什么。我的方案是三层存储第一层原始解析结果。把 DXF 解析出来的实体、图层、标注原样存成 JSON 或 Parquet保留所有原始信息。这层数据只增不改作为溯源依据。第二层结构化识别结果。把识别出来的零件特征、尺寸、公差等存成关系型数据库的表。比如“零件表”“特征表”“尺寸表”“公差表”表之间用外键关联。这层数据支持 SQL 查询方便上层应用调用。第三层图数据库。把零件、特征、尺寸、标注之间的关联关系存成图结构用 Neo4j 或类似方案。这层数据支持复杂的关联查询比如“找出所有与某个基准面有公差关联的尺寸”。-- 结构化识别结果的表设计示例 CREATE TABLE parts ( part_id VARCHAR(64) PRIMARY KEY, drawing_no VARCHAR(64), part_name VARCHAR(128), material VARCHAR(64), scale VARCHAR(16) ); CREATE TABLE features ( feature_id VARCHAR(64) PRIMARY KEY, part_id VARCHAR(64) REFERENCES parts(part_id), feature_type VARCHAR(32), -- hole, slot, boss, fillet... position_x DECIMAL(10,3), position_y DECIMAL(10,3), dimensions JSONB ); CREATE TABLE dimensions ( dim_id VARCHAR(64) PRIMARY KEY, feature_id VARCHAR(64) REFERENCES features(feature_id), dim_type VARCHAR(32), -- diameter, length, angle... nominal_value DECIMAL(10,3), upper_tolerance DECIMAL(10,3), lower_tolerance DECIMAL(10,3) );这套表结构看起来简单但实际设计时要考虑很多细节一个特征可能有多个尺寸、一个尺寸可能关联多个特征、公差可能是对称的也可能是极限偏差。这些都要在表结构里预留扩展字段。4.3 与现有 PLM/ERP 系统的对接方式CAD AI 识别系统很少是孤立运行的通常需要跟企业现有的 PLM产品生命周期管理或 ERP 系统对接。对接方式主要有三种API 对接识别系统提供 REST APIPLM 系统调用 API 获取识别结果。这种方式最灵活但需要 PLM 系统支持二次开发。数据库直连识别系统把结果写入 PLM 系统的数据库。这种方式速度快但耦合度高PLM 系统升级时容易出问题。文件交换识别系统输出结构化文件JSON/XML/CSVPLM 系统定时导入。这种方式最简单但实时性差。我一般推荐 API 对接并且在识别系统侧做好幂等设计——同一张图纸重复识别不会产生重复数据。这个细节在对接时非常重要因为 PLM 系统经常会触发重复的识别请求。5. 落地实施中的真实坑与应对策略这部分是我最想分享的因为这些都是真金白银换来的教训。5.1 图纸质量参差不齐导致的识别率波动项目上线前测试准确率 95%上线后客户投诉“根本不准”。排查发现测试用的是客户精选的“好图纸”而实际生产中的图纸有大量历史遗留问题图层混乱、标注重叠、字体缺失、块引用嵌套十几层。应对策略建立图纸质量评分机制。在识别前先对图纸做质量评估低质量图纸单独标记不纳入自动识别流程转人工处理。分批次上线。先上线最近三年的新图纸质量较好老图纸后续逐步处理。建立反馈闭环。用户对识别结果的修正要回流到系统作为模型迭代的训练数据。5.2 工程师不信任 AI 结果的心理障碍这是非技术层面的坑但杀伤力很大。工程师用了几十年 CAD对图纸的理解有绝对自信。你告诉他“AI 识别出这个尺寸是 Φ50”他第一反应是“你凭什么”。破局的关键是可解释性。识别结果不能只给一个结论要给出依据这个尺寸是从哪条标注线提取的在图纸上高亮显示这个特征是怎么识别出来的展示识别的中间过程置信度是多少低置信度的结果标黄提示人工复核我做过对比加了可解释性展示之后工程师对识别结果的采纳率从 40% 提升到了 75%。5.3 模型迭代与版本管理的工程化识别系统上线后需要持续迭代但模型迭代带来一个工程问题新模型在某些场景下比旧模型好在某些场景下反而变差。如果没有完善的版本管理和 A/B 测试机制很容易出现“改了一个 bug 引入两个新 bug”的情况。我的做法是每次模型更新都跑全量回归测试。维护一个包含各类典型图纸的测试集每次更新后跑一遍对比新旧模型的各项指标。灰度发布。新模型先对 10% 的图纸生效观察一周没问题再全量。保留模型版本快照。任何时候都能回滚到之前的版本。6. 从识别到应用价值兑现的最后一公里识别准确率再高如果业务方用不起来项目就是失败的。这部分讲怎么把识别结果转化成业务价值。6.1 典型应用场景的优先级排序CAD AI 识别的应用场景很多但落地优先级不同应用场景业务价值实施难度推荐优先级图纸自动归档与检索中低高BOM 自动生成高中高工艺路线辅助生成高高中图纸合规性检查中中中相似零件检索与复用高高低智能报价高很高低我建议第一版系统聚焦“图纸自动归档与检索”和“BOM 自动生成”这两个场景。前者技术难度低、见效快能快速建立业务方信心后者价值高是后续扩展的基础。6.2 识别准确率的验收标准怎么定验收标准定不好项目验收时容易扯皮。我的建议是分场景定标准几何实体提取准确率 ≥ 98%召回率 ≥ 98%图层分类准确率 ≥ 95%标注文字 OCR字符准确率 ≥ 97%标注关联准确率 ≥ 90%工程语义理解准确率 ≥ 80%这些指标要在项目启动时就写进合同并且明确测试方法和测试数据集。测试数据集要包含各种边界情况不能只用“好图纸”测。6.3 持续运营识别系统不是一锤子买卖CAD AI 识别系统上线只是开始后续的运营才是价值持续释放的关键。运营工作包括数据回流与模型迭代用户修正的结果要定期回流用于模型微调。新图纸类型的适配企业业务变化会产生新的图纸类型需要及时适配。性能监控与告警识别准确率、处理速度、系统可用性都要有监控。用户培训与支持新用户入职、系统功能更新时都需要培训。我见过太多项目上线后没人管半年后识别率下降到不可用最后被弃用。识别系统是一个需要持续投入的“活系统”不是交付就完事的“死软件”。7. 成本与团队配置的现实考量最后聊聊钱和人的问题这是决定项目能不能启动、能不能持续的现实因素。7.1 自建 vs 采购的决策框架自建还是采购取决于三个因素图纸的行业特殊性。如果是通用机械图纸市面上有成熟的识别产品可以采购。如果是特定行业比如航空、船舶、电子图纸有大量行业特有的符号和规范通用产品识别率很低建议自建。数据安全要求。如果图纸涉及核心机密不能上传到第三方平台只能自建私有化部署。长期投入意愿。自建系统的初期投入高团队、算力、数据标注但长期边际成本低。采购系统初期投入低但按量付费长期成本可能更高。我的经验是图纸量小于 10 万张/年、行业通用性强的企业优先考虑采购图纸量大、行业特殊、有长期数字化规划的企业自建更划算。7.2 最小可行团队的能力矩阵一个能跑通 CAD AI 识别项目的最小团队需要这些角色CAD 领域专家1 人懂图纸、懂工艺、能定义识别需求、能标注数据。后端工程师1-2 人负责数据管线、API、系统集成。算法工程师1 人负责模型选型、训练、调优。前端工程师0.5 人负责结果展示和人工复核界面。这个配置下从零到第一版可用系统大约需要 4-6 个月。如果团队里没有人同时懂 CAD 和 AI周期会更长。7.3 算力与数据标注的成本预估算力方面如果只做矢量图纸的解析和规则识别一台普通服务器就够了。如果要跑深度学习模型扫描件识别、标注关联需要至少一张 24GB 显存的 GPU。数据标注是隐性成本大头。标注一张复杂机械图纸的标注关联关系熟练标注员需要 30-60 分钟。如果要标注 2000 张图纸就是 1000-2000 小时的工作量。这部分成本在项目预算里一定要提前算进去。省钱技巧数据标注可以分阶段做。第一版系统先用规则方法上线在运行过程中收集用户的修正数据这些修正数据就是天然的标注数据。等积累到一定量再训练模型能省掉大量标注成本。8. 2026 年的技术趋势与选型建议最后说说技术趋势帮你在选型时有个前瞻性判断。8.1 多模态大模型对 CAD 识别的冲击2025-2026 年多模态大模型在图纸理解上的能力提升很快。我实测过几个主流模型在“看懂图纸大意”这个层面已经做得不错了——能识别出图纸类型、能理解技术要求、能回答一些简单的图纸问题。但在精确的尺寸提取、公差识别、几何关联这些任务上大模型还是不如专用模型 规则引擎的组合。我的判断是未来 2-3 年内大模型会成为 CAD 识别系统的“语义层”但“几何层”还是需要专用算法。选型建议架构设计时把语义理解层做成可替换的模块方便后续接入更强的大模型。8.2 云原生部署与边缘计算的取舍云原生部署容器化 K8s适合图纸量大、需要弹性扩缩容的场景。边缘计算适合数据不能出厂的场景。我的建议是如果数据安全允许优先云原生部署运维成本低、扩展性好。如果必须私有化用容器化部署在客户机房但要做好资源规划和监控。8.3 给不同规模企业的实施路线建议小型企业图纸量 1 万张/年建议采购成熟的 SaaS 产品按量付费。自建不划算。中型企业图纸量 1-10 万张/年建议混合方案——核心识别用采购产品个性化需求用自建脚本补充。大型企业图纸量 10 万张/年建议自建平台分阶段实施。一期做几何和图层识别二期做标注关联三期做语义理解。这个路线不是绝对的还要结合企业的数字化成熟度、预算、团队能力综合判断。但核心原则是一样的从简单场景切入快速见效再逐步扩展。CAD AI 识别不是一个能一步到位的项目它是一个需要持续迭代的工程。