Fusion AI控制插件

Autodesk Fusion的AI控制插件,通过连接MCP-Link服务器实现AI代理远程控制Fusion,支持Python执行、API调用和多工具集成。

  • by AuraFriday
  • Python
  • 本地部署
  • 127 星标
  • 更新于
在 GitHub 查看 AuraFriday/Fusion-360-MCP-Server

使用说明

Autodesk Fusion MCP服务器附加模块

与AI的控制融合!

此Autodesk Fusion插件连接到Aura Friday MCP Link服务器,使Fusion成为AI代理可以控制的远程工具。 官方商店链接

点击上方观看AI创建3D“Fusion Rocks!”


🚀 最新动态

最新消息:增强的Python集成(2026年1月)

  • 🔥 预注入快捷键 - app, ui, design, rootComponent 立即在Python中可用
  • 🔥 交叉操作上下文 -访问通过以下方式存储的对象 store_as 使用Python fusion_context
  • 🔥 ValueInput支持 -通用API现在自动构造ValueInput对象
  • 🔥 三重文档来源 -反思+在线文档+最佳实践
  • 🔥 丰富的API文档和示例 -从Autodesk的cloudhelp获取代码示例
  • 🔥 自动更新 -安全、经过签名验证的更新,无需重新安装

线程安全架构(2025年11月)

  • ✅ 岩石固体稳定性 -所有Fusion API调用现在都在主线程上执行
  • ✅ 零碰撞 -工作队列系统可防止线程问题
  • ✅ 集中化的日志 -所有组件的线程安全诊断
  • ✅ 生产就绪 -搬运重物时不会不稳定

Python执行+MCP工具集成

AI现在可以直接在Fusion中运行任意Python代码 完全访问:

  • ✅ 整个融合API(adsk.core, adsk.fusion, adsk.cam)
  • ✅ 所有加载的加载项(自动访问您的自定义加载项!)
  • ✅ SQLite数据库(存储和查询设计数据)
  • ✅ 浏览器自动化(打开文档、提取数据)
  • ✅ 用户弹出窗口(显示结果,获取输入)
  • ✅ 通过OpenRouter实现500多种AI模型
  • ✅ 本地AI模型(离线推理)
  • ✅ 桌面自动化(Windows控制)

示例:AI分析你的AirfoilTools插件,从1538个配置文件中找到最佳翼型,将结果存储在SQLite中,并显示一个弹出窗口——所有这些都在一个命令中!


这是什么

一个为AI提供支持的Fusion插件 无限访问 通过三种强大的功能连接到Fusion:

1.🎯 通用API调用

在没有自定义代码的情况下执行任何Fusion API命令:

fusion360.execute({
  "api_path": "design.rootComponent.sketches.add",
  "args": ["design.rootComponent.xYConstructionPlane"]
})

2.🐍 Python执行(新增!)

以完全Fusion访问权限运行任意Python:

fusion360.execute({
  "operation": "execute_python",
  "code": """
import adsk.core, adsk.fusion

# Create sketch
sketch = design.rootComponent.sketches.add(design.rootComponent.xYConstructionPlane)

# Store in database
mcp.call('sqlite', {
    'input': {'sql': 'INSERT INTO designs (name) VALUES (?)', 
              'params': [sketch.name]}
})

# Show popup
mcp.call('user', {
    'input': {'operation': 'show_popup', 
              'html': f'<h1>Created {sketch.name}!</h1>'}
})
"""
})

3.🔗 MCP工具集成(新!)

从Fusion访问10多种内置工具:

  • 数据库存储
  • 浏览器自动化
  • 用户弹出窗口
  • Python执行
  • 人工智能模型(本地和云)
  • 桌面自动化
  • 还有更多!

4.📚 多源文档(新增!)

AI可以访问三个互补的文档来源:

快速搜索(内省):

fusion360.execute({
  "operation": "get_api_documentation",
  "search_term": "ExtrudeFeature",
  "category": "class_name"
})

带示例的丰富文档(在线):

fusion360.execute({
  "operation": "get_online_documentation",
  "class_name": "ExtrudeFeatures",
  "member_name": "createInput"
})
# Returns: parameter tables, return types, and 8+ working code samples!

最佳实践指南:

fusion360.execute({
  "operation": "get_best_practices"
})
# Returns: coordinate systems, body naming, PTransaction patterns, etc.

🎯 AI能做什么

基本操作

  • ✅ 创建具有精确尺寸的参数化草图
  • ✅ 添加文本并将其拉伸到三维
  • ✅ 生成安装孔、支架、机械零件
  • ✅ 执行任何Fusion API命令

高级工作流程(新增!)

  • 🔥 访问您的自定义加载项 -AI发现并使用任何加载的加载项
  • 🔥 存储设计数据 -将分析结果保存到SQLite
  • 🔥 查询数据库 -从您的数据中找到最佳设计
  • 🔥 显示结果 -显示带有图表、表格和表单的弹出窗口
  • 🔥 自动化工作流程 -融合融合+数据库+浏览器+AI
  • 🔥 调用AI模型 -从500多个模型中获取设计建议
  • 🔥 丰富的文档 -使用代码示例访问Autodesk的官方文档
  • 🔥 自动更新 -无需重新安装即可获得新功能

真实世界示例

# AI analyzes AirfoilTools add-in (15,000+ users!)
# Finds best airfoil from 1,538 profiles
# Stores in SQLite
# Shows results in popup
# All in one Python command!

🛠️ 内置MCP工具

你需要的一切。没有什么是你不知道的。

这些工具随MCP-Link一起提供,可以立即使用。没有配置,没有API密钥,没有设置。

工具 说明
🌐 浏览器 自动化Chrome浏览器:读取、点击、键入、导航、提取数据
🧠 SQLite 具有语义搜索和嵌入的数据库
🐍 python 使用完全MCP工具访问本地执行代码
🤖 开放路由 访问500多种AI模型(免费和付费)
🤗 抱抱脸 离线运行AI模型(无需互联网)
📚 背景7 为任何库提取实时文档
🖥️ 桌面 控制Windows应用程序(单击、键入、读取)
💬 用户 显示表单、确认的HTML弹出窗口
🔗 远程 让外部系统提供工具(如Fusion!)
🔌 连接器 添加任何第三方MCP工具

想要更多吗? 添加任何第三方MCP工具或构建自己的工具!


📦 安装

先决条件

  1. 下载MCP链路服务器
    获取最新版本:https://github.com/AuraFriday/mcp-link-server/releases/tag/latest

  2. 安装加载项 官方链接:https://apps.autodesk.com/FUSION/en/Detail/Index?id=7269770001970905100

可选手动安装

2b。 克隆此存储库

git clone https://github.com/AuraFriday/Fusion-360-MCP-Server.git

2c。 作为Fusion插件加载

  • 开放融合
  • 按 Shift+S 打开脚本和加载项
  • 点击 加载项 标签
  • 点击绿色 + “我的加载项”旁边的按钮
  • 导航到克隆的存储库文件夹
  • 选择文件夹并单击 好的
  • 点击 跑 启动加载项

配置

加载项在启动时自动连接到MCP服务器。检查 文本命令 Fusion中的窗口以查看连接日志。


🎬 快速入门示例

示例1:获取API文档(新增!)

# Quick search by class name
fusion360.execute({
  "operation": "get_api_documentation",
  "search_term": "Sketch",
  "category": "class_name",
  "max_results": 3
})

# Get rich docs with code samples
fusion360.execute({
  "operation": "get_online_documentation",
  "class_name": "ExtrudeFeatures",
  "member_name": "createInput"
})
# Returns: Full parameter descriptions, return types, and 8 working examples!

# Get best practices guide
fusion360.execute({
  "operation": "get_best_practices"
})
# Returns: Coordinate systems, body naming, construction planes, PTransaction patterns

示例2:简单草图(通用API)

# Create a sketch
fusion360.execute({
  "api_path": "design.rootComponent.sketches.add",
  "args": ["design.rootComponent.xYConstructionPlane"],
  "store_as": "my_sketch"
})

# Add a rectangle
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}
  ]
})

示例3:带数据库的Python(新!)

fusion360.execute({
  "operation": "execute_python",
  "code": """
import adsk.core, adsk.fusion

# Create mounting plate
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)
)

# Add mounting holes
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)

# Store in database
mcp.call('sqlite', {
    'input': {
        'sql': 'INSERT INTO parts (name, holes) VALUES (?, ?)',
        'params': [sketch.name, 4],
        'database': 'designs.db',
        'tool_unlock_token': '29e63eb5'
    }
})

print(f'Created {sketch.name} with 4 mounting holes')
"""
})

示例4:访问自定义加载项(新增!)

fusion360.execute({
  "operation": "execute_python",
  "code": """
import sys

# Find loaded add-ins
addins = [name for name in sys.modules.keys() if 'addin' in name.lower()]
print(f'Found {len(addins)} add-ins')

# Access AirfoilTools (if loaded)
if 'AirfoilTools' in str(addins):
    airfoil_main = sys.modules['...AirfoilTools_py']
    foildb = airfoil_main.foildb2020.Foildb2020()
    
    # Find best airfoil
    best = max(foildb, key=lambda x: x['clcd'])
    print(f'Best L/D ratio: {best["clcd"]:.2f}')
    
    # Store in database
    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'
        }
    })
"""
})

🏗️ 建筑

运作原理

  1. 添加负载 并连接到本地MCP-Link服务器
  2. 自行注册 作为 fusion360 通过反向连接工具
  3. AI发送命令 有三种操作类型:
    • 通用API调用(简单操作)
    • Python执行(复杂工作流)
    • MCP工具调用(跨工具集成)
  4. 通用处理程序 解析路径、构造对象、执行API调用
  5. Python执行器 以TRUE INLINE访问Fusion环境的方式运行代码
  6. 返回结果 具有完整上下文和类型信息的AI

组件

  • MCP链路服务器 -将AI请求路由到加载项
  • 通用API处理程序 -动态执行任何Fusion API调用
  • Python执行器 (新增!)-以完全访问权限运行任意Python
  • MCP电桥 (新增!)-允许Python调用其他MCP工具
  • 上下文管理器 -存储多步操作的中间对象
  • 增强的报告功能 -提供详细的成功/错误信息
  • 线程安全代理 (新增!)-确保所有Fusion API调用都发生在主线程上
  • 集中式记录器 (新增!)-来自任何组件的线程安全日志记录
  • 文档系统 (新增!)-三层文档:内省、在线、最佳实践
  • 自动更新程序 (新增!)-安全、经过签名验证的自动更新

🎨 支持的模式

API路径

"design.rootComponent.sketches.add"              # Access via app object
"$sketch.sketchCurves.sketchCircles.addByCenterRadius"  # Use stored objects
"adsk.core.Point3D.create"                       # Full module paths
"adsk.core.ValueInput.createByString"            # Static methods

对象构建

{"type": "Point3D", "x": 5, "y": 10, "z": 0}    # Construct from dict
{"type": "Vector3D", "x": 1, "y": 0, "z": 0}    # 3D vector
{"type": "ValueInput", "value": 2.5}            # Real value (cm)
{"type": "ValueInput", "expression": "2.5 cm"}  # String expression
{"type": "ObjectCollection"}                     # Empty collection
"$my_sketch.originPoint"                         # Reference stored object
0                                                 # Enum as integer

上下文存储

"store_as": "my_object"                          # Store result as $my_object
"$my_object.someMethod"                          # Use in next command

Python执行

"operation": "execute_python"                    # Run Python code
"code": "import adsk.core\n..."                  # Python code string
"session_id": "my_session"                       # Persistent session
"persistent": true                               # Variables persist

# Pre-injected variables available in your code:
# - app          : adsk.core.Application.get()
# - ui           : app.userInterface
# - design       : Active design (if document open)
# - rootComponent: design.rootComponent (if document open)
# - fusion_context: Dict of objects stored via store_as
# - mcp          : MCP bridge for calling other tools

MCP工具调用(新增!)

"operation": "call_tool"                         # Call another MCP tool
"tool_name": "sqlite"                            # Tool to call
"arguments": {"input": {...}}                    # Tool arguments

文档操作(新增!)

"operation": "get_api_documentation"             # Search API by introspection
"search_term": "ExtrudeFeature"                  # What to search for
"category": "class_name"                         # class_name, member_name, description, all
"max_results": 3                                 # Limit results

"operation": "get_online_documentation"          # Fetch rich docs from Autodesk
"class_name": "ExtrudeFeatures"                  # Required: class name
"member_name": "createInput"                     # Optional: method/property name

"operation": "get_best_practices"                # Get design guidelines

🎨 高性能

电子设计

Fusion 360包括 完整的电子设计能力 可通过API访问:

可用工作区:

  • ✅ 原理图编辑器-电路原理图捕获
  • ✅ PCB编辑器-带自动布线的PCB布局
  • ✅ 3D PCB-在机械环境中可视化PCB
  • ✅ 符号/封装编辑器-创建自定义组件

用例:

  • 将PCB和机械外壳一起设计
  • 产品设计中PCB的三维可视化
  • 导出Gerber文件用于制造
  • 组件库管理

CAM/制造

全面的制造能力 280+CAM课程:

能力:

  • 2D/3D铣削刀具路径
  • 车削操作(车床)
  • 增材制造(3D打印)
  • 数控机床的后处理
  • 刀具路径模拟

模块: adsk.cam 完全可通过Python访问

麦克马斯特-卡尔集成

直接访问 500000多个工业部件:

命令: InsertMcMasterCarrComponentCommand

分类:

  • 轴承、紧固件、齿轮、电机
  • 气动、液压、电子
  • 原材料、工具、安全设备

限制:打开交互式对话框(用户必须选择零件)

模拟与分析

  • 静态应力分析
  • 模态分析(振动)
  • 热分析
  • 形状优化
  • 事件模拟(跌落测试)

生成设计

  • 人工智能驱动的设计探索
  • 数百种设计备选方案
  • 重量、强度、制造优化
  • 基于云的计算

💡 用例

AI设计助理

  • CAD的自然语言:“创建一个有4个孔的安装支架”
  • 设计探索:“尝试此部分的10种变体”
  • 参数优化:“找到强度的最佳尺寸”

数据驱动设计(新增!)

  • 查询数据库:“找到Re=500000的最佳翼型”
  • 店铺分析:“节省此设计的质量和体积”
  • 比较设计:“给我看看所有重量小于100克的支架”

工作流自动化(新增!)

  • 多工具工作流程:创建设计→ 存储在数据库中→ 显示弹出窗口
  • 访问自定义加载项:通过AI使用现有的加载项
  • 批量操作:自动处理100个设计

教育工具

  • 通过AI指导学习Fusion API
  • 具有即时反馈的交互式教程
  • 通过AirfoilTools集成探索空气动力学

CAM自动化

  • 人工智能驱动的刀具路径生成
  • 优化切割参数
  • 批处理制造作业

🎯 真实世界示例:翼型工具集成

场景:您在Fusion中加载了AirfoilTools加载项(15000+用户)。

AI可以:

  1. 自动发现加载项
  2. 访问1538翼型剖面
  3. 找到最佳翼型(长径比:505.02!)
  4. 将结果存储在SQLite中
  5. 在Fusion中创建几何体
  6. 在弹出窗口中显示结果

所有这些都没有任何自定义集成代码!

看 AUTODESK_DEMO_AIRFOILTOOLS.md 完整的演示。


📚 文档


🔧 技术细节

核心架构

  • 使用Fusion的原生Python API构建
  • 使用服务器发送事件(SSE)进行MCP连接
  • 用于命令执行的JSON-RPC协议
  • 真正的内联Python执行(无沙盒)
  • Fusion性能零开销
  • 所有操作都在本地运行(不依赖于云)
  • 指数回退自动重新连接
  • 用于服务器发现的本机消息传递协议

螺纹安全性和稳定性

  • 主线程执行:所有Fusion API调用都在Fusion的主UI线程上执行
  • 工作队列系统:后台线程将工作项排队以进行安全的主线程处理
  • 自定义事件处理程序:使用Fusion的 CustomEvent 安全触发API调用的系统
  • 集中化的日志:线程安全日志缓冲区确保来自任何线程的可靠诊断
  • 碰撞预防:强大的架构即使在重载下也能防止崩溃

文档系统(新增!)

  • 三层方法:反省→ 在线文档→ 最佳实践
  • 内省:使用Python的实时API搜索 inspect 模块
  • 在线文档:从Autodesk的cloudhelp获取可预测的URL
  • 最佳实践:内置指南,涵盖坐标系、车身命名、PTransaction模式
  • 丰富的内容:参数表、返回类型和工作代码示例

自动更新系统(新!)

  • 安全更新:RSA签名验证确保真实性
  • 静态装载机:永不自我更新的最小存根
  • 安全超重:在模块加载之前应用更新
  • 后台下载:非阻塞更新检查
  • 版本追踪: VERSION.txt 用于可靠的版本比较
  • 平台特定的:Windows/Mac的单独软件包

⚠️ 局限性

  • 枚举值必须作为整数传递(例如。, 0 为了 NewBodyFeatureOperation)
  • 一些复杂的对象需要特定的构造模式
  • 加载外接程序时上下文丢失(按预期用于会话隔离)
  • Python执行具有完全系统访问权限(负责任地使用!)

🚀 未来的增强功能

  • 自动文档的语义搜索集成✅ 完成 (多源文档)
  • 自动更新系统✅ 完成 (安全签名验证更新)
  • 批量操作优化
  • 扩展枚举处理
  • 更直观的对象构造模式
  • 用于常见操作的脚本库
  • 可视化工作流生成器
  • 电子设计自动化(PCB布局、原理图捕获)
  • 通过AI生成CAM刀具轨迹

🤝 贡献

想贡献吗? PR欢迎!这就是AI驱动的CAD的未来。

对贡献者的想法

  • 添加示例工作流
  • 改进错误消息
  • 创建教程视频
  • 使用不同的插件进行测试
  • 与其他CAD工具建立集成

📄 许可证

专有-有关详细信息,请参阅许可证文件


👤 作者

由...创建 奥拉星期五
15000多名用户信任以前的Fusion插件


🔗 链接

  • MCP链路服务器: https://github.com/AuraFriday/mcp-link-server
  • 官方商店插件: https://apps.autodesk.com/FUSION/en/Detail/Index?id=7269770001970905100
  • 模型上下文协议: https://modelcontextprotocol.io
  • 融合API: https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-A92A4B10-3781-4925-94C6-47DA85A4F65A

❓ 常见问题解答

Q: 这适用于我现有的插件吗?
A: 是的!AI可以自动发现和使用任何加载的插件。

Q: 我需要编写自定义集成代码吗?
A: 不!通用API处理程序适用于所有内容。

Q: AI可以访问我的数据库吗?
A: 是的!使用SQLite工具存储和查询设计数据。

Q: 这安全吗?
A: Python执行具有完全的系统访问权限。只运行你信任的代码。

Q: 这个离线工作吗?
A: 是的!所有操作都在本地运行。可选:使用本地AI模型。

Q: 我可以将其与Claude/ChatGPT/等一起使用吗?
A: 是的!适用于支持MCP协议的任何AI。

Q: 它稳定吗?Fusion会崩溃吗?
A: 非常稳定!线程安全体系结构确保所有API调用都发生在主线程上,防止崩溃。

Q: 我可以在生产中使用这个吗?
A: 是的!该插件已准备好投入生产,具有强大的错误处理和稳定性功能。

Q: 更新是如何工作的?
A: 自动!该加载项在后台检查更新,并在下次重新启动时应用这些更新。所有更新都经过加密签名以确保安全。

Q: AI可以访问Fusion的文档吗?
A: 是的!三种方式:(1)Live API内省,(2)Autodesk的官方cloudhelp文档和代码示例,(3)内置最佳实践指南。

Q: 这适用于电子设计吗?
A: 是的!完全访问PCB设计、原理图捕获、3D PCB可视化和元件库。

Q: 我可以将其用于制造(CAM)吗?
A: 是的!这 adsk.cam 该模块为铣削、车削、增材制造和刀具轨迹生成提供了280多个类。


🌟 明星这个项目!

如果你觉得这很有用,请在存储库上加星,并与Fusion社区分享!

问题? 在中打开问题或查看文档 docs/


这就是AI驱动的CAD的未来。 🚀