最近团队里接了个非标零件的活儿,需求方开口就是“一个带法兰的轴套,外径50,内径32,法兰那边均布六个孔”。按老流程,这得打开CAD软件,建草图、拉伸、打孔阵列,怎么也得十几分钟。这次我试着把这句话原样扔进text-to-cad工具里,二十几秒后,一个带特征树的轴套模型出来了,连六个孔的位置都是对的。这个体验让我意识到,自然语言直接驱动三维建模这件事,已经从实验室玩具走到了能放进工作流的阶段。
text-to-cad,顾名思义,就是用文字描述生成CAD模型的技术。它不像文生图那样只追求视觉像不像,而是要把语言里的尺寸、约束、特征关系翻译成真正可编辑、可制造的三维参数化模型。这篇文章我以自己的实测过程为主线,从技术原理、工作流搭建、翻车案例到工程化落地,完整拆一遍这个方向现在到底能干什么、不能干什么,以及怎么用才不踩坑。
适合谁看?如果你是机械设计、非标自动化、工装夹具设计相关的工程师,或者在做3D打印、产品结构设计,又或者只是被各种AI建模视频撩得心痒,这篇文章都能让你少走弯路。
1. 为什么突然都在聊text-to-cad:它解决的其实是“需求转译”问题
1.1 建模动作本身不难,难的是把需求变成特征
用CAD软件画过零件的人都知道,一个轴套建模的核心动作无非是旋转、拉伸、打孔、阵列,快捷键按熟了十分钟搞定。真正的效率瓶颈从来不在“画”这个动作,而在“翻译”——需求方说“带法兰的轴套”,到底法兰多厚、六个孔均布在多大的分度圆上、孔是通孔还是沉头孔,这些信息需要反复确认,画完还要改。
text-to-cad切入的正是这个“需求转译”环节。它把自然语言里的模糊描述解析成明确的设计意图,再映射成CAD的特征操作序列。这意味着它不只是在生成一个形状,而是在生成一个“建模过程”。这一点非常重要,决定了后期能不能改、怎么改。
我实测下来的感受是:它像是一个带了设计常识的建模助理。你说“均布六个孔”,它知道要按60度阵列而不是随手放六个位置;你说“通孔”,它知道贯穿整个零件而不是只打一半。这些常识以前只能靠画图人的经验补全,现在变成了模型参数的一部分。
1.2 和文生图、文生视频的本质差异:精度与可编辑性
很多人把text-to-cad和文生图混为一谈,因为它们面向的输入都是自然语言。但两者的底层目标和评价标准完全不同。
文生图的任务是“看起来像”,像素级别有偏差没人计较,甚至模糊一点更有艺术感。text-to-cad的任务是“做得出来”,外径50mm就是50.00mm,多0.01mm都是废品。更关键的是,文生图的输出是位图,放大就糊,改一个角就要重新画整张图;text-to-cad的理想输出是参数化模型,改一个直径,后续所有关联特征自动更新。
用句大白话总结:文生图给你一张照片,text-to-cad给你一个可以继续修改的“活模型”。这也是为什么它的技术难度比其他生成式AI高一个量级——它要在连续、精确的几何空间里做决策,而不是在离散的像素空间里做预测。
1.3 谁真正需要它:从非标设计到个人创作者
从我的使用场景看,text-to-cad最有价值的地方分三类:
- 非标设计和快速打样:客户需求描述往往只有几句话,先快速生成一个初稿模型用于报价和方案评审,比手动建模快得多。
- 标准件库的快速搭建:像法兰、支架、支座这类有明确参数规律的结构,写一段描述就能批量生成不同规格,省去重复建模。
- 个人创作者和3D打印用户:没有专业建模基础,但能说清楚自己想要什么形状,用text-to-cad把想法变成可打印的STL文件。
不过要泼一盆冷水:目前它最擅长的是“有明确几何规则”的机械零件,对于曲面造型、自由形态、需要大量美学判断的设计,表现还比较弱。认清边界再上手,体验会好很多。
2. text-to-cad背后的技术管线:从一句话到可编辑参数的完整链路
2.1 自然语言解析:先把人话变成结构化的设计意图
整个管线第一步,也是决定成败的一步,是把自然语言转成机器能理解的结构化描述。这个过程不能只靠关键词匹配,因为同一句话在不同语境下含义完全不同。
比如“直径50的轴,两头车螺纹”,这里的“两头”是两端都有螺纹,还是只有一头带了两段?实际执行时,系统会做意图拆分:主体特征(轴)、尺寸(直径50)、特征操作(车螺纹、位置约束(两头)。这一步通常依赖大语言模型的外挂知识,也就是把机械设计常识注入到解析过程中。
实测时我发现,好的工具在这一步会把解析结果展示出来,让你确认它“理解对了”。如果它把“均布”理解成“均匀分布”而不是“圆周阵列”,你还能在生成前干预。这个可确认的中间环节,是text-to-cad和黑盒文生图拉开差距的地方。
2.2 几何生成:直接出网格还是走参数化重建
这是技术路线上的关键岔路,也决定了输出模型的“体质”。
- 网格生成路线:直接输出STL或OBJ网格。优点是快,缺点是网格是离散三角形,没有特征树、没有参数,后续无法在主流CAD里直接编辑,只能当3D打印用。
- 参数化重建路线:生成的是CSG树或者B-Rep边界表示,带完整的建模范式。优点是模型可以直接进入标准CAD环境继续修改,缺点是对算力和算法要求高,成功率低于网格路线。
目前整个行业的主流方向是后者,因为“能编辑”才是CAD软件用户的核心诉求。但实话说,参数化重建的生成速度、复杂形状支持度都还有明显短板,这也是为什么很多工具会先给你网格预览,确认后再尝试重建参数模型。
2.3 约束求解与特征树:决定模型能不能被“看懂”和“改懂”
一个合格的CAD模型不只是形状正确,还要有合理的特征树。为什么这么说?假设生成了一个带法兰的轴套,特征树应该长这样:旋转体(轴套主体)→ 拉伸切除(内孔)→ 孔阵列(六个法兰孔)。如果没有这一层结构,你在CAD里打开它就等于拿到一个“死的几何体”,想改内径,对不起,删了重画。
约束求解是另一道关卡。零件里每个尺寸、每个同轴关系、每个共面约束,都要在生成时被正确识别并固化。实测中最容易翻车的也是这里——模型看起来对,但一改直径,法兰孔不会跟着分度圆走,全乱套。一个可靠的text-to-cad工具,应该能在输出前做约束一致性校验。
2.4 多轮反馈:生成一个能“对话”的模型
真正好用的text-to-cad流程不是一次性的,而是多轮对话式的。第一版生成出来,你说“法兰厚度加到12”,它应该只改法兰厚度,其他尺寸保持不动;你说“孔距改成55”,分度圆整体变化但六个孔保持均布。
这种能力依赖前面说到的特征树和约束系统。如果模型没有保存“法兰厚度”这个参数,它就无从响应你的修改指令。所以判断一个工具的技术水平,别只看它生成第一版有多快,要看它在后续修改中的“记忆”是否靠谱。我实际用下来的体感是:目前主流工具第一版生成普遍能打60-70分,但多轮修改的一致性才是拉开差距的地方。
3. 实际用它建模:一条我能跑通的完整工作流
3.1 环境准备:云端还是本地,怎么选
text-to-cad目前的主流使用方式有两类:云端服务和本地部署。
云端服务的好处是零门槛,打开网页就能用,算力由平台出,适合快速验证想法。本地部署的好处是数据不出去、可以自己微调和批量跑任务,但需要一张显存还算够用的显卡,并且要自己处理依赖环境。
如果你和我一样只是用在日常设计辅助,建议先从云端开始。等你确定要每天批量使用、或者涉及敏感产品数据,再考虑本地部署。本地部署的坑主要在依赖库版本冲突上,装环境时强烈建议用独立的Python环境,别和日常开发环境混在一起。
3.2 写提示词:把一句话扩展成结构化描述
提示词是text-to-cad的重中之重。同样的内容,一句话和一段结构化描述,生成质量天差地别。我总结出一套比较稳的提示词框架:
- 先定主体:是什么零件(轴套、支架、法兰盘、箱体)
- 再给尺寸:外径、内径、长度、厚度,能精确到小数点就给
- 然后是特征描述:孔、槽、螺纹、倒角,每个特征注明类型、数量和分布规律
- 最后是约束:对称、同轴、均布、垂直这些关系词
我惯用的一个模板长这样:
生成一个带法兰的轴套模型。轴套外径32mm,内径18mm,总长度45mm。法兰位于轴套一端,外径60mm,厚度8mm,法兰上有6个通孔,直径5mm,按60度均布在直径48mm的分度圆上。所有孔均为通孔,法兰端面与轴套中心线垂直。用这个模板生成的模型,成功率明显高于直接说“给我画个带法兰的轴套”。原因是工具在做意图解析时,每一个明确参数都是一次约束,减少了自由发挥的空间。
3.3 从生成结果到可编辑文件:注意导出格式
生成完成后,输出格式的选择要看你后续在哪继续操作。
- 如果只是3D打印,导出STL最快,但STL没有特征信息,永远别拿它当“工程交付物”。
- 如果需要继续在专业CAD里编辑,必须导出STEP或原生格式(不同工具支持不同)。STEP是通用格式,主流软件基本都能进,但特征树信息在转换时可能损失一部分。
- 部分工具可以直接导出带特征树的格式,这是最理想的情况,相当于你拿到了一个建模助手帮你建好的初稿。
我实际操作时发现,不管用哪个工具,导出STEP后进CAD软件,特征树大概率需要“体检”一遍。有些倒角没生成、有些约束丢失,这些都属于正常损耗,别期待AI一把梭到底。
3.4 后处理:在CAD软件里给它“验尸”
拿到STEP文件后,我的标准流程是:
- 打开软件先看特征树,确认主体特征还在不在。
- 逐一核对关键尺寸,用测量工具检查每个孔的直径、位置、深度。
- 重点检查约束关系,比如同轴度、垂直于端面的特征是否还保留。
- 发现问题直接在软件里修正,而不是回炉重新生成。
这套后处理流程大约需要几分钟,但能确保模型达到“可进生产线”的状态。说实话,现阶段的text-to-cad更像是一个提速器,把从零建模的十分钟压缩成了“生成30秒+检查5分钟”,整体效率依然提升明显。
4. 实测翻车现场:哪些话术会让工具崩溃,以及怎么绕开
4.1 尺寸与公差:它听不懂“大概”“差不多”
我第一次测试时写的是“做一个大概50mm直径的法兰,孔位置差不多就行”,结果生成的模型尺寸乱跑,有的孔甚至偏到了法兰边缘。后来才明白,模型对模糊量词的理解是基于统计概率的,你给它“大概50”,它可能生成为48到52之间的任意值。
现在的处理办法是:所有关键尺寸必须写死。公差如果涉及配合(比如轴和轴承的配合),用标准公差等级描述,比如“H7/g6配合”。工具无法自动判断你什么时候真的需要公差,什么时候只是随口说个大数,与其赌它猜对,不如把话说清楚。
4.2 多义与歧义:别让它做阅读理解题
“轴套上开一个键槽,深度能放下一个10mm的键”——这句话在工具看来简直是个谜。键槽是开在内孔还是外圆?若是内孔,10mm的键对应槽宽8mm?这些都是机械设计常识,但AI模型未必都学过。
我踩过的坑是:“在板的左边开个槽”里的“左边”,工具理解成了坐标系X轴负方向,而我的本意是面向看图人时的视觉左侧。后来所有方向描述我都改用“靠近X轴的负侧”或者直接给坐标值,不再用相对方位词。凡是可能出现歧义的描述,宁可多写两句,也不能让它自由发挥。
4.3 复杂装配:单个零件是及格线,装配体还是硬伤
我测试过“做一个底座安装板,上面放一个电机座,旁边再立两个支柱”这种装配级描述,结果很惨——三个零件各自独立生成了,但相对位置完全对不上,支柱悬空、电机座和安装板的安装孔错位。这背后的原因是,装配体设计涉及大量空间约束和协调关系,现有的text-to-cad模型在理解“多个物体之间的空间关系”上还很薄弱。
所以现阶段我的建议是:装配体别指望一次生成。拆成一个个零件分别生成,再把每个零件放入装配环境手动对齐。等后续有了专门的装配生成模型,这个问题才可能真正解决。
4.4 迭代修改:最怕它“选择性失忆”
多轮修改是另一个高发翻车区。我试过先让它生成一个方形支架,然后说“底部两个安装孔改成腰形孔”,结果它把整个底部结构都重新生成了,厚度也变了。原因在于,工具在第一轮生成的内部参数记录,和我在第二轮描述里引用的特征,没有建立稳定关联。
绕开的办法是:每次修改时,明确指代对象和参数值,比如“将底部左侧偏心距为20mm的安装孔,修改为长度16mm、宽度6mm的腰形孔”。同时,改完之后立刻检查无关尺寸有没有被“顺带”改掉。把修改当成独立的对话而不是自然的延续,会让成功率提高不少。
5. 输出质量与工程化落地:从“能看”到“能用”还差多远
5.1 几何精度审查:用这份清单守门
我整理了一份送审清单,生成完成的模型必须过一遍才敢拿去加工:
| 检查项 | 说明 | 通过标准 |
|---|---|---|
| 主尺寸 | 外径、内径、长度、厚度 | 与描述误差在0.01mm以内 |
| 孔特征 | 直径、深度、数量 | 与描述完全一致,无遗漏 |
| 定位关系 | 分度圆、均布角度、偏心距 | 与描述完全一致 |
| 特征树 | 操作顺序合理,特征可编辑 | 每个特征独立可改参数 |
| 约束检查 | 同轴、共面、垂直约束正确 | 修改任一尺寸后关联特征正确更新 |
这张表看着简单,每一条都曾经是我踩过坑的地方。尤其是最后一条,约束检查必须实际动手改一个尺寸验证,光看树形结构说明不了问题。
5.2 数据互操作:格式选择的现实考量
工程环境里,数据互操作是绕不开的难题。我遇到过几次这样的情况:工具导出的STEP能打开,但进入软件后有些布尔运算丢失了,原本该是通孔的变成了盲孔。
现在我的习惯是:优先用工具原生格式导出,如果没有,再用STEP兜底。同时打开文件后立即做一个“特征完整性快照”,把每个关键特征的数值记录在案,万一后期发现自动更新出了毛病,至少还有原始数据可以回溯。这一步在多人协作的项目里尤其重要——你的下游同事不一定懂这次AI建模的来龙去脉,他们只认最终模型对不对。
5.3 和传统建模流程的协作方式
text-to-cad进入团队后,最稳的定位是“方案阶段的加速器”,而不是“建模工程师的替代品”。我目前所在的团队已经把它纳入标准流程:接到需求后,先由AI生成2-3个方案初稿供评审,确定方向后,再由建模工程师基于初稿细化优化。
这个流程带来的最大好处是,评审阶段从“看图纸”变成了“看模型”,需求方可以更早地发现想法上的问题。有一个项目在方案阶段就发现法兰孔和相邻零件干涉,提前修改了布局,节省了后续大量返工。这种早期的快速试错价值,比单纯省建模时间重要得多。
5.4 成本与算力:批量使用的隐藏支出
云端工具通常按生成次数或订阅收费,本地部署要考虑显卡占用和电费。如果只是偶尔用,按次付费反而不贵;但如果想批量生成大量标准件,订阅方案更划算。
另外值得提醒的是批量处理时的并发策略。我试过同时提交十几个生成任务,结果有的排队、有的失败,原因是平台对并发有限流。后来改成每批3-5个、交错提交,成功率明显提升。这种小细节,只有实际跑过批量任务的人才会知道。
6. 关于这个方向的个人判断:现阶段该怎么用,以及它下一步往哪走
6.1 把它当成“实习生”而不是“熟练工”
用了一年多text-to-cad之后,我最深的感觉是:它像是一个聪明但缺少经验的实习生。你给它明确、详细的任务,它能干得又快又像个样子;但你给它一句含混的“看着办”,它就自由发挥给你看。管理这个实习生,靠的就是把需求拆成可验证的信息块,并且给它建立明确的验收标准。
这个定位决定了使用心态。我不会期待它一次生成就能直接投产,而是享受它帮我节省从空白草稿到方案初稿的时间。那些花在检查和修正上的几分钟,本来就是工程师最有价值的判断时间。
6.2 给不同基础的上手建议
如果你是建模新手,建议先拿标准件练手,零件越标准,成功率越高。平板、轴、法兰、支架这些,描述清楚基本都能出活,能帮你很快建立信心。如果你是有经验的工程师,建议重点玩多轮修改和约束验证,这部分才能真正放大你的建模效率。每次生成完保留一个“素材库”,把成功的提示词和对应模型归档,积累到一百条左右,你会发现大部分日常零件都有现成的提示词模板可抄了。
6.3 我最后想分享的一个小习惯
无论用哪个工具,我都会把提示词当作正式文档保存。不只是记录生成时写了什么,还会记录当时的描述逻辑——为什么写“外径60”而不是“大法兰”,为什么强调“端面垂直”。这些记录后来成了团队内部的一套“AI建模描述规范”,新来的同事照着写,生成成功率从六七成提到了八九成。
这个办法对你也适用。text-to-cad的答案不在工具里,而在你对需求的表达里。把表达练顺了,这个技术的价值才算真正被接住。