
说实话第一次在浏览器里输入一句“做一个外径40毫米、内径30毫米、厚度5毫米的圆环垫片”然后看着CAD软件自动把草图、拉伸、打孔一步步搭出来的时候我脊背是发凉的。这不只是生成一张好看的渲染图而是一棵完整的参数特征树——你把孔径改成25整个零件都会跟着变。这种“用自然语言直接生成CAD模型”的能力如今被统称为text-to-cad。这篇文章想聊的不是论文里的概念而是我实际跑完几条主流路线之后的真实感受它解决了什么问题、卡在什么环节、哪些场景现在就能用以及提示词到底怎么写才不容易翻车。1. Text-to-CAD到底是什么我用一句话把它说清楚市面上叫“text-to-cad”的东西其实有三条完全不同的技术路线很多人把它们混在一起谈结果预期全乱套。我建议先把概念拆开这样后面看评测案例才不会一头雾水。1.1 三条技术路线别把它们混为一谈第一条是端到端AI生成。你输入一句话模型直接吐出CAD文件或者说吐出可以被CAD识别的中间表示。最典型的比如Zoo.dev的Text2CAD它在公开Demo里展示过输入“一个三角形的固定支架”这样的文本系统会生成草图和特征定义你甚至能在网页上直接编辑特征树而不是拿到一张死图片。这条路线的优点是想象力强能生成你没想到过的几何缺点是稳定性靠运气同一个提示词跑十次可能出来十个样子而且复杂装配体基本没戏。第二条是LLM加参数化脚本。让大语言模型输出CadQuery、build123d或者FreeCAD的Python脚本再在本地执行脚本生成模型。这条路本质上是“文本转代码再转CAD”不是AI第一次生成几何而是AI帮你把建模逻辑写出来。我个人现在最常用的是这条路原因后面会详细说简单讲就是脚本可控、参数可改、出错了能查代码。第三条是CAD自带生成式设计。像Autodesk Fusion 360里的Generative Design你输入的是设计目标和约束——受力位置、材料、减重目标、避让空间软件给你迭代出一堆满足约束的造型。它的输入更多是“目标约束”而不是“一段自然语言”更适合传统工程师上手但严格说它解决的是拓扑优化问题不是从零建模问题。三条路线互相不矛盾但如果你把它们当成同一个东西去评估很容易产生“为什么这个工具连个孔都打不准”的误解。1.2 为什么这件事比“AI画图”高一个量级这两年AI生成图片已经卷到人人都能上手但text-to-cad和AI绘图有个本质区别图像是栅格数据CAD是拓扑数据。画一张猫的图片模型把一千万个像素的颜色填对就行单个像素错了肉眼根本看不出来。CAD模型不一样一个实体模型由面、边、顶点之间的拓扑关系严格连接而成一个面歪了、一条边断了整个模型就“破”了切片软件或者机床根本没法用。打个比方AI绘图像是写作文句子散一点、跑题一点读起来还能大概懂text-to-cad更像走迷宫一条路走不通就真的困在里面出不来。这也是为什么你会发现文本转图片的工具已经满地跑而text-to-cad至今还处于“能跑但离生产力还差一截”的阶段。成本差的不是模型规模而是问题的难度本身。2. 为什么会说话不等于会建模CAD生成难在哪理解了概念之后得聊聊底层原理。如果不知道它难在哪你很难判断哪些功能是现阶段可以期待的哪些是广告吹牛。2.1 从像素世界到B-rep世界表示方式的鸿沟工程师盯着CAD模型看的是“拉伸、打孔、倒角”这些特征AI看到的是顶点坐标、边线、曲面方程。要让AI输出一个合格的B-rep边界表示模型等于要它同时保证几何正确性和拓扑正确性。几何正确性是说坐标和曲面方程不能互相矛盾拓扑正确性更难办——模型内部每个面、每条边、每个顶点之间的连接关系必须闭合不能多一条悬空边也不能缺一个顶点。而传统AI生成图片根本没有“拓扑”这个概念像素之间是独立存在的。CAD不行一个实体必须“水密”任何一个缝隙都意味着模型失败。我见过不少生成结果单独看每个特征都对但拼到一起就是破的就是因为在拓扑层面出了幺蛾子。2.2 自然语言的歧义一句人话N种零件“做一个板子”这句话在CAD语境里几乎等于没说。是铝板还是塑料板多厚多大要不要孔放哪个坐标系上默认是XY平面还是前视面用户脑子里已经有一个明确模型但文字没有承载这些信息。自然语言是给人类沟通用的很多关键约束是靠上下文和默契补全的而CAD模型恰恰是把所有默契都显式化的一个形式。这也是为什么纯靠自由度很高的自然语言直接生成模型结果总是“形似而神不似”。你说“一个流线型的底座”AI可能会给你一个像鼠标的曲面块但底座需要几个安装孔、需要避让哪些元件、底面要不要镂空减重这些信息在文字里根本不存在AI只能靠猜。猜对了是惊喜猜错了是常态。2.3 参数化与特征树能看更要能改这是区别“模型”和“作品”的分水岭。一个成功的CAD文件不只是几何正确它还要可编辑、可复用。你在SolidWorks里建一个零件左边会有一棵特征树草图1、凸台拉伸、切除打孔、倒角……别人拿到这个文件改一个草图的尺寸后面的特征自动更新。这是参数化建模的灵魂。AI直接生成几何最容易犯的毛病是“一套现成的水密模型但没有历史”。你拿过来想改孔距发现改不动——因为那只是一个静态的实体没有特征树也没有尺寸约束。Zoo的Text2CAD之所以让人眼前一亮就是因为它输出的不是静态网格而是可以编辑的CAD特征但这背后的技术难度比生成静态模型高了不知道多少因为模型得在一个合理的特征序列里去构造几何而不是像捏泥巴一样把所有几何元素一次摆好。2.4 制造约束模型做得出来产品做不出来最后也是最容易被忽略的CAD模型的终点不是屏幕是车间。3D打印要考虑最小壁厚和支撑结构CNC要考虑刀具能否伸进内腔注塑要考虑脱模斜度。这些约束不会出现在一句自然语言里用户大概率也不会想起来说但模型如果不符合这些约束就永远停留在“看着像”的阶段。这就让text-to-cad又多了一层任务它不仅要理解语义和几何还要内置一部分工艺常识。而现阶段的模型连几何稳定都还没有完全解决制造约束更多得靠人工在后期处理时补。所以目前比较务实的定位是把它当草稿生成器而不是当发版工具。模型可以产出一个80分的基础几何剩下20分的工艺适配还是得靠CAD老手来补。3. 实测三条主流路线结果离“能用”还有多远光讲原理不落地等于画饼。我把自己最近几轮有代表性的测试记录整理了一下对比三条路线各自的真实表现给大家一个相对公允的参照系。3.1 端到端AI路线惊艳有余稳定不足先说纯文本端到端路线。我第一组提示词写得很工整“外径40mm、内径30mm、厚度5mm的圆环垫片带四个均布沉头孔”。结果是草图、拉伸、打孔特征一个不少特征树也是可编辑的尺寸基本贴近预期那一刻确实有“未来已来”的感觉。第二组我故意放飞写的是“像一个鸟巢的镂空花盆”。结果几何形状非常天马行空能看但完全不符合工程习惯——孔洞大小不均、壁厚忽大忽小、局部还出现了自相交。跑完这两组测试我总结出一个规律约束越显式结果越可靠。原因是模型本质在做模式匹配垫片、法兰、支架这类标准件在训练数据里见得太多提示词里只要明确给出尺寸和特征它就往记忆里的模板上靠你一旦开始描述造型风格它就放飞了。3.2 LLM加参数化脚本路线目前最能落地的黑马第二条路线我连续用了快半年这里直接放一个最简单的例子。让一个LLM根据提示词输出CadQuery脚本输入大致是这样“在XY平面上建一个长100mm、宽60mm、厚度8mm的矩形板四角距离边10mm的位置打直径6mm通孔顶面所有边倒R3圆角。”模型输出的脚本长这样import cadquery as cq result ( cq.Workplane(XY) .rect(100, 60) .extrude(8) .edges(Z) .fillet(3) .faces(Z) .workplane() .rect(80, 40, forConstructionTrue) .vertices() .hole(6) ) cq.exporters.export(result, plate.step)把脚本跑完导出STEP文件导入任何主流CAD里还能继续编辑。这条路线最大的爽点是可以在脚本层面做二次开发把长宽厚和孔距全定义成变量下次想换一种规格改数字就行不用重新生成。出错的时候去翻代码哪一步不对一目了然这种可排查性是端到端路线给不了的。需要特别提醒的是LLM生成的脚本几何上经常出错常见的是坐标系搞反、面选错、孔位和预期差一截。所以脚本一定要在本地跑一遍再用可视化预览确认不能闭眼导入直接用。3.3 CAD内置生成式设计给传统软件添的AI翅膀Fusion 360的Generative Design代表第三种形态。它的输入不是一句话而是一组约束比如固定点、受力、材料、最大应力值软件自动迭代出满足物理条件的拓扑结构。我用一个简易支架模型试过给定两端的安装孔、一个向下的载荷和减重目标它生成的镂空结构确实在应力分布上比人工方案更均匀。这类工具的优点是完全跑在成熟CAD内核里生成结果能直接进入后续仿真和制造流程没有格式转换损耗缺点是你不能说“给我一个圆润的把手”它不懂风格只懂物理。它更像一个非常聪明的结构优化器而不是对话式建模助手。如果你本身就在用Fusion这类软件这条路线最值得先试。3.4 一轮典型测试记录什么样的提示词最容易翻车我把最近测试的结果整理成一张表大家可以直接拿去对照自己的使用场景提示词类型典型表现翻车点带明确尺寸的标准件垫片、法兰、支架成功率较高尺寸和特征都写在文字里容易匹配到模板简单结构件加孔位描述还算稳定基准面容易选错孔位偏移带风格和比喻的描述鸟巢、流线型、有机造型成功率低语义歧义太大几何放飞带装配关系的描述“盖子要能卡在壳体上”基本失败模型没有接触面、公差、配合的概念目前能稳定输出的是那些“约束清晰、特征常规、尺寸明确”的零件一旦跨入装配、配合、工艺这些工程语义全线崩溃。这也是为什么我强调要搞清楚自己用在哪一环别拿装配体的需求去考验一个草稿生成器。4. 把Text-to-CAD塞进真实工作流哪些场景值得用评价一个新工具不能只看它能不能生成模型得看放进真实生产链路里能不能节省时间。下面这些场景是我实际用下来觉得确实有价值的以及现在还别惦记的。4.1 真正值得用的四个场景第一个是概念草模。前期方案评审时经常需要一个立体示意放在PPT里或者3D打印出来给大家摆一摆。以前我手工画要半小时到一个小时现在用文本生成一个粗略初稿只要几分钟特别适合快速验证大方向。第二个是标准件和变型设计。垫片、支架、外壳这类零件结构规律、参数明确。把规格写清楚让AI生成CadQuery脚本再把尺寸变成变量一套脚本能覆盖一整个系列效率和手工建模完全不在一个量级。第三个是3D打印一代样。只要几何结构正确、尺寸对得上FDM和光固化对工艺的容忍度比较高AI生成的模型可以直接拿去切片打印做功能验证发现问题后再回到CAD里精修。第四个是给传统设计当“灵感起手”。先让AI出一个粗略初稿你再在CAD里基于特征树重做。这一步听起来绕其实非常高效——人从零开始面对空白画布容易卡壳但面对一个80分的初稿你知道该改哪里思路会被快速激活。4.2 现在还别碰的三个场景高公差配合件绝对不能碰。真正的尺寸公差、形位公差、表面粗糙度AI目前完全没有概念。一个需要H7/g6配合的轴孔你指望它自动给出合适的过盈量做出来的东西到装配线上只会被骂。这类活还是老老实实回传统CAD。大型装配体同样别想。几百个零件之间的层级关系、配合约束、爆炸视图、运动干涉生成式工具完全handle不了。我试过一次让AI往装配体里添加一个新零件结果它把已有零件的参考平面全搞乱了修了半天比重新画还慢。有企业标准和规范要求的图档也是重灾区。图纸模板、标注规则、图层体系、标题栏格式每个公司都有自己的规矩AI不可能自动遵守。你要拿去归档或者发给供应商的图一定是人工确认过的这一步省不掉。4.3 与人配合的推荐流程AI出草稿人做定稿经过这段时间的磨合我跑出的一套相对顺手的流程是五步把需求写成设计说明大小、尺寸、特征、单位、基准面全部写清楚越像一份工程说明越好。用AI生成脚本或特征推荐走LLM加CadQuery这条路或者用支持特征树导出的端到端工具。本地预览加自动检查检查水密性、最小壁厚、是否有破面这一步能拦下大部分低级错误。导入传统CAD做人工精修重新整理特征树、补全约束、做干涉检查把AI生成的特征改成自己的设计逻辑。按需出图或送制造只有这一步落在人手里质量才有保证。这套流程最大的价值是把“从零建模”的启动成本压下来了同时没有牺牲最终交付的质量。人是质量守门员AI只是那个手速极快的绘图员。5. 提示词与后处理技巧提高命中率的实操经验最后这部分是纯干货把我踩坑踩出来的经验浓缩一下。text-to-cad的提示词和提示词画图完全是两回事越接近工程语言效果越好。5.1 写提示词的“一句一特征”法我自己摸索出的最有效方法是每个句子只描述一个CAD特征把所有修饰性形容词删干净。举一个正面例子“在默认XY平面创建矩形草图长100毫米宽60毫米。拉伸8毫米形成板。在顶面距四边10毫米处打4个直径6毫米通孔。对顶面所有边应用R3圆角。”这段提示词每句话对应一个操作建草图、拉伸、打孔、倒角。模型解析起来非常轻松因为它本质上就是按特征顺序执行。反过来如果你写“给我一个漂亮的、光滑的、带点圆润感的铝制外壳”模型只能靠猜。“漂亮、光滑、铝制”在CAD里没有可计算的对应关系删掉它们你一点损失都没有。5.2 明确单位、基准面与参照单位不写是最大的灾难源。你说“做一个长10的块”AI大概率默认是10个单位至于是毫米还是英寸完全看模型心情。所以所有尺寸后面必须带单位毫米、厘米还是英寸显式写清楚。方位词同样要小心。说“上方”“左侧”之前先指定观察方向或基准面。CAD的唯一参考系是XYZ坐标和平面不是你的屏幕视角。孔位最好说“从顶面打”拉伸说“沿Z轴”不要在描述里留下任何“从正面看”这种话否则模型和你理解的正面大概率不是一个正面。5.3 常见翻车现象与排查方向我在测试中整理了一张问题排查表命中率很高现象常见原因对策比例和预期差很多没写单位显式写“毫米”或“英寸”孔位偏移没给基准和参照写“距边10mm”“四个角均布”圆角倒角出不来没指明目标边和面写“顶面所有边”“侧面竖边”生成的是网格不能编辑走了端到端mesh路线换脚本路线输出STEP格式尺寸改不了没有参数化特征用CadQuery等脚本定义变量这些问题的共同根源都是提示词里缺失了工程语义。你把工程语义补上成功率会明显上升。5.4 拿到结果后的三步后处理AI生成完模型只算完成了一半后处理才是决定能不能用的关键。我的固定流程是三步走。第一步查水密性和拓扑完整性。导入CAD或网格检查工具确认没有破面、悬空边、自相交。这一步不过关后面所有工序都是白搭。第二步核对关键尺寸和特征树。把AI生成的特征重命名、重新组织改成你的设计逻辑。比如把“草图1”改成“主轮廓”“凸台拉伸2”改成“安装凸台”再把常改尺寸提取成全局变量。做过这步之后这个模型才真正变成你的资产AI生成时的随机性被完全消除。第三步做工艺检查。壁厚够不够、脱模角度有没有、支撑要不要处理、刀具能不能伸进去。这些工艺问题AI目前给不了答案但你可以带着问题去修改特征修改完再让AI重跑一遍验证形成一个人机协作的循环。我自己现在的工作流基本固化成这样凡是概念件、壳类、测试夹具这类不涉及严格公差配合的先交给text-to-cad跑草稿凡是和装配、供应商、企业标准挂钩的一律回到传统CAD里人工把关。把AI当成一个反应极快但经常走神的实习生而不是全能建模师心态就顺了。最后分享一个我特别受用的小习惯不管用哪条路线先把零件的外形和主要特征写成一段带单位的“设计说明”再让工具去生成。文本越像设计说明结果越像设计图。这套工具的边界还在快速移动但入口已经换了——以后CAD的起点大概率是一句话。