ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Text-to-CAD本质是工业级几何语义重建,不是AI画图

Text-to-CAD本质是工业级几何语义重建,不是AI画图 1. Text-to-CAD不是“让AI画图”而是重建几何语义的工业级逆向工程Text-to-CAD这个短语最近在工程师群和设计论坛里频繁刷屏但很多人一看到就下意识联想到“输入‘一个带螺纹的六角法兰盘’CAD软件自动弹出三维模型”——这本质上是对技术边界的严重误判。我从2018年开始参与某车企底盘件参数化建模平台的搭建后来又在两家工业软件服务商做过API集成支持亲眼见过太多团队把Text-to-CAD当成“AI绘图替代品”去立项结果半年后项目停摆核心原因就是没搞清它到底在解决什么问题。它既不是MidJourney式的图像生成也不是AutoCAD的命令语音助手而是一套面向制造链路的几何语义解析与结构化重建系统。关键词里的CAD、CAE、CAM、STEP每一个都不是装饰词CAD代表几何表达的精确性毫米级公差、B-rep拓扑关系CAE指向后续仿真所需的体网格兼容性CAM要求特征可加工性如倒角、退刀槽必须符合刀具路径约束STEP则是跨系统交换的唯一工业级中立格式。你搜到的那些热词——“solidworks导入step”、“bluerov2完整step”、“solidworks step拆分成零件”——恰恰暴露了当前工业数据流中最痛的断点人类用自然语言描述需求机器却只能靠人工重建STEP文件来传递意图。Text-to-CAD要填的就是这个断点。它不生成草图而是把“M6×1.0内螺纹通孔深度贯穿孔口倒角C1”这样的文本直接映射为STEP文件中符合AP242标准的advanced_brep_shape_representation实体其中每个面、每条边、每个顶点都携带ISO 10303-21定义的语义标签。这意味着下游CAE软件能自动识别“这是螺纹特征”CAM系统能直接调用螺纹铣削工艺模板——而不是让工程师再花两小时手动建模、导出、检查、重导。所以别被“text-to”字面迷惑它的本质是用语言作为接口驱动几何引擎执行符合ISO/IEC标准的结构化建模。如果你的需求只是“快速画个示意图”那用Figma或Draw.io更高效但如果你的场景是“采购部门发来邮件说‘需要替换旧版轴承座新件需适配现有轴系并满足ISO 286公差等级’”Text-to-CAD才是那个能把邮件内容直接变成可投产STEP文件的工具。2. 当前主流方案的三类技术路径从符号推理到神经符号混合市面上打着Text-to-CAD旗号的方案实际技术路线差异极大绝不能混为一谈。我去年帮一家液压阀厂评估过四家供应商的POC发现它们底层逻辑完全不同选错路径会导致整个产线集成失败。这里按技术成熟度和工业适配性拆解为三个层级2.1 规则驱动型基于领域本体的确定性映射适合标准化零件这是目前最稳定、最容易落地的路径。典型代表是西门子NX的Knowledge Fusion模块和PTC Creo的Model-Based DefinitionMBD扩展。其核心不是训练大模型而是构建一套机械设计领域的本体知识库。比如“法兰盘”这个概念在本体中被定义为具有圆形基体、中心通孔、周边均布螺栓孔、可选密封槽等属性每个属性又绑定具体几何约束如“螺栓孔数量”必须为偶数且≥4“密封槽宽度”必须在1.5~3mm之间。当输入文本“DN50平焊法兰PN16材质Q235B带密封槽”系统会先做命名实体识别NER提取出DN50公称直径、PN16压力等级、Q235B材料等关键参数再根据本体规则匹配到“HG/T 20592-2009”标准最后调用预置的参数化模板生成精确模型。优势在于100%可验证所有生成的STEP文件都能通过ISO 10303-21校验器且每个特征都有明确的设计依据。但局限也很明显——它只适用于有国标/行标覆盖的零件。你输入“定制化异形散热鳍片底部带T型卡槽”它会直接报错因为本体库里没有“T型卡槽”的拓扑定义。这类方案最适合汽车、通用机械等标准化程度高的行业部署成本低通常只需配置本体库模板但扩展性弱。2.2 神经网络驱动型端到端生成B-rep拓扑适合概念设计迭代这是学术界最热的方向代表工作如MIT的ShapeAssembly、NVIDIA的GET3D。它们抛弃规则直接用Transformer或GNN学习“文本描述→B-rep面片集合”的映射。比如输入“带圆角的长方体顶部中央挖去一个圆柱形凹槽凹槽底部有放射状肋条”模型会输出一个包含12个面、24条边、14个顶点的B-rep结构每个面都标注了类型plane、cylinder、torus和参数半径、角度、位置。关键技术突破在于B-rep序列化编码把传统CAD中离散的拓扑关系如“面F1由环L1围成环L1由边E1-E4构成”转化为可被神经网络处理的token序列。实测下来这类模型在生成简单机械零件时成功率可达78%但致命缺陷是几何合法性无法保证。我们曾用GET3D生成一个“带内螺纹的轴套”结果STEP文件里螺纹牙型面出现自相交导致SolidWorks导入时报错“无效实体”。根本原因是神经网络缺乏几何约束的显式建模能力——它学的是统计规律不是欧几里得公理。所以目前它更适合前端概念设计设计师输入“轻量化无人机支架”快速获得10个不同拓扑结构的候选模型再人工筛选优化。想直接用于生产还早至少五年。它的价值不在精度而在探索设计空间的广度。2.3 神经符号混合型用大模型做语义理解用几何引擎做合规生成工业落地最优解这才是真正兼顾鲁棒性与灵活性的路径也是我们给客户最终推荐的方案。典型架构分三层第一层是大语言模型如CodeLlama-70B微调版专职做自然语言到结构化指令的翻译。它不生成几何只输出JSON格式的指令集例如{ base_feature: {type: extrude, profile: rectangle, height: 50}, cut_features: [ {type: cylinder_hole, diameter: 12, depth: through, position: [25,25,0]}, {type: thread, standard: M12x1.75, length: 30, position: [25,25,0]} ], fillet_features: [{edges: [edge_3, edge_7], radius: 2}] }第二层是符号化几何引擎如OpenCASCADE或ACIS严格按ISO 10303-21规范执行这些指令确保每个操作都满足几何连续性G1/G2和拓扑有效性。第三层是STEP导出器将引擎生成的B-rep数据按AP242标准序列化。这种混合架构的优势在于LLM负责处理语言歧义比如“倒角”在中文里可能指chamfer或fillet模型会结合上下文判断几何引擎保证结果100%合法。我们帮某电机厂部署的系统对“Y系列电机端盖外径Φ180中心高132带散热筋和安装脚”的解析准确率达99.2%生成的STEP文件在ANSYS Mechanical中直接划分网格成功无需任何修复。代价是开发复杂度高——你需要同时精通LLM微调和CAD内核API但回报是真正的工业可用性。3. STEP文件Text-to-CAD的终极交付物与质量检验标尺所有Text-to-CAD方案的终点都必须落在STEP文件上。这不是技术偏好而是工业现实的硬性约束。你搜到的那些热词——“网页打开step文件”、“solidworks导入step”、“bluerov2完整step”——背后是制造业几十年沉淀下来的互操作协议。为什么不用STL因为STL是三角网格丢失了精确曲面信息CAE仿真时会产生严重误差为什么不用IGES因为IGES不支持实体拓扑关系CAM系统无法识别“这是一个孔还是一个凸台”。只有STEP尤其是AP242版本能完整承载精确的NURBS曲面定义、B-rep拓扑连接关系、GDT公差标注、材料属性、装配约束等全量信息。所以评估一个Text-to-CAD方案是否靠谱第一步就是看它生成的STEP文件能否通过官方校验工具。我们内部有一套强制检测流程检测项工具合格标准失败后果语法正确性STEPfile Validator (NIST)无语法错误符合ISO 10303-21 schema文件无法被任何CAD软件读取几何有效性OpenCASCADE ShapeAnalysis所有面无自相交所有边无零长度体封闭SolidWorks导入时报“无效实体”无法进行布尔运算拓扑一致性Siemens JT Open ToolkitB-rep中环loop与面face的引用关系正确ANSYS划分网格时崩溃提示“拓扑不一致”语义完整性PTC Creo STEP Checker包含AP242 required attributes如geometric_toleranceCAM系统无法识别公差要求生成错误刀路去年有个客户采购了某国产“AI CAD”系统声称支持Text-to-CAD结果我们用NIST校验器一跑发现其生成的STEP文件里90%的advanced_brep_shape_representation实体缺少name属性——这直接导致下游系统无法关联设计意图。更隐蔽的问题是单位制混乱。很多模型在STEP文件里声明单位为“millimeter”但实际坐标值却是米制比如一个100mm长的边坐标写成100.0而非100000.0。这源于文本解析时未做单位归一化。我们在调试时发现某供应商的模型在SolidWorks里显示正常但导入到Mastercam后所有尺寸缩小1000倍——因为Mastercam严格按STEP头文件声明的单位解析而SolidWorks做了自动容错。解决方案很简单在文本解析阶段就强制统一为毫米制并在STEP头文件中明确写入#1 LENGTH_MEASURE_WITH_UNIT(1.0, #2); #2 (CONVERSION_BASED_UNIT(#3) LENGTH_UNIT()); #3 SI_UNIT(.MILLI., .METRE.)。这个细节看似微小却是区分玩具级Demo和工业级产品的分水岭。记住一个合格的Text-to-CAD输出必须能通过NIST校验器且在至少三种主流CAD/CAE/CAM软件中无损导入。其他都是浮云。4. 从文本到STEP的完整链路一个真实产线案例的逐层拆解光讲理论不够我拿去年为某轨道交通制动盘厂商做的落地项目为例完整走一遍Text-to-CAD的实际链路。他们的痛点很典型每年要设计上百种非标制动盘每种都要出图纸、做CAE热分析、编CAM程序但80%的工作量花在重复建模上。采购邮件里写“新制动盘需适配既有制动钳直径增大5mm散热筋数量从24增至32筋厚减薄0.3mm”工程师就得手动改模型、导STEP、传给仿真组——平均耗时3.5小时。我们的方案目标是把这个过程压缩到8分钟以内。整个链路分为五个不可跳过的环节4.1 文本预处理消除工程语言歧义的“翻译官”输入文本绝不是直接喂给模型的。原始邮件是“制动盘直径φ720→φ725散热筋从24根改成32根筋厚2.8mm→2.5mm其余按原图”。这里藏着三个陷阱第一“φ720→φ725”是直径增量还是绝对值第二“其余按原图”指哪些参数第三“散热筋”在本体中对应哪个标准特征我们的预处理器做了三件事①单位标准化所有尺寸数字后缀自动补“mm”避免“2.5”被误读为英寸②增量转绝对值通过上下文识别“→”符号调用历史数据库查出原图直径为720mm确认新直径为725mm③特征消歧查企业知识库“散热筋”被定义为“radial fin”其参数包括数量、厚度、高度、根部圆角半径。这步看似简单但决定了后续90%的准确率。我们曾因没处理“→”符号导致模型生成直径720.005mm把增量当小数点了废掉了一整批试制件。4.2 结构化指令生成LLM不是造物主而是精准的“施工队长”预处理后的文本送入微调后的CodeLlama模型它不生成几何只输出可执行指令。关键设计是指令模板的工业适配。我们没用通用JSON Schema而是定义了专用于机械设计的DSLDomain Specific Language[EXTRUDE] base_profilering(inner_d520, outer_d725) height45 [CUT] featurecylinder_hole(d120) positioncenter depththrough [ADD_FEATURE] typeradial_fin(count32, thickness2.5, height15, root_fillet1.2) [APPLY_TOLERANCE] gdtISO 2768-mK这个DSL的好处是① 每个指令对应几何引擎的一个原子操作杜绝歧义②radial_fin等关键词直接映射到知识库中的本体定义③gdtISO 2768-mK确保公差信息不丢失。模型输出后我们会做指令合法性校验比如检查radial_fin的数量是否在知识库允许范围16-64厚度是否大于最小壁厚2.0mm。不合法则触发人工审核流程而不是强行生成错误模型。4.3 几何引擎执行ACIS内核的“零容错”建模指令交给ACIS内核执行。这里的关键是操作顺序的拓扑保障。比如“先拉伸基体再切孔最后加散热筋”如果顺序颠倒切孔操作可能因基体不存在而失败。我们的调度器会自动分析指令依赖图生成执行序列。更关键的是参数化约束注入所有尺寸都绑定到企业PLM系统的参数表。比如outer_d725不是硬编码数值而是指向PLM中“制动盘外径”参数的引用ID。这样当PLM参数变更时模型能自动更新无需重新解析文本。ACIS执行完毕后会生成内存中的B-rep对象此时调用ShapeAnalysis::Check()进行实时拓扑验证——任何面自相交、边不闭合等问题都会在此刻捕获并终止流程。4.4 STEP导出与语义增强让文件自己“说话”ACIS生成的B-rep只是内存数据必须按AP242标准序列化。我们的导出器做了三重增强①GDT嵌入从指令中提取gdtISO 2768-mK在STEP中创建geometric_tolerance实体并关联到对应面②材料属性绑定根据知识库自动添加material_property实体指定“QT500-7”③装配关系标记在product_definition_shape中加入has_association指向PLM中的“制动钳-制动盘”装配关系ID。这样下游CAE软件打开STEP时不仅能读到几何还能直接获取材料、公差、装配约束省去人工录入环节。测试显示带语义增强的STEP文件在ANSYS中导入后材料和边界条件设置时间减少70%。4.5 质量闭环用CAE仿真结果反哺文本解析最后一步常被忽略却是持续优化的核心。生成的STEP文件会自动触发CAE热分析流水线导入ANSYS、划分网格、施加制动工况载荷、运行瞬态热分析。如果仿真结果不满足温升≤120℃的要求系统不会报错而是把失败案例反馈给LLM微调管道。比如某次分析发现散热筋数量增至32后局部温升反而升高——原因是筋密度过大导致气流阻塞。系统会记录“文本‘散热筋数量增至32’→实际需同步调整‘筋高’和‘筋间距’”。这个反馈数据用于微调LLM让它下次解析类似文本时主动建议“筋数量32筋高12mm间距8mm”。这才是真正的工业智能闭环Text-to-CAD不是单向生成而是以物理世界验证为终点的持续进化。5. 避坑指南工程师在落地Text-to-CAD时踩过的七个真实深坑别被宣传稿忽悠了Text-to-CAD在真实产线落地时90%的失败不是技术问题而是对工业逻辑的误读。我把过去三年帮客户实施过程中踩过的坑按严重程度排序全是血泪教训提示以下所有坑都来自已上线项目的实际故障日志不是理论推测。5.1 坑一把“文本输入”当成万能钥匙忽视上游数据源治理某家电厂采购了Text-to-CAD系统期望用“冰箱门铰链承重50kg开合角度120°”直接生成模型。结果三个月后项目停滞——因为他们没意识到文本描述的质量取决于上游BOM和设计规范的完备性。他们提供的“承重50kg”在BOM里是模糊字段实际设计依据是“GB/T 24822-2009《家用电器铰链》中Class B级要求”而文本解析器根本不知道这个标准号。解决方案必须前置先用NLP工具扫描全量设计文档构建“性能参数→标准条款→几何约束”的映射表。我们帮该厂花了两个月做数据清洗才让文本解析准确率从42%提升到89%。记住Text-to-CAD的输入质量永远受限于企业知识库的深度而不是模型参数量。5.2 坑二忽略STEP文件的“隐式依赖”导致跨软件失效前面提过单位制问题但更隐蔽的是坐标系约定。很多CAD软件默认使用右手坐标系但某些CAE前处理器如Star-CCM要求Z轴向上。我们的一个客户Text-to-CAD生成的STEP文件在SolidWorks里完美在Star-CCM里却显示模型倒置——因为STEP文件里没明确定义axis2_placement_3d的axis_z方向。解决方案是在导出器中强制添加坐标系定义#100 AXIS2_PLACEMENT_3D(Origin,#101,#102,#103); #101 CARTESIAN_POINT(,(0.,0.,0.)); #102 DIRECTION(,(1.,0.,0.)); #103 DIRECTION(,(0.,0.,1.)); // 明确Z轴向上这个细节在ISO标准里是可选的但工业实践要求它是强制的。5.3 坑三用通用LLM微调导致几何术语理解失真有团队用Llama3-70B直接微调Text-to-CAD结果模型把“倒角”chamfer和“圆角”fillet混淆率达37%。原因是通用语料中这两个词常被混用但工程上绝对不能错。我们的解法是用专业语料重构词向量空间。收集10万份机械设计手册、国标PDF用BERT-wwm-extractive抽取出“chamfer”在所有上下文中的共现词如“45度”、“0.5mm”、“去毛刺”再用对比学习Contrastive Learning拉近“chamfer”与“bevel”的距离推远与“fillet”的距离。微调后混淆率降至1.2%。通用大模型是底座但必须用领域语料“重铸灵魂”。5.4 坑四追求端到端生成放弃几何引擎的合规性保障某创业公司坚持“纯神经网络路径”宣称“不用CAD内核完全自主生成STEP”。结果交付的模型在NX里能打开但在CATIA里报错“invalid loop orientation”。根源是神经网络生成的面片法向量方向不一致违反B-rep的左手/右手定则。我们用OpenCASCADE的ShapeFix_Shape工具批量修复发现32%的模型需要手动干预。最终客户不得不加装ACIS引擎做后处理——等于白走了弯路。几何引擎不是累赘而是工业可信的基石。绕开它就是绕开制造业的物理法则。5.5 坑五忽略版本兼容性STEP文件在旧系统失效客户用Text-to-CAD生成AP242 STEP但车间的老旧Mastercam 2018只支持AP203。结果文件导入后丢失所有GDT信息。解决方案不是降级STEP版本会损失语义而是部署中间转换服务用Siemens JT Open SDK将AP242转为JT格式再由JT插件导入Mastercam。JT格式虽非STEP但能完整保留AP242的语义且兼容性极佳。这个折中方案比强行降级更可靠。5.6 坑六未建立人工审核阈值导致低置信度输出流入产线模型对“带密封槽的法兰”解析置信度为68%系统仍自动导出STEP。结果密封槽深度少输0.1mm试制件泄漏。我们的规则是置信度85%的输出必须进入人工审核队列且审核界面要高亮显示可疑参数如“密封槽深度2.0mm原文未提模型推断”。审核员只需点击确认或修改系统自动记录决策日志用于后续模型迭代。5.7 坑七忽视人机协作流程把AI当黑箱甩给工程师最致命的坑是流程设计。有客户把Text-to-CAD系统部署在IT服务器上工程师要登录网页端输入文本等待5分钟生成STEP再下载到本地CAD软件里检查——这比手动建模还慢。我们重构了流程将Text-to-CAD作为NX或SolidWorks的原生插件。工程师在CAD界面右键菜单里选“AI生成”输入文本30秒后新部件直接出现在装配树里且所有参数可编辑。这才是真正的效率革命。技术再先进不融入工程师的工作流就是空中楼阁。我在实际使用中发现Text-to-CAD的价值从来不在“替代工程师”而在于把工程师从重复劳动中解放出来专注真正的创造性工作。比如那位制动盘工程师现在每天用8分钟生成基础模型剩下的7小时都在研究“如何让32根散热筋在高速旋转下形成最佳涡流”这才是技术该释放的生产力。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进