• 正文
  • 相关推荐
申请入驻 产业图谱

行业杂谈 | 用 GPT-6 控制 Blender、KiCad 和 FreeCAD:安装、提示词与实测效果

22小时前
284
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

转载自公众号:敢敢AUTOHUB

0. 简介

这次在 Ubuntu 桌面上做了三个项目:Blender 天安门模型、KiCad STM32F405 CAN 控制板,以及 FreeCAD MID360 内嵌式护框和顶部十字拱架。三个软件都打开了真实窗口,保留了可编辑工程、终端控制入口和实际截图。下面按安装、提示词、操作与结果整理;提示词是多轮操作后归纳的复用版本,并不代表一次输入就能得到最终成品。

OpenAI 官方文档(https://developers.openai.com/api/docs/models/gpt-6-astra) 列出了 gpt-6-astra 的代码、计算机操作和 MCP 工具能力。具体 CAD 操作仍要接上软件插件或 API;本文使用 Codex 调用这些工具。

1. 安装环境

软件 本机实测版本与安装方式 控制接口 安装来源
Blender 3.0.1,项目目录内解包安装 Blender MCP 1.9.1 Blender(https://www.blender.org/download/) · blender-mcp(https://github.com/ahujasid/blender-mcp)
KiCad 10.0.6,AppImage 官方 IPC,Python 包 kicad-python 0.8.0 KiCad Linux(https://www.kicad.org/download/linux/) · IPC 文档(https://dev-docs.kicad.org/en/apis-and-binding/ipc-api/)
FreeCAD 0.19.2,系统已有安装 FreeCAD MCP 0.1.22,以及插件的 XML-RPC FreeCAD(https://www.freecad.org/downloads.php) · freecad-mcp(https://github.com/neka-nat/freecad-mcp)

先安装桌面软件和 uv。下方依赖安装命令供新环境使用,本命令都从项目根目录运行:

2. Blender:搭建天安门

2.1 安装与连接

安装固定版本的 MCP 服务和配套插件。以下插件目录对应本机 Blender 3.0,其他版本要修改目录:

uv venv .cad_tools/blender-mcp-venv --python /usr/bin/python3
uv pip install --python .cad_tools/blender-mcp-venv/bin/python blender-mcp==1.9.1
DISABLE_TELEMETRY=true 
BLENDERMCP_ADDONS_DIR="$HOME/.config/blender/3.0/scripts/addons" 
  .cad_tools/blender-mcp-venv/bin/blender-mcp install-addon
codex mcp add blender 
  --env DISABLE_TELEMETRY=true --env BLENDER_HOST=127.0.0.1 
  --env BLENDER_MCP_SAFE_MODE=1 
  -- "$PWD/.cad_tools/blender-mcp-venv/bin/blender-mcp"

在 Blender 插件设置中启用 Interface: MCP for Blender,再启动侧栏里的连接服务。使用 enable_blender_mcp.py 自动启用插件,监听 127.0.0.1:9876。新注册的 MCP 可在新 Codex 会话中加载,注册语法见 Codex MCP 文档。

2.2 提示词

上游 README 的示例包括 “Create a sphere and place it above the cube” 和 “Point the camera at the scene, and make it isometric”。对应到建筑任务,可以明确对象、几何要求、视角和交付文件:

连接当前打开的 Blender,先读取场景对象,不要删除已有无关对象。
创建一个可编辑的天安门风格模型:红色城台、五个真正贯通的拱形门洞、
双层金色屋顶、柱廊、台阶、旗杆,以及可正常显示的中文标语。
按建筑部件命名,设置正面、斜俯视、侧面和细节四个相机。
完成后在当前窗口切换视角,检查门洞贯通和文字显示,打包字体,
保存 .blend,并输出四张 1600×1000 的实测渲染图。

2.3 打开、控制与效果

先在一个终端打开窗口:

blender assets/blender_tiananmen.blend --python cad_lab/enable_blender_mcp.py

窗口显示后,在另一个终端执行。视角切换会直接反映在同一个 Blender 窗口中:

blender-control inspect
blender-control exec cad_lab/blender_view_aerial.py
blender-control exec cad_lab/blender_view_front.py

最终工程包含 690 个对象、4 个相机和 5 个贯通门洞,中文字体已打包。门洞射线检查和墙柱对照检查均通过。它是按建筑特征搭建的演示模型,未按测绘图复原尺寸。

3. KiCad:STM32F405 CAN 控制板

3.1 安装与连接

本机用 KiCad 10.0.6 AppImage,已提供 kicad、eeschema、pcbnew 和 kicad-cli 命令。打开 PCB 编辑器,在偏好设置中启用 API server,再重启编辑器;本机配置项 api.enable_server 已设为 true。

uv venv .cad_tools/kicad-automation-venv --python /usr/bin/python3
uv pip install --python .cad_tools/kicad-automation-venv/bin/python kicad-python==0.8.0

Python 包名是 kicad-python,导入名是 kipy。它通过 IPC 连接正在运行的编辑器。本项目的 kicad-control 使用这个官方接口;另一个本机命令 kicad-python 则运行 AppImage 内置 Python,供旧 pcbnew 脚本使用,两者不要混淆。本次没有注册第三方 KiCad MCP 服务。

3.2 提示词

网络参考采用 KiCad MCP 项目的提示模板,包括 fix_drc_violations、analyze_components 和 pcb_manufacturing_checklist。本次把它们整理成电路约束和检查要求:

在 KiCad 中建立 STM32F405RGT6 非隔离 CAN 控制板,板框 75×60 mm。
输入 5V,经反接保护和 AP2112K-3.3 供电;补齐 MCU 去耦、VCAP1/2、
8MHz 晶振、复位、BOOT 和 SWD。CAN 使用 SN65HVD230、NUP2105L,
CANH/CANL 接到端子,120Ω 终端电阻通过跳线选择。
先完成原理图与网表,再布局布线,保留四个安装孔。
在真实编辑器中显示原理图和 PCB,按报告修正 ERC、DRC、未连接项
及原理图一致性问题,最后保存工程并导出 3D PNG、STEP。

3.3 打开、控制与效果

先打开 PCB 编辑器;查看原理图时可执行下方 eeschema 命令:

pcbnew cad_lab/stm32f405_can/stm32f405_can.kicad_pcb
# 在另一个终端按需打开原理图
eeschema cad_lab/stm32f405_can/stm32f405_can.kicad_sch

在另一个终端查询当前板子、选中器件或清除选择:

kicad-control inspect
kicad-control select U2
kicad-control clear

最终 PCB 为 75×60 mm、40 个封装、305 段走线、3 个过孔。布局后使用 FreeRouting 完成自动布线,再由 KiCad 检查;最终 ERC、DRC、未连接项和原理图一致性问题均为 0。这些是设计文件检查结果,尚未进行打板、上电和实物 CAN 通信测试。

遇到 Output already exists. Export aborted.,在 STEP 导出命令中加 --force:

kicad-cli pcb export step --force --subst-models 
  --output cad_lab/stm32f405_can/stm32f405_can.step 
  cad_lab/stm32f405_can/stm32f405_can.kicad_pcb

4. FreeCAD:MID360 护框与顶部十字拱架

4.1 安装与连接

使用 neka-nat/freecad-mcp。它由 FreeCAD 内的插件和外部 MCP 服务组成;本次固定仓库版本,安装到独立 Python 环境:

git clone <https://github.com/neka-nat/freecad-mcp.git> .cad_tools/freecad-mcp
git -C .cad_tools/freecad-mcp checkout 3da6db5f71a7b74d1b69d295d1ba89233ad622b5
uv venv .cad_tools/freecad-mcp-venv --python 3.12.11
uv pip install --python .cad_tools/freecad-mcp-venv/bin/python ./.cad_tools/freecad-mcp
mkdir -p "$HOME/.FreeCAD/Mod"
ln -s "$PWD/.cad_tools/freecad-mcp/addon/FreeCADMCP" "$HOME/.FreeCAD/Mod/FreeCADMCP"
codex mcp add freecad 
  -- "$PWD/.cad_tools/freecad-mcp-venv/bin/freecad-mcp" --host 127.0.0.1

重启 FreeCAD,在 MCP Addon 工作台点击 Start RPC Server。不同系统及 FreeCAD 版本的插件目录以仓库说明为准。本机 0.19 的 PySide 兼容层缺少 QtWidgets 别名,已在 启动宏中兼容;freecad-live 会打开 GUI、启动回环 RPC 并恢复工程。MCP 协议握手和 15 项工具发现已经通过,报告在这里。

4.2 提示词

上游提示策略要求先 get_objects() 查询已有对象,再建模、读回属性并截图验证。本次加入了 Livox 官方尺寸和官方下载页中的手册、STEP 与视场模型:机身 65×65×60 mm,四个 M3 孔深 5 mm,孔距 48×36 mm。

在当前 FreeCAD 窗口中,导入 MID360 官方 STEP 作为尺寸参考,
用可编辑的原生特征建立内嵌式护框:130×130×4 mm 金属散热底板,
低位护框外宽 100 mm、壁厚 3 mm、高 24 mm,保留接头开口和通风窗。
顶部增加可拆卸十字拱架,跨过雷达半圆形顶部,通过四个孔固定。
雷达安装孔按官方 48×36 mm 布置,检查安装间隙、实体碰撞和视场遮挡。
不能把顶部拱架写成无遮挡;另保留拆下拱架后的扫描配置。
在 GUI 中展示装配和顶视图,修改一个参数后恢复,保存并重开 FCStd,
导出保护组件 STEP 和独立拱架 STL,再回读检查。

4.3 打开、控制与效果

打开窗口:

freecad-live

窗口显示后,在另一个终端执行。freecad-control 直接调用同一插件的 XML-RPC 接口,MCP 客户端则通过外部服务调用插件:

freecad-control inspect
freecad-control exec cad_lab/mid360_view_top.py
freecad-control exec cad_lab/mid360_open_scan.py
freecad-control exec cad_lab/mid360_view_assembly.py

最终工程包含 65 个对象,底板、低位护框和顶部拱架均为有效实体。拱架可独立拆装,总装高度约 87 mm,拱架与雷达的最小几何间隙约 13.06 mm。已在真实 GUI 中将拱架厚度从 3 mm 改到 6 mm,再恢复;保存重开后,特征和参数仍然有效。

十字拱架会遮挡部分扫描视场。 与官方视场实体的布尔交集约 3551 mm³,这只是几何交集,不能换算成扫描丢点率。拆掉顶部拱架后,底板与低位护框的视场交集均为 0。当前交付是可编辑机械原型,尚未做冲击、温升或实物点云测试,也未验证某一具体机身的安装空间。

相关推荐