实践与方法

麦睿菱AI实践

从现场问题出发,讨论员工赋能、专家经验、Agent 维护与合格交付。

按序阅读 →
行业观察

小睿聊AI

从 AI 产品新动向切入,思考企业怎样选择、怎样用起来、怎样留下经验。

进入合集 →
测量与现场

小睿说测量

从测量原理出发,理解误差、方法与仪器选择,连接真实的现场应用。

进入合集 →

旧文重读

微前端实战 · 2025团队创造力 · 2011开源控件 · 2010

AIGC标识 小睿聊AI10|让AI真正用上CAD:怎么接软件、选Agent,还能自己检查?

AI接入CAD建模与真实结果检查

让AI写一段建模代码,和让它真正用上CAD,中间还差一条连接。代码要送进软件执行,模型、尺寸、截图和错误要能读回来,AI才有依据继续修改。真正有用的闭环是:在CAD里做,拿CAD里的结果验,发现问题再改,而不是让AI检查一遍自己刚写的话。

我是小睿。这次从插件放哪、配置填哪、连不上查哪讲起,再看两个公开案例:通风孔插件怎样改到能用,尺寸赋值为什么需要读回。

先给选择结论:已经在用Fusion、Rhino或Onshape,优先看该软件的原厂连接;想从开放、可修改的桌面CAD起步,可以研究FreeCAD加社区MCP桥。Agent客户端优先选连接文档已经明确支持、你也能正常使用的那一个。现有公开资料不足以给所有CAD排出一个“最强Agent”,但足够判断哪条路线少绕路。

先认清:Agent、连接器和CAD各干什么

Agent是会使用工具并继续处理结果的AI应用。它负责理解需求、拟定步骤、调用工具、根据反馈修正。真正生成几何、解草图约束和保存文件的,仍然是CAD软件及其接口。

常见接法有三类,不一定互斥。

原生脚本或API:Agent写Python、FeatureScript等代码,交给CAD的执行环境。优点是参数明确、操作可留痕,适合程序化建模和批处理;门槛在软件接口、执行环境和错误处理。把STEP导入CAD查看,不等于Agent已经接入了CAD的原生文档和特征树。

插件或MCP桥:在Agent与CAD之间加一个连接器,把“列出文档、修改对象、运行脚本、取截图”变成可调用工具。MCP是接口协议,能减少客户端对接的重复工作,却不会自动补齐几何检查。桥提供哪些能力,Agent才有机会使用哪些能力。

界面操控:看屏幕、点菜单、输尺寸。遇到没有合适接口的功能,它能补位;但窗口位置、弹窗、选择状态都可能影响操作。能走接口的数值动作,通常更容易记录和复核;必须点界面时,仍要从软件读取结果,不能只凭最后一张截图宣布完成。

三种接入路线的执行位置、反馈与适用范围

图1|接入路线示意。MCP和原生API常常是一前一后,并不是“用了MCP就不用CAD接口”。

哪个Agent更适配?先按你的CAD选

这里比较的是现有接入能力与使用门槛,不是同条件建模能力排名。

  • Fusion用户:已有原厂Fusion MCP。桌面版保持运行,在Preferences → General → API启用服务器,再让支持MCP的客户端连接。官方给出了Claude Desktop连接和Cursor开发路线;后者适合要看代码、做脚本或插件的人。还要分清三个名字:Fusion MCP操作本机桌面;Data MCP管理项目、权限和元数据;Compute MCP在云端启动Fusion会话做设计与制造任务,当前仍属公测,需要有效许可和Fusion Team环境。
  • Rhino用户:McNeel提供Rhino MCP Platform。Rhino 8中通过PackageManager安装,运行MCPConnect取得客户端接法;官方分别列出了Claude Desktop、Claude Code、Codex等配置。熟悉终端的可以沿用编码Agent,不熟悉的优先看桌面客户端路线。
  • Onshape用户:原厂Labs的FeatureScript MCP适合创建、测试和改进自定义参数化特征。需要账号、应用订阅和授权;它操作的是云端文档与FeatureScript流程,不是遥控一台本地CAD桌面。
  • FreeCAD用户:社区neka-nat/freecad-mcp已经提供插件、MCP服务器及安装文档。它能读文档与对象、执行Python、取视图,适合作为开放桌面CAD接入的起点,但版本匹配、权限和验收仍要自己管。
  • SOLIDWORKS用户:可以研究社区桥与原生API。以hjbaard/SolidWorks-MCP为例,需要Windows、Python 3.11以上,以及已许可且运行中的SOLIDWORKS;作者测试的是2026版,不能据此保证2020—2025版兼容。它仍属Alpha项目,不是原厂支持承诺。

接着选客户端,可以按自己的工作方式来:

  • 主要想对话下任务、查看结果:Claude Desktop有Rhino、Fusion等官方教程路线,省去自己拼终端工作流。仍要核对连接器支持的工具、图像反馈和授权范围。
  • 需要改宏、查版本差异、保存脚本与日志:Claude Code或Codex这类编码Agent更顺手;它们能把项目文件、命令执行和MCP工具放进同一工作过程。已有哪个,就优先验证哪个。
  • 正在开发CAD插件或脚本:Cursor的IDE工作方式便于一边看代码、一边通过MCP在CAD中测试,Fusion已有对应原厂教程。
  • 希望就在CAD里完成常用动作:先看内置助手。Fusion的Autodesk Assistant已支持部分建模、参数和制造流程,并非只能答帮助问题;例如多步建模会先准备选择供用户确认。可用功能、许可与用量额度仍需按当前账号核对。

这是一份接入选择建议,不是模型能力排名。内置助手也有自己的计量方式,例如Fusion的Flex用量额度不能当成大模型的文本Token来换算。Autodesk最新说明列出了内置助手与三类MCP的区别。

按CAD软件选择接入方式与客户端的比较

图2|按原厂或项目公开文档归纳,不是速度、正确率或模型能力排行榜。完整来源和版本边界随稿附上。

如果只想先走通一条路线,下面以FreeCAD+MCP客户端拆解。项目的快速开始采用Claude Desktop,编码工作也可选Claude Code;已经用Codex的人,可以沿用其MCP能力,而不必因为CAD另买一套客户端。FreeCAD MCP项目文档列出了工具和连接方式。

国内客户端也有接口基础,例如Qoder CN官方支持本地STDIO和远程MCP。能列出工具只是第一步,还要实际确认它能正确回传调用结果、接收需要的图片、处理较长CAD操作。仅凭“支持MCP”,不能就把它评为最适配CAD。

把FreeCAD接上:两边各装一半,别接错端口

先确认已安装FreeCAD和uv/uvx,并能在外部终端运行“uvx freecad-mcp --help”。这条路线有四层:Agent客户端 → 本地MCP服务器进程 → FreeCAD内插件 → FreeCAD Python API。模型服务可以在云端,客户端、MCP进程与FreeCAD则先放在同一台电脑上,避免一开始就叠加远程网络问题。

FreeCAD接入中的进程、协议与数据回传

图3|基于neka-nat/freecad-mcp的接线示意。127.0.0.1指运行对应进程的这台电脑;网页里的AI不会自动看见你本机的CAD端口。

第一步,确认插件放进了正在使用的FreeCAD。打开项目仓库,不熟悉Git也可以用Code → Download ZIP下载并解压。找到addon/FreeCADMCP,将这个文件夹放到该安装对应的Mod目录;不要把整个仓库放进去,也不要多套一层同名文件夹。不同系统、打包方式和版本的目录不同,可打开View → Panels → Python console,先输入import os,再输入print(os.path.join(FreeCAD.getUserAppDataDir(), "Mod"))读取实际目录,不必猜路径。重启后应能看到MCP Addon工作台;没有出现,就先查Report View中的加载错误。

第二步,在FreeCAD里启动RPC服务。进入MCP Addon工作台,点击Start RPC Server。默认地址是127.0.0.1:9875,启动结果会显示监听地址、端口和进程信息。FreeCAD要保持开启。这个端口是插件的XML-RPC桥,不是让Agent按HTTP MCP直接连接的地址。

第三步,让Agent启动外部MCP进程。选定一个客户端配置即可。例如已安装Claude Code的人,可在测试项目的外部终端执行“claude mcp add --transport stdio freecad -- uvx freecad-mcp”,再进入客户端用/mcp查看连接。Claude Desktop则从应用设置的Developer → Edit Config进入,按随稿接入卡,将最小服务器片段合并到claude_desktop_config.json,保留已有配置,重启客户端。它通过标准输入输出,也就是STDIO,与客户端通信,再去访问FreeCAD内的RPC服务。其它客户端要用各自支持的配置格式,不能把一个JSON文件名原样套到所有产品。

这里有个常见坑:插件用FreeCAD自带的Python,外部MCP服务器需要Python 3.12或更高版本,两套环境可以不同。不要把外部服务器依赖强行装进FreeCAD自带Python。插件和服务器也要同步更新;协议版本不匹配时,应先处理警告。安装文档给出了目录、启动和连通检查。

第四步,先做连通小测,再建复杂零件。先查get_rpc_status和list_documents,确认读到的是预期FreeCAD实例;然后在新测试文档里创建一个边长10毫米的方块,再用get_objects/get_object读回对象,用get_view取得视图。看到工具列表不算完成,端口能连也不算完成;至少要确认请求确实让软件产生了对象,而且对象能读回来。

如果只是Fusion本机接入,原厂路线更短:启用Fusion MCP Server,记录设置页实际端口,在客户端填对应本机URL即可。官方教程例子使用127.0.0.1:27182,不能因此认为所有电脑永远是这个端口。它能在当前会话执行测试脚本、查文档与错误,不需要再套一层FreeCAD式插件。Fusion官方教程展示了完整接法。

连不上时,先按现象找到断点

遇到“AI说没连上”,先别急着换模型。这个社区项目的安装文档已经列出了几类具体问题,分别发生在不同位置。

重启后没有MCP Addon工作台:先看FreeCAD的Report View,而不是去改Agent提示词。核对插件是否放进刚才查出的Mod目录,目录里能否直接找到FreeCADMCP/InitGui.py;若有导入错误,按错误查依赖或版本。修正后重启CAD,再确认工作台出现。

提示端口被占,或端口通了却读不到文档:在Report View核对实际启动地址和PID,再用外部Python做XML-RPC的ping与get_rpc_status检查。TCP连通只说明那里有程序监听,未必就是目标FreeCAD。确认哪个实例占用端口后,再处理重复启动或端口配置;不要随手结束不认识的进程。

FreeCAD已经启动,但客户端没有工具:先在外部终端确认uvx freecad-mcp --help能运行。若终端正常、图形客户端失败,查客户端日志与命令路径,再检查配置是否合并到正确位置、是否彻底退出并重开客户端。此时盲改CAD几何不会有帮助。

FreeCAD接入故障的现象、检查位置与成功标志

图4|按项目文档整理的排查卡。每一层有自己的成功标志;它不是本次完整MCP安装的实测记录。

接上以后能做什么?一个通风孔插件的实际迭代

Autodesk公开过一份用Cursor连接Fusion、开发通风孔阵列插件的教程。起步范围很小:选一个平面,生成矩形板,只做线槽和圆孔,给用户尺寸、密度与行列等输入;没有一开始就承诺适配任意曲面。

实际测试暴露了两种问题。密度增加后变慢,用户指出性能问题,Agent查API并采用deferred compute,也就是暂缓中间计算,官方记录随后得到修正。另一个问题看得见:线槽阵列从空隙开始,两侧留边不符合预期。用户要求首尾都以孔开始、结束,再修改起止规则。基础版本稳定后,才扩到选择实体表面和处理边界裁切。Fusion官方案例

Fusion通风孔插件从小原型到两类反馈修正的公开案例

图5|根据官方教程重绘的人机迭代过程。性能和留边问题由用户测试反馈,图形为原理示意;没有据此推算速度提升或自动验收成功率。

这个用法很适合“总在重复画同一类结构”的人:先让Agent帮忙把一类操作做成能调参数的小工具,以后改尺寸、密度和留边,不必每次重新描述整件零件。初期要花时间做输入、测试和边界处理,但重复使用时更有价值。

如果是从没做过的形状、陌生接口或复杂曲面,开放代码工具更灵活,也更需要小步试做。可借鉴的起手式是:“先在新文档里完成最小版本;把输入项列出来;实际运行后给我看结果;一次只改一个行为。”是否好用,由CAD里的结果和使用者的要求共同决定。

连通以后,还要把“做完”变成可检查的事实

接通MCP,只是AI伸得进去手。自验证闭环还需要把结果送回来,而且最好分成几层。

执行层看程序是否真的完成:文档是否重算、对象是否存在、导出是否成功,有没有异常和仍在运行的任务。返回“命令已接收”和“几何已经生成”是两回事。

几何层读真实结果:整体尺寸、实体数量、孔径、孔位、方向、通孔和指定倒角。只查包围盒或体积不够,孔从左边移到右边,总尺寸和体积都可能不变。检查应针对任务要求,而不只是模型自己声称做了哪些特征。

视觉层看实际CAD视图、多视角渲染或剖面:是否漏了结构、选错了面、切到了不该切的位置。截图很适合发现整体错误,但透视图不能代替毫米级尺寸测量,内部通孔也不能只看一个外观角度。

约束与原生文档层看草图求解、过约束或欠约束、装配自由度和相关重建错误。哪些自由度应当保留,需要按设计意图判断。STEP看起来正确,也不等于原生草图已经按要求约束,更不等于特征树仍能正常修改。

执行、几何、视觉、约束四类结果如何反馈给Agent

图6|“自验证”依赖外部软件和检查工具提供证据。必要项未检查、检查失败或返回未知,均不能当作验收完成。

这并非要求模型凭空长出一套CAD知识。CAD-Assistant研究已经采用FreeCAD Python API执行动作,再把几何参数、视图与约束分析交回模型。关键是让AI根据当前模型的真实状态修正,不靠猜测上一条命令应该产生什么。这类研究证明了值得采用的思路,不等于任何接上MCP的模型都具备同样效果。CAD-Assistant论文

这就是ReAct在CAD里的用法:判断下一步 → 调用CAD工具 → 观察真实结果 → 再判断、再修正。ReAct原论文把推理与动作交替起来,让环境反馈影响后续行动。它提供的是做事循环;“孔径测量合格”“草图约束满足”仍需CAD和检查工具返回证据。观察到失败就定位修复,必要项全部通过且没有未知项才交付,超限或需要改规格就交人。这样才是可验证的闭环,而不是模型给自己打一个“完成”。

尺寸明明赋值了,为什么还没改?

SOLIDWORKS社区桥有一个很具体的回归测试:先建20×10×5毫米的长方体,再让“深度=宽度÷4”。宽度是20,深度自然为5。接着请求把深度改成9,CAD仍保留方程驱动的值。

这个测试要求工具报出错误并带上驱动方程,长方体体积仍为1000立方毫米。对应实现会在写入、重建后读回尺寸;读回不符时尝试恢复旧值,说明为何未生效,而不是把“已发送赋值”当成“已完成修改”。这是项目公开测试和源码规定的行为,本文没有在SOLIDWORKS复跑,也没有据此声称模型已自动解决。公开测试

方程驱动尺寸被拒绝后的读回与下一步判断

图7|公开测试的尺寸关系与拒绝条件;下方后续决策是建议做法。宽、高、深沿用项目参数名称,不擅自对应世界坐标轴。

给Agent的反馈应该具体到:“目标深度9,实际仍5,当前由宽度÷4驱动。”下一步就有了方向:用户到底希望保留比例、调整宽度,还是改变驱动方程?涉及设计关系,需要先确认,重复发送“改成9”没有解决那个冲突。即使工具返回applied=true,仍要继续看rebuild_ok、实体状态和最终文件,不能只取一个成功字段。

这也适用于四孔板。以100×60×20毫米的板为例,XY原点在板中心,四个φ8孔沿Z贯穿,孔心在(±35,±20),顶部外周倒角2毫米。要求“四孔改φ10,其余不变”时,先记录原规格与文件版本,再执行修改;之后验四个孔的实际孔径、孔位和贯穿关系,同时确认外形与倒角没变。修改目标之外的要求,也属于本次验收。

若后续设计中倒角与孔冲突,先说明冲突并问用户,不能悄悄缩小倒角。修复后重验完整要求,也要回读最终STEP,防止原生文档更新了,导出的交付文件还是旧版。

还有一种问题不该立刻重试:FreeCAD桥的GUI操作在客户端超时后,可能仍在执行。先查任务和RPC状态、看对象是否已产生;确认失败后再处理,避免重复创建。模型回合、工具超时与总预算由客户端或宿主程序限制,超限时保留产物与未完成项交人。执行说明

从今天就能试的一次小修改开始

如果你已经有能正常使用的CAD和Agent,不用先做一套新框架。沿现有软件的原厂或项目文档,把下面这条小路线走完。它是建议的上手任务,不是“所有模型都会一次成功”的承诺。

先选一条连接。已有Fusion、Rhino或Onshape,就先用对应现成入口;想从FreeCAD起步,就按前面的插件、MCP进程与客户端三处配置。先读到软件版本、预期文档和工具状态,再发建模任务。

第一次只建方块。在新测试文档中,用毫米为单位建10×10×10的方块。要求保存原生文件和STEP,并提供当前文档对象、三个实际尺寸、实体数与错误状态。验收目标是:三个尺寸均为10、单实体、几何有效、文件能重新打开。数值比较要设适合检查器的容差;别把计算容差冒充制造公差。

第一次失败,按所在层处理。没有工具就查客户端启动与配置;读不到CAD就查RPC和实例;工具执行失败就看CAD错误;对象出现但尺寸不符就查参数和重建。每次处理后重做这一层的检查,不把一句“已经修复”当作复查结果。

第二次只改一个值。让它把同一个方块高度由10改成12,长、宽仍为10,保存新版本。再读回10×10×12、体积约1200立方毫米、单实体与有效性,并确认原生文件和STEP对应这次修改。这样能一起检查“找对对象、改对参数、保存新文件、结果能读回”,比直接要求一套复杂机构更容易找出卡点。

再换成你常做的小零件。把单位、坐标、尺寸、不可改项、交付格式和检查项写清。重复的板件或孔阵列,优先用参数化工具;开放造型任务保留代码工具,但仍按小步执行、真实反馈来推进。必要检查全部通过且无未知项才交付;规格需变化或重试超限,带着现场请人决定。

Skill可保存这些步骤与工具用法;连接器负责执行,检查工具负责读回,Agent根据结果继续处理。对重复任务,第一次走通的检查清单,也可以成为下一次开工的模板。

附录保留了本次用已有FreeCAD原生Python模块完成的10毫米方块:FCStd保存后关闭、重新打开读取尺寸,并单独读回STEP检查几何。它便于先检查工具环境;没有测试MCP插件、GUI截图链路或任何模型,第二次“改成12”的路线也未在本次Agent链中实测。安装命令、配置片段和首次验收卡都随稿提供,采用时按自己的系统与版本逐项核对。

钱和权限,也别漏在闭环之外

模型费、Agent订阅、CAD许可、云计算与人工验收是不同项目。模型调用少不一定总成本低,也可能只是漏了检查。此前公开四孔板案例中,作者记录的3次调用,按所选千问标准价重算约0.61元;112次与3次不能直接换成费用倍率,更不能代表本文接入路线的价格。完整人民币复算留在附件,不用它给所有建模任务报价。

本地CAD运行也不等于设计数据完全不出电脑。尺寸、代码、对象摘要和截图如果交给云端模型,就可能离开本机。先确认保密要求、客户端数据规则与可用模型,再启用连接。第三方桥能执行Python时,也可能拥有CAD进程的文件权限;先用项目副本,只开放需要的工具,不把本机服务随意暴露到公网。

选有现成连接的Agent,从一个可验收的零件起步,用读回结果判断完成。先把一次“建模、保存、读回、发现错误、再修改”走通,再扩大任务。模型会说什么固然重要,软件实际做了什么、检查还缺什么,更值得盯住。

posted on 2026-10-10 21:27  华磊  阅读(14)  评论(0)    收藏  举报

导航