如果你这两年一直在关注CAD软件和AI的交汇处,应该能明显感觉到一个变化:越来越多的人开始聊“text-to-CAD”这个方向。简单来说,就是用一句话描述你想要的零件,然后让模型直接生成对应的CAD模型文件,而不是像传统流程那样,自己打开建模软件从草图开始一步步拉。这个方向刚出来的时候,我其实持保留态度,觉得离真正可用还很远。但今年我在某个非标自动化项目里认真试了一圈,结果比我预想的好不少,尤其是某些标准零件和简单壳体,生成之后稍微改改就能直接出图加工。
这篇博文我就把这半年多折腾text-to-CAD的核心经验完整梳理一遍,包括它到底是怎么工作的、现在能做到什么程度、我实际踩过的坑,以及一套我自己摸索出来比较稳的实操流程。如果你是一个结构设计师、机械工程师,或者对AI辅助设计感兴趣的技术人,希望能帮你少走点弯路。
1. text-to-CAD是什么:一句话建模背后的真实能力边界
先说清楚text-to-CAD到底是个什么东西。它的输入是自然语言描述,输出是CAD模型文件。但这里有几个关键区分点,很多第一次接触的人容易误解。
1.1 从“文字生成图片”到“文字生成实体模型”
这两年大家最熟悉的AI生成是文生图,输入prompt输出JPG、PNG这类位图。text-to-CAD虽然听起来是类似的操作,但它要解决的是完全不同的问题。图片本质上是二维像素的排列,你生成一张图,里面画了一个法兰盘,但它只是一张图,你没法把它导入CAM软件去编程加工,也拿不到它的直径、孔径和厚度。
text-to-CAD的输出必须是一个可编辑、可测量的三维几何体,最常见的是STL网格、STEP文件这两种格式。STL是三角面片组成的网格,适合3D打印和快速验证;STEP是真正的CAD交换格式,包含了B-rep边界表示,可以被主流三维软件直接打开并参数化编辑。我现在做项目需要出工程图或送加工,基本都要求模型最终落到STEP格式,否则后处理会很痛苦。
这里就引出一个很重要的能力边界问题。文字生成图片今天已经可以做到相当惊艳,但文字生成CAD模型受限于两个因素:一是工业模型的几何约束比图像像素严格得多,配合面要贴合、孔位要对齐、公差要合理;二是训练数据远不如互联网图片那么丰富。所以你现在看到的text-to-CAD工具,真正擅长的是规则几何体和常见机械零件,比如法兰、支架、齿轮、轴套、壳体这类。而对复杂的自由曲面、需要多零件装配配合的东西,它生成的结果往往还比较“概念化”。
1.2 主要存在三种技术路线
我在调研阶段把市面上的方案分成三大类,每类的原理和适用场景完全不同。
第一类是“体素/点云重建路线”。模型先生成一个三维体素网格或者点云,然后再用曲面重建算法把它变成网格模型。这类方案的优势是对描述形状的容错度比较高,你说“一个带四个圆角的方块”,它大致能把形状关系弄对。缺点是几何精度上不去,生成的表面经常有小起伏或台阶,后期要花大量时间修面,真正用于结构件产品设计并不划算。
第二类是“程序化建模路线”。模型将用户输入映射为一系列参数化建模操作,比如拉伸(extrude)、旋转(revolve)、打孔(hole)、圆角(fillet),然后在后台执行这些操作生成实体。这有点像让人工智能去写一段CAD操作宏。这种路线的最大好处是生成结果天然是参数化可编辑的,工程意义很强,适合已经比较标准化、规矩化的零件。
第三类是“CSG布尔运算路线”。CSG,构造实体几何,通过组合基本几何体(立方体、圆柱、球等)做并集、差集、交集来产生复杂实体。这类路线在描述逻辑非常明确的零件时有奇效,比如“在一块平板上减去一个直径10毫米的孔”,它就能很准确地生成带孔的板。
我自己的判断是,第二类面向未来最有价值,但目前的成熟度参差不齐。多数免费或开源的方案停留在第一类和第三类之间,输出格式多为STL网格,需要反复转换。
1.3 适合谁用、不适合谁用
text-to-CAD绝对不是一个“取代三维设计师”的工具,我觉得最靠谱的定位是“需求快速可视化引擎”和“灵感生成器”。它适合三类人:
第一类是经常需要做技术方案沟通的人。比如你跟客户讨论一个非标治具的大致外形,传统做法是你花半小时画一个初稿发给客户,发现方向不对又改。有了text-to-CAD,你可以随手打一句话生成三五个方案,先定方向再细画。
第二类是制造工程师。当车间需要做一个简单的定位块、压板,不想为了这么个小件重新建三维模型再出图,可以用text-to-CAD快速生成可加工的几何体,导入软件后补充螺纹孔和具体尺寸就行。
第三类是个人开发者、创客、3D打印玩家。很多人在做自己的原型时,只是需要一个“长得差不多、关键孔位能用就行”的模型,不太关心参数化树的干净程度,这类工具可以大幅节省从零画图的时间。
但如果你是要做精密传动机构、复杂的注塑件或者需要完全可控的模具分型面,现阶段还是老老实实用传统建模吧,强行用AI生成本身就不是明智的选择。
2. 核心细节解析:提示词怎么写,生成的模型才靠谱
经过大量测试我得出一个结论:text-to-CAD的输出质量,60%取决于你提示词写得好不好,30%取决于选对了工具,真正模型本身的生成能力只占一小部分。下面拆解一下我怎么把描述从“模糊”变“精确”的。
2.1 描述结构化:从一句大白话到工程语义
很多人上手时直接写“帮我画一个支架”,这基本生成不了什么可用的东西。我在实操中会把描述拆分为五类信息:
- 几何基元:这个零件的主特征是什么,长方体、圆柱体、圆锥还是它们的组合体?
- 主要尺寸:长宽高或直径、厚度,尽量给具体数值。
- 拓扑关系:特征的组合方式是叠加、切除还是相交?主特征是位于中心还是偏移?
- 功能特征:孔、槽、圆角、倒角、加强筋。这部分最容易被忽略,但恰恰是加工要求的核心。
- 约束条件:是否对称、某几个孔是否等距、是否有螺纹要求。
举个例子。初级描述是“做一个电机安装支架”,这不够。我实际会写成:
一个L形支架,由两个长方体垂直相交组成,竖直板尺寸为80x60x8毫米,水平板尺寸为100x60x8毫米。竖直板上有一个直径为12毫米的腰形安装孔,沉头孔,中心距离顶端30毫米;水平板上有四个直径为6.5毫米的通孔,孔距为40x30毫米,排列在四角。
这样的描述包含了形状关系,也包含了配合尺寸。生成出来的模型即使不能直接加工,它的特征位置和比例基本是合理的,后续改动成本大幅度下降。
2.2 区分“外形描述”与“工艺描述”
我一开始总是把加工工艺混进外形描述里,比如“这个孔需要精铣,另一面要倒角”,结果系统处理起来很费劲,生成效果也混乱。经过多次尝试,我发现大部分text-to-CAD系统理想的工作方式是分开处理几何信息和工艺信息。
几何信息是模型必须包含的内容,比如孔径大小、孔的数量、位置关系。而工艺信息,比如“这个面要磨加工”“这个孔是铰孔”,属于后处理阶段的事,不应该让生成模型承担。你需要做的是在文本描述中先描述几何形状,把公差、表面粗糙度等信息留到导出模型后再在CAD软件里标注。这样生成成功率会直线上升。
我把这个经验总结成一句话:让模型只管“长什么样”,不要让它管“怎么造出来”。
2.3 提示词里的高频有效词汇
在大量测试中,我发现有一套词汇对生成结果的准确性帮助很大。这些词我会配合具体数值使用:
- “对称”这个词很管用,比如“关于X轴对称的...”,生成结果中特征位置会更整齐;
- “通孔”和“盲孔”要严格区分,系统对这两个词理解得很清楚;
- “等间距均匀分布”比“平均分布”效果好;
- 使用“圆角R3”“倒角C1”这类带数值的工程语法,比单独说“四周过渡一下”更精准。
千万不要用大量模棱两可的修辞,比如“差不多”“稍微”“有点”。模型对程度副词的推理能力极弱,你写“稍微厚一点”,它根本不知道是多少。要把所有模糊词汇替换为具体工程数据,这是text-to-CAD提示词和文生图提示词最本质的区别。
3. 实操过程与核心环节实现:一个电机支架的全流程复现
下面分享一次完整的实操过程。我选的是一个比较有代表性的零件:一个电机支架。它有L形主体、安装孔、减重槽和圆角,难度适中,非常适合演示text-to-CAD的完整流程。
3.1 工具选型与准备
我测试了多种free的web服务、开源本地部署方案以及几个商业软件的内置AI功能。最后沉淀下来一套相对固定的组合:主生成用某个开源项目(部署在本地),后处理用主流三维软件,尺寸校验用脚本解析STEP文件。
我给新手一个建议:先从Web端工具开始,不要一上来就折腾本地部署,因为很多web服务能直接导出STEP格式。在我测试的方案里,能直接导出STEP的优先级是最高的,导出STL只是第二选择。
我用的系统是基于文本生成CSG程序,然后自动执行得到模型的实现。这个方案的好处是生成速度快、特征的工程意义清晰,缺陷是对自由曲面的支持很弱。我用下来发现它比较适合描述逻辑明确的零件,和我日常机械件场景匹配度较高。
3.2 提示词输入与参数选择
在这个电机支架案例中,我输入的提示词经过多轮调整,最终版本是:
生成一个电机安装支架。主体为L形,由两块厚度8毫米的板组成。竖直板高80毫米、宽60毫米,顶部有一个半径25毫米的半圆弧切口。水平板长100毫米、宽60毫米,与竖直板底部垂直连接。竖直板上有一个直径12毫米的圆孔,圆心距离顶端35毫米、距离左侧边缘30毫米;水平板上有四个直径7毫米的通孔,中心距分别为40毫米和30毫米,对称分布。所有外边缘做R2的圆角。
实际执行时,生成时间大约30秒左右。系统会先输出一段程序代码,再调用建模内核把几何体构建出来。我观察它生成的CSG代码,基本是按照提示词逐条映射成圆柱减除、长方体叠加、圆角扫掠等操作。首次生成的模型结构上是完整的,但四个通孔的位置略有偏差,上边缘的圆角也没有完全生效。
3.3 模型校验与后处理流程
生成完毕不等于结束,对我来说真正的挑战在后处理。三元模型出来后第一步是导入三维软件进行尺寸测量。我习惯的做法是打开测量工具,先测量关键外形尺寸是否与预期一致,再检查孔中心距偏差。上述案例中,外形尺寸80x60x8基本准确,孔距实测为39.8x30.1毫米,误差控制在0.2毫米以内,这在概念设计阶段完全可接受。
第二步修正圆角。模型虽然做了R2圆角,但某些非功能面我没期望它一定成功。修正的方法是自己选中边线手工补一个R2圆角,这个流程比我从头画快太多。
第三步把孔位标准化。我使用草图重新约束了四个孔的中心坐标,让它们严格满足40x30毫米间距。再调整孔径到目标值,因为生成的通孔直径结果略有浮动。
最终我把该模型导出为STEP格式,导入加工软件验证刀路,未发现干涉问题。从写提示词到完成可加工的STEP文件,总耗时大约20分钟。如果按传统方式建模,这类零件我要画40分钟以上。效率提升是真实的。
4. 工程场景实战:从单件生成到小批量修改的三个关键技巧
单一零件成功不算真正的胜利,工程中的常态是快速迭代修改。这一部分我讲讲实战中总结的三个关键技巧。
4.1 让AI生成“特征骨架”,而不是最终成品
我尝试过把text-to-CAD当正式设计工具来用,但它生成的模型在细节配合上不够稳定。我的解决方案是让AI承担“特征骨架”的角色,即生成带有正确特征类型和相对关系的模型,然后我进入CAD里做参数化二次开发,统一调整尺寸。
比如设计一个齿轮箱壳体,我用文字描述生成箱体的基本轮廓、轴承孔位和螺栓分布,这个阶段不求尺寸精确,只求拓扑关系正确。然后我在CAD里把关键尺寸参数化,通过修改参数表调整壁厚、孔径。这样发挥了两边优势:AI负责把抽象需求变成空间拓扑结构,人负责把工程约束精确化。这对防止“AI幻觉导致关键孔位错误”特别有效。
4.2 版本化提示词管理
工程项目的设计往往要经历多轮改动。我养成了一个习惯:每一轮提示词修改都单独存一个版本备份,类似于代码管理。如果你在提示词里把“竖直板高80毫米”改成“竖直板高100毫米”,一定要新建一个记录,不要在原文件上改来改去。
原因是我发现模型的输出经常是不确定性的,同样的提示词换两次生成结果可能有细微区别。记录版本可以让你回溯到底是哪一次修改导致了最终结果。如果你是在做方案汇报,还能快速生成A/B两版给客户选择,这是项目沟通时的很大优势。
4.3 混合建模:AI生成加人工细化
目前我的标准工作流是一个混合流程:
- 用text-to-CAD生成至少三个初始方案;
- 对比方案,选出拓扑合理的一个作为底子;
- 将该模型导入专业软件,重设关键尺寸与约束;
- 对非关键圆角、倒角进行批量处理;
- 加标注、出工程图。
这套流程现在已经稳定用于我们团队的前期方案设计与客户沟通环节。强烈建议读者不要试图只用text-to-CAD一步到位生成最终生产图纸,而是把它定位成一个“快速起步工具”。我见过不少同行一开始期望过高,测试失败后彻底放弃,其实是没找到正确的工作流姿势。
5. 常见问题与排查技巧实录
这一部分我整理了实际操作中多次遇到的五个典型问题,附上我的排查思路和解法,基本都是常规文档找不到的实战经验。
5.1 孔位整体偏移偏差大
现象:生成模型的孔位相对描述位置偏移程度超过2毫米。排查思路:先检查坐标基准。text-to-CAD系统生成模型时,坐标原点通常是模型整体的包围盒中心,而设计师描述时经常下意识以第一特征为基准。这两者不一致会导致“你说的中心”和“系统算的中心”不是同一个。解决方法:在提示词中额外注明“所有尺寸以模型整体左下角为原点”,生成后我在CAD里检查时会缩小偏移量。
5.2 阵列特征数量不对
现象:说好了六个孔,实际上变成了五个或七个。排查思路:系统对“阵列”概念的推理本来就弱,它可能会把首尾叠加次数弄错。我的解法是主动避开“阵列”这个抽象词,改成逐项列出的描述方式:“位置在A、B、C、D共六个孔”。虽然提示词长了,但生成成功率大幅提升。
5.3 生成结果每次都不一样
现象:同一段提示词,连续生成两次得到不同的结果。排查思路:大部分模型的生成过程带有随机采样机制,类似的输入并不保证完全相同的输出。行业中通常会在界面里调整“随机种子”参数。如果工具不提供这个选项,那么你只能手动锁定一个有代表性的输出作为基准版本,后续修改一定要基于这个基准版本,而不是重新生成。
5.4 STEP文件导入软件后报错破损
现象:模型看起来没问题,但导入到CAD软件后显示“无法识别实体”或者“面破损”。排查思路:这类问题绝大多数出在网格模型到实体模型的转换上。有的工具内部是网格先拓扑重建再导出的STEP,一旦原始网格有自相交或退化面,导出的STEP就不合法。我先用网格修复功能自动修复,再导出为STEP。如果修复后仍报错,我就换一种导出格式,先用STL导出,再在CAD软件中用曲面重建工具重新生成实体。
5.5 文字描述中包含颜色或材质信息无效
现象:我在提示词里写“铝合金材质”“表面阳极氧化黑色”,但生成的模型完全不受影响。排查思路:目前的text-to-CAD系统将几何描述和材质描述混在一起时,几何特征反而会被稀释。材质、颜色、表面处理这些应该留给下游流程处理。精简掉描述中的所有工艺与外观词汇后,几何生成的稳定性明显改善。
我把这个经验拓展成一条通用建议:提示词里只允许出现几何与拓扑相关信息。凡是和零件几何形态无关的词汇,一律删去。实测这条能解决多半生成效果怪异的问题。
6. 我的总体评价与适用边界
做了大量测试之后我给text-to-CAD现阶段的能力做一个客观的总体评价:它是一个能够大幅提升前期设计效率的辅助工具,但距离替代工程师的正式设计流程还很远。
6.1 真正能提效的环节
对我个人来说,它最省时间的环节有两个。第一是通过文字快速解释客户需求,以前需要画图沟通,现在直接文字生成三维预览,几分钟内就能做多个方案对比。第二是做非标自动化项目中出现频率较高、形态相对固定的零件类型,比如电机支架、传感器安装板、气缸连接块、钣金折弯件。这类零件结构规律性很强,AI生成的结果已经能直接作为初稿使用。
我把这些适合的零件特征归纳为:规则几何、对称性好、特征数量适中、孔位依赖性强、自由曲面极少。在这些范围内,生成结果的可用率我个人测试大约在七成以上,配合我在前文提到的后处理流程,可投入实际工程的比例明显更高。
6.2 目前会让我头大的场景
以下几个场景,我测试多次基本都不满意:
- 复杂装配体,特别是多个子零件之间有运动副的装配体;
- 高度依赖曲面的产品外形,例如消费电子外壳或汽车外饰件;
- 强尺寸链约束的精密零件,例如轴承座有严格同轴度要求的特征;
- 尺寸标注不清晰的薄壁件,系统可能生成厚度不一致的壳体。
遇到这些情况,建议直接回归传统建模。不要强行去用AI生成,否则后续修改成本可能高于从零画图。
6.3 未来半年值得关注的方向
就我观察到的技术趋势,有几件事正在发生,建议同行保持关注。
很多模型开始接受多模态输入,也就是文字加草图、文字加参考图片甚至文字加点云。这对描述复杂空间关系帮助非常大。比如你可以画一个粗略的主视图草图,再用文字补充厚度和孔径,生成结果的准确性会明显提升。
还有“约束输出”方向的进步,部分方案在尝试生成满足指定的尺寸链约束或者装配约束的模型。我觉得这是让text-to-CAD真正进入工程设计流程的关键一步。如果未来能直接在文本中定义“孔A与孔B同轴”“面C与面D平行”,生成的模型将具备真正的工程价值。
另一个值得关注的是与参数化CAD的无缝集成。当系统不只是输出STEP文件,而是输出一个带有完整参数特征树的原生格式文件时,文本生成建模才真正对专业用户产生革命性影响。目前已有一些实验性质的产品在做这件事,但稳定性还不理想,我推测这一两年内会有实质进展。
7. 总结:我六次迭代后沉淀的实战心得
最后分享几条心得。
第一,不要对它抱有不切实际的期望。把text-to-CAD当成一个“超级灵感草稿师”就好,它的核心价值是快速把你脑子里的想法变成一个可查看、可讨论、可修改的基础模型。把它当作正式设计工具时,痛苦的是你;把它当作起步工具时,受益的也是你。
第二,提示词能力是这个领域最重要的技能。我在实际使用中体会到,为了让模型生成一个理想结果,我反而花了很多时间在整理思路上面。结果就是,即使生成结果不算完全理想,但我的设计思路在提示词撰写阶段已经被迫梳理得很清晰了。这份梳理过程本身就是价值。
第三,永远保留人工校验环节。无论生成速度多快、效果多好,关键尺寸、孔位、装配关系最终都必须经过人工复核。目前没有任何AI能够理解现场装配条件、加工工艺约束、相邻零件配合关系,这件事只能由工程师完成。
第四,可以尽早开始积累自己的“提示词零件库”。我习惯把常用零件类型的优质提示词整理成模板,比如电机支架、传感器座、防护罩等。下次遇到类似需求时可以快速套用,稍微修改尺寸即可生成。经过几个月的积累,我现在完成一个基础零件初稿的时间基本控制在十分钟以内。
text-to-CAD这条路还很长,但方向已经很清晰。它能切实降低从想法到三维模型的门槛,让更多非专业建模人员可以参与到产品定义过程中。我很期待看到它在工业场景里的落地方式不断成熟,也希望大家都能摸索出一套适合自己的工作流。