首页 / 资讯中心 / 文章详情

text-to-cad如何落地:从自然语言到参数化实体的AI建模全解析

text-to-cad如何落地:从自然语言到参数化实体的AI建模全解析 ★ FEATURED ARTICLE
前阵子有工程师在群里问我text-to-cad到底能不能正经用。他的原话是公司想用AI直接生成三维模型试了几个工具出来的东西要么像雕塑、要么像玩具落不了地。这个问题我太熟了。过去一年我陆陆续续把市面上能碰到的text-to-cad工具都折腾过一遍从最早只能生成网格小摆件到现在能直接输出带参数特征的STEP文件变化确实大但真正能塞进设计流程里的用法跟大多数人想象的不太一样。先说结论text-to-cad不是用来替代CAD建模的它是用来压缩从想法到第一个可讨论模型这段时间的。传统流程里你拿到需求、画草图、定尺寸、建特征树快则半小时慢则半天。有了text-to-cad一分钟内可以出一个具备基本拓扑关系的实体模型虽然细节和精度不能直接投产但足够用来评审方案、跟客户对齐、给仿真做初版几何。这篇文章就围绕这个定位展开它背后怎么实现的、哪些工具值得试、提示词怎么写、生成结果怎么验证和修复以及最后怎么把它嵌进真实的日常工作流。1. 当说话就能建模从演示demo变成日常备选工具1.1 我为什么开始认真对待这个方向两年前我第一次看到text-to-cad的demo时心里是打问号的。当时这类工具生成的模型本质上跟游戏里那种text-to-3D差不多输出一堆三角面片圆不圆方不方别说加工连放进装配体做干涉检查都会把人逼疯。转折点出现在Zoo原KittyCAD开放Text-to-CAD API之后。它输出的不是网格而是真正的B-rep实体模型可以直接转成STEP、IGES能被SolidWorks、Fusion、FreeCAD这些主流工具打开。这个差别是本质性的网格是长得像B-rep是从数学上定义了边界后续能倒圆角、能抽壳、能参与布尔运算这才是CAD的底层语言。另一个促使我认真对待的原因是生成速度。传统建模中大量时间其实花在画一个大概能讨论的形状上而不是花在真正困难的设计决策上。text-to-cad把这段前置时间压缩到几乎为零让我能更快地把脑子的想法变成可视化的东西然后开始真正有价值的工作——判断这个方案行不行、哪里需要改。1.2 目前这个赛道里真正值得关注的方向现在市面上的方案大致分三类。第一类是独立API和在线工具代表是Zoo的Text-to-CAD。它的特点是语言理解能力强输入一句自然语言描述能返回一个可编辑的参数化模型。OpenAI收购Zoo后这块的基础模型能力还在持续迭代后续大概率会和ChatGPT生态深度绑定。第二类是传统CAD巨头在自家软件里做的嵌入式AI生成。Autodesk在Fusion里陆续放了AI辅助相关的功能包括生成式设计和更偏用自然语言驱动建模的探索。这类工具的优势是和原生环境无缝衔接缺点是能力通常比较保守作用范围限于自家产品。第三类是开源和半开源项目比如有研究团队在做基于OpenCascade的文本生成CAD链路也有一些基于CadQuery、build123d这类程序化建模库的尝试。这类方案灵活可以自己改pipeline但对使用者的工程能力要求高适合做研究或内部定制。段落里顺便说一句如果你在网上搜索text-to-cad会看到很多打着这个旗号但只输出OBJ/GLB网格的AI建模工具。它们适合做渲染图、游戏资产、3D打印摆件但不适合做机械设计。选型之前先问清楚一个问题——输出格式是不是STEP如果不是那就不是传统意义上的CAD。2. 一条从自然语言到参数化实体的完整链路2.1 网格模型和CAD模型之间的本质区别在展开技术链路之前必须把这两个概念掰开揉碎讲清楚。网格模型Mesh是用成千上万个三角形或四边形面片去逼近一个曲面文件里存的是一堆顶点坐标和面的连接关系。它的优点是表达能力强什么形状都能拼出来缺点是缺乏拓扑和精确语义一根圆柱在网格里就是一圈三角形没有这是圆柱、直径5毫米、轴线在这这样的信息。CAD模型B-rep边界表示则完全不同。它存储的是精确的几何元素——平面、圆柱面、NURBS曲面——以及它们之间的拓扑关系哪条边连着哪个面哪个面构成哪个环。更重要的是CAD模型背后通常还有特征树记录先拉伸了一块板然后打了个孔再倒了个圆角。这个特征树才是传统CAD软件可编辑性的来源。游戏里一个高精度角色模型是网格没问题但一个需要数控加工的支架必须是B-rep因为机床需要的是精确的几何定义不是一堆三角片。2.2 从文本到约束求解生成链路里的关键环节我在查阅相关技术资料和逆向分析几个工具的行为后把主流text-to-cad的pipeline尽量还原成了下面这样虽然各家实现细节不同但大致骨架是通用的。第一步自然语言理解。大语言模型把输入指令解析成结构化的设计意图。这一步远不是分词提取关键词那么机械它需要理解尺寸单位是毫米还是英寸、理解四个均布的孔隐含的阵列逻辑、理解带翻边的钣金件背后的工艺含义。第二步几何生成。模型基于设计意图生成三维几何。不同工具的差异在这里拉开一些走的是先产生体素占用场或隐式距离场再提取等值面另一些直接回归几何图元参数。生成结果通常还要过一遍平滑和拓扑修正把非流形边、自由边、悬空面这类脏数据清理掉。第三步B-rep转换与特征拟合。这是最关键的一步。把生成出的原始几何转成B-rep后很多工具会尝试反解特征——找到哪块是拉伸体、哪块是孔、哪块是倒角重构出一棵特征树。Zoo的文本生成之所以体验好很大程度是因为这步做得到位。第四步约束求解和参数化。如果工具支持还会把特征参数化让你在生成的模型上调直径、改间距而不是只能接受一个死模型。2.3 为什么直接生成B-rep这么难很多人不理解AI都能生成自然图像了生成个CAD模型为什么这么费劲核心原因在于CAD模型的精确性要求是图像领域完全不具备的。图像里差几个像素没人看得出来CAD模型里球面的圆心偏了0.1毫米轴孔配合就废了。另外B-rep天然是高度结构化的离散对象。你可以把一张图看成连续像素场但一个长方体加一个圆柱孔的模型在几何层面表现为面与面的精确交线、边与边的共享关系。让神经网络直接去输出这种结构化拓扑远比输出连续像素困难。这也是为什么许多方案要先走网格/体素中介再费力爬回B-rep。理解这条链路的意义在于你能预测text-to-cad的失败模式。凡是它生成得不好的地方往往就断在语言理解到几何映射或几何到特征反解这两个环节。有了这个预期后期检查和修复就有方向。3. 主流text-to-cad工具的实测边界3.1 测试方法和基准描述为了不凭印象说话我给自己定了一套简单的测试方法。每个工具用同一组8条指令去测覆盖不同难度从一个带四个螺栓过孔的矩形安装板孔径6mm孔间距40mm板厚3mm这种明确尺寸的到一个符合人手握持曲线的人体工学把手造型这种偏自由曲面的再到一个用于管道连接的带法兰三通接头法兰上有8个均布螺栓孔这种多特征组合件。每条指令分别测三次记录三样东西输出格式、几何正确性、特征可编辑性。几何正确性我按尺寸是否大致符合拓扑是否合理有无明显破面三个维度打分。特征可编辑性则看输出的STEP导入SolidWorks后特征树是否可用、能否参数化改尺寸。3.2 不同工具的表现差异实测最稳的是基于Zoo底层模型的在线工具。对于带明确尺寸和常见机械特征的指令它基本能一次给出正确拓扑。上面那条安装板指令输出的模型开口方向、孔径、孔距都能对上导入SolidWorks后虽然特征树被简化了但主体是一个可编辑的拉伸特征改板厚很方便。Autodesk Fus内的生成式设计模块和AI辅助流程更偏在已有设计空间里优化结构不太适合从零用文字生成零件但如果你给它一个设计空间和载荷条件它能给出非常工程化的拓扑优化结果。这跟text-to-cad其实是互补关系。开源的CadQuery变体方案我试过一个效果跟提示词解析质量强相关。描述规范时它表现不错因为它本质上是用LLM帮你写CadQuery代码只要代码语法正确模型就必然正确。但它的问题也在于此——LLM写代码偶尔会写出不存在的API调用而且模型一旦复杂代码维护成本开始迅速抬升。3.3 实测中反复出现的失败模式几条规律可以分享。第一个高频失败是语义正确但尺寸错误。模型看懂了这个零件是什么但把孔距、厚度这类定量信息处理错了。比如孔间距40mm实际生成的是45mm。这说明语言模型对精确数值的编码仍然不可靠生成结果必须经过尺寸核查。第二个高频失败是特征冲突。比如同时要求板厚3mm和沉头孔深度3mm工具生成时可能让沉头孔完全穿透了板。这类问题本质是几何求解器没有正确处理特征间的依赖约束。第三个失败是自由曲面造型普遍偏弱。像人体工学把手这种没有明确几何参数的造型生成结果显示了对好看的把握时好时坏有的能用有的形似而神不似。这跟文本描述的信息量太低有关也给后面的提示词技巧埋下了伏笔。4. 提示词才是真正的设计输入写text-to-cad提示词的实战要领4.1 从描述形状到描述意图我踩过的第一个坑是把text-to-cad当成跟AI画图一样用上来就写一把好看的结构支架。这种指令对图像生成没问题对CAD生成就是灾难因为好看不是工程语义。后来我总结出一个原则CAD提示词要描述这个东西是什么、由哪些特征构成、满足什么功能约束而不是描述它看起来怎么样。同样是想生成一个支架糟糕写法一个工业风格的L型支架看起来很有科技感可用写法一个L型支架水平面长80mm、宽60mm垂直面高100mm、宽60mm板厚5mm水平面边缘有2个直径8mm的过孔过孔距边缘10mm垂直面和水平面之间有加强筋加强筋厚度5mm差别在哪里后者给了工具足够的特征语义去构造B-rep拉伸板、打孔、布尔合并。前者只给了模糊的风格形容词模型只能瞎猜。4.2 把复杂件拆成特征组合我用的另一个核心技巧是特征分解。CAD模型本质上是特征的组合体你可以把脑海里的设计意图拆成一组有先后逻辑的操作序列。比如一个带法兰的三通接头在我提示词里会写成主体直径50mm、壁厚5mm的主管长度120mm支管直径40mm、壁厚5mm垂直于主管中段法兰分别在主管两端和支管端部外径80mm、厚度8mm螺栓孔每个法兰上有6个直径7mm的过孔均布在直径65mm的螺栓圆上这种写法背后的逻辑是把复杂问题拆成工具擅长的小问题再通过布尔和阵列把它们组合起来。实测中这种结构化提示词的成功率远高于一整句含糊描述。4.3 迭代式细化的提示词工作流写提示词这件事一次到位基本不可能。我目前的习惯是三轮迭代。第一轮给粗粒度描述只要形状和主要特征对就行。第二轮检查生成结果把尺寸错误、缺失特征写进后续提示词里例如上一步生成的支架缺少加强筋请增加一块厚度4mm的三角形加强筋连接垂直面和水平面。第三轮进入细节修正处理圆角、倒角、公差相关的表达比如所有外边缘加1mm倒角。这轮迭代的核心是接受LLM辅助生成是一个渐进逼近过程而不是一次成型的魔法。把它当工具用配合快速检查效率会非常高。如果生成的模型有一两个特征错误直接改提示词重新生成往往比重建模型快得多。5. 生成的模型要能落地几何验证与修复的几条硬规矩5.1 常见的几何缺陷清单我检查过大量生成模型总结了四个必须重点盯防的缺陷类型。第一非流形几何。简单说就是共享边/共用点的地方出现了奇怪的连接比如两个本来独立的面在一条边上被错误缝合。这类模型导入CAM软件时经常直接报错。第二破面与缝隙。B-rep模型里某个面缺失或边界不闭合肉眼只有放大才看得出来但后续抽壳、偏移、布尔运算都会在破面处崩溃。第三尺寸与约束漂移。生成模型数值上完全正确的情况少见孔位偏0.5毫米、厚度偏0.2毫米都属于常规现象。如果是纯讨论概念这些可以忽略如果要做装配验证必须先整体校正。第四特征树过度平坦化。很多工具输出的STEP只有一个导入特征没有把拉伸、打孔、阵列拆成独立特征。这是最隐蔽的问题——它看起来能用但后续想改孔距只能回到原工具重新生成或者套一个类似编辑特征变通处理。5.2 验证流程怎么搭我目前的验证流程分三步全程不超过十分钟。第一步用专业查看器比如开源的FreeCAD或商业软件的模型检查模块做自动检查布尔运算测试、壳面检测、几何尺寸标注。这一步能把破面和非流形几何筛掉大半。第二步做可编辑性探针。把STEP导入SolidWorks或Fusion尝试修改一个关键尺寸。能改说明模型内部结构是健康的改不了或直接崩溃说明骨架只是装样子。这一步很关键我见过太多导入后能看不能动的模型。第三步面向具体用途做针对性验证。如果是配合装配体就测干涉如果是做仿真就检查网格划分是否顺利如果是给3D打印就补一份切片预览。不同用途的验收标准不同这一步必须有针对性。5.3 修复策略与工具链遇到生成模型有缺陷修复方案按优先级排。最简单的是重生成——改提示词、重新生成很多时候比重建模还快。比如孔位偏了在提示词里把孔间距40mm改成孔间距40mm中心距边缘20mm生成结果大概率能矫正。其次是对模型做参数化重映射。把生成的STEP导入到支持识别特征的工具SolidWorks的FeatureWorks、Fusion的网格转实体流程等让软件自动或半自动地重新识别特征树。虽然成功率受模型复杂度影响但对付典型的板-孔-倒角结构很够用。最费力的方案是直接重建。实在不行就以生成模型为参照物在CAD里快速重建一遍主体特征。注意这不是前功尽弃——生成模型提供了尺寸基准和拓扑参照重建速度远快于从零开始画。6. 把text-to-cad嵌进真实设计流程一个混合工作流的实操建议6.1 概念阶段的效率杠杆在我现在的日常工作中text-to-cad最值得用的场景是早期概念发散。接到一个结构设计需求我会先花五分钟生成三到五个不同的结构方案然后快速评审。这个阶段追求的不是精确而是多样性和可讨论性。举个例子之前给一台设备设计传感器安装支架需求是可调节高度的L型支架底部有腰型槽顶部有传感器安装孔。我让工具生成了四五个变体有的带加强筋有的用双板结构有的用弧形过渡。我拿这些模型跟结构工程师讨论二十分钟就锁定了两个方向。要是按老办法光画这三个方案就得一下午。这里有一个重要的心理转变以前设计师会因为画图成本高而只敢做一两个方案现在可以大方地探索更多可能性。成本结构的改变会直接影响设计决策的质量。6.2 团队协作中的模型管理问题生成模型进入团队协作以后出现了一些新的管理问题这里一并提一下。一是生成来源信息。我在内部规范里要求凡是AI生成的零件必须在命名前缀加AI标记并在自定义属性里记录生成提示词和日期。否则一个月后没人记得这模型是哪来的也就无法判断哪些参数可以信任。二是模型树规范化。生成模型的参数化质量参差不齐如果要进入正式图纸流程建议先人工重建特征树并规范命名把AI特征改造成标准特征。这不是洁癖而是为了让后续维护的人不至于对着一个导入特征1抓狂。三是版本管理。AI生成迭代很快同一个零件可能生成几十个版本。建议只在关键节点评审通过、验证完成把版本固化进PLM或共享目录避免中间垃圾版本污染团队视野。6.3 我个人的建议工作流最后给一套我实操下来最顺手的流程可以直接抄作业。第一步用text-to-cad生成初版花5分钟写一份结构清晰的提示词迭代两三次得到2~3个概念模型。第二步导入CAD软件快速验证几何拓扑筛掉有明显缺陷的方案。第三步选定一个最优方案在CAD里重建特征树或做特征识别恢复完整参数化能力。第四步进行装配验证、出图、仿真等正式流程。第五步把生成提示词、验证记录、模型版本一起归档。这套流程的核心是把AI用在它最强的位置——快速提供可选起点把精确控制和工程验证留给人。这不是什么高深方法论但它确实解决了AI生成的东西没法用这个最常见的抱怨不是工具不行而是使用位置放错了。我现在办公室的同事偶尔会用我搭的这套流程处理一些结构件需求反馈普遍是至少省了画草图的时间。等下一步开源社区在生成模型的约束求解上再往前推进一些这个工作流里需要人工处理的环节还会继续变少。到那时候text-to-cad可能真的就是CAD软件自带的默认能力而不是需要单独讨论的新鲜事物了。
阅读完成 · 觉得有帮助?
咨询建站