从text-to-3D到text-to-CAD:生成式AI如何重塑工程建模流程
发布时间:2026/10/27 4:16:53 锦皓数字建站

1. 为什么偏偏是CADtext-to-CAD和text-to-3D的本质差异1.1 表面像不等于能造一年多前我第一次在机械设计交流群里看到有人贴text-to-cad相关截图时第一反应是又一个text-to-3D的换皮宣传。当时群里有人输入一句 motor mount with four through holes and a central bore直接蹦出来一个看着相当完整的支架模型下面一堆人问用的什么插件。直到我自己把CLAY这类开源模型跑通又在Zoo.dev的项目里玩了一阵子才发现这个方向跟以前那些生成长得像的艺术网格的东西根本不是一回事——它想做的是把大模型接进工程建模流程让一句话出CAD模型从概念变成能用的草稿工具。很多人觉得text-to-CAD和text-to-3D差不多顶多是换了CAD的壳。这是目前这个领域最大的误解。text-to-3D我们其实已经很熟了DreamFusion、Point-E、Meshy这些工具你要一个看起来像龙的雕像它给你一个带纹理的多边形网格放到游戏里、渲染图里没问题。但如果你要一个DN50法兰6个12毫米均布螺栓孔厚度12毫米text-to-3D给你的是个看起来像法兰盘的雕塑——孔的位置是糊的孔径是猜的背面还是封死的你拿尺子去量任何一个尺寸都没法用。CAD模型的核心不是像而是三样东西精确尺寸、约束关系和制造语义。法兰盘在CAD里不是一张表面形状而是一组参数外径、内孔、分度圆直径、螺栓孔数、厚度这些参数之间还有联动关系改了外径分度圆要不要跟着变孔距怎么约束这都是设计意图。text-to-CAD真正难的不是把文本变成一堆三角形而是把文本变成能标注、能制造、能修改的参数化实体。这两者之间的差距就是为什么text-to-CAD成熟得比text-to-3D晚得多。我见过不止一个机械工程师第一次体验text-to-CAD时的反应先用一句一个带安装孔的外壳生成一个模型看起来挺唬人然后他习惯性地想点开结构树改个壁厚——发现什么都没有只有一个锁死的网格体。那一刻他才明白这个领域离替代CAD还远得很。但从另一个角度看text-to-CAD的目标本来也不是替代CAD它想解决的问题非常具体把从想法到第一版草稿的时间从几个小时压到几分钟。1.2 到底是谁在喊需要一个text-to-CAD我在跟不同背景的人聊过之后发现这个方向的早期用户画像比我想象的清晰。第一类是中小制造和非标自动化团队。他们接的活经常是客户发来一个示意图说我要一个能把电机装到铝型材上的支架传统流程是工程师先花半天建模再花半天改结构。这类团队的需求不是让AI生成艺术品而是快速得到一版能讨论的结构初稿方便报价和沟通。第二类是结构工程师。他们用CAD熟练但希望能更快地做方案比选一个零件做三个版本壁厚、开孔位置、加强筋布局各不同给客户选。如果有个工具能基于文本描述快速生成几种变体哪怕精度差点也值得。第三类是创客和3D打印玩家。他们没有系统学过CAD但想做一个手机支架、一个树莓派外壳、一个桌下理线架。传统路径是去模型站下载别人的改一改或者硬着头皮学Fusion 360。text-to-CAD如果靠谱他们是最先受益的一批。第四类是教育场景。教机械制图和参数化设计时学生的问题往往不是理解不了概念而是软件操作熟练度不够导致大量时间耗在怎么画线怎么拉伸上。AI生成初稿让学生把注意力放在为什么这个结构合理上对教学有真实价值。有意思的是这些需求背后有一个共同点他们要的不是免建模而是降低建模的起手式门槛。CAD操作从来不是目的把脑子里的设计意图变成一个能制造、能修改的对象才是目的。1.3 一个反直觉的观察标准化物件比自由造型更容易生成我实际玩下来发现一个反直觉的现象对三维生成模型来说语义越标准的物体反而生成得越好比如法兰、轴承座、电机支架、螺栓这类高度标准化的机械零件而越是自由曲面艺术造型文本描述几乎无能为力。原因很好理解。语言描述几何的能力是极其有限的你说一个优美的曲面——什么叫优美模型没法落地。但你说一个带四个通孔的矩形安装板孔距50毫米孔径6毫米每个词都对应明确的几何参数模型反而能准确映射到训练数据里的常见结构。也就是说text-to-CAD目前最适合的恰恰是那些长得有规矩的工业件而不是艺术品。这个观察基本决定了我接下来所有工具选型和流程设计的方向。2. 技术路线拆解CLAY让名字出圈但它只是冰山一角2.1 扩散模型直接生成表面CLAY与神经场的路子CLAY是2024年让text-to-CAD这个词在技术圈彻底出圈的项目由苏黎世联邦理工Robert Katzschmann教授的团队开源。它做的事情很直接给定一句文本描述直接生成一个带纹理的三维模型但不是用老式的点云或者体素生成而是把图像扩散模型的思路搬到了三维空间。具体来说CLAY借用了FLUX.1的图像先验改造出一套三维条件下的扩散模型输出的是Signed Distance FieldSDF符号距离场、UV贴图、法线、材质这类三维表示。简单解释一下SDF想象在一个三维空间里每个点都有一个数值表示它到最近表面的距离正数在表面外负数在表面内零的位置就是表面。生成完SDF之后再用marching cubes算法提取零等值面就变成了可以直接渲染和导出的三角形网格。这个路线的优势非常明显生成结果细节丰富能做到看起来就是一个人手工雕刻过的模型。社区里最惊艳的案例包括做旧的木质门板、皮沙发、油灯、金属感十足的机器人部件表面细节甚至能看出材料的氧化痕迹。CLAY的代码和模型权重是开源的所以它也成了很多人第一次真正把text-to-CAD跑通的起点。但它的短板同样明显输出是网格不是CAD的B-rep边界表示实体没有特征树没有参数依赖甚至没有毫米单位的概念。你在CLAY里生成一个直径40毫米的齿轮它只会给你一个看起来像齿轮的网格齿数不对没关系齿轮孔径更没有。作为概念造型生成器CLAY非常强作为工程零件生成器它差得还很远。2.2 大模型翻译建模命令从Text2CAD论文说起CLAY让人看到直接生成几何的可能性但工程界的核心诉求始终是生成的东西得能改。2023年微软研究院发了一篇TEXT2CAD的论文思路和CLAY完全不同它不让模型直接生成几何表面而是让大语言模型把自然语言描述翻译成一条一条的CAD建模命令。比如你说创建一个30毫米乘60毫米的矩形草图然后拉伸10毫米模型会输出类似add_rectangle(30, 60)、extrude(10)这样的命令序列然后由CAD软件按照命令序列真正执行建模。这样做的好处是生成的模型天然带完整特征历史因为每一步都是明确命令修改也很简单——改其中一条命令模型就更新了。这正是工程师眼里的活模型。这种路线的瓶颈也很直观。命令空间是封闭的LLM只能在预定义的建模命令集里做翻译碰到自由曲面、复杂倒角、空间曲线这些靠标准命令堆不出来的几何就完全没辙。另外命令序列长度一长LLM的错误就会累积中间一步参数错了后面的特征全部跑偏。目前这类方法更适合快速构造简单机械零件也是我认为离实用化更近的一条路线。2.3 脚本化参数建模Zoo.dev的开源实践2025年前后Zoo.dev做的一个text-to-CAD项目是我个人觉得当前最接近工程实用态的一条路。它的做法可以理解成Text2CAD路线的工程化升级你输入一句英文描述LLM直接输出一段TypeScript脚本脚本调用Zoo Modeling LanguageZML来描述三维几何最终在浏览器里渲染成模型并且可以导出STEP、STL、GLTF这些工业常用格式。可能有点抽象我贴一段它生成脚本的示意具体API以官方文档为准import { draw, extrude } from zoo/geometry; // 创建 60x40 的矩形底座 const base draw.rectangle(60, 40); // 拉伸 12 毫米 const solid extrude(base, 12); // 在中心开一个直径 6 毫米的孔 const hole draw.circle(3); export const model solid.subtract(hole);我试用的时候最大的感受是它终于给了你一个能改的东西。脚本就是参数化模型本身你想改孔距直接改代码里的数字再重跑想加圆角加一行命令。LLM负责把文本翻译成脚本几何逻辑由建模库保证比让LLM直接生成三角形网格可靠得多。这套方案的短板在于LLM的幻觉问题。它经常写出不存在的API、自创参数名或者生成几何上自相交的实体。Zoo.dev的做法是尽量在运行阶段做校验和自动修复但失败率依然不低。对一个不懂代码的机械工程师来说看到一段报错的TypeScript脚本就懵了。不过对我这种愿意读代码的人它反而成了加分项——报错了看一眼代码就知道问题在哪直接改比在CAD里重新操作快太多。2.4 检索加重绘不是生成但经常被当生成用还有一个需要警惕的现象市面上不少号称text-to-CAD的产品本质是检索加局部修改不是生成。它们的流程是先分析用户文本从模型库里检索最接近的已有CAD模型然后再用算法做局部变形或特征替换。判断方法我自己摸出一个土办法给它一个你几乎不可能在训练数据里见过的组合描述比如一个长得像海豚的桌子。真正的生成模型会尝试创造哪怕结果很怪检索型产品会直接返回一张桌子或者一只海豚因为它只能从已有类别里挑没办法在语义空间里合成新东西。我说检索型不好了吗没有。对工业应用来说检索型的可靠性反而更高——已经存在的模型本来就是经过验证的改一改局部尺寸就能用。很多商业工具宣称的秒级生成CAD背后就是这套逻辑。只是作为用户你需要知道自己付钱买的是真生成还是假生成因为两者的适用场景和迭代路径差得很远。这三种路线的核心差异我整理成一个对比表方便大家参考技术路线代表项目输出形态最大优点最大瓶颈扩散模型直接生成CLAY网格/SDF/材质造型细节丰富艺术表现力强无特征树、无参数约束、无单位语义LLM翻译建模命令Microsoft Text2CADCAD命令序列天然带特征历史结果可编辑命令空间封闭复杂几何无能LLM生成参数化脚本Zoo.dev Text-to-CADTS脚本可导出STEP可编辑、可重跑、贴近工程师习惯LLM幻觉导致脚本报错稳定性不足3. 亲测主流工具能力边界、参数取舍与翻车现场3.1 测试一从一句带四个孔的电机支架开始我在CLAY上做的第一组测试选的是机械设计里最常见的场景——电机安装支架。提示词很简单a wall-mounted bracket with two mounting holes。生成的模型第一眼相当唬人整体轮廓对称边缘有自然的倒角表面纹理甚至带一点压铸件的质感。但我把它放到Blender里检查拓扑之后问题全出来了。两个安装孔的位置不对称一个高一个低背面的安装面不是平面而是略有起伏的曲面孔壁没有闭合有一侧直接和外部空间打通了。对渲染来说这些细节无所谓但对装配来说这套模型完全不可用。我又试了flange with six holes想看看它对数量和阵列的处理能力。结果生成了五孔版本、七孔版本、六孔版本各一次只有一次数量对而且那一次孔的分布也没有做到严格均匀。放大看有些孔根本是在表面压了个圆形凹陷没有贯穿。扩散模型学到的孔是一团像孔的形状信号不是一个位置精确的通孔特征。全局计数和拓扑一致性对这类模型来说目前就是死穴。3.2 测试二Zoo.dev的脚本能跑通吗Zoo.dev的text-to-cad我用的时间最长因为它的输出能真正导入到CAD软件流程里。我输入a table with four cylindrical legs第一次生成的脚本顺利编译但打开模型发现四条腿不在一个平面上有一条腿短了一截。我没有重新生成而是直接看它输出的TypeScript代码发现有一个腿的高度参数写成了28而不是30。这种错误对LLM来说很常见数值一致性问题它在语义上知道四条腿等高但具体数值输出时会随机漂移。第二次我加上了明确的尺寸约束a table with four legs at the cornerseach leg 30mm diametertable top 80cm by 50cm。这次几何对了但它在单位换算上把毫米和厘米混用了桌腿直径是30mm桌面长宽却用80cm模型里桌面大得比例失调。好在脚本是代码我自己改很简单但这说明LLM对单位体系的理解远没有到可靠的程度。最有意思的是一次测试bracket with 6mm mounting holes。它生成的脚本里写的是6但没有单位概念如果下游软件默认英尺那就是灾难。Zoo.dev目前的做法是假设用户输入的数值就是建模时的最终数值导出的STEP文件到了Fusion 360里默认按毫米解释刚好对上。这里能看出项目团队做了工程上的取舍——放弃通用单位换算换取用户在提示词里写什么就是什么的确定性。3.3 测试三中文工具与工业演示的观察国内团队也在这个方向上快速跟进。广汽研究院在2024年底发布了Muse AI主打中文输入直接生成CAD模型宣传视频里演示了3秒生成一个汽车零件级别的效果面向的显然是汽车和工业设计场景。我虽然没有第一时间抢到内测资格但从公开演示来看它生成的概念件完成度已经接近CLAY的水平而且中文语义理解明显更顺——我试过用中文描述同一个电机支架效果比我在CLAY上输入的英文还要稳定一些。不过坦白说公开演示的素材仍然停留在概念展示阶段距离加工级还有一段肉眼可见的距离。与此同时传统CAD大厂也在悄悄布局。SolidWorks在3D Creator云套件里上线了Text to CAD的beta功能思路不是独立生成模型而是把文本变成云端特征重建命令相当于把大模型变成了特征助手。AutoCAD的AI助手方向也类似更多是理解用户命令、辅助操作而不是直接吐几何。大厂的选择很能说明问题它们要的不是替代CAD内核而是让LLM成为现有建模流程的入口。3.4 目前最稳的组合玩法测试了这么多我自己沉淀出的主力玩法是组合拳不依赖单一工具走完整个流程。第一步用CLAY做造型探索。当你的设计目标里有复杂的自由曲面、有机形态、外观风格时先让CLAY出几张概念图找到感觉它输出的是灵感不是零件。第二步把概念里确定的设计意图转成文字关键尺寸、孔位、壁厚、功能要求写到Zoo.dev这类脚本生成工具里让它产出带参数化脚本的初稿。第三步把生成的STEP文件导入Fusion 360或者FreeCAD手动重建特征树补上工程图中需要的公差、基准和表面粗糙度。这一步目前省不掉但已经可以把传统从零建模的时间压缩掉一半以上。这套流程的核心逻辑是让AI负责从模糊到具体的中间转换让人负责从具体到精确的最终裁决。4. 落地中的硬骨头B-rep转换、约束历史与数据闭环4.1 网格模型为什么过不了工程师这一关我前面反复提到网格模型和B-rep的区别这里展开讲清楚因为这是text-to-CAD落地时绕不开的第一道坎。CAD软件内部真正使用的是B-repBoundary Representation边界表示模型简单说就是一个实体由有限个精确的NURBS曲面拼接而成每个面的边界曲线、顶点拓扑关系都是明确定义的。这种表示法能支撑后续所有工程动作标注尺寸、生成工程图、CAM编程算刀路、有限元分析划分网格、装配体干涉检查。而扩散模型生成的三角形网格是一堆离散的平面小三角形拼出来的近似形状精度再高也是看起来像不是数学上精确。从网格转回B-rep的问题有多大我给你一个直观的比喻把一张照片放大到像素级别然后让程序自动用光滑曲线把里面的物体轮廓重画出来——这就是mesh to B-rep的日常工作。网格里有密集的小三角程序得先判断哪些三角面属于同一个曲面片再拟合出对应的NURBS曲面最后把相邻曲面缝合成封闭实体。遇到倒角、过渡曲面、细微的台阶面拟合结果就很容易碎成几百块碎面或者产生重叠、破洞。当前这类算法需要大量人工干预通常要靠Geomagic Design X这类专业逆向软件里的资深工程师花几个小时来处理。一个AI花几秒生成的模型要在人这里花几小时收拾这笔账很多团队算不过。更糟的是CLAY这类生成模型输出的网格往往拓扑非常复杂——面片数十几万三角形大小不均还有封闭内腔、悬空面这些看起来正常但工程上非法的结构。这就让自动转换雪上加霜。4.2 特征树缺失能改才是CADCAD的另一个灵魂是特征树。你在SolidWorks或者Fusion 360里建的每个零件本质上是一连串记录的建模步骤基准面、草图、拉伸、切除、倒角、孔阵列。每一步都能回退、修改、抑制修改一个草图后面所有相关特征自动更新。这才是工程师口中的活模型。现在多数text-to-CAD工具生成的STEP文件即使几何形状是对的也没有特征树。它是一个死模型你导入软件之后所有的面都凝固成最终状态没有草图没有拉伸记录没有约束。想改一个孔径对不起你得把整个模型当成一个实体重新切割。对一个CAD熟练工来说这种模型的价值比网格模型高不了太多。所以在所有路线里参数化脚本路线比如Zoo.dev为什么更打动人就是因为它把模型程序这个现代CAD底层逻辑接了回来。几何形状由代码产生特征历史的载体从树节点变成代码行修改几何就是修改参数重跑脚本。虽然脚本式的历史不如图形特征树那么好用但它至少把可编辑性还给了用户。我认为text-to-CAD要真正进入工程流程特征历史不是可选项是必选项。4.3 文本描述的空间分辨率还有一个经常被忽略的瓶颈人类语言描述几何的能力天生不够精确。你说厚一点是厚0.5毫米还是5毫米你说圆角过渡半径多少当前LLM在处理这类模糊描述时采取的策略是填一个训练分布里的高频默认值。这个值大概率不是你想要的。这种模糊性带来一个实际后果用户在和text-to-CAD工具对话时必须自己承担把意图翻译成数字的责任。我在给自己写的提示词模板里坚持的原则是把所有关键几何拆成数字加单位的结构杜绝biggerthickersome holes这类词。这也是为什么我在实操中发现一个会把需求翻译成工程参数的用户和一个不会的用户用同一个工具得到的结果差距是数量级的。4.4 数据瓶颈是真正的胜负手最后说一个决定这个领域未来走向的问题训练数据。text-to-3D之所以能快速发展是因为互联网上海量的图-文对提供了训练语料模型可以从图片配文字描述中学到一只狗长什么样。但text-to-CAD需要的训练数据是文本描述配CAD建模过程/参数化模型这类数据在公开互联网上极其稀少。常在学术圈被提起的数据集包括ABCAutodesk Research发布的百万级CAD模型、Fusion 360 Gallery包含大量带特征历史的机械零件、PartNet带部件层级标注的CAD模型集。但这些数据的共同问题是几何信息有文本描述几乎没有。工程上有一种做法是用LLM反过来给CAD模型生成描述文本然后拿模型—文本对再去训练生成模型相当于数据自举。这能缓解一部分问题但生成的描述大多停留在这是一个支架这是一个齿轮的粗粒度远达不到六个均布通孔孔径6毫米这种工程描述的信息密度。谁手里有制造企业的真实建模日志——工程师在CAD里的一步步操作、伴随的标注、产出的图纸——谁就能训练出比通用模型强一个档次的垂直text-to-CAD模型。这也是为什么现在这个阶段的真正竞争不在算法层而在数据获取层。算法论文会越来越公开数据护城河会越来越值钱。5. 给工程师和创客的可用建议现在就上手但别重投入5.1 一个实用的Prompt模板如果你现在就想把text-to-CAD用起来我最想给你的建议不是推荐哪个工具而是把提示词写好的方法。一个合格的工程提示词要包含五个信息块应用场景、零件类型、功能要求、关键尺寸、制造工艺。我常用的是一个填空式模板为[应用场景]设计一个[零件类型] 功能要求是[连接/支撑/限位/防护中的一种或几种] 关键接口尺寸为[长、宽、高、轴径、孔径、孔距] 材料为[铝合金/钢/工程塑料] 制造工艺为[数控加工/3D打印/钣金折弯] 优先考虑[轻量化/便于装配/减少加工步骤]。举一个实际的对比。我用两个提示词在同一个工具里生成电机支架第一个是做一个电机支架结果生成的模型是一个四四方方的盒子上面有个莫名其妙的桃花心木纹理——模型把支架理解成了展示台。第二个我按模板写为NEMA17步进电机设计一个L型安装支架功能要求是将电机固定在铝型材框架上 关键尺寸为电机面板64mm见方安装孔距31mm孔径4.2mm支架壁厚5mm 材料为6061铝合金制造工艺为数控铣削优先考虑轻量化和减少加工步骤。这一次生成的模型基本能用L型结构正确四个安装孔的位置和孔径都对了底面有预留的型材槽口。当然精度依然达不到直接加工的水准但作为初稿它帮我省掉了画草图、拉伸、打孔、倒角这一整套起手步骤。这就是模板的价值。5.2 拿到结果之后的检查清单AI生成的模型不管多唬人我建议你拿到手之后都按下面这份清单过一遍尤其是准备把模型交给别人或者拿去加工之前单位一致性模型里标注的毫米/英寸是不是你想要的导出的STEP在软件里被解释成什么单位。孔是否贯通名义上是通孔的特征是不是真的从一端穿透到另一端。壁厚是否合理生成件经常出现0.5毫米以下的薄壁注塑和铸造都做不了。拔模角度涉及模具成型的零件侧壁有没有给拔模角。对称性标称对称的零件左右两侧的孔位、倒角是否真的对称。干涉与间隙装配体里两个零件的接触面有没有留装配间隙。可制造性内部有没有数控刀具够不到的角落有没有加工时无法装夹的结构。这套检查清单我整理成了给自己用的一个简短版本贴在待办事项工具里生成完模型就过一遍每次都能抓到至少一个明显问题。把检查环节前置比在加工厂那边翻车再补救省事一百倍。5.3 对工具边界保持清醒它是草稿纸不是终稿交付我在整个体验过程中最大的感受是当前text-to-CAD工具的定位应该是草稿加速器而不是设计替代者。它做的事情本质上是从训练数据的分布里抽样一个看起来合理的答案而不是基于几何规则做精确求解。这意味着你让它生成一个没见过的结构组合它有想象力但没有判断力你让它保证公差和配合精度它根本不知道配合是什么。但这不代表它不值得用。对工程师来说它的价值体现在几个具体场景和客户沟通时快速输出概念示意、给供应商征询报价时提供初版模型、方案评审时生成多版变体对比。对创客来说它的价值更直接减少从想法到可打印模型的步骤。对设计师来说它让形状探索从几个小时浓缩成几十次生成迭代。还有一个容易被忽视的好处。我把text-to-CAD用了一个多月之后发现自己写技术需求文档的能力明显变强了。因为你要让AI输出好结果就必须把设计意图拆成功能、尺寸、工艺、材料这些颗粒度足够细的要素。这个过程本身就是一次完整的设计需求梳理。最后说点个人体会我自己现在的工作流里text-to-CAD已经成了固定的第一站但它的角色很明确它是我用来把自己的需求说清楚的镜子也是我输出概念草稿的加速器。如果你打算尝试我给一个最实际的建议在提示词里尽量写清楚制造工艺——该零件将用数控铣削加工侧壁需要拔模角——这十几个词对结果的影响比换一个更强的模型还要大。模型对工艺的敏感度远比很多人以为的高一句工艺说明就能让生成结果从雕塑变成零件。真正让我对这个方向保持乐观的不是哪一家模型效果惊艳而是参数化脚本这条路线终于被人认真做出来了。代码即模型脚本即历史这是过去几年所有3D生成技术里最接近工程本质的一次尝试。后续如果数据闭环跑通LLM的几何能力再往前进一步text-to-CAD从草稿纸变成正式图纸的起点并不是遥不可及的事。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。