一、为什么要 DWG→DXF:CAD 格式的坑
客户发来的几乎都是 .dwg(AutoCAD 私有格式),但大多数免费解析库读不了 dwg,只能读 .dxf(开放的交换格式)。所以流水线第一步永远是把 dwg 转成 dxf。这一步用 LibreDWG(开源免费)就能做,不用买 AutoCAD。
二、流水线长什么样
我们给冷门工业品/设备厂家做 3D 打印代工,图纸分析是入口。流程:
1. 上传
前端把 DWG 传上来,落到处理目录。
2. 转换
调用 LibreDWG 把 dwg 转 dxf。这一步最容易出事——很多图纸用了特殊版本或加密,转换会失败。
3. 解析
解析器读 dxf,提取图层、实体(线/圆/块)、文字标注、尺寸,做成结构化数据。
4. 生成报告
把结构化数据渲染成一份"读图报告":哪些尺寸、什么材料建议、打印可行性、预估用料和报价。
三、被"转换失败就永久跳过"卡死的坑
真实踩坑: 早期设计是:转换失败 → 写进"跳过清单" → 永远不再处理。结果某次 LibreDWG 版本或某个图纸触发批量失败,一堆图纸被永久标记跳过,后续再传也石沉大海,前端一直显示"处理中"。等于整条流水线静默死掉,谁都没察觉。
四、怎么修:失败 ≠ 永久放弃
改成三种状态分开:
- 可重试失败:转换报错先重试 1–2 次(很多是临时资源争用),仍失败才进"待人工"队列,而不是"永久跳过"。
- 待人工:明确标记"这份需要人来看",前端显示"需人工处理",不再假装还在跑。
- 成功:正常进解析→报告。
一句话: "跳过"必须可恢复。凡是"失败了就再也不试"的设计,迟早把整条线拖死。
五、前端怎么把报告呈现出来
报告本身是结构化的(JSON/树),前端不做复杂渲染,直接用可折叠的树 + 关键尺寸高亮 + 材料/报价建议卡片。重点不是好看,是让厂家 30 秒看懂"这图能不能打、大概多少钱、卡在哪"。
六、适合谁 / 注意什么
- 适合:有图纸批处理需求的小厂、3D 打印代工、工程量提取。LibreDWG 免费,门槛低。
- 注意 1:dwg 版本太新或加密时,LibreDWG 可能转不出,要有"转不出就人工"的兜底,别让流水线假死。
- 注意 2:解析结果只是"辅助判断",最终用料/报价必须人工复核,AI 和脚本都替不了老师傅。
给后来者: CAD 自动化的价值不在"全自动",在"把重复读图动作变成可复查的结构化报告",人只看异常。