说句得罪人的:文生 CAD 生成的是「草图」不是「设计」,离生产力还差一个参数化

说句得罪人的:文生 CAD 生成的是「草图」不是「设计」,离生产力还差一个参数化

【免费下载链接】text-to-cadGive your agent CAD superpowers.项目地址: https://gitcode.com/GitHub_Trending/tex/text-to-cad

过去两年,「文生 CAD」大概是硬件圈最性感的叙事之一:不用画图、不用学软件,敲一句「19 齿直齿轮」——几分钟后一个符合工程外形的 STEP 文件就躺在你面前。Zoo 的 Text-to-CAD 引爆了这场讨论,随后 YC W25 背景的 AdamCAD 拿到 410 万美元融资,海外媒体开始报道「把文本描述转换成可打印 3D 模型」的开源多智能体系统,国内社区则忙着总结「5 分钟零门槛建模」的教程。

热闹是真的,但我要先泼一盆冷水:这类工具生成的,绝大多数是「草图」,不是「设计」。

原因很简单。设计不只是「长得对的几何」,而是意图、约束、可编辑性与可追溯性的集合——一个能改、能迭代、能验证、能进制造流程的活体。而大多数文生 CAD 产品给你的是快照:一句 prompt 换一个静态模型,换句话重来一遍,输出的东西既没有特征树,也没有参数,更没法放进装配里约束。本文不想停留在情绪上,我结合开源项目 earthtojake/text-to-cad(一个把 CAD 能力封装成 Agent Skills 的插件仓库,口号是 "Give your agent CAD superpowers.")的源码,逐层拆解「生成模型」与「工程设计」之间的那道真实鸿沟,以及为什么参数化是那道分水岭。

先看清楚:文生 CAD 现在到底能做什么

把市面上的方案粗分两派,各看能力边界。

第一派:提示词直出几何(Zoo 系)。典型形态是社区教程里反复出现的 text-to-cad-ui:SvelteKit 前端 + Three.js 实时预览 + 云端 API,自然语言进、B-rep 出,支持 STL/STEP/GLTF 导出。它的价值真实存在:对创客、教育演示、客户需求验证来说,从「脑子里有个想法」到「手里有个 3D 文件」的链路被压缩到几分钟,这确实是传统 CAD 学习曲线给不了的体验。

第二派:把 CAD 变成 Agent 的技能(text-to-cad 系)。这个仓库走的是另一条路——不替你做几何,而是给 AI 代理一套完整的、可执行的建模工作流。安装后,代理拥有 12 个左右的技能,覆盖从建模到制造的全链路:CAD 建模、STEP 零件检索、工程图纸、DXF 排样、URDF/SRDF/SDF 机器人描述、DFM/DFAM 可制造性检查、G-code 切片,甚至直接对接 SendCutSend 钣金下单和 Bambu Lab 打印机(见 skills/ 下的技能矩阵)。

两派的差异从各自的「能」与「不能」里立刻显现。

先说共同的短板——这也是「草图」二字的来历:

  • 一次性输出,没有编辑语义。提示词生成的模型是结果不是过程。你说「把孔从 6mm 改成 8mm」,它大概率重新生成一个模型,而不是在原模型上改一个特征。
  • 网格不是几何。很多工具吐的是 STL 网格。网格可以看、可以打印,但不可测量、不可做布尔运算、不可参与装配约束。这个仓库的 DFM 技能在 skills/dfm/SKILL.md 里把话说得很直白:「Prefer exact STEP/B-rep measurements for radii and analytic faces. If only a mesh is available, record its resolution and approximation limits. A screenshot supports a suspected issue, not a measured pass/fail.」——截图只能佐证怀疑,测量才是判定依据。这就是「草图」与「图纸」的技术本质区别。
  • 非确定性。同一个 prompt 换一次生成,输出的拓扑可能完全不一样。你没法对它做版本 diff,也没法审阅「这次改了什么」。

从「能出模型」到「可编辑、可迭代」:参数化是那道鸿沟

现在看第二派仓库怎么回答上述问题。答案浓缩在一个词:把设计写进源码,让一切可参数化、可重跑、可追溯。

在 skills/cad/SKILL.md 里,一个「模型」被明确定义为「一个带参数化装饰函数的普通 Python 脚本,返回 build123d 形状」。看仓库里真实的零件——models/examples/src/l_bracket.py:

BASE_LENGTH = 80.0 BASE_WIDTH = 50.0 BASE_THICKNESS = 8.0 HOLE_DIAMETER = 6.0 BASE_HOLE_LOCATIONS = ((-25.0, -10.0), (25.0, -10.0)) TRANSITION_FILLET = 2.0 @step(out="../STEP/l_bracket.step") def l_bracket(): """Return the L-bracket model in millimeters.""" with bd.BuildPart() as bracket: bd.Box(BASE_LENGTH, BASE_WIDTH, BASE_THICKNESS, align=(bd.Align.CENTER, bd.Align.CENTER, bd.Align.MIN)) ...

再比如 models/examples/src/centrifugal_impeller.py:BLADE_COUNT = 12、BLADE_BACKWARD_SWEEP_ANGLE = radians(45.0)、BLADE_THICKNESS = 3.0——叶片数量、后掠角、厚度全部显式化为常量。这就是参数化最朴素也最核心的形态:设计决策被写进变量,改一行、重跑一次、输出跟着变。相比之下,提示词生成器给你的是一张一次性「照片」,这里给你的是随时可修订的「配方」。

光有零件级参数还不够,真正的工程难题在装配。仓库里这个问题的答案是「typed mates」——见 packages/cadgen/src/cadgen/kinematics.py:

KINEMATICS = { "mates": [ cadgen.revolute("elbow", parent="#upper_arm", child="#forearm", axis="#forearm.pivot_bore", limits=(0, 150)), ], "couplings": [cadgen.couple("curl", {"mcp": 50, "pip": 70, "dip": 40})], "poses": {"open": {"jaw": 40}, "closed": {"jaw": 0}}, } @step(out="../STEP/arm.step", kinematics=KINEMATICS) def arm(): ...

注意它的设计取舍:运动副是纯数据(revolute/slider/cylindrical/fastened),求值是一次对运动副树的正向运动学折叠,「没有框吸附、没有求解器,闭链明确不在范围内」。这不只是实现细节——它意味着装配关系像参数一样被固化、可重放、可验证,而不是靠某次生成的运气。仓库的演示语料库(models/README.md)里,mars_rover 概念车带 27 个运动副、7 个耦合、4 个姿态;f14d 整机由 10 个子系统按 occurrence 顺序链接,改一个子零件、重跑父装配,整机联动更新。

参数化的威力不止于几何本身,它像多米诺一样推倒了下游的每一张「派生文档」:

  • 工程图纸是派生态。skills/engineering-drawing/SKILL.md 开宗明义:「An engineering drawing is a DOCUMENT derived from a part」——三视图、隐藏线、中心线、尺寸全部从几何投影得到,「图上没有一笔是手绘的,没有一个数字是你手输的(除非你刻意覆盖)」。改模型、重跑图纸脚本,尺寸自动跟着动。图纸跟随模型,而不是模型将就图纸——这正是生产环境要的东西。
  • 可制造性检查给「证据」。skills/dfm/SKILL.md 要求每条发现都带「测量值、单位、版本、测量方法、引用的规则来源」,并且明确「没有发现 ≠ 可制造性通过」。这不是滤镜式的提示,而是对着真实 B-rep 几何量出来的。
  • 机器人描述被当作约束建模。skills/urdf/SKILL.md 写着「Treat URDF work as constrained kinematic modeling, not just XML writing」,强制在写文件前建立坐标系、关节、单位、假设台账,并强制cadgen urdf validate后才算完成。

把这些连起来看,仓库的架构哲学在 packages/cadgen/README.md 里被写成「设计法则」:生成物与源码完全独立(删光所有.py渲染结果不变)、写出器字节确定性(同一模型必然产出同一批字节)、STEP/DXF 是纯几何,语义信息全部住在 sidecar 里。这些法则共同保证一件事:设计意图有一个唯一权威的存放处——源码;一切产物(STEP、图纸、网格、URDF)都是它的派生结果,可以随时推倒重算。这跟「生成一个模型就完事」是两种完全不同的工程世界观。

它的真正归宿:辅助创意,还是替代设计?

那么问题来了:文生 CAD 究竟会取代设计师,还是只是新的草图工具?我的判断是:两条路都有人走,但只有一条通向生产力。

分场景看会更清楚:

场景一:灵感、原型、教学、客户沟通——mesh 就够。这里 Zoo 系工具是当之无愧的主角。「一句话出模型、5 分钟上手」的传播热度货真价实,因为这类场景的验收标准就是「看得见、摸得着、聊得来」。模型是一次性的没关系,反正它本来就是用来沟通的。

场景二:工程交付、制造、装配——必须回到参数化源头。要出 DFM 报告、要出带公差和孔标注的图纸、要排 DXF 钣金下料、要生成打印路径,起点必须是可编辑、可验证的参数化几何。这个仓库展示的正是一条从「一句话需求」到「可制造工件」的完整链路:代理先写可追溯的源码模型 → 产出 STEP → 派生工程图纸 → 跑 DFM 检查 → 对接 SendCutSend / G-code / Bambu 打印。每一步都有真实文件与命令可查,而不是黑盒生成。

关于 AI 的角色,真正的结论是:AI 是「候选生成器 + 检索引擎」,不是「设计者」。设计 = 意图 + 约束 + 变更历史。意图和约束必须有人表达(哪怕用自然语言),而变更历史必须落在某个可 diff、可审阅、可回滚的载体上——在 text-to-cad 这里,载体就是源码与参数。AI 的价值在于把「意图 → 参数化源码」这一步做得越来越快、越来越准,然后把「验证闭环」交还给工程师。

至于市场信号:AdamCAD 获得 410 万美元融资、开源多智能体文生 CAD 论文被海外 3D 打印媒体关注,说明资本与研究者都在往「AI 原生 CAD」挤。但融资热度是一回事,生产力兑现是另一回事——如果产品停留在「生成好看的结果」,它收获的永远是好奇心;只有补上参数化交互、可编辑语义和验证闭环,它才第一次摸到生产工具的门槛。

说句得罪人的结论:如果文生 CAD 的终局是「一句话出模型」,那它产出的永远是草图;当它把语言变成可执行、可参数化、可制造验证的设计源码时,它才真正成为设计工具。目前最接近这条路的开源实践之一,就是把 CAD 封装成 Agent 技能、让「源码即设计、派生即文档」的 text-to-cad 系方案——毕竟,「草图」解决的是从无到有,而「设计」解决的是从有到对,后者才配叫生产力。

【免费下载链接】text-to-cadGive your agent CAD superpowers.项目地址: https://gitcode.com/GitHub_Trending/tex/text-to-cad

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

程序员转大模型应用开发:6个月从RAG到Agent的实战路线图

程序员转大模型应用开发:6个月从RAG到Agent的实战路线图

前两年我还在纠结“大模型这么火,跟我一个写业务接口的程序员有什么关系”,后来真跳进去做了几个落地项目才发现:大模型领域现在最缺的,恰恰不是能推导Attention公式的研究员,而是能把模型接进业务、能把检索链路调通、…

2026/10/20 2:38:36 阅读更多 →
MAX9286+96705四路AHD车载摄像头方案实战指南

MAX9286+96705四路AHD车载摄像头方案实战指南

简介:本资源是一套面向嵌入式Linux视频驱动开发者的AHD多路视频采集方案,聚焦于将四路模拟高清(AHD)摄像头信号经MAX9286解码器与MAX96705串行器协同处理,统一转换为MIPI CSI-2数字接口输出,适用于车载DVR、…

2026/10/20 2:38:36 阅读更多 →
SPEI干旱指数工程化计算工具包:支持多PET算法与时空尺度聚合

SPEI干旱指数工程化计算工具包:支持多PET算法与时空尺度聚合

简介:本资源是一套面向气象水文、生态遥感及干旱研究领域的Python计算工具包,专为解决现有开源代码仅支持月尺度SPEI而缺乏日/周尺度计算能力的痛点设计。代码完整实现多时间尺度(日、周、月)、多分辨率(支持逐日输入&…

2026/10/20 2:38:36 阅读更多 →

最新新闻

调教Stable Diffusion注意力机制,让出图更清晰

调教Stable Diffusion注意力机制,让出图更清晰

1. 先别急着加高清修复,问题多半出在注意力分配上先说个不少人踩过的坑:用Stable Diffusion出图,总感觉边缘发虚、细节糊成一团,第一反应往往是把分辨率从512拉高到1024,或者直接开Hires. fix,结果要么显存…

2026/10/20 3:27:05 阅读更多 →
加密狗复制风险与工控软件授权管理:从停产事故看正确应对方式

加密狗复制风险与工控软件授权管理:从停产事故看正确应对方式

上个月我去一家做汽车零部件加工的朋友那边聊设备改造,正好撞上他们车间的一件急事:产线上一套工艺管理软件的加密狗突然失效,操作员报错、工艺配方调不出来,整个班组停了半个多小时。朋友的第一反应不是联系软件供应商&#xff0…

2026/10/20 3:27:05 阅读更多 →
Unity Scroll View Content配置全解:滚动失效排查与动态列表实战

Unity Scroll View Content配置全解:滚动失效排查与动态列表实战

聊起Unity里的Scroll View,十个新手有九个都栽在Content设置上。上周交流群里又有人发截图问:东西全拖进Scroll View了,为什么滚不动、显示不全、滚动条乱蹦?问题基本都出在Content这个子节点上。这篇专门讲Scroll View下Content的…

2026/10/20 3:27:05 阅读更多 →
AI Agent核心能力拆解与工程落地实战指南

AI Agent核心能力拆解与工程落地实战指南

各位做技术、做产品的朋友,最近是不是隔三差五就被"AI Agent"这个词刷屏?团队研讨它在讲,朋友圈技术博主在聊,产品评审会也在问"为什么不做成Agent"。但如果真让你一句话讲清楚它到底是什么,很多人…

2026/10/20 3:27:05 阅读更多 →
OpenAI兼容格式接入中文大模型:从密钥配置到流式输出实战

OpenAI兼容格式接入中文大模型:从密钥配置到流式输出实战

我先说个结论:如果你现在手里攒着一堆“用某个平台接大模型”的活儿,最省心的路线,往往不是直接用厂商自己那套SDK,而是找一个已经帮你把接口层做成了OpenAI兼容格式的数据中间件。这篇内容就围绕一个具体方案展开——用某数据云平…

2026/10/20 3:27:05 阅读更多 →
DeepSeek降AI指令5步流程:从AI味到自然学术写作

DeepSeek降AI指令5步流程:从AI味到自然学术写作

最近太多人在问“DeepSeek降AI指令怎么写”,尤其是论文写了一半,拿AI润色完,自己一读都觉得“太工整了”,然后被各种AI痕迹检测提示搞得心里发毛。先说结论:所谓“降AI”,并不是玄学,本质是让大…

2026/10/20 3:26:04 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →