资讯动态

Text-to-CAD:用自然语言直接生成可编辑CAD模型的原理与实践

发布时间:2026/10/27 16:08:28 来源:尧图企业网站定制
前两天在一个工程交流群里看到有人贴了一张图输入一句“生成一个带六角法兰的支架中心孔直径10毫米法兰厚度5毫米侧面有两个对称的安装孔”界面上真的“长”出了一个完整的三维零件还能直接导出STEP。群里第一个反应是“这以后还要画图工程师干嘛”第二个反应是“这跟之前那些AI生成3D模型有什么区别”。这两个问题恰好就是Text-to-CAD这个方向最值得聊透的地方。Text-to-CAD简单说就是把自然语言描述直接转化为可编辑的CAD模型。跟“用AI生成一张图/一个网格模型”不同它输出的往往是带参数化特征和建模历史的实体模型能进CAD软件继续改、能导出STEP/STL走制造。这篇文章我会把它彻底拆开讲底层怎么实现、主流方案怎么选、实测中会碰到什么问题、怎么接进真实的工作流以及哪些场景现在千万别指望它。适合做机械设计的、搞3D打印和创客的还有想在企业里做设计自动化的朋友都可以对照着看看自己能吃到多少红利。1. Text-to-CAD解决的是“会说话但不会建模”的那批人的问题1.1 建模从来不只是“把形状画出来”很多被CAD劝退的人其实不是不懂设计而是被“建模策略”卡住了。CAD软件的操作本身并不难——拉伸、打孔、倒角都是菜单点一下的事难的是模型怎么规划辅助平面建在哪里、特征按什么顺序排、参数怎么关联这决定了你改一个尺寸是几秒钟的事还是要删掉半个特征树重画。这就是为什么不少工程师会看图纸、懂工艺但让他自己上手建模型可能要磨蹭一晚上。Text-to-CAD有意思的地方在于它把“设计意图”作为输入把“建模策略”交给算法。你只需要说清楚“我要什么”不需要想清楚“怎么一步步点出来”。我身边认识几个编程很溜但完全不会CAD的朋友他们上手这类工具特别快心理模型就是“用写Prompt的方式画图”门槛一下就低了很多。1.2 为什么是“文本”不是图片、点云或者草图既然要降低门槛为什么不直接用照片生成CAD这里有个关键区别图像承载的是外观文本承载的是意图。一张照片能告诉你壁厚大概多少、孔位大概在哪儿但说不清“先拉伸底座再切除孔”这种特征顺序更说不清公差、基准面这些制造语义。文本恰恰擅长表达这些抽象的约束关系。当然纯文本也有含糊的地方“大一点”“偏中间”这种描述换个模型可能就理解成两个完全不同的尺寸。所以从工程角度讲未来的方向更可能是“文本为主、草图/图像为辅”的混合输入先用视觉补充几何细节再用文本定设计规则。但从核心逻辑来说自然语言是目前唯一能高密度表达设计约束的输入方式这也是Text-to-CAD能成立的前提。这里还有一件很妙的事文本生成CAD的时候模型输出的是“程序”或者“命令序列”程序执行的结果是唯一的所以它不像AI画图那样每次给你一张不同的脸。你写“直径30mm的圆”那就是30mm。这从根上规避掉了扩散模型那种不可控的随机性。1.3 它和“AI生成3D模型”的本质区别很多人把Text-to-CAD和市面上的“文生3D模型”混为一谈这是目前最大的认知误区。我做了张表一眼就能看明白对比维度通用3D AIGCText-to-CAD输出类型mesh三角网格/点云/隐式场B-rep实体带特征历史可编辑性基本不可编辑改一个局部要重生成拉伸、孔、倒角等特征可独立改参下游用途渲染、游戏、3D打印粗模CAD工程、CNC/加工、装配核心难点视觉上“像”几何精确 可制造代表工具Point-E、Shap-E、Meshy、TripoZoo Text-to-CAD、DeepCAD系列Mesh模型能看但不能当“设计”用。三角网格只是一层皮没有数学意义上的实体边界没有特征树更没法说“我把这个孔的直径改成12”。而B-rep实体模型才是制造业认可的语言——它能算体积、能检测干涉、能出工程图、能进CAM。这个区别是Text-to-CAD存在的根本理由也是它比“生成一张好看的三维图”值钱得多的原因。1.4 谁才是真正该用它的人按我目前的观察四类人会从中受益最大创客和3D打印玩家想做一个支架、外壳、电机座但不想为了一个简单零件去学CadQuery或者OpenSCAD更不想手动建模磨半小时。机械/制造工程师做概念方案时先用文本快速出一版实体模型给客户或评审看再交给详细设计细化。非标自动化选型工程师箱体、支架、法兰这类规则件占了非标设计里很大比例文本驱动直接出模型再微调尺寸效率非常可观。设计自动化团队需要批量生成规格族比如不同口径的阀体、不同尺寸的安装板。传统做法是Excel驱动参数表现在可以用大模型解析需求文档直接生成或改参数。我个人的判断是后两类人会是Text-to-CAD最坚定的用户因为他们的核心需求不是“画一个好看的模型”而是“按规范快速生成一个能用的模型”。这个区别决定了他们愿意为“可编辑、可追溯、可参数化”这些特性买单。2. 底层原理它不是“画”出来的是“编程”出来的2.1 第一条主流路线让大模型写建模程序目前最受关注的Zoo Text-to-CAD走的是“程序合成”路线把自然语言描述变成一段建模代码通常是CadQuery风格或CAD脚本然后交给CAD内核去执行最终生成实体模型。这解释了它为什么不会像AI画图那样“幻觉”出一个外观合理但结构不成立的怪物——因为大模型只负责生成程序程序语法和语义正确模型自然正确程序写错了结果就是报错或空模型而不是一个看起来像模像样的废品。这条路线还有一个常常被忽略的优势大模型其实不擅长做数值计算让它直接口算“直径50的圆周上均布6个直径8的孔”很容易算错但把它写成一段循环代码让CAD内核去跑数值精度就交给计算机了。所以“语言→程序→内核”这条链路本质上是用代码推理绕过了数值幻觉非常聪明的工程选择。2.2 第二条路线直接预测建模命令序列学术界典型的DeepCAD走的是另一条路把CAD建模过程定义成一串离散的“操作token”比如拉伸命令、切除命令、倒角命令各对应一个编号然后用Transformer学习如何在给定文本或起始状态下预测下一个命令全部命令预测完之后再按顺序重放到CAD内核里得到完整模型。和程序合成相比这条路线学的是“人的建模习惯”未来如果数据够多可以生成非常自然的特征树甚至能模仿特定工程师的建模风格。但现在它基本还停留在论文和代码阶段离开箱即用有一段距离适合有研究背景的人跟进不适合普通用户直接上手。2.3 第三条路线生成网格/隐式场再转CAD这也是目前市面上90%“文本转3D”平台的路线先由扩散模型生成SDF、NeRF或者三角网格然后再走一个“网格转CAD”的接口。问题恰恰出在这个接口上——通用网格要转成可编辑的B-rep实体通常需要做曲面拟合、特征识别、草图重构每一步都可能引入偏差最后得到的往往只是“长得像”的壳特征树是残缺的。所以我的结论很直接如果目标是做渲染、做游戏资产、做3D打印粗模通用3D AIGC完全够用但目标是“一个能进CAM、能改参数、能出工程图的机械件”就必须走Text-to-CAD这种带实体语义的路线。这不是工具优劣的问题是底层数据表达就不同。2.4 为什么大模型不能“原生”输出精确几何聊到这里就得说清楚一个底层事实大语言模型本质是做token预测而精确几何是连续数值加拓扑关系加约束求解这两个域天然不匹配。让大模型直接输出一个B-rep的坐标点集既不现实也没必要——token没法精确表征浮点几何模型也不会解几何约束方程。所以任何严肃的Text-to-CAD方案设计哲学一定是语言模型决定拓扑和意图CAD内核决定精确几何。记住这句话后面很多工程决策就都好理解了。比如为什么Prompt要写得结构化因为语言模型要从你的话里提取拓扑信息为什么生成后还要进CAD检查因为内核执行可能会遇到拓扑失效为什么模型不能处理公差因为公差属于制造语义不属于几何语义语言模型和CAD内核都不负责这件事。3. 主流方案横向对比从Zoo到DeepCAD到通用3D平台3.1 Zoo Text-to-CAD第一次把“文本到STEP”做成能用的产品Zoo Text-to-CAD是KittyCAD团队做的最早那版模型是基于Llama-3.1 8B微调的输出CadQuery风格代码再通过Zoo内核生成可编辑的STEP文件。它最打动我的一点是产品演示里你能看到模型的特征是“一步步长出来”的——先拉伸底板再建凸台再打孔而不是瞬间砸出一个网格。这既是可解释性也是可编辑性的基础。实际体验下来它对规则机械件法兰、支架、箱体、底座的效果很不错特征树清晰导出STEP后能直接进FreeCAD或者Onshape继续改。不过也有明显局限对英文支持好对中文描述的支持还比较有限复杂曲面和装配件基本别指望。由于权重是开放的社区可以基于它做私有化微调这个价值对制造业企业尤其大。3.2 学术派DeepCAD、CAD-MLLM、CADCrafter这类工作在看什么学术圈的思路跟产品圈不太一样他们更在意“方法论能不能突破”。比如DeepCAD证明了CAD命令序列可以被当成语言来学CAD-MLLM开始在输入里加入草图和图像让模型先“看”再“想”还有一些新工作在做装配体级别的CAD生成。这些方向短则一两年、长则三五年都会反哺到产品里。但我也要提醒一句论文开源和“能用”是两回事。我复现过类似工作光是把数据处理流程跑通就花了几天需要很强的工程能力。普通用户不用追这些关注产品级进展就够了。3.3 通用3D生成平台Meshy、Tripo、混元等算不算Text-to-CAD严格来说不算。它们输出的mesh是给视觉用的不是给制造用的。但我不否认它们在某些场景下的价值快速出概念模型、做渲染图、做游戏资产又便宜又快。关键是你得清楚自己的终点在哪工具类别输入输出可编辑性制造可用性上手难度适合场景Zoo Text-to-CAD文本STEP/B-rep强中等低机械件快速提案、规格族生成DeepCAD等学术工具文本/操作序列命令重放模型中弱高研究、二次开发通用3D AIGC文本/图片mesh网格无弱极低渲染、游戏、3D打印粗模CadQuery/OpenSCAD程序代码任意CAD模型强强中高参数化自动化、需要精确控制如果目标是“一个能用的机械件”请找Text-to-CAD如果只是“看起来像”的概念模型通用3D平台就够了。这个区分越早想清楚越少走弯路。3.4 我的选型建议直接给结论不绕弯子想最快看到效果、生成可编辑零件先用Zoo Text-to-CAD把Prompt写作练好。想批量生成规格族、自己有编程能力学CadQuery然后用大模型辅助写脚本。这个组合在量产级自动化里目前最靠谱。想要概念模型和渲染图用通用3D AIGC平台省时省力。想做垂直模型研究去读DeepCAD、CAD-MLLM的代码结合自己的数据训练微调。4. 实测“一个带凸台的轴座”从Prompt到STEP的完整链路4.1 一个能出好模型的Prompt长什么样我用过很多种写法一个合格的Text-to-CAD Prompt至少要包含四类信息零件类型、绝对尺寸、特征顺序、方位和对称关系。反例是“做一个好看一点的支架”这种描述模型大概率给你生成一个废品。正例我会这样写Generate a rectangular base plate 80mm x 50mm x 5mm with a centered cylindrical boss of diameter 30mm and height 15mm on the top face. Add four through holes of diameter 6mm at the four corners, 8mm from each edge. The part should be symmetric about both X and Y axes. Units in mm.一句话经验把零件拆成“底板凸台孔”这种特征流每个特征一行带绝对尺寸和相对位置。目前英文效果最好中文可以先让大模型翻译成英文或者整理成结构化JSON再喂进去稳定性会高很多。4.2 生成后第一件事检查拓扑而不是看“像不像”大多数人拿到模型第一反应是看外观像不像我的习惯是直接导入FreeCAD或Onshape检查三件事这个体是不是非流形实体有没有破面、空腔、共用边。特征树里是不是每一个特征都可编辑拉伸、打孔、倒角是否独立。尝试改一个尺寸看模型会不会崩。Text-to-CAD生成的是带特征历史的模型理论上天然可编辑但如果内部有交叉面、退化面后续任何操作都可能失败。这一步一分钟的事能帮你省掉后面一整天的返工千万别跳。4.3 尺寸验证你以为的毫米和它理解的毫米实测下来基础尺寸基本能对上但细节经常偏。比如你写“倒角半径2mm”它可能真的给你倒一个2mm的角而“孔水平居中”这种相对位置描述它就经常理解成偏离中心。所以生成之后一定要进CAD测量一遍关键尺寸不要想当然。还有个更重要的认知Text-to-CAD的精度达不到直接投CNC的等级不是它算不准而是自然语言里根本没有公差和制造约束。它生成的是一个半径10mm的孔但你的图纸要求的是“直径10H7”这两者的差距就是“能用”和“合格”的差距。所以量产图出来之前公差、基准、表面粗糙度这些都得人工补上。4.4 常见的失败模式和一些规避办法我在实测里踩过的坑列一下给大家避雷相交特征导致布尔失败两个体交叠时CAD内核的布尔运算可能直接挂掉。规避办法是拆成多个零件逐步生成再用装配体组合。模糊描述导致尺寸爆炸写“约50mm”“大一点的孔”模型可能生成一个大到离谱的值。规避办法是全用绝对数字。左右和对称理解错说“左侧”时模型分不清是观察者视角还是零件自身坐标系。规避办法是明确写“对称于XZ平面”“相对Y轴对称”。特征顺序反了先描述打孔再描述拉伸结果就是孔没了或者变成了空腔。规避办法是自己脑子里先排好一个建模顺序在Prompt里写成“先建X再Y最后Z”。最惨的一次是我描述一个带斜角的壳体布尔运算生成了一个非流形壳导入切片软件直接报错。后来我改成先建外壳再分割才勉强能打印。这类经验跑几次就能总结出来建议第一次用的时候多留点余量。5. 把它接进真实工作流从“能出模型”到“能进产线”5.1 结论先行它是“草图提案器”不是“设计替代器”我理解Text-to-CAD现在最合理的定位是一个能把自然语言或需求文档快速变成初始方案的引擎。人类工程师在这个流程里的角色从“逐条画特征”变成了“评审需求修订Prompt”。这个转变听起来不大实际效率差很多尤其对那些脑子里已经想清楚结构、但特别懒得动手建细模的资深工程师来说简直是解放。落地闭环是这样的需求描述→大模型生成CAD→人工检查→修订Prompt→重新生成。这个闭环能把“从需求到第一版模型”的时间从小时级压缩到分钟级。但有一条红线不能省所有AI生成的模型在进入制造前都必须有正式的设计评审节点这是对制造流程的基本尊重。5.2 文件格式链路STEP、STL、3MF各有各的去处不同阶段要用不同格式别一种格式走到黑STEP/IGESCAD互换、进CAM/CNC、进PDM系统保留实体和特征。STL3D打印切片常用但只有三角面丢了特征和精度只能用于打印。3MF比STL更强支持颜色、多体、步进但也保留不了参数化历史。我的建议是构型阶段保留STEP加原生格式到打印阶段另存STL或3MF。另外提醒一句如果拿到的模型是mesh网格想进CAD得先转B-rep/STEP这一步通常要逆向工程或特征识别成本不低所以能用Text-to-CAD直接出STEP就别绕弯路。5.3 一个值得尝试的新玩法用Prompt当“设计文档”这个想法是我自己做版本管理时冒出来的。传统CAD模型是专用二进制格式别人拿过去很难快速知道当初的设计逻辑。但如果把“Prompt生成版本修订记录”一起存进Git等于把设计意图用文本完整记录下来了可追溯性反而比传统模型好。举个实际例子客户说“孔距从40改成45”你直接改Prompt里的数字重新生成验证一版提交Git。这个过程比在CAD里一个一个改约束、重建约束关系快得多。对于团队协作、参数化族维护、设计变更追溯这都有实打实的价值。5.4 私有化与数据安全制造业绕不开的坎制造业的图纸数据极其敏感很多企业不敢把真实产品描述丢到云端API里。这也是我看好开源权重模型的原因——企业可以把“文本→脚本→模型”全链路放在内网或本地GPU上跑数据不出门。如果只是想体验一下效果云端Demo没问题但只要涉及真实产品数据务必把私有化部署纳入选型条件这是工程常识也是采购时最容易忽略的一环。6. 边界和未来哪些场景现在千万别指望它6.1 公差与制造语义的鸿沟Text-to-CAD能生成几何但生成不了制造语义。公差、基准、表面粗糙度、材料、热处理——这些才是“能不能造出来”的核心信息但它们不属于纯几何大模型根本不知道什么叫H7。你让它生成“直径10H7的孔”它只认识“直径10”H7对它来说没有意义更不可能给你生成一张带公差标注的工程图。所以当前最理性的用法是几何由模型出制造语义由人来补。未来如果出现“公差感知模型”能把GDT知识灌进生成过程那才是真正能进入量产环节的时刻。我觉得两三年内会有苗头但现在还不能等。6.2 装配与约束单个零件OK整机还不行单个零件的生成已经能看但装配体涉及配合关系、约束、干涉检查、运动副。目前主流方案生成一个“由基座、卡扣、端盖组成的组件且卡扣能压入基座槽”这种带配合关系的产品成功率极低更不用提装配体生成后的自检测。实际项目里我建议把它用在零件级前期提案上装配级的生成和干涉检查还是老老实实交给传统CAD。未来这个方向要想突破大概率要结合“多零件生成约束求解器”让模型同时输出多个零件和它们之间的定位关系这个难度比单件生成高了一个量级但一旦打通价值也会大一个量级。6.3 复杂曲面和自由造型文本的天然短板文本本质上不擅长描述光滑曲面。“像汽车挡风玻璃那样”“像鼠标的流畅曲面”这种描述信息量太稀薄NURBS造型能力几乎用不上。现在做曲面设计人还是得靠草图、样条、铺面这些传统手段。可能的解法是多模态输入给一张三视图、一张草图再配一句设计意图让模型先理解外形再生成实体。像CAD-MLLM这样的工作已经在往这个方向探了。所以规则零件是Text-to-CAD的主场自由曲面暂时别抱期望。6.4 未来12个月我会盯着的几个指标最后列一下我会持续关注的几个技术指标这也是我判断这个领域是否“真成熟”的标准可编辑率生成模型能直接改参数的百分比这个比“生成得像不像”重要得多。多模态输入成熟度中文、草图、图像与文本混合输入的稳定程度。装配级生成能否同时生成多个零件并定义装配约束。PDM/PLM集成能否直接进制造业的研发管理链路。私有化部署门槛本地跑起来的硬件成本和模型体积。我的预判是Text-to-CAD不会取代CAD工程师但会大幅压缩“从需求到模型”的时间让更多不会参数化建模的人能表达设计意图让资深工程师从重复建模里解脱出来去做更高层的方案决策。明年再回头看这个领域的核心命题大概率还是“可编辑率能不能再高一点”“复杂中文描述能不能别一碰就碎”。7. 几轮实测下来我最大的体会与一个Prompt小技巧跑完这些方案我最大的感触是Text-to-CAD真正的价值不是“替代建模”而是把“设计意图”从人脑里直接搬到了模型里。以前我们要把意图翻译成菜单点击、坐标输入、约束定义现在直接说出来就行——虽然还很粗糙但方向对了。给想上车的朋友一句实在话先别急着拿它出量产图用它做方案、做规格族、做自动化前端的输入是最不踩坑的姿势。还有一个我自己用得很顺手的Prompt技巧把零件按“底板凸台孔”这种特征流拆成一行一行的短句每行一个特征带上绝对尺寸和相对位置生成稳定性会明显高于写一大段散文式的描述。比如前面那个轴座的例子把尺寸、位置、对称信息都放进去模型很少跑偏。工具是死的用法是活的。多试几次你会有自己的手法。

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

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

免费获取报价 →
↑