
我试过很多次这样的场景手边一个装配好的设备需要改个支架脑子里已经把形状、孔位、壁厚全想清楚了但打开 CAD 软件的那一刻还是得老老实实从拉伸草图开始。一个不算复杂的钣金支架从零建模到能出图少说也要四十分钟。这正是我第一次看到text-to-cad这个词时的反应——让 AI 直接根据文字描述生成 CAD 模型——我立刻意识到这东西如果真能落地改掉的恰恰是设计和制造流程里最枯燥的那一段。text-to-cad简单说就是文字描述转三维模型你输入一句一个带四个 5mm 孔的 80×60 安装支架模型直接给你吐出可编辑、可导出、带参数的 CAD 文件而不是一张渲染图。这个方向近几年从实验室论文一路走到可在线试玩的公共产品适合做结构设计、机械设计、3D 打印、创客教育的读者重点关注。这篇文章不讲虚的我把技术路线、实操链路、提示词技巧和真实的边界都拆开讲一遍。1. 从画图一小时到打字五分钟text-to-cad 要解决的痛点1.1 传统建模流程到底卡在哪用过 SolidWorks、Fusion 360 或 FreeCAD 的人都知道真正消耗时间的往往不是设计思考而是命令操作。你脑子里已经完成了 90% 的方案构思底板多厚孔距多少加强筋放哪倒角多大。但落到软件里你得依次完成新建草图、选择基准面、画矩形、标尺寸、添加约束、拉伸、再建草图、画圆、标注孔位、布尔运算……这一整套流程和设计能力无关纯粹是体力活。更麻烦的是修改。第一次建模时孔间距随手标了 40mm后来供应商说标准件要 42mm你得进草图层层改约束。改一处还好改三处就会碰到特征之间的父子关系断裂、草图过定义、参考面失效这些老问题。我见过不少工程师因此宁愿重新画一个也不愿意在原模型上改。这就是 text-to-cad 瞄准的缝隙把设计意图和建模操作解耦。设计意图天然是语言的、模糊的、容易修改的——这儿的孔大一点那边加个翻边——而建模操作是精确的、序列化的、不可逆的。如果能从语言直接生成可编辑的模型改需求就等于改一句提示词而不是重建一棵特征树。1.2 这个圈子真正想做的是什么需要说明的是大家口中的 text-to-cad 并不是单一产品而是一类技术方向。业内比较有代表性的工作包括Zoo 公司在 2025 年初发布的Text-to-CAD 模型基于上百万个真实 CAD 设计训练能把提示词转成参数化模型学术界有Text2CAD 数据集与模型这类研究项目提供大规模文字-模型配对数据开源社区则有不少方案把大语言模型输出接到 OpenSCAD、CadQuery 这类程序化建模工具上。它们的目标高度一致让生成结果可编辑、可参数化、可制造而不是像图像生成那样只输出一张好看的图。这个目标的难度比大多数人想象的大。一个三维 CAD 模型不是一堆三角形网格它有精确的几何拓扑、特征树、尺寸约束、单位制还要能对接后续的 CAM、仿真、3D 打印切片。所以 text-to-cad 的评判标准不是像不像而是能不能直接拿去加工。这一点对理解后续所有技术路线至关重要。2. 三条技术路线别把它们混为一谈市面上的 text-to-cad 方案五花八门但底层思路无非三条。我建议读者先建立这个框架再去试各种工具否则很容易被宣传话术带偏。2.1 路线一大语言模型 程序化建模脚本这条路线最朴素也最成熟让大语言模型GPT、Claude、开源模型等生成 OpenSCAD、CadQuery 或 FreeCAD Python 脚本再由解释器执行生成实体模型。它的优势是可控性强语言模型只负责写代码几何内核由成熟工具保证精度缺点是模型的能力上限取决于 LLM 对 CAD API 的掌握程度复杂特征比如放样、曲面裁剪容易写出语法对但逻辑错的代码。我实际测试下来对于标准拉伸、旋转、阵列、布尔运算这些基础操作这条路线非常稳。适合零件以规则几何为主的场景几乎可以当作会写代码的建模助手用。2.2 路线二端到端的原生生成式模型这条路线更AI 原教旨直接用大规模 CAD 数据训练一个专用模型输入文字输出参数化模型或带特征约束的边界表示。Zoo 的 Text-to-CAD 走的就是这个方向它把建模过程建模成一个 token 序列生成任务类似于让 AI 直接写出一棵特征树。这种方案的想象力最大因为它不是靠临时组合 API 调用而是学习了真实设计者组织特征的方式。但它对训练数据的质量和数量要求极高而且生成结果的可解释性差——模型认为这里该有个加强筋但它无法像路线一那样告诉你我加了一条rib()调用。2.3 路线三检索增强与智能装配还有一类方案不凭空生成而是基于大零件库做语义检索和参数匹配你描述带法兰的 DIN 标准轴端支架系统从库中检索最接近的零件再通过 LLM 调整关键参数。它的可靠度最高但只能覆盖库里有的类别属于查字典而非写文章。2.4 三条路线的横向对比路线生成方式可编辑性精度上限适合场景典型代表LLM 程序化脚本生成代码后执行高取决于几何复杂度规则零件、快速概念OpenSCAD GPT原生生成式模型直接生成特征序列高受训练数据限制标准件、常见结构Zoo Text-to-CAD检索增强库中匹配 参数调整中受库存量限制标准件复用各类零件库助手这里我想多说一句实际产品往往是多路线融合的。比如一个工具可能先用检索确认这是个法兰再用生成式模型细化特征最后用代码脚本兜底输出。用户不需要关心它内部怎么混血但应该知道精度和可靠性是判断路线的核心标准而不是看演示视频有多炫。3. 亲手跑通一次文字变三维模型的完整链路理论说再多也不如自己跑一遍。我带大家走完一个最小可用流程从零开始用文字生成一个可导出、可修改的 CAD 模型。3.1 工具选型从游乐场到开源方案现在最省事的入口是在线 playground。Zoo 的 Text-to-CAD 页面上可以直接输入文字、调整生成参数并在线预览模型适合先体验手感。如果你想把流程攥在自己手里我推荐开源组合任何一款大语言模型 OpenSCAD。OpenSCAD 的语法简单到半小时能上手而且它的建模方式本身就是写代码与 LLM 的生成能力天然契合。另一个选择是 CadQueryPython 语法更符合程序员的习惯但生态和文档比 OpenSCAD 略重。做本地验证时我通常这样配环境安装 OpenSCAD 桌面版用于可视化再装命令行版本用于批量导出 STL/STEP。然后让 LLM 直接输出.scad文件我打开渲染确认不满意就改提示词重新生成。整个过程五分钟一轮远比传统建模的修改循环快。3.2 一段真实的提示词与它生成的代码我以一个典型需求为例创建一个安装支架底板 80mm×60mm、厚 5mm底板后侧有一条高 40mm、厚 10mm 的竖直翻边翻边与底板等宽底板上对称布置四个直径 5mm 的通孔孔心距中心线均为 25mm 和 15mm底板所有外棱边加 2mm 倒角。一个好的模型输出的 OpenSCAD 大致长这样// 安装支架 - 由文字提示词生成 $fn 48; module mounting_bracket() { // 底板80x60厚5 linear_extrude(height 5) { offset(r 2) // 等效外棱倒角 square([80, 60], center true); } // 竖直翻边高40厚10与底板后侧相连 translate([0, -30, 0]) linear_extrude(height 40) square([80, 10], center true); // 四个直径5mm通孔 for (dx [-25, 25], dy [-15, 15]) { translate([dx, dy, 3]) cylinder(h 8, r 2.5, center true); } } mounting_bracket();注意几个细节模型在尺寸上做了换算和布局推演孔用cylinder加center true保证贯穿底板倒角用offset(r2)近似处理虽然不如真实圆角特征精确但对 3D 打印或快速原型完全够用。这段代码渲染后你会得到一个可旋转、可剖切、可测量尺寸的真实实体而不是一张示意图。3.3 验证与导出模型不是终点生成代码只是第一步专业工程师和爱好者拉开差距的地方在于验证。我的标准动作有三步尺寸测量在 OpenSCAD 里用%投影或导入检查工具确认关键尺寸孔距、板厚、翻边高度逐项核对防止 LLM 出现参数漂移。干涉检查如果模型要配合现有零件我会把它导出为 STL 或 STEP丢进 Fusion 360 的临时环境里和配合件做一次干涉检查。打印或加工前的切片模拟3D 打印的话直接切片预览确认没有悬空面需要额外支撑CNC 加工则检查最小圆角半径是否满足刀具直径。一个容易被忽略的坑是单位制。OpenSCAD 默认以毫米为单位但 LLM 偶尔会按英寸生成导致模型整体放大 25.4 倍。我建议在提示词里明确写一句所有尺寸单位均为毫米别看它简单能省的麻烦远超你想象。4. 三维世界的提示词工程完全不同的语言写了这么久文字提示词我想单独用一个章节聊这个主题因为它是 text-to-cad 与传统文本生成最大的分水岭。给 Stable Diffusion 写提示词核心是形容词和风格词给 text-to-cad 写提示词核心是可验证的精确描述风格词反而无关紧要。4.1 尺寸、单位和坐标系三维世界的语言第一个要素是尺寸。优秀的提示词应该包含具体数值、单位、以及数值的参照系。例如底板宽 80和沿 X 方向宽 80、中心位于原点是完全不同的信息密度后者让模型知道坐标系怎么摆生成结果才能和后续装配对齐。我自己的经验是默认采用以原点为中心的描述方式让模型把对称特征均匀布置在原点两侧。这样后续做阵列、镜像、装配配合时坐标系天然合理不用额外平移。4.2 特征语言与制造意图第二个要素是特征命名。CAD 世界里同样的几何可以用不同特征实现一个洞可能是hole、cut、counterbore一个圆角可以是fillet或chamfer。语言模型对特征词汇越熟悉生成的代码越接近设计者的真实意图。所以我会刻意使用规范术语底板、翻边、加强筋、沉头孔、腰形槽、拔模斜度、螺纹孔——这些词对应 OpenSCAD 和 CadQuery 里有明确实现方式的概念。制造意图也要写进提示词。同一块板子3D 打印可以接受内部空腔和任意悬空角度CNC 加工就需要考虑刀具可达性钣金件则最好只给展开后的板材描述。合理的做法是在提示词开头加一句背景此零件用于 FDM 3D 打印或此零件将用 5mm 铝板 CNC 铣削加工模型的策略会明显不同。4.3 常见翻车现场与修正套路我跑过的案例里最常出现的三类问题值得提前预防特征冲突模型同时生成底板厚度 5mm和孔深 8mm后者把底板穿了个洞。修正方法明确说明孔为通孔或以底板中心对称贯穿。左右不分描述翻边在右侧时模型可能放在 X 或 -X 任意一侧。修正方法用在 X 方向距原点 30mm 处这样的绝对坐标描述。过度设计提示词没提倒角模型自作主张加了一圈圆角。修正方法加一句仅允许必要之处出现圆角未特别说明的棱边保持直角。把这些修正经验沉淀成固定短语放进你的提示词模板里后面每个零件都能复用。这也是我强调维护个人提示词库的原因。5. 落地场景和边界什么时候该用什么时候别碰5.1 非常适合的四个场景从我实际使用来看text-to-cad 在以下场景能稳定创造价值概念方案探索产品早期需要快速对比三五个结构的布局每个结构生成一版模型看比例、看干涉、看装配逻辑比手动建模快一个数量级。3D 打印用户的小零件我为打印机做过风扇支架、线缆夹、传感器盒子这类零件以规则几何为主对精密配合要求不高是 text-to-cad 的最适合土壤。教学和演示教学生理解拉伸-切除-阵列这些基础概念时用文字生成再读代码学生能同时看到设计意图和实现方式比盯着工具栏逐项点效率高。图纸阅读理解辅助把一段手写需求或客户邮件丢给模型生成初始模型虽然直接能用的概率不高但拿到一个形状正确、尺寸待核实的草模后续修改成本远低于从零画。5.2 暂时别指望它的三个领域同时我踩过的坑也印证了三条边界线精密配合和公差设计轴孔配合、齿轮啮合、密封面这类需要微米级控制的场景生成式模型目前的稳定性不够。它给出的模型经常是几何上存在工程上不合格公差标注、表面粗糙度这类信息更是几乎无能为力。复杂自由曲面消费电子外壳的连续曲面、汽车外饰的 A 级曲面是当前数据驱动模型的盲区。这类形态无法用语言精确描述必须依靠正向建模和细分曲面工具。多零件装配关系单零件生成已经有了可用成果但整机装配涉及配合约束、运动副、干涉空间目前文本描述很难完整表达强行使用只会得到一堆看起来能装、实际装不上的零件。边界不是永恒不变的但认清现状能帮你少走弯路。我现在的策略是把 text-to-cad 当作自动化的前期草稿工具而不是取代 CAD 的终极方案。它负责把语言变成几何剩下的工程决策仍然由人来完成。6. 跑了几十个案例之后我的一些实在话6.1 让 AI 当草稿机别让它当终极交付我见过不少朋友把 text-to-cad 的生成结果直接拿去下单加工然后翻车的。问题不在于生成质量而在于没有人对结果负责。传统建模中你亲手画出的每一个特征都经过了你的思考和检查生成式流程跳过了这个过程如果还跳过验证风险自然转移到了制造环节。所以我的原则是无论哪个工具生成正式交付前必须人工复核关键尺寸、材料厚度、公差要求。把 AI 定位成三分钟出草稿的加速器而不是工程师免检通道这条心法能省去你大量后续返工。6.2 建立你自己的提示词库做这行越久我越觉得提示词不是一次性的而是可以积累的资产。每次调通一个零件我就把提示词和生成的代码一起存档按零件类型打标签支架、法兰、外壳、夹具、传感器座。下次遇到类似需求直接调出模板改尺寸五分钟出第一版。久了之后这个库的效率价值甚至超过了工具本身的进步带来的提升。另外一个小技巧写提示词时习惯性带上输出 OpenSCAD 代码这个格式约束再要求代码内注释标注每个参数的用途和默认值。这样生成的模型不只是一次性结果而是留下参数化入口的可复用资产——未来改孔距、改壁厚、改倒角都变成改数值而非改结构这才是 text-to-cad 真正值钱的地方。从最初的四十分钟手工建模到如今一句提示词加五分钟验证就能拿到可用模型这种变化对个人工作流的影响是实实在在的。它没有让设计师失业反而把我们从重复劳动里解放出来把精力放回真正需要判断力的地方。如果你想试试水我的建议很简单挑一个你手头最简单的小零件找一台能跑 OpenSCAD 的环境先让那句描述变成实体再考虑要不要把它纳入日常流程。