前言¶
DeepSeek Harness 的理念是「一切皆插件」。在驱动桌面应用时,Autodesk Fusion 360 有两个明显的限制:它没有无头模式,任何建模操作都需要运行桌面实例;其 Fusion API 是单线程的,只能从主线程调用。普通的 MCP 服务器无法满足这些要求。
leaveing00001/dsh-fusion360 是一个针对这种情况设计的桥接插件。它通过一个 Fusion 360 加载项和一个依赖标准库的 MCP 服务器,将 DSH 的请求转换为 Fusion 的 API 调用。该插件由 Leaveing00001 维护,采用 MIT 许可证。
安装与启用¶
安装过程分为两步:首先将 Fusion 加载项安装到 Fusion 的 AddIns 文件夹,然后注册 MCP 服务器。npm 无法完成此安装,因为它涉及修改另一个应用程序的目录。
# 1. 安装 Fusion 加载项(需在 Fusion 关闭状态下执行)
powershell -ExecutionPolicy Bypass -File tools\install_addin.ps1
# 2. 注册 MCP 服务器到 DSH
python tools\install_dsh_mcp.py
# 3. 重启 DSH(新配置不会热加载)
python tools\restart_dsh.py
安装完成后,需要启动 Fusion 360,插件才能工作。
核心功能¶
该插件暴露了 13 个 MCP 工具,前缀统一为 mcp__fusion360__,用于查询、修改和控制 Fusion 360 文档。
| 工具名 | 功能 |
|---|---|
fusion_status |
检查连接状态,获取 Fusion 版本和登录用户信息 |
fusion_document_info |
获取当前文档的单位和参数数量 |
fusion_list_bodies |
列出所有实体,包含体积、面积和边界框 |
fusion_list_parameters |
列出所有模型和用户参数 |
fusion_set_parameter |
设置参数表达式并重新计算 |
fusion_create_document |
创建新的空设计 |
fusion_list_documents |
列出当前打开的文档 |
fusion_open_document |
通过名称打开云端数据文件 |
fusion_save |
保存当前活动文档 |
fusion_export |
导出为 STEP/IGES/STL/OBJ/F3D/SMT/SAT 格式 |
fusion_text_command |
执行 Fusion 原生命令行指令 |
fusion_reload_bridge |
重新从磁盘加载插件并重启监听器 |
fusion_run_python |
在 Fusion 主线程运行任意 Python 代码 |
fusion_run_python 是该插件最强大的功能。它允许在 Fusion 的主线程中执行 Fusion API 代码。代码中预绑定了 adsk, app, ui, design 和 root 变量,stdout 输出会被捕获,通过返回 result 字典可以获取执行结果。
典型用法¶
安装完成后,首先验证连接:
{
"bridge": "FusionDSHBridge",
"bridgeVersion": "1.0.3",
"fusionVersion": "2705.1.15",
"user": "you@example.com",
"host": "127.0.0.1",
"port": 27182
}
通过 fusion_run_python 工具可以运行任意 Fusion API 代码。例如,运行仓库中的 examples/build_a_part.py 示例可以构建一个 100x60x8mm 的板材,并自动验证体积:
// 调用 mcp__fusion360__fusion_run_python,code 参数指向示例文件
// 结果:体积会从 48000 逐渐变为 47243.84 mm³
适用场景与注意¶
该插件适合需要在 DSH 中直接操作 Fusion 模型、自动化参数化建模或批量导出设计的场景。
使用时需注意以下几点:
- 运行环境:已验证仅在 Windows 上可用。虽然清单中声明支持 macOS,但未进行实际测试。
- 权限与线程:Fusion API 必须从主线程调用,该插件通过
CustomEvent机制确保了这一点。 - 单位系统:Fusion API 使用厘米和弧度工作,而非文档的显示单位。只读工具会自动转换为毫米,但通过
fusion_run_python传入的代码不会受到此转换。 - 安装限制:由于涉及向 Fusion 应用目录写入文件,npm 的
postinstall脚本无法完成此操作,必须手动执行上述 PowerShell 和 Python 脚本。
结语¶
dsh-fusion360 解决了在 DSH 中驱动 Fusion 360 的线程和实例管理难题。通过 fusion_run_python 工具,开发者可以直接在对话中编写 Fusion API 代码,实现从参数修改到复杂建模的自动化控制。