☰
从设计意图到三维模型:text-to-cad原理、工具与提示词实战指南
2026/10/8 21:09:00 网站建设 项目流程

先说一个我在实际工作中反复经历的场景:在SolidWorks或者Fusion 360里画一个安装支架,建基准面、拉草图、标尺寸、加约束、拉伸、切孔、倒角,熟练工十分钟,新手半小时起步。然后设计改了,角度从45度变成60度,又得回去改草图。text-to-cad这个词第一次刷到我眼前的时候,我默认它是又一个"看起来很美"的玩具——直到我真的打了一行"四孔安装支架,孔间距40毫米,带60度折弯",30秒后浏览器里出现一个能旋转、能看到大概结构的三维模型,我才意识到这件事的分界线根本不是"生成模型"本身,而是它把"我脑子里的设计意图"直接翻译成了"建模操作"。

这篇文章我不打算做成工具清单式的搬运。我想站在一个用过各种CAD软件、也被各种新工具坑过的使用者角度,把text-to-cad的核心原理、目前真正能上手的工具、完整跑通一个案例的路径、提示词怎么写才靠谱,以及那些最容易翻车的场景,一次性讲清楚。无论你是机械设计、工业设计、3D打印玩家,还是想给自家产品快速出结构草模的开发者,这篇都能给你一个相对完整的判断框架。

1. 为什么"打一行字生成模型"这件事值得认真对待

1.1 传统建模流程里的时间黑洞

我做设计这些年,越来越确定一件事:日常建模工作的80%都不是什么高精尖内容,而是支架、外壳、法兰、盖板这类标准结构件。这类零件的建模流程高度重复——新建草图、画轮廓、标注、拉伸、切孔、倒角。真正消耗时间的不是"想清楚要什么",而是"把想法一步步翻译成软件操作"。

这个翻译过程就是最大的时间黑洞。你脑子里的零件是完整的:底板多厚、几个孔、孔距多少、折弯多少度。但CAD软件不认识你的脑子,它只认"草图—特征—约束"这条链路。你每改一次尺寸、每调一次角度,都得重新走一遍这条链路。设计师的实际工作节奏,其实是在"设计"和"改图"之间反复横跳。

text-to-cad带来的改变,恰好发生在最痛的这个环节:把"我从需求到第一版草模"的时间压缩到几十秒。注意我说的是"第一版草模",不是"最终可加工的零件"。这个定位差别非常关键,后面我会反复强调。

1.2 text-to-cad的准确定义和边界

先说清楚概念,因为现在"text-to-3D"和"text-to-CAD"经常被混用,但两者完全是两码事。

text-to-3D走的是生成式AI老路,输入一段描述,输出一个三角网格模型(mesh),带纹理、带材质,主要服务游戏、影视、电商展示。它的特点是"好看就行",几何精度、水密性、可编辑性都不重要,因为它的终点是渲染。

text-to-CAD不一样。它要输出的是工程意义上的实体模型:封闭的实体(solid)、有明确的尺寸和约束、可以被下游的布尔运算、倒角、出工程图继续处理。它的判卷标准不是"像不像",而是"尺寸对不对、特征全不全、能不能继续编辑"。一个只能看不能改的模型,在工程师手里等于废品。

所以我把这件事的边界总结成三句话:

  • 它生成的是"带参数约束的实体"或"能生成实体的代码",不是贴图
  • 它追求的是"可编辑、可测量、可制造"的工程语义
  • 它解决的是"从设计意图到第一版草模"的加速问题,不是替代你进行完整设计

1.3 第一批真正受益的人

我实测下来,有几类人从text-to-cad里获得的价值最大。

第一类是3D打印玩家。他们经常需要一些非标的连接件、夹具、外壳,用CAD画嫌麻烦,不画又没法打印。text-to-cad直接给STEP或者STL,丢进切片软件就能打,效率提升是肉眼可见的。

第二类是机械设计的早期概念阶段。我认识的结构工程师,现在会在评审前用text-to-cad快速生成三五个方案草模,用来讨论"孔位朝哪边""加强筋放在哪",而不是一上来就建精细模型然后推倒重来。

第三类是完全不碰CAD的工程师。电子工程师、软件工程师要一个外壳、一个散热片支架,以前得求着结构同事,现在自己打一句话就能拿到草模,结构同事只需要在最终阶段帮他精修。

至于什么人不太受益,也很明确:做复杂曲面车身覆盖件的、做高精度模具的、做多零件运动仿真的,目前都不要对text-to-cad抱太多幻想。这类工作需要的建模深度和工程约束,远远超出了当前AI的几何推理能力。

2. 原理拆解:语言模型是凭什么把"文字"变成"几何"的

2.1 空间语义解析:大模型怎么"听懂"尺寸和位置

大模型本身不能"看见"三维几何,这一点要时刻记住。它的工作方式是:在海量的CAD教程、建模论坛、设计文档、代码仓库里,学到了大量和几何描述绑定的语言模式。比如"通孔"这个词,在训练数据里反复和"diameter""through hole""切除"这些概念一起出现;"倒角"总是和"45度""距离边缘5毫米"绑定。所以当你输入一段包含尺寸、位置、特征名称的描述时,模型是在"联想"它见过的那些建模对话和文档,而不是在脑中渲染一个零件。

这里最关键的能力是"空间语义解析"。简单说,模型需要理解"底板上4个直径5毫米的通孔,孔距边缘10毫米"意味着什么——"4个"是数量,"直径5毫米"是孔的规格,"孔距边缘10毫米"是定位约束。这需要模型把自然语言里的空间关系映射到一个假想的坐标框架里。早期的模型在这个环节一塌糊涂,经常丢孔、错位、尺寸自相矛盾。现在的主流模型已经好很多,但遇到复杂多特征零件仍然会出错,原因就是它始终在做概率推理,而不是精确计算。

这也是为什么所有能用的text-to-cad工具,都不是让模型"直接想出一个模型",而是让模型"写代码,然后由代码生成真实几何"。语言模型负责编排水语和逻辑,真正的几何计算交给CAD内核去执行。这样至少能保证一件事:只要代码语法正确、逻辑自洽,生成出来的几何在数学上就是成立的。

2.2 表达维度:为什么中间层是代码而不是网格

我见过不少朋友问:为什么不让AI直接输出模型文件,非要绕一道"代码"?这个问题的答案,恰恰是整个技术路线的精髓。

直接生成网格(mesh),就像让画家直接画一张成品图——看着好看,但这张图没法改参数,没法在工程软件里继续加工。而代码作为中间表示,相当于把"怎么画"的过程也一并交给了你。我可以用一个生活化的类比:直接给网格,相当于给你一盘做好的菜;通过代码生成,相当于给你一份菜谱。菜谱可以调整咸淡(改参数)、可以复刻(重新执行)、可以二次创作(改写代码)。

具体到实现上,现在主流系统让模型输出的代码通常是OpenSCAD脚本、CadQuery/PythonOCC脚本,或者工具厂商自己的参数化描述语言。代码被CAD内核执行后,生成的是真正的B-rep实体模型——有面、有边、有拓扑关系、带参数历史,可以直接导出STEP,可以被FreeCAD、Fusion 360、SolidWorks识别和继续编辑。

这个"代码中间层"还有一个隐藏优势:可调试性。当生成的模型不对时,工程师可以打开代码文件,看到底是哪一行逻辑出了问题,而不是面对一个黑盒模型无从下手。我在后文会详细演示这个调试过程。

2.3 三条实现路线:检索、直接生成、程序化合成

目前text-to-cad的实现路径大致有三条,我分别说说它们的特点和取舍。

检索式/模板式:预先建立标准零件库和模板,AI根据文本描述从库里匹配最接近的零件,再对参数做调整。优点是快、稳、可控性强,特别适合法兰、轴承座、标准连接件这类高度规格化的零件;缺点是很依赖库的覆盖面,遇到真正新颖的形状就抓瞎。

直接生成式:类似text-to-3D的做法,用扩散模型直接在隐式场(SDF)或体素上生成几何,再转换为网格或实体。优点是自由造型能力强,适合外观件、有机形态;缺点是精度太差,尺寸不可控,而且从网格转回可编辑CAD实体的过程非常痛苦,目前不太适合工程场景。

程序化合成式(LLM+代码生成):这是当前工程场景下最实用的路线。大模型理解文本后生成一段参数化建模代码,由CAD内核执行。它同时获得了尺寸可控(因为是显式数字)、可编辑(参数全在代码里)、可验证(打开代码就能检查)三样优势。代价是依赖模型写代码的准确性,代码一错,整个模型就错,且错误往往很隐蔽。

我把三条路线对比一下:

路线精度可编辑性形状新颖性典型场景主要风险
检索/模板高中低标准件、规格件库覆盖不足
直接生成低差高外观概念、有机形态无法工程化
LLM+代码中高高中结构件、功能件代码错误、特征遗漏

3. 主流工具实测:从商业产品到本地开源我挨个试了一遍

3.1 Zoo Text-to-CAD:免费入口和它的"脾气"

Zoo推出的Text-to-CAD应该说是把这波热度带起来的标志性产品。它在2024年上线的时候完全免费,直接在浏览器里用,输入一段自然语言描述,就能生成可下载的STEP/STL文件。我当时实测的体验是:注册简单,界面极简,生成速度大概十几秒到半分钟。

它的底层思路就是上面说的"代码中间层"——它会生成一份参数化CAD文件,而不是一堆三角面片。这一点非常对路。实际用它生成简单支架、外壳、法兰时,效果确实超出预期,孔位、壁厚这些基本要素大部分时候是对的。

但它有明显的"脾气":一是高峰期排队明显,生成一个模型等一两分钟是常态;二是它对很长的提示词处理得不够稳定,描述一旦超过七八个特征,就开始出现丢特征、尺寸漂移;三是生成结果存在随机性,同一句话跑两次可能得到两个不同的零件。所以我的经验是:把它当"快速草模生成器"用,不要当"精密建模工具"用。后来Zoo把重心转向了基于图结构编辑的Kitty生态,但Text-to-CAD这个入口至今仍是体验这类能力最方便的方式之一。

3.2 工业软件厂商的探索版本

Autodesk、Siemens这些老牌工业软件厂商也在做类似的事情。Autodesk内部有把自然语言和参数化建模结合的研究项目,也在Fusion 360里逐步加入智能辅助能力,比如根据文本描述建议建模步骤。Siemens NX在工业助理方向也有一些落地功能。

不过说实话,这类"工业正统军"的产品目前更多是把AI当成辅助建议,而不是直接生成完整模型。原因很好理解:面向制造业的软件,要为生成的每一个几何特征负责,一旦AI生成的模型带病进入下游工艺,责任归属和产品质量都是大问题。所以你会看到,这些厂商的产品在落地时非常保守,反而没有创业公司那么激进。对于普通用户来说,现阶段与其等工业软件的AI功能成熟,不如先用独立的text-to-cad工具跑通流程,把最终文件导进工业软件做精修。

3.3 开源路线:本地部署的可行性

如果你不想受制于在线工具的排队和黑盒,开源路线是相当靠谱的替代方案。学术界有Text2CAD这类项目,使用包含约17万组"文本-CAD代码"对的数据集微调模型,让模型输出CadQuery代码,然后执行生成STEP文件,整个流程可以在本地CPU上跑完。

而更轻、更灵活的做法,很多人没意识到有多好用:直接用通用的代码生成大模型(GPT、Claude、DeepSeek这类)+本地CAD内核。

  • 方案A:让大模型生成OpenSCAD脚本,丢进OpenSCAD里渲染导出STL。适合快速看形状、做3D打印原型。
  • 方案B:让大模型生成CadQuery的Python脚本,本地执行导出STEP。适合需要保持参数化、后续要进专业CAD编辑的工程件。

这两个方案的成本几乎为零,效果还意外地好,因为代码生成本来就是大模型的强项。我在本地试过用CadQuery让模型生成一个带法兰、四个螺栓孔的连接座,它写出来的代码一次跑通,导出STEP后放进FreeCAD,尺寸完全可编辑。这件事你给我再早两年,我想都不敢想。

3.4 选型建议:不同需求该选谁

我根据自己的使用经验,按场景做了个简单的选型表:

使用场景推荐方案原因
快速体验、不需要本地环境Zoo Text-to-CAD零门槛、免费、浏览器即用
3D打印原型、视觉验证大模型+OpenSCAD输出STL直接切片、成本低
工程草模、要进专业CAD精修大模型+CadQuery输出STEP、参数可编辑
标准件批量生成检索式模板工具精度高、速度快、可控
学术研究、二次开发Text2CAD等开源项目数据、代码、权重全开放

最终我的建议是:不要神化任何单一工具。把"在线生成器"和"本地代码生成"组合起来用,前者做灵感探索,后者做落地验证,互补效果最好。

4. 完整跑通:让一句描述变成一个可编辑的STEP文件

4.1 明确输出目标:你到底是想要STL还是STEP

很多人第一次用text-to-cad,拿到一个STL就以为完事了。但STL只是三角网格,等于一张"只能看的雕塑照片"。如果你后续要在CAD里改尺寸、加螺丝柱、做装配,STL就是死路,必须拿到STEP这种带实体的格式。

所以实操之前,先问自己一句:这个模型是用来干嘛的?

  • 只为了看造型、拿去3D打印?STL够用。
  • 要进CAD继续编辑、要出工程图?必须STEP。
  • 要做装配体里的一个零件?必须STEP,而且最好带参数历史。

这个选择直接决定你用什么工具、什么输出格式。我用CadQuery路线生成的STEP文件效果最好,因为CadQuery本身就是Python库,生成的实体天然就是B-rep实体,不需要任何网格转换,导入FreeCAD和Fusion 360都是干净的实体特征树。

4.2 第一条提示词怎么写:从模糊到可执行

下面是一个真实可复现的例子。我先给一个反面案例,再给正面案例,然后解释差别。

反面案例:做一个支架,用于固定电机

这个提示词的问题在于完全没有工程信息——什么尺寸、什么形状、固定孔在哪、支架怎么安装?模型只能猜,猜出来的东西既不能用也不能改。

正面案例(我用CadQuery路线时的实际提示词):

创建一个L型电机固定支架: 1. 底板为矩形,宽度80毫米,深度60毫米,厚度6毫米 2. 垂直板从底板长边向上延伸,高度70毫米,厚度6毫米 3. 底板靠近垂直板一侧开2个直径6毫米的通孔,用作安装定位 4. 底板四角做半径8毫米的圆角 5. 垂直板顶部开一个直径30毫米的圆孔,圆心距垂直板顶边15毫米

我把这段提示词交给大模型,让它生成CadQuery代码,几乎一次跑通。导出的STEP在FreeCAD里打开,所有尺寸都是参数化的:底板厚度6毫米、孔直径6毫米、圆角半径8毫米,改参数只需要双击特征。

这个例子的关键是什么?尺寸全部数字化、特征顺序清晰、几何关系明确("从底板长边向上延伸""距顶边15毫米")。大模型在这种"结构化描述"下的表现,远好于一段散文式描述。为什么?因为代码生成模型的优势就是理解结构化的、逻辑分明的输入。

4.3 生成结果的后处理:网格转实体的坑

如果你拿到的输出是STL网格而你又需要STEP实体,就得面对"网格转曲面"这个经典的CAD难题。目前有几个处理思路:

第一,尽量用代码生成路线(OpenSCAD/CadQuery),从源头避免网格。CadQuery导出的就是STEP实体,OpenCAD导出的STL则可以通过OpenSCAD内置的import("part.stl")再配合一个壳(shell)操作勉强救一下,但效果看运气。

第二,如果只有STL,可以用逆工程软件(如FreeCAD的Mesh Workbench、CloudCompare等)做网格重绘,但这个过程耗时且对复杂曲面极不友好。我的实测结论是:花两小时抢救一个STL,不如花两分钟换一个能生成STEP的工具。

第三,导入CAD后一定要做实体检查。在FreeCAD里查看Part模块的属性,确认它是Solid而不是Shell;在Fusion 360里用"检查"功能看有没有开放边。这点我在下一节会展开。

4.4 迭代闭环:把"像"变成"准"

生成模型不是一锤子买卖。一个合格的使用者,应该把"生成—检查—修正—再生成"当成标准流程。

我第一次生成上面的L型支架时,孔位其实偏了:模型把两个固定孔放在了底板中线,而不是我要求的"靠近垂直板一侧"。这时候不用重新写一整段提示词,只需要增量修正:

保持原有设计,将底板的2个安装孔移到底板前侧边缘,孔中心距前侧边缘12毫米,孔间距40毫米

模型会基于原代码做局部修改,比重新生成更稳。原理是:代码上下文里有完整的参数定义,修正提示词相当于做一次参数调整。

我还建议给每个零件保存一份"提示词+生成代码+导出文件"的文件夹。因为你会发现,同一个零件的不同版本,改到最后可能又回到第一个版本,有历史记录能省很多重复劳动。这套工作流,本质上是把传统的"版本管理"概念从CAD文件延伸到了提示词和代码层面。

5. 提示词工程:几何描述和日常语言完全是两码事

5.1 尺寸说话:一切约束都要数字化

我在社区里见过太多人问"为什么我生成的支架这么奇怪",点开提示词一看,写的是"一个中等大小的支架,有几个孔,有点圆角"。这种描述拿去给人类工程师,对方也得追着你问十句话,何况是概率模型。

几何生成的第一铁律:所有能数字化的东西,一律数字化。

  • "中等大小" → 宽度80毫米,深度60毫米,高度70毫米
  • "几个孔" → 4个孔,直径5毫米,两两间距40毫米
  • "有点圆角" → 圆角半径8毫米

数字本身还不够,还要给数字配齐参考系。我说"距边缘10毫米"的时候,"边缘"究竟是哪条边?"高度70毫米"是从底板的顶面量还是底面量?这些都要在提示词里说清楚。我的习惯是:先描述基准面或基准边,再描述由此出发的尺寸。

5.2 坐标系思维:位置、朝向、对称

第二个铁律:用坐标系的思维方式组织描述,而不是用散文。你可以想象自己在给一个看不见的建模学徒发微信,要求他一步步操作:

  1. 在XY平面上建立底板草图
  2. 底板以原点为中心,沿X方向80毫米,沿Y方向60毫米
  3. 拉伸6毫米
  4. 在底板模型坐标系中,以(20, 20)为圆心放置第一个孔

这种"步骤化+坐标化"的写法,对模型的友好程度远高于一句话描述。原因在于大模型在训练时见过大量以教程形式出现的建模步骤,这种格式正好落在它的能力舒适区。

5.3 给模型做减法:语义噪音是最大的敌人

这个技巧很多人意识不到。text-to-CAD和text-to-3D的提示词逻辑是相反的。

text-to-3D里,"未来感""简约""蒸汽朋克"这些形容词是加分项,因为艺术家要的就是氛围。但在text-to-CAD里,这些词基本是噪音——它们既不能转化为几何操作,还可能把模型的注意力从尺寸和约束上拉走。我实测过,在一段尺寸明确的提示词后面加上"外观要显得高端",模型反而开始在一些无关的曲面细节上加戏,接着就开始丢孔。

另一种噪音是"负向描述"。你写"不要圆角,不要斜切",模型经常反过来理解。与其用否定句约束它,不如用肯定句覆盖它。写"所有边缘保持直角",比写"不要倒圆角"可靠得多。

我总结了一套自用的提示词模板,给大家参考:

核心目标:{一句话说明这是什么零件} 材料假设:{可选,用于影响隐含参数} 建模步骤: 1. {基准/基础形状 + 尺寸} 2. {拉伸/旋转 + 厚度} 3. {特征1 + 位置 + 尺寸} 4. {特征2 + 位置 + 尺寸} 约束说明:{明确的口径/参考系} 输出要求:{导出为STEP,保持参数化}

把每次可复用的结构化描述存成模板,下次改参数就行。这比每次从零开始写提示词,成功率提升一个量级。

6. 现在的天花板和最容易翻车的场景

6.1 几何精度:AI的"差不多"和工程的"差一点"是两回事

我必须泼一盆冷水:当前的text-to-cad,连"尺寸完全准确"都做不到稳定保证。它经常出现的问题包括:孔位偏移(差几个毫米)、该倒角的直角没倒、零件壁厚自相矛盾、特征的几何关系错误(比如孔和边缘重叠)。这些都是代码层面的微小逻辑错误,不打开代码很难发现。

所以我的规则是:任何text-to-cad生成的结果,导入CAD后都必须做一轮完整的尺寸核对——逐项对照原始需求。这个核对过程并不可怕,因为参数化模型的尺寸都暴露在特征树里,检查起来比传统"测量模型"快得多。

6.2 复杂曲面与自由造型:目前的重灾区

凡是涉及NURBS曲面、多截面放样、复杂过渡面的零件,text-to-cad的表现都非常挣扎。原因很直接:这类几何的建模过程高度依赖设计师的造型直觉,中间步骤充满非线性的判断(比如控制点怎么排、流量怎么调),难以用语言精确描述,也难以靠代码生成模型去逼近。

如果你要做的是一个吹风机外壳、一个鼠标曲面,我建议直接放弃text-to-cad,老老实实打开细分曲面建模。text-to-cad真正擅长的是平面、直线、规则圆弧构成的"箱体+孔洞+折弯"类零件——这类占据了机械设计的大多数,但请不要拿它去硬啃自由曲面。

6.3 装配关系与工程约束:AI目前"看不见"的部分

text-to-cad生成的是单个零件的形状,它完全不理解装配。它不知道这个支架旁边还有一个电机要挨着它放,也不知道螺栓要从哪个方向拧进去。所以它不会自动留出装配间隙、不会考虑零件的装拆路径、不会判断两个零件之间会不会干涉。

工程上的公差(GD&T)、表面处理、材料性能、制造工艺约束,更是完全不在它的视野里。生成结果默认是"理想形状",没有公差带、没有粗糙度、没有热处理要求。这意味着它只能作为设计探索的前半段,后半段的工程化工作必须由人在CAD里完成。

6.4 我的判断:当前最合理的"人机协作"用法

说了这么多局限,我不希望你把text-to-cad当成一个让人失望的工具。恰恰相反,搞清楚边界之后,它是我近一年用得最频繁的设计辅助工具。

我给它的定位是"设计意图的具象化加速器":你用30秒生成一个草模,强迫自己把"要什么"想清楚;然后花10分钟在CAD里精修,加入装配约束和工艺细节。算下来,把一个零件的首版草模时间从30分钟压缩到10分钟,效率提升三倍,这才是它能实实在在带给你的价值。

我还想提醒一点:写好提示词本身,就是一个极低成本的"设计评审"。当你必须把"电机支架"这件事拆成"底板尺寸、安装孔位置、圆角半径"这些具体参数时,你其实已经完成了一半设计思考。很多人用过之后会发现,text-to-cad真正教会他们的不是AI有多强,而是自己过去有多少设计需求从未被认真量化过。

最后分享一个我个人一直在用的小技巧:把项目的所有提示词按"零件类型"归档,比如"L型支架""矩形外壳""法兰连接座"。下次遇到类似零件,直接套模板改参数,生成成功率会高得惊人。我自己的模板库里已经积累了二十多套经过验证的描述结构,它们比任何工具自带的预设都好用——因为这些模板里的每一个措辞,都是在一次次的"生成不理想—修正措辞—重新生成"里打磨出来的。这套"自己喂自己"的方法,可能才是text-to-cad这个工具留给我们最长远的东西。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询