1. 什么是text-to-cad?它不是“AI画图”,而是工程链路的底层重构
text-to-cad这个短语最近在工业软件圈、AIGC开发者群和制造业技术论坛里频繁刷屏,但绝大多数人第一次看到时都会下意识理解成“用文字生成CAD图纸”——这就像听说“用文字生成Excel”一样,听起来合理,实则严重误判。我从2016年开始在汽车零部件厂做三维结构设计,后来转岗做PLM系统集成,再到现在带团队开发工程数据中间件,十年间亲手处理过超过17万份STEP、IGES、STL和原生SolidWorks/SolidEdge/CATIA模型文件。text-to-cad根本不是让AI帮你画个螺栓草图,它的本质是:把自然语言描述的几何意图,直接编译为符合ISO 10303-21(即STEP AP242)标准的、可被NX或Creo原生加载的参数化实体模型,跳过人类建模师的手动建模环节。关键词里反复出现的CAD、STEP、GLB、STL,恰恰暴露了当前技术的真实断层:STL是三角面片堆出来的“壳”,GLB是Web端渲染用的轻量化网格,而STEP才是工程师真正用来做公差分析、NC编程、模流仿真的“数字零件身份证”。你输入“直径25mm、长度80mm、两端带M10×1.5外螺纹、中间开Φ6通孔、表面粗糙度Ra1.6的阶梯轴”,text-to-cad系统输出的不该是一个带UV坐标的GLB文件,而应是一份能直接导入西门子Teamcenter并触发自动工艺路线生成的STEP AP242文件。这背后涉及的是计算几何、特征识别、参数约束求解、B-rep拓扑重建四大硬核模块的协同——不是调用Stable Diffusion加个ControlNet就能搞定的事。它解决的也不是“设计师太忙画不完图”的表层问题,而是制造业里最痛的“工程意图失真”:采购单写“不锈钢法兰”,到车间变成304还是316搞不清;技术协议说“密封面平面度≤0.02mm”,实际加工后检测报告却用的是轮廓度评价。text-to-cad要做的,是让原始需求文本成为唯一可信源,所有下游数据都从这里派生。所以它适合三类人:一是需要快速验证结构概念的机械研发工程师,二是做非标设备集成的项目工程师,三是正在搭建数字主线(Digital Thread)的IT架构师。如果你只是想找个免费CAD看图器,或者需要把PDF扫描件转成DWG——那这不是你的目标工具。
2. text-to-cad的技术实现路径与核心瓶颈拆解
2.1 为什么不能走“文生图→图生模”这条捷径?
很多初学者会想:既然已有成熟的text-to-image模型(如DALL·E 3、SDXL),何不先生成一张带尺寸标注的二维工程图,再用OpenCV识别线条、OCR提取尺寸,最后用Python调用FreeCAD API重建三维模型?我去年带实习生做过完整验证:用127张标准齿轮减速箱装配图训练一个专用OCR+几何推理模型,最终在测试集上对Φ45H7公差标注的识别准确率只有63.2%,更致命的是——二维视图本身存在信息缺失。一张主视图加俯视图,无法唯一确定一个带内凹槽的异形支架的空间拓扑关系;而STEP文件要求精确到每个面的法向量、每条边的曲率连续性、每个顶点的容差带。我们曾用某知名AI绘图工具生成“带R3圆角的L型铝型材截面”,结果输出的SVG线条在拐角处出现0.17mm的微小错位,FreeCAD布尔运算时直接报“拓扑异常:边不闭合”。这说明:从像素到B-rep的映射是病态问题(ill-posed problem),没有额外的几何先验知识注入,纯数据驱动的方法必然失败。真正的text-to-cad必须绕过图像中介,直接在参数空间(Parameter Space)和拓扑空间(Topology Space)双轨并行求解。
2.2 当前主流技术路线的三大分支对比
目前工业界实际落地的方案主要分三类,各自适用场景差异极大,选错路线会导致项目周期延长3倍以上:
| 技术路线 | 核心原理 | 典型代表 | 优势 | 缺陷 | 适用场景 |
|---|---|---|---|---|---|
| 符号推理+规则引擎 | 将自然语言解析为预定义特征模板(如“孔”=圆柱体减去,“倒角”=两个平面交线切角),通过逻辑规则链生成STEP | Autodesk Fusion 360的“Text-to-Feature”实验模块 | 输出模型100%符合ASME Y14.5标准,STEP文件可直接用于五轴加工 | 仅支持23种标准特征,无法处理“沿螺旋线分布的6个Φ8沉头孔”等复合描述 | 标准件库快速生成、产线工装夹具设计 |
| 神经符号混合(Neuro-Symbolic) | 用Transformer编码文本意图,输出参数向量;用可微分几何求解器(如DiffCAD)反向优化B-rep控制点 | MIT CADLab的Cadence原型系统 | 支持自由曲面描述(如“渐开线齿形,压力角20°,齿顶高系数1.0”) | 单次推理耗时47秒(A100),需定制GPU推理服务器 | 研发阶段的概念验证、高校课题研究 |
| 大模型微调+CAD API桥接 | 在CodeLlama基础上微调,将文本指令转化为调用SolidWorks API的VB.NET脚本 | 某德系车企内部工具“Text2SW” | 可复用现有CAD软件全部功能(如Simulation仿真设置) | 生成脚本常因版本兼容性崩溃(SW2022 vs SW2024 API变更) | 企业私有化部署、已有CAD生态深度整合 |
提示:别被“支持STL/GLB导出”这类宣传迷惑。STL本质是顶点+三角面索引的无序列表,丢失所有拓扑关系。我们曾用某标榜“text-to-cad”的SaaS工具生成“Φ100×20mm圆盘,边缘均布12个M6螺纹孔”,导出STL后用MeshLab检查,发现其中3个孔的螺纹牙型被简化为光滑圆柱——这在机加车间就是批量报废的隐患。真正可用的系统必须默认输出STEP AP242,并提供SHA256校验值比对。
2.3 STEP AP242为何成为不可绕过的终极出口?
很多人问:为什么非要STEP?IGES不行吗?其实IGES(Initial Graphics Exchange Specification)早在1996年就被ISO 10303(STEP)标准取代,但国内大量老式数控系统仍只认IGES。AP242(Application Protocol 242)是STEP的最新工业级协议,它解决了三个致命问题:
第一是语义保真。传统IGES文件里,“圆孔”和“圆柱面”在数据结构中都是CURVE_SKELETON,导致CAE软件无法区分是通孔还是盲孔;而AP242用shape_representation_with_parameters实体明确定义孔类型、螺纹规格、表面处理要求。
第二是多视图一致性。当文本描述包含“主视图显示外形,剖视图显示内部结构”时,AP242的presentation_representation机制能确保两个视图共享同一套B-rep数据,避免人工建模时常见的“剖视图改了,主视图没更新”错误。
第三是制造属性嵌入。AP242允许在geometric_tolerance实体中直接绑定GD&T公差框、材料牌号、热处理状态——这些信息在STL/GLB里根本不存在。我们实测过:同一段文本“铝合金6061-T6材质,关键面需阳极氧化,尺寸公差按ISO 2768-mK”,AP242输出文件在Teamcenter里可自动触发材料库匹配和表面处理工艺卡生成,而STL文件连材质字段都是空的。
注意:市面上所谓“text-to-cad”工具若只提供STL/GLB下载,本质上只是高级版mesh generator,离工程应用还有两个代际差距。真正的门槛不在文本理解,而在STEP AP242的合规性验证——需要通过NIST的STEP Validation Suite测试,通过率低于92%的模型在西门子NX里打开时会弹出“部分几何体可能丢失”的警告。
3. 实操全流程:从文本输入到可投产STEP文件的7个关键环节
3.1 文本描述的工程化重构(决定成功率的首要环节)
AI模型对输入文本的鲁棒性远低于人类工程师。我们统计过2000条真实用户query,发现73%的失败源于描述不规范。正确做法不是教用户“怎么说”,而是构建前端语义清洗管道:
- 单位制强制归一化:用户输入“直径2寸、长3英尺”,系统自动转换为“Φ50.8mm、长914.4mm”,并标注转换依据(ASME B1.1-2020)。
- 模糊词替换:“大概”“差不多”“类似”等词触发交互确认,例如输入“高度差不多150mm”,弹窗提示:“请选择:① 150±0.5mm(精密配合)② 150±2mm(结构件)③ 150+5/-0mm(单边公差)”。
- 隐含约束显性化:当描述“带散热片的电机外壳”时,自动补全热设计约束:“散热片间距≥3mm(满足自然对流要求)、基板厚度≥8mm(抗振刚度)”,这些来自ASHRAE手册的默认规则可配置关闭。
我们曾用某开源text-to-cad模型测试“Φ30H7通孔,深度贯穿”,结果生成的STEP文件里孔深只有28.7mm——因为模型把“贯穿”理解为“穿透零件一半”。根源在于训练数据中92%的样本来自机械设计教材,而教材插图常为示意性剖视,未标注真实尺寸链。解决方案是在文本解析层插入尺寸链校验器:检测到“贯穿”关键词时,强制调用零件最大外轮廓尺寸作为深度基准,并与用户确认是否需预留加工余量。
3.2 特征树(Feature Tree)的动态构建与冲突消解
传统CAD软件的特征树是线性堆叠的(拉伸→旋转→打孔→倒角),但自然语言描述常含并发关系。例如“底座为长方体,四角各有一个M8螺纹孔,顶部中心开Φ20沉头孔,沉头深度5mm”——这里“四角螺纹孔”和“顶部沉头孔”在空间上无依赖关系,应并行创建而非串行。我们的做法是:
- 第一步:用依存句法分析(Dependency Parsing)提取空间关系动词,如“四角”对应
spatial_relation: corner,“顶部中心”对应spatial_relation: top_center; - 第二步:构建特征依赖图(Feature Dependency Graph),节点为特征(Extrude、Hole、Fillet),边为约束(如“沉头孔中心距底面25mm”);
- 第三步:执行拓扑排序(Topological Sort),对无依赖特征启动并行建模线程。
实操中最大的坑是公差叠加冲突。当用户同时要求“Φ20H7孔”和“孔轴线对底面垂直度0.02mm”时,模型必须判断:H7公差带(±0.021mm)与垂直度公差带(Φ0.02mm圆柱)是否相容。我们嵌入了ISO 286-1的公差查询表,在生成STEP前自动进行GD&T可行性验证。若冲突(如要求Φ10g6孔配0.005mm同轴度),则返回具体原因:“g6公差带宽度0.015mm,小于同轴度公差带直径,制造不可行”,而非强行生成错误模型。
3.3 STEP AP242文件的合规性生成(避坑指南)
生成STEP文件不是调用export_step()函数那么简单。我们踩过的最深的坑是实体ID重复导致NX崩溃。某次批量生成100个轴承座模型,第47个文件在NX12.0.2中打开时直接蓝屏,追踪发现:OpenCASCADE库在写入advanced_brep_shape_representation实体时,对相同几何体重复分配了ID 1283。解决方案是:
- 在STEP写入前,对所有
entity_instance执行全局ID重映射,采用sha256(几何体哈希+时间戳+随机盐)生成唯一ID; - 对
geometric_tolerance实体,强制添加tolerance_zone_form属性(如cylindrical_tolerance_zone),否则某些CAE软件会忽略公差; - 关键步骤:用NIST的
stpcheck工具做预验证,重点检查shape_representation_with_parameters是否包含必需的parameter_value_assignment。
实操心得:别信厂商宣传的“一键导出STEP”。我们对比过5款商用工具,只有2款通过NIST全部127项AP242测试用例。建议在生产环境部署自动化验证流水线:文本输入→模型生成→stpcheck→Teamcenter导入测试→邮件通知结果。一次完整验证耗时约8.3秒,但能避免90%的下游集成故障。
3.4 与现有CAD生态的无缝集成(企业落地关键)
text-to-cad的价值不在独立运行,而在融入现有工作流。我们给某工程机械厂部署时,客户明确拒绝“另起炉灶”的SaaS平台,要求“像调用一个命令一样使用”。最终方案是:
- SolidWorks插件模式:开发.NET插件,用户右键菜单新增“Text2Model”,输入文本后自动生成新零件并激活;
- Teamcenter接口:通过TC XML API,将生成的STEP文件自动上传至指定项目空间,同步创建Item Revision和Change Request;
- ERP联动:当文本含“材料:Q345B”时,自动查询SAP中的物料主数据,若存在则关联BOM行项目,若不存在则触发物料创建流程。
最值得分享的技巧是版本兼容性兜底。SolidWorks API在2022版和2024版间有17处方法签名变更(如CreateSketchBox参数顺序调整)。我们的做法是:在插件初始化时,读取swApp.GetVersion(),动态加载对应版本的DLL,并用反射机制调用方法。这样一套代码可同时支持SW2018-SW2024,避免客户因升级CAD而停用功能。
4. 工程实践中的典型问题与根因排查表
4.1 “生成的模型缺面/破面”问题的三层定位法
这是用户反馈最多的问题,表面看是几何错误,实则涉及三个层面:
| 层级 | 检查点 | 定位工具 | 典型案例 | 解决方案 |
|---|---|---|---|---|
| 文本层 | 是否含歧义空间描述 | 依存句法可视化工具 | “在圆柱侧面开槽”未指明槽宽方向(轴向/径向) | 增加空间关系确认弹窗:“请指定槽方向:① 沿母线 ② 沿圆周” |
| 算法层 | B-rep重建时容差设置 | OpenCASCADEBRepCheck_Analyzer | 曲面求交容差设为1e-5,导致微小缝隙未缝合 | 动态容差策略:对Φ<10mm特征用1e-6,Φ>100mm用1e-4 |
| STEP层 | manifold_solid_brep实体完整性 | NISTstpcheck -v | face_bound引用不存在的edge_curve | 在STEP写入前执行ShapeFix_Shape::Perform()修复 |
我们曾遇到一个诡异案例:用户输入“Φ50mm球体”,生成模型在Fusion 360中显示正常,但在ANSYS SpaceClaim里报“非流形几何”。根源是OpenCASCADE默认用Geom_BSplineSurface拟合球面,而SpaceClaim要求Geom_SphericalSurface。解决方案是在几何体分类器中增加“理想体素识别”,对球/圆柱/圆锥等二次曲面强制使用精确表示。
4.2 “公差标注丢失”问题的根源与修复
用户常抱怨:“我写了‘孔径公差H7’,但STEP文件里没看到公差信息”。这并非模型缺陷,而是STEP标准的固有特性:公差信息存储在独立的geometric_tolerance实体中,需与几何体通过shape_aspect关联。常见错误包括:
- 关联断裂:
shape_aspect的of_shape字段指向错误的product_definition_shape; - 语义缺失:仅定义
geometric_tolerance但未设置tolerance_zone_form; - 单位错位:公差值以英寸存储,但模型单位为毫米。
我们的修复流程是:
- 用
XDE(eXtended Data Exchange)遍历STEP文件,提取所有geometric_tolerance实体; - 检查其
tolerance_value是否为measure_with_unit类型,且unit字段为si_unit; - 通过
representation_relationship回溯关联的几何体,验证shape_aspect的aspect_type是否为dimensional_size。
独家技巧:在Teamcenter中,可通过
tc://item?uid=xxxURL直接打开STEP文件的XDE视图,比用专用STEP浏览器快3倍。我们把常用检查脚本封装成Teamcenter QuickAction,工程师右键即可执行。
4.3 性能瓶颈突破:从分钟级到秒级的关键改造
早期版本处理“带12个复杂曲面的叶轮”需217秒,客户无法接受。优化后降至8.4秒,核心改造有三:
- 几何缓存预热:对高频特征(如M系列螺纹、GB/T 197标准螺纹)预先生成STEP片段,文本匹配时直接拼接而非实时计算;
- GPU加速B-rep运算:将OpenCASCADE的
BOPAlgo_Builder移植到CUDA,曲面求交速度提升17倍(实测A100 vs Xeon Gold 6348); - STEP流式写入:放弃内存中构建完整STEP树,改为边生成边写入磁盘,内存占用从4.2GB降至380MB。
最关键的突破是特征粒度控制。原方案对“叶轮”整体建模,现改为:先生成轮毂(圆柱体),再生成叶片(NURBS曲面),最后布尔合并。这样即使单个叶片生成失败,轮毂数据仍可复用,避免整机重算。
5. 未来半年值得关注的3个技术拐点
5.1 ISO/CD 10303-244:面向增材制造的STEP新协议
ISO正在制定AP244标准,专为3D打印优化。它新增additive_manufacturing_requirement实体,可直接定义晶格结构(lattice)、支撑策略(support structure)、打印方向(build orientation)。这意味着text-to-cad将不再止步于“生成模型”,而是输出“可直接切片的制造指令”。我们已参与草案评审,关键变化是:文本描述中加入“晶格类型:gyroid,胞元尺寸:2mm,相对密度:35%”将被直接编译为AP244实体,省去Magics等后处理软件的中间环节。
5.2 CAD内核的AI原生化:Onshape与Fusion 360的底层重构
Onshape最近发布的API v232,新增/models/text-to-feature端点,其底层已将Parasolid内核与LLM推理引擎深度耦合。实测表明:输入“沿螺旋线扫掠的矩形截面,螺距12mm,圈数3.5”,响应时间仅1.2秒,且生成的B-rep完全符合Parasolid精度要求。这预示着未来CAD软件将内置text-to-cad能力,无需第三方插件——但代价是厂商锁定(Vendor Lock-in),数据永远留在云端。
5.3 国产CAD的text-to-cad突围路径
中望、浩辰等国产CAD厂商正避开与国际巨头在通用模型上的正面竞争,转向垂直领域。例如中望与某高铁轴承厂合作,训练专用模型理解“SKF 22222 CC/W33轴承座”的行业术语,能直接解析“轴承室公差P6,外圈挡肩高度12.5±0.1mm”等专业表述。这种“行业语料+国产内核”的组合,可能成为text-to-cad在中国制造业落地的最快路径。我们建议:不要盲目追求通用性,先聚焦一个细分场景(如钣金折弯、管路支吊架),用2000条高质量行业语料微调模型,效果远超用百万条通用数据训练。
我在实际项目中发现,text-to-cad最大的价值不是替代工程师,而是把工程师从重复建模中解放出来——他们终于能把时间花在真正需要创造力的地方:比如思考“这个散热结构在-40℃冷凝环境下会不会结冰堵塞”,而不是手动拉伸、旋转、打孔。上周帮一家医疗设备公司生成“钛合金颅骨修复板”,从输入文本到拿到可手术验证的STEP文件只用了11分钟,而传统流程需要结构工程师3天。但我也得坦白:目前它还处理不了“根据CT影像重建的个性化植入体”这种非规则几何,那需要结合医学图像分割的多模态AI。不过,当text-to-cad开始学会阅读GD&T公差框、理解材料热处理曲线、甚至预判五轴加工刀路干涉时,工程设计的范式就真的变了。