【技术文档摘要】
通过AI控制Fusion 360!
此Fusion 360插件连接到Aura Friday MCP-Link服务器,使Fusion 360成为AI代理可以远程控制的工具。
点击上方观看AI创建“Fusion Rocks!”的3D演示
AI现在可以直接在Fusion 360内部运行任意Python代码,具有完全访问权限:
adsk.core, adsk.fusion, adsk.cam)示例:AI分析您的AirfoilTools插件,从1,538个轮廓中找到最佳空气动力学外形,将结果存储在SQLite中,并显示一个弹出窗口——所有这些都只需一个命令!
这是一个Fusion 360插件,它通过三种强大的功能赋予AI对Fusion的无限访问权限:
执行任何Fusion 360 API命令而无需自定义代码:
fusion360.execute({
"api_path": "design.rootComponent.sketches.add",
"args": ["design.rootComponent.xYConstructionPlane"]
})
运行具有完整Fusion访问权限的任意Python代码:
fusion360.execute({
"operation": "execute_python",
"code": """
import adsk.core, adsk.fusion
# 创建草图
sketch = design.rootComponent.sketches.add(design.rootComponent.xYConstructionPlane)
# 存储在数据库中
mcp.call('sqlite', {
'input': {'sql': 'INSERT INTO designs (name) VALUES (?)',
'params': [sketch.name]}
})
# 显示弹出窗口
mcp.call('user', {
'input': {'operation': 'show_popup',
'html': f'<h1>创建了{sketch.name}!</h1>'}
})
"""
})
访问Fusion中的10多种内置工具:
# AI分析AirfoilTools插件(拥有15,000多名用户!)
# 从1,538个轮廓中找到最佳空气动力学外形
# 将结果存储在SQLite中
# 在弹出窗口中显示结果
# 所有这些都只需一个Python命令!
您需要的一切。不需要的则没有。
这些工具随MCP-Link一起提供,并立即可用。无需配置、API密钥或设置。
| 工具 | 描述 |
|---|---|
| 🌐 浏览器 | 自动化Chrome:阅读、点击、输入、导航、提取数据 |
| 🧠 SQLite | 具有语义搜索和嵌入式的数据库 |
| 🐍 Python | 在本地执行代码,具有完整的MCP工具访问权限 |
| 🤖 OpenRouter | 访问500多个AI模型(免费和付费) |
| 🤗 HuggingFace | 离线运行AI模型(无需互联网) |
| 📚 Context7 | 获取任何库的实时文档 |
| 🖥️ 桌面 | 控制Windows应用程序(点击、输入、读取) |
| 💬 用户 | 显示HTML弹出窗口用于表单、确认 |
| 🔗 远程 | 让外部系统提供工具(如Fusion!) |
| 🔌 连接器 | 添加任何第三方MCP工具 |
想要更多? 添加任何第三方MCP工具或构建自己的工具!
下载MCP-Link服务器
获取最新版本:https://github.com/AuraFriday/mcp-link-server/releases/tag/latest
克隆此仓库
git clone https://github.com/AuraFriday/Fusion-360-MCP-Server.git
作为Fusion 360插件加载
Shift+S 打开脚本和插件插件启动时会自动连接到MCP服务器。检查Fusion 360中的文本命令窗口以查看连接日志。
# 创建草图
fusion360.execute({
"api_path": "design.rootComponent.sketches.add",
"args": ["design.rootComponent.xYConstructionPlane"],
"store_as": "my_sketch"
})
# 添加矩形
fusion360.execute({
"api_path": "$my_sketch.sketchCurves.sketchLines.addTwoPointRectangle",
"args": [
{"type": "Point3D", "x": 0, "y": 0, "z": 0},
{"type": "Point3D", "x": 10, "y": 5, "z": 0}
]
})
fusion360.execute({
"operation": "execute_python",
"code": """
import adsk.core, adsk.fusion
# 创建安装板
sketch = design.rootComponent.sketches.add(design.rootComponent.xYConstructionPlane)
lines = sketch.sketchCurves.sketchLines
lines.addTwoPointRectangle(
adsk.core.Point3D.create(0, 0, 0),
adsk.core.Point3D.create(10, 8, 0)
)
# 添加安装孔
circles = sketch.sketchCurves.sketchCircles
for x, y in [(1, 1), (9, 1), (1, 7), (9, 7)]:
circles.addByCenterRadius(adsk.core.Point3D.create(x, y, 0), 0.25)
# 存储在数据库中
mcp.call('sqlite', {
'input': {
'sql': 'INSERT INTO parts (name, holes) VALUES (?, ?)',
'params': [sketch.name, 4],
'database': 'designs.db',
'tool_unlock_token': '29e63eb5'
}
})
print(f'创建了{sketch.name},带有4个安装孔')
"""
})
fusion360.execute({
"operation": "execute_python",
"code": """
import sys
# 查找已加载的插件
addins = [name for name in sys.modules.keys() if 'addin' in name.lower()]
print(f'找到了{len(addins)}个插件')
# 访问AirfoilTools(如果已加载)
if 'AirfoilTools' in str(addins):
airfoil_main = sys.modules['...AirfoilTools_py']
foildb = airfoil_main.foildb2020.Foildb2020()
# 找到最佳空气动力学外形
best = max(foildb, key=lambda x: x['clcd'])
print(f'最佳升阻比:{best["clcd"]:.2f}')
# 存储在数据库中
mcp.call('sqlite', {
'input': {
'sql': 'INSERT INTO airfoils (name, ld_ratio) VALUES (?, ?)',
'params': [best['Foil_fn'], best['clcd']],
'database': 'airfoils.db',
'tool_unlock_token': '29e63eb5'
}
})
"""
})
fusion360工具通过反向连接"design.rootComponent.sketches.add" # 通过应用对象访问
"$sketch.sketchCurves.sketchCircles.addByCenterRadius" # 使用存储的对象
"adsk.core.Point3D.create" # 完整模块路径
"adsk.core.ValueInput.createByString" # 静态方法
{"type": "Point3D", "x": 5, "y": 10, "z": 0} # 从字典构造
"$my_sketch.originPoint" # 引用存储的对象
0 # 枚举值作为整数
"store_as": "my_object" # 将结果存储为$my_object
"$my_object.someMethod" # 在下一个命令中使用
"operation": "execute_python" # 运行Python代码
"code": "import adsk.core\n..." # Python代码字符串
"session_id": "my_session" # 持久会话
"persistent": true # 变量持久
"operation": "call_tool" # 调用另一个MCP工具
"tool_name": "sqlite" # 要调用的工具
"arguments": {"input": {...}} # 工具参数
场景:您已经在Fusion中加载了AirfoilTools插件(拥有15,000多名用户)。
AI可以:
所有这些都不需要任何自定义集成代码!
参见AUTODESK_DEMO_AIRFOILTOOLS.md以获取完整演示。
CustomEvent系统安全触发API调用0表示NewBodyFeatureOperation)想贡献吗? 欢迎PR!这是AI驱动CAD的未来。
专有 - 详情见LICENSE文件
由AuraFriday创建
已有15,000多名用户信任之前的Fusion 360插件