1. 先给结论:text-to-cad不是“输入一句话就有成品模型”
text-to-cad这个词,近半年基本是三维设计与制造圈子的必刷热词。过去建一个法兰、支架或者外壳,要在SolidWorks里画草图、拉特征、打孔倒角;现在的玩法是你把需求描述清楚,AI直接给你生成一段能构建几何的“CAD程序”,你还能回头改参数重新生成。听着很爽,但它的能力边界,远比想象中窄。很多第一次接触的人会误以为它能像Midjourney一样“一句话出图”,结果发现自己拿回来的是一个能编辑、能导出、能出工程图的参数化模型,反而不知道怎么下手。这篇文章,我把过去几个月的实测结果、踩坑记录,以及一条能在本地完整复现的搭建链路,一次整理清楚,给站在门槛上的人一张尽量精确的地图。
1.1 它生成的是参数化特征,不是一张STL网格
先破掉最常见的误解:text-to-cad里的“cad”,默认指的是参数化CAD,而不是3D打印常用的STL网格。STL本质上是成千上万个小三角片拼出来的表面,能看、能打印,但要改一个尺寸,或者拿去数控加工,就很痛苦——没有特征历史,没有约束,改一个孔位等于重新建模。参数化CAD模型则是“图元+特征+约束”的组合,你改一个孔径数值,相关的孔位、倒角、装配关系会联动刷新,可以直接出工程图、上CAM、进仿真。
所以判断一个工具是不是真text-to-cad,直接问三个问题:输出物是网格还是B-rep实体?有没有特征树或者构建历史?关键尺寸能不能改参数重新生成?
很多“文本转3D”的工具做得挺热闹,但输出的是带贴图的三角网格,适合游戏素材和视觉展示,跟工程链条完全不搭。这不是说网格工具没价值,而是它不属于CAD。我在实际对接里见过不少设计师踩坑:拿文本转网格模型去和供应商沟通开模,被问三个问题就卡住——壁厚多少?装配基准在哪?拔模角度多少?对方答不上来。没有参数,就回答不了这些问题,模型只能停留在“像”的阶段。
1.2 为什么“可编辑”是CAD的灵魂
机械行业里,模型最值钱的部分从来不是那个“形”,而是改起来方便。设计迭代时,改一个孔距,整个零件要跟着刷新;模具合模时,改一个拔模角,相关面要同步补偿。这些动作依赖参数化约束和特征历史的配合,而这两样东西,恰恰是普通AI生成最难复制的。
AI如果在生成时只输出最终几何,却不保存构建过程,等于给你一张不能改的设计图。早期不少AI生成CAD的方案就死在这里:模型看上去形状完整,拓扑也正确,但工程师一动特征就散架,因为底层是合并过的面片实体,没有草图和特征可言。后来大家普遍收敛到一条路线:让AI走“程序化CAD”——生成一段构造脚本,比如OpenSCAD、CadQuery、CodeCAD,或者某个API的建模命令序列,再由CAD内核去执行。用户手里拿到的是一份“建模过程说明书”,改参数就是改说明书,重新跑一遍,模型连同关联约束一起重建。这个思路才符合CAD的底层逻辑,也是现在主流产品愿意采用的架构。
1.3 现阶段哪些人值得立刻上手
按我的观察,三类人最容易真正受益。
第一类是机械结构工程师和硬件产品经理。开案初期要快速比选结构方案,过去画一个支架可能要半天,现在布局提示词跑几个备选,至少能把形状和安装接口定下来,后面再人工精修。
第二类是自动化、机器人领域的方案设计者。标准化连接件、传感器支架、线缆固定座这类重复性强、规则明确的零件,AI生成成功率很高,往往第一次就给接近可用的结果。
第三类是教CAD和AI交叉课程的讲师。因为当前模型的能力和限制都非常典型,拿来当案例拆解特别合适,比纯讲软件操作更能说清楚“大模型+工程领域”的命门在哪里。
至于纯艺术向设计师、做渲染模型的人,现阶段不用急着扑到text-to-cad上,有更顺手的网格生成工具可用,硬切反而更费劲。
2. 实测过的几条主流路线:从云端API到本地开源
我不喜欢隔空聊技术,能亲跑的都尽量跑。这一节是我接触过的三类主要方案:商用云API、本地开源LLM加脚本CAD、以及文本转网格的“伪CAD”路线。各自都有适合的场子,也都有明显短板。
2.1 Zoo Text-to-CAD:把AI真正接到几何内核上的典型
先说我最早尝试、也最印象深的一个——Zoo(前身KittyCAD)推出的Text-to-CAD。它的做法不是让大模型输出STL,而是让模型生成自身CAD内核能执行的建模命令,用户拿到的是可继续编辑的参数化模型,可以在线改参数、看特征、导出通用格式。我给它提交过几个机械件,包括法兰、带加强筋的固定支架、带孔位的配电箱底板,整体观感是:
- 几何正确率比一年前提升明显,拉伸、布尔、阵列这类基本操作很少出错;
- 生成速度快,中小型零件大约十几秒内能出初步结果;
- 最值钱在“可继续编辑”,我改了孔径和位置关系,模型能按新参数重新生成,这在网格工具那边根本做不到。
但也要客观说,它目前是测试体验,有排队和额度限制,复杂曲面和真实螺纹仍是短板。把LLM规划能力和内核执行结合的方向,我认为是对的,也是后续行业产品会普遍参考的做法。
2.2 本地开源组合:Ollama + OpenSCAD/CadQuery
云端好用,但很多企业环境不允许数据出域,所以我另外搭了一条本地链路,成本极低,适合观察“大模型到底怎么理解CAD”。工具链就三样:
- Ollama本地跑一个7B~8B量级的开源模型;
- OpenSCAD当几何执行端,接收代码并渲染模型;
- 一小段胶水脚本,把提示词发给模型、把返回的代码喂给OpenSCAD。
提示词模板我写成下面这个样子:
你是一名资深机械工程师,只用OpenSCAD代码输出一个可用零件。 要求: 1. 参数放在文件顶部,用变量定义,单位毫米; 2. 优先用线性拉伸、旋转、两个实体之间的差集实现; 3. 不要输出文字解释,直接输出纯OpenSCAD代码; 4. 功能描述:功能描述部分填写我真正想做的零件。按这个框架,生成结果的可读性和成功率明显变高,模型“自由发挥”的概率直线下降。如果换成CadQuery,还能得到更接近工程特征的Python式建模代码,适合做程序化特征链管理。这条路没有云端那么顺滑,但胜在可控、便宜、好复现。我把每次生成的代码都存档,后续人工改代码就能做迭代,不依赖任何在线服务。
2.3 文本转网格工具:不是CAD,但要把边界划清楚
为了弄清边界,我也用文本转网格的工具生成过“类似的”零件。比如要求生成一个带四个螺栓孔的安装托架,工具给的形状看上去很像,网格细密,外壳还有质感。但放大检查孔位,发现孔径大小不一、孔轴线歪斜,更麻烦的是没有壁厚概念,整个模型就是一个表面壳,根本无法加工和装配。转成STEP格式后,同一堆自由曲面直接现原形。
这类工具适合给客户看效果、为游戏和影视做资产。工程人员应该把两种工具放进两条完全不同的工具链:一个解决“长什么样”,一个解决“怎么造出来”。别把这两个词当成同义词,否则项目后面全是烂尾。
2.4 一个支架提示词,三条路线的真实差异
拿同一个小例子来看。我让三组方案分别生成:“一个L型安装支架,长80mm宽40mm厚3mm,底部四个直径5mm的安装孔,侧面有一个M8的腰型槽。”结果差异非常直观:
| 方案 | 输出形式 | 能否改参数 | 尺寸符合度 | 可制造性 |
|---|---|---|---|---|
| Zoo Text-to-CAD | 参数化B-rep特征 | 可以改孔距、板厚 | 基本符合 | 中高 |
| 本地LLM+OpenSCAD | OpenSCAD程序代码 | 改代码顶部变量即可 | 主轮廓多数能保住 | 中等 |
| 文本转网格工具 | 带纹理网格 | 基本不能 | 视觉接近但误差大 | 低 |
这组对比能帮人快速建立预期:当前真实水平是一个“速度极快的概念工程师”,不是高阶结构工程师。目标如果是快速拿到可编辑初版,人工再修几轮,那够用了;目标如果是开箱即用、直接上机床,那还差得远。认清这条线,比到处找“最强工具”重要得多。
2.5 本地链路的环境准备清单
如果只想快速把本地链路跑起来,按这个顺序来,不需要独显也能跑:
- 安装Ollama,命令行执行
ollama pull llama3.1:8b拉一个可用模型; - 安装OpenSCAD,确认命令行
openscad在PATH里; - 新建一个工作目录,准备
prompt.txt放提示词模板,再写一个run.sh把提示词发给模型、将返回代码存成.scad文件,最后调用OpenSCAD渲染打开; - 把提示词模板里的功能描述替换成你自己的需求,第一次跑通,后续就是反复调整提示词。
CPU上跑7B~8B模型,单个简单零件大概要十几秒到几十秒,可接受。每次结果存成带编号的.scad文件,相当于留下一个“参数化版本库”,以后改一行代码就是新一版,这种方式比反复让模型重新生成稳定得多。
3. 拆开看它背后怎么跑:语言模型如何变成几何
理解了工具差异,再看它们内部是怎样工作的。用大白话说,现在的text-to-cad,本质是一条“从自然语言到程序化建模指令”的翻译链路。每一步都有讲究,工程上差一环,结果就差出十万八千里。
3.1 生成建模指令,而不是生成三角面
第一阶段,语言模型接收用户提示词,把它解析成设计意图:有哪些主体特征、尺寸多少、位置关系如何、有没有阵列逻辑。第二阶段,模型输出一段面向CAD内核的程序化指令,比如OpenSCAD脚本、CadQuery代码,或者某个API的建模命令序列。第三阶段,CAD内核按指令构建B-rep实体,生成特征历史。整个过程的“智能”集中在第一、第二阶段,第三阶段是确定性计算。
这里容易被忽略的是,为什么不让模型直接输出网格。除了前面说的可编辑性,还有精度和稳定性原因。网格生成是连续空间回归,模型很难保证“圆弧就是圆弧”“平面就是平面”,直接重建精确几何需要极其庞大的标注数据。程序化生成走的是离散的、语法明确的指令,模型只需要选对操作类型和参数,再由内核的约束求解器保证精度。换句话说,模型负责规划,内核负责执行,各司其职,这条架构路线是当前工程上最理性的选择。
3.2 草图、约束、B-rep:AI绕不开的底层概念
要真正看明白这条链路,有几个概念躲不开。先说B-rep(边界表示):CAD模型用平面、圆柱面、球面等解析表面精确拼接成实体,这样的实体能精确求布尔、算面积、生成CAM刀具路径;网格是离散近似,做不到这些。再一个是特征历史:一个零件的构建过程被记录成步骤,如“画80mm底边草图→拉伸成3mm厚板→板上挖四个直径5mm通孔→侧面开腰槽”。有了特征历史,用户可以回到任意中间步骤修改,后续特征自动重新计算。
当你听到“可编辑性高”时,本质是AI在特征历史层面做对了:生成的命令序列顺理成章地记录了“草图→拉伸→布尔差集→阵列”,而不是把所有几何一次性布尔合并。这也是为什么团队训练AI时特别强调生成特征序列,而不是只优化最终几何。特征序列对了,工程师拿到的就不是一件雕塑,而是一件能拆改的积木。
3.3 数据从哪来:程序化CAD数据集和“程序召回”
训练这类模型,需要的不是海量STL,而是“自然语言描述↔CAD构造程序”的成对数据。这对数据很稀缺,是落地的主要障碍。目前能用的公开数据源有几类:面向学术研究的Fusion 360 Gallery,它提供了大量带特征历史的真实零件;ABC等B-rep数据集;开源社区沉淀的OpenSCAD/CadQuery库;以及商业软件导出的带参数模板。
有意思的是,开源社区里海量的OpenSCAD/CadQuery代码本身就是很好的语料。模型训练时如果见过足够多“用差集挖孔”“用线性拉伸建板”的写法,推理时就能“程序召回”这些模式,生成类似结构的代码。这解释了很多生成的模型为什么看起来那么“科班”——它本质是在模仿训练数据中最能解决当前问题的程序写法。
但由于工程上一个零件可以有十种建法,只有少数建法在后续制造里好用,所以纯粹从代码库里学习,AI经常学到“能出形态但难编辑”的做法。这也是业内在推进“可编辑性评估”和“多轮生成评审”产品的原因——把可编辑性本身变成训练和考核目标,比只追求“外形像”有用得多。
3.4 多模态输入:为什么草图加文本才是下一个台阶
当前绝大多数text-to-cad都是纯文本对话框,但真实工程师画图时,手头往往是“一张手绘草图+几个关键尺寸+一句加工要求”。纯文本表达复杂轮廓非常吃力,比如一个异形轮廓配四个不对称孔位,用语言描述非常绕,可手一画就几秒钟。
因此学术界和工业界都在做“文本+草图”联合条件输入的生成,这类方案对空间关系的理解难度显著低于纯文本,因为语言模型只需要在图像提示的约束下做“翻译”就好。我判断下一代产品会把“画轮廓+填参数+AI续建特征”作为默认交互,而不是要求每个人都学会写结构化提示词。对读者来说,现在提前熟悉“自然语言描述+程序化代码生成”这套心智模型,到时候迁移成本会很低。
4. 实操排雷:高频问题与对策
这一节是全文最想让你带走的部分。下面每一条都是我真实掉过的坑,以及对应的解法和排查思路。有些看起来特别琐碎,但恰恰是这些琐碎决定了方案能不能在业务里活下来。
4.1 提示词写得太“像人话”,模型反而听不懂
第一版体验十有八九是提示词问题。试过“给我一个安装摄像头的小架子,要结实好看”,模型就开始自由发挥,形状奇奇怪怪,尺寸完全不可控。原因是模型在“自由度爆炸”的空间里猜“好看”,面对几百条可行路径,最后选出的往往是平庸平均值。
解法核心是把自然语言压缩成工程语言,按五个维度组织:功能是什么、主轮廓是什么、关键尺寸多少、必备特征有哪些、禁止事项有哪些。实际模板类似这样:
零件名称:带螺栓孔的光电传感器安装支架 主体:一块底板,60mm x 40mm x 3mm; 主特征:立起的安装耳,高30mm,厚3mm,与底板夹角90度; 孔位:底板四个角各一个直径4.2mm通孔,孔心距边缘8mm; 耳部:一个直径6mm的水平通孔,中心高度15mm; 禁止:不要倒角、不要圆角、不要多余装饰特征。同样的需求喂给Zoo或本地模型,成功率从“瞎猜”变成“按单下料”,提升不是一点点。尤其是“禁止”两个字,会主动砍掉装饰性特征,模型自由发挥的概率明显下降。
4.2 出来“看着对”,一导出就坏的检查链路
如果你见过AI生成模型人眼看起来完美,一导出STEP在别的软件里报错,或转STL时提示自动修复,那大概是遇到几何内核打架了。常见原因包括:自相交布尔、退化边、重合面、生成特征把实体切成了两个独立壳体,等等。
我现在的习惯是每次生成后,按固定链路做三道检查,而不是只在软件里看一眼就收工:
- 在生成平台里检查特征树和参数,确认每个关键尺寸都在变量里;
- 导出中性格式如STEP或IGES,用Fusion或MeshLab导入验证;
- 用开源工具跑一遍非流形检查和包围盒检查,确认实体封闭、尺寸数量级正确。
后两步看起来机械化,但能替你挡掉一大半“供应商打不开文件”的沟通事故。这套检查成本不高,值得打包成固定动作。如果不做,后续返工时间往往是你靠AI省下时间的数倍。
4.3 一次只让AI干一件“特征级”的事
这是另一个特别可惜的坑。把一堆需求挤进一句话,表面上是省事,实际是恶意放大生成不确定性。模型要在同一个回合里同时规划主体、拉伸、阵列、倒角、螺纹和加工工艺,出错率是相乘的。
工程上最有效的方式是把零件拆成特征链,一次对话只管一到两个特征。先生成“底板和立耳”,确认没问题,再追加“打四个孔”;孔位确认后,再追加“加一条加强筋”。每一轮修改都是确定性增量,而且结果还带着前一轮代码,迭代积累下来,代码可读性和可编辑性远高于一次性生成满配版。慢一点没关系,最终能一次成型才是关键。
4.4 用可量化评审替代“我觉得它行了”
项目后端验收阶段,别凭感觉说“行了”。我给AI生成结构件定了三条轻量指标,够用:
- 尺寸偏差:关键尺寸与目标值的绝对和相对偏差;
- 特征完整率:目标特征数量占实际生成特征数的比例;
- 可编辑性:直接在结果里改参数能否生效,改动后是否出现报错或破面。
这套指标用Excel就能维护。每次生成完填一遍,一段时间后,就能摸清手头这套提示词和工具的能力曲线。这个动作的意义在于把主观印象变成客观判断:哪些零件可以直接用,哪些必须人工补很久,心里有数,项目排期才敢拍板。
5. 把text-to-cad真正接进产品开发流程
工具测完、坑避完,接下来是工作流层面的事。我过去半年逐步形成了一套还算稳定的用法,不一定普适,但可以当参考起点。
5.1 概念评审阶段的“快速生成-比选-重做”闭环
做结构方案比选时,我现在通常先不打开三维软件,而是用text-to-cad快速生成三到五个备选外形:不同布局、不同孔位、不同加强肋位置,肉眼扫一圈就能筛掉明显不可行的,剩下两三个再导入CAD精修。这个阶段的收益不在“免画图”,而在“派生速度快”。
过去纠结“要不要为临时方案花两小时建模”的场景,现在直接生成就行。方案评审会议变成对着多个参数化模型现场改尺寸,效率提升是实打实的。但注意,这类方案我会按“概念草图”对待,不会直接拿去做详细设计,更不会跳过评审。AI生成只是加速器,不是过滤器。
5.2 参数模板化:让AI生成“可复用结构”而不是一次性零件
第二件重要的事是把生成结果模板化。同一套机构里的标准结构,比如电机安装座、传感器固定支架、线缆卡扣,让AI生成时就要求它把关键参数全部提到文件顶部,用清晰变量名:bracket_length、hole_diameter、wall_thickness……
这样同一个脚本换几个数值就是一个新系列,相当于把AI变成结构参数库的生成器。配合本地或云端API,后续每次新项目只要往模板里填参数,几秒出变体。这比让AI凭空想一个新结构实用得多,也更容易沉淀成团队知识资产。做过的项目越多,模板越厚,AI的“可用率”会越来越高,因为它只是在完成编码,而不是在做开放式构思。
5.3 机械件、建筑构件与消费品:落地程度差异很大
不同领域的落地节奏差距不小。机械标准件、钣金支架、轻量化连接件这类规则鲜明的零件效果最好:特征密度适中、布尔关系清晰、制造约束标准化,AI正确率能到很合理的水平。建筑领域的参数化构件,比如幕墙接点、栏杆、隔墙龙骨,前景也不错,因为建筑构件的几何更偏线性拉伸和阵列。而消费电子外壳、汽车复杂曲面件、模具件这类需要大量自由曲面和工艺经验的零件,目前仍处半成品阶段,AI生成后往往要重画主体,只保留布局思路。
所以我的结论是,不要问“text-to-cad什么时候能替代工程师”,而要说“在标准特征类零件上,它已经是一个运算速度极快的实习生;在复杂曲面和工程工艺上,它连刚毕业都算不上”。把定位摆正,项目里怎么用才不会天天打架。
6. 一点个人体会,和接下来要盯着的三个信号
玩了半年text-to-cad,我心态上最大的变化是,不再拿它跟“画图”比,而是拿它跟“找参考、翻模型库、查手册”比。用生成替代搜索,往往比替代绘图价值更大:你不需要在几十个模型库里翻近似件,而是直接描述一次就能拿到定制件,而且每个参数都受自己控制。这个转变听起来不大,实际用起来体验差得很远。
接下来我会重点盯三个信号。第一是数据集方向,看有没有更多“带特征历史的真实工程零件+自然语言描述”被公开,这决定模型能力的底座;第二是约束求解和生成相结合,重点看内核能不能在执行AI命令后自动处理过约束与冲突,把人工纠错的比例降下来;第三是CAD大厂的整合动作,一旦Fusion这类主流软件内置了相对成熟的文本转特征能力,行业工作模式才真正到拐点。
在那之前,我建议你按第2.5节的方法搭条本地链路,花一个下午生成二十个零件,亲手感受一下什么是程序化CAD生成,再回来说它行不行。模型迭代非常快,半年后回头看眼前这些限制,很可能你又得重新做一次判断。