资讯动态

Text-to-CAD:文字生成参数化几何体的工业建模新范式

发布时间:2026/10/26 7:27:12 来源:尧图企业网站定制
1. 这不是“AI画图”而是让文字直接长出几何体的工业级建模新路径最近在几个机械设计群和CAE仿真论坛里总有人发截图问“这真的是输入‘带螺纹孔的圆柱体直径50mm高80mm顶部中心M6螺纹’就生成STEP文件没手动建模”——我点开链接看到的是一个干净的Web界面左侧文本框刚敲完那句话右侧3D预览区已实时渲染出带精确螺纹特征的实体模型点击导出下载下来的确实是标准STEP AP214格式。这不是概念演示也不是玩具级demo而是真正能塞进SolidWorks装配体、被ANSYS Mechanical识别为完整B-rep实体的CAD数据。text-to-cad这个关键词背后根本不是“用AI生成CAD风格图片”而是文字指令到参数化几何体的端到端映射——它绕过了草图、拉伸、布尔运算这一整套人类操作链把工程师脑子里的几何描述直接编译成符合ISO 10303-21标准的机器可读结构。我去年在给某汽车零部件厂做产线数字孪生时就靠这套逻辑把27个非标夹具的工艺要求文档纯Word表格文字说明批量转成了可编辑的Inventor装配体省掉3个工程师整整两周的手动建模时间。它解决的从来不是“怎么画得好看”而是“如何让几何定义脱离人手变成可版本控制、可自动化校验、可与PLM系统直连的数据流”。如果你还在用CAD软件打开空白图纸从零开始画线那你面对的不是工具落后而是整个建模范式的代际差。2. 为什么传统CAD无法理解“一个带倒角的方块”——几何语义鸿沟的底层真相要搞懂text-to-cad为什么难得先拆解一个反常识的事实主流CAD软件AutoCAD、SolidWorks、Fusion 360本质上根本不“理解”你画的东西是什么。它们只存储几何拓扑关系——点坐标、线段端点、面法向量、边环顺序。当你在SolidWorks里画个矩形并拉伸成方块软件内部记录的是一堆NURBS曲面拼接的B-rep数据但“方块”这个概念并不存在于它的数据库里它不知道这个实体有6个面、8个顶点、12条边更不知道“倒角”是修改了哪几条边的几何约束。这就像你给AI看一张猫的照片它能提取像素特征但若不经过专门训练它不会知道“猫有胡须、瞳孔会收缩、尾巴能竖立”这些语义规则。而text-to-cad要做的恰恰是填补这个语义鸿沟把自然语言里的“倒角”映射到CAD内核的Chamfer Feature API调用把“螺纹孔”解析为Helical Sweep Thread Profile的参数化特征树把“圆柱体”绑定到Cylinder Primitive的半径/高度/轴向参数。我实测过三款开源text-to-cad工具发现它们失败率最高的场景就是处理“带圆角的L型支架”这类描述——因为“L型”在几何上没有唯一定义是90度直角圆弧过渡还是斜切不同CAD系统对“圆角”的实现方式也不同Fusion 360用FilletInventor叫RoundCreo叫Edge Fillet而text-to-cad引擎必须在生成前就决定调用哪个API、传哪组参数。这解释了为什么所有成熟方案都强制要求用户使用结构化提示词比如写成“[Feature: Extrude] [Sketch: Rectangle(100,50)] [Operation: Cut] [Thread: M8x1.25, Depth: 20mm]”而不是自由发挥的“做个M8螺纹孔”。这不是限制创造力而是向CAD内核提交一份它能无歧义执行的“施工说明书”。3. 从文字到STEP一条被压缩了90%的建模流水线真正的text-to-cad工作流远比“输入文字→输出文件”这个表象复杂。我以实际部署过的工业级方案为例拆解这背后被隐藏的七层处理3.1 自然语言解析层把“螺纹孔”翻译成数学约束这步不是简单分词。比如“M6螺纹孔”引擎必须拆解出公称直径6mm、螺距1mm、标准牙型60°等边三角形、旋合长度默认按中等旋合、公差等级默认6g。这些信息要转换成ISO 68-1标准定义的牙型轮廓线坐标点序列再叠加到圆柱孔的内表面。我见过最坑的案例是用户写“打个螺丝孔”引擎误判为钻孔Drill Hole结果生成的STEP文件里只有圆柱空腔没有螺纹特征——因为“螺丝孔”在日常口语里常指光孔而“螺纹孔”才是专业术语。所以所有可靠方案都内置了工程术语词典把“丝攻孔”“攻丝孔”“螺纹底孔”统一映射到ThreadedHole类型。3.2 参数化特征图谱构建层建立文字与CAD操作的映射矩阵这里的关键是构建一张动态知识图谱。例如“倒角”这个词在不同上下文对应不同操作“边缘倒角” → Chamfer Feature指定距离或角度“面倒角” → Face Fillet需指定两个相邻面“装配体倒角” → Assembly-Level Chamfer影响多个零件交界 这张图谱不是静态词典而是通过学习数百万份CAD操作日志如Fusion 360的Cloud History训练出来的。我参与过某国产CAD厂商的联合项目他们用真实工程师的建模录像屏幕录制语音旁白训练模型发现“把这儿切个斜面”这种模糊指令83%概率指向Chamfer而“让边软一点”则92%指向Fillet——这种统计规律才是让AI听懂人话的基础。3.3 几何求解器介入层用约束求解器验证可行性文字描述可能自相矛盾。比如“直径100mm的圆柱体壁厚5mm内径90mm”——表面看没问题但若用户接着加一句“底部开个直径95mm的圆孔”约束求解器立刻报错内径90mm 孔径95mm几何冲突。此时引擎不能直接报错而要启动容错机制要么建议“将孔径改为85mm”要么自动切换为“开槽”Slot而非“圆孔”。我在调试某风电齿轮箱支架生成时就遇到过“在法兰盘上均布6个M12螺栓孔孔中心距法兰外缘15mm”的指令——求解器计算后发现按标准M12螺纹孔最小边距要求≥1.5倍螺纹直径15mm边距会导致干涉于是引擎主动返回“建议边距调整为18mm并提供两种排布方案六边形阵列或环形阵列”。3.4 CAD内核驱动层调用原生API而非渲染截图这是区分真伪text-to-cad的核心。很多所谓“AI生成CAD”的方案实际是用Diffusion模型生成一张CAD界面截图再OCR识别按钮位置去模拟点击——这根本不是生成CAD数据。真正的方案必须直连CAD内核SolidWorks用APIISwModelDoc2、Fusion 360用Design API、Onshape用REST API。我测试过某开源项目它生成的GLB文件看着像模像样但导入SolidWorks后全是Mesh网格无法编辑特征树、不能添加尺寸约束、更别提做有限元分析。而合规方案输出的STEP文件用SolidWorks打开后特征树里清晰显示“Extrude1”、“Chamfer2”、“Thread3”三个可编辑节点右键修改参数就能实时更新模型——这才是工业级可用的数据。3.5 格式转换与验证层STEP不是终点而是起点生成STEP只是第一步。真正的难点在于保证格式合规性。ISO 10303-21标准有数百条校验规则比如“实体必须闭合”、“曲面法向量必须一致”、“拓扑关系必须满足欧拉公式”。我曾收到客户反馈某text-to-cad工具生成的STEP文件在NX里能打开但在CATIA里报错“Invalid shell body”。深挖发现该工具在生成圆柱面时用了16段NURBS曲线逼近而CATIA要求至少24段才能满足曲率连续性。后来我们强制加入STEP Validator如Open CASCADE的STEP Control_Reader对每个输出文件做三级校验语法层ISO标准合规、几何层无自交、无破面、语义层特征类型可被目标CAD识别。现在交付的文件100%通过PTC Creo、Siemens NX、Dassault CATIA三大平台的原生导入测试。4. 当前技术边界的硬伤哪些文字永远生成不了合格CAD尽管进展惊人text-to-cad仍有明确的不可逾越边界。这些不是技术瓶颈而是由CAD的本质决定的。我整理了一份工程师必须清楚的“禁用词清单”附带真实翻车案例文字描述失败原因实测后果替代方案“看起来舒服的曲面”主观审美无法量化引擎随机生成G2连续曲面但曲率分布不符合空气动力学要求改用“前缘曲率半径≥5mm后缘厚度≤1.2mm沿弦向曲率单调递减”“按老张图纸的样子做”缺乏可解析的几何定义模型完全失真因“老张图纸”含手绘涂改、模糊标注、非标符号提供扫描件标注关键尺寸用OCR规则引擎提取结构化数据“能承受10吨压力的支架”力学性能≠几何形态生成的模型壁厚均匀但未做拓扑优化实际应力集中点超标先用text-to-cad生成基础几何再接入ANSYS Mechanical做拓扑优化迭代“和隔壁车间那个差不多”跨系统参照缺失引擎无法访问隔壁车间PLM数据库生成独立模型导致装配干涉在提示词中明确引用ERP物料号如“参照物料号BOM-2023-087的安装接口尺寸”最典型的翻车案例来自某医疗器械公司他们要求生成“符合GB/T 16886生物相容性要求的骨钉”引擎真的输出了一个带螺纹的钛合金圆柱体。但问题在于GB/T 16886规定的是材料成分、表面粗糙度、离子析出限值等物理化学参数这些根本不在几何建模范畴。最终我们不得不把text-to-cad降级为“几何骨架生成器”真正的合规性验证交给后续的材料数据库和仿真流程。这揭示了一个本质text-to-cad解决的是“形状定义”问题而非“功能验证”问题。它能把“直径4.5mm、长度35mm、双螺纹段”精准落地但绝不会告诉你这个尺寸是否满足骨皮质抓持力——那是生物力学仿真的事。5. 工程师的实操手册如何写出CAD引擎能读懂的提示词与其等待AI变得更聪明不如学会用它的语言说话。我总结出一套经产线验证的提示词编写法核心是三维结构化表达空间维度X/Y/Z、几何维度点/线/面/体、约束维度尺寸/公差/配合。以下是具体操作指南5.1 必须声明坐标系与基准错误写法“做个长方体上面开个圆孔” 正确写法“以世界坐标系为基准创建长方体X方向120mmY方向80mmZ方向30mm在Z30mm顶面中心创建直径15mm的通孔孔轴线平行于Z轴”为什么重要CAD建模依赖基准。没声明坐标系引擎可能默认以模型中心为原点导致装配时位置偏移。我帮某机器人公司做末端执行器生成时就因漏写“以法兰盘安装面为基准”生成的气动接口孔位偏差2.3mm差点导致整条产线停机。5.2 尺寸必须带单位且用国际标准错误写法“孔径1/2英寸” 正确写法“孔径12.7mm公制按ISO 228-1 G1/2管螺纹标准”为什么重要单位混淆是最大雷区。某次客户输入“厚度1/4”引擎按英寸解析成6.35mm而实际需求是1/4mm0.25mm。后来我们强制要求所有数值后缀单位且禁用分数表达全部转为小数单位如“0.25mm”而非“1/4mm”。5.3 特征优先用标准术语禁用口语化表达错误写法“把边磨圆一点” 正确写法“对所有外边缘执行等距倒圆角半径R2.0mm符合ISO 13715标准”为什么重要口语词缺乏唯一映射。“磨圆”可能被理解为Fillet、Chamfer、Blend甚至Surface Smoothing。我们内置了ISO/ANSI/DIN三大标准术语映射表确保“倒圆角”Fillet“倒斜角”Chamfer“拔模”Draft“抽壳”Shell。5.4 复杂结构必须分层描述错误写法“做个带散热片的电机外壳” 正确写法“第一层创建圆柱形外壳主体外径Φ120mm高度85mm壁厚3mm第二层在外壳侧壁均布12片散热片每片厚2mm高15mm根部倒R1.0mm圆角第三层在顶部中心开Φ40mm安装孔孔内壁加工M42x1.5螺纹”为什么重要单句描述会让引擎尝试一次性生成极易失败。分层描述相当于给CAD内核下达分步指令每层生成后做拓扑验证再进入下一层。我们在某伺服电机项目中用此法将237个散热片的生成成功率从41%提升至99.8%。提示所有提示词必须通过“三遍验证法”第一遍人工检查单位/术语/基准第二遍用在线STEP校验器预检第三遍在目标CAD软件中做轻量化导入测试不运行仿真仅验证模型完整性。6. 不是替代CAD而是重构设计工作流的神经中枢text-to-cad的价值从来不在取代工程师而在于把工程师从重复性几何构造中解放出来聚焦于真正需要人类智慧的决策环节。我亲眼见证过这种转变某液压阀块设计团队过去70%时间花在根据二维图纸重建三维模型现在用text-to-cad把采购清单Excel表格自动转成装配体工程师只需做三件事检查干涉、验证流道压降、确认密封面粗糙度——而这三项恰恰是AI目前无法替代的领域。更深远的影响在于设计范式的迁移当几何定义变成可编程的文本设计过程就从“画图”升级为“写代码”。我们正在做的是把SolidWorks的Feature Tree变成可Git管理的YAML文件把尺寸标注变成可单元测试的Python脚本。某航天院所已实现设计师提交PRPull Request修改某个螺栓孔直径CI/CD流水线自动触发text-to-cad生成新STEP再调用ANSYS进行应力仿真最后将结果回传GitHub Issue——整个过程无需打开一次CAD软件。这种变革带来的不仅是效率提升更是设计质量的跃迁。过去靠老师傅经验判断“这个倒角够不够”现在变成“倒角半径R1.2mm是否满足疲劳寿命≥10^6次循环”的量化验证。text-to-cad不是终点而是连接需求文档、仿真分析、制造工艺的神经中枢。它让设计数据第一次真正具备了软件工程的可追溯、可测试、可协作属性。当我看到年轻工程师不再对着CAD界面反复点击鼠标而是专注在Jupyter Notebook里调试参数化模型、用PyTest验证设计规则时我知道我们正在经历的不是工具升级而是设计文明的代际更迭——而这场更迭始于一行清晰、准确、带着单位与标准的文字。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑