• 首页
  • 使用指南
    上传指南安装指南
  • API文档
    开发指南API调用API参考
  • 相关网站
    嘉立创EDA嘉立创社区开源广场
  • 编辑器
    在线编辑器(专业版)桌面客户端
  • 扩展管理
  • 登录注册
嘉立创产业服务站群

电子产业

logo

嘉立创PCB

PCB、FPC制造服务

logo

嘉立创SMT

一站式PCBA服务平台

logo

嘉立创激光钢网治具

激光钢网&治具制造

logo

嘉立创EDA

国产PCB设计工具

机械产业

logo

嘉立创FA

机械/电气零部件一站式商城

logo

嘉立创3D打印

树脂、尼龙、金属3D打印服务

logo

嘉立创CNC机械智造

机加件一件起订,3天交货

更多服务

嘉立创CAM

国产线路板CAM软件

Forface 3D

SaaS化3D技术服务平台

硬创社

好玩的硬件交流社区

供应商合作

一站式阳光采购平台

· EDA扩展广场
首页

使用指南

上传指南安装指南

API文档

开发指南API调用API参考

相关网站

嘉立创EDA嘉立创社区开源广场

编辑器

在线编辑器(专业版)桌面客户端
登录注册

Fusion360机电协同

OSHWHub14v1.1.2
(4)Apache-2.0
通过WebSocket将PCB 3D模型发到Fusion360进行查看和编辑,支持双向交互
详情
更改日志
历史版本
评论

Fusion360机电协同

OSHWHub14
(4)Apache-2.0
详情
更改日志
历史版本
评论

English | 简体中文

Fusion360 机电协同 —— 嘉立创 EDA 专业版扩展

通过 WebSocket + HTTP 实现 PCB 3D 模型在嘉立创 EDA 与 Fusion360 之间的实时协同。支持模型导出、双向位置同步、交叉定位、删除同步。

功能特性

功能说明
3D 模型导出将 PCB 的 STEP 模型分片传输到 Fusion360,支持大文件
下载脚本文件一键保存 Fusion360 Add-In 脚本到本地
双向位置同步EDA 拖动元件 → Fusion360 跟着动,反之亦然
交叉定位点击一边的元件,另一边自动聚焦
删除同步EDA 删除元件,Fusion360 同步移除

环境要求

项目要求
嘉立创 EDA 专业版≥ 3.0
Fusion360已安装且可运行
PythonFusion360 自带 Python 环境
网络本机可用(localhost)

安装步骤

第一步:安装 EDA 扩展

  1. 打开 嘉立创 EDA 专业版
  2. 安装完成后,在扩展列表中找到 Fusion360机电协同,确认已启用
  3. 开启外部交互权限:点击 扩展 → 扩展设置 → 开启 外部交互 权限(WebSocket 通信需要)

第二步:安装 Fusion360 脚本

  1. 下载脚本 (脚本文件也可以通过 EDA 菜单 Fusion360机电协同 → 下载脚本文件 一键保存到本地)

  2. 打开 Fusion360 新建一个文档

  3. 新建模块

  4. 打开脚本文件所在位置 用下载的脚本文件替换脚本内容 注意脚本需要和创建时候脚本名字一致

  5. 点击运行 这里注意一定是运行模块而不是脚本文件

  6. 验证启动成功:在 Fusion360 的文本命令窗口中应看到:

[EasyEDA] CustomEvent registered
[EasyEDA] Add-in 启动完成 ✅
[EasyEDA] Starting WebSocket server on ws://0.0.0.0:8767

使用教程

一、导出 3D 模型到 Fusion360

  1. 确保 Fusion360 Add-In 脚本已运行

  2. 在 Fusion360 中新建或打开一个部件设计文档

    如果脚本已经运行,直接点击导出按钮即可 会自动打开一个新文档

  3. 在 EDA 中打开一个 PCB 设计文件,进入 PCB 编辑器

  4. 点击菜单 Fusion360机电协同 → 导出3D到Fusion360


5. 自动连接 Fusion360、获取 STEP 文件并分片上传

三、启用双向交互

导出模型后,可以启用双向交互实现实时同步:

  1. 点击菜单 Fusion360机电协同 → 启用双向交互
  2. EDA 会自动将元件位号与 Fusion360 3D 对象建立映射(build_mapping)
  3. 映射成功后可以:
    • 在 EDA 中拖动元件 → Fusion360 中的 3D 模型实时跟随移动
    • 在 Fusion360 中拖动对象 → EDA 中的元件同步移动(通过 HTTP 轮询检测位置变化)
    • 在 EDA 中点击元件 → Fusion360 自动选中并聚焦(闪烁高亮)
    • 在 Fusion360 中点击对象 → EDA 自动定位到对应元件

已知限制: 映射关系是一一对应的 开多个页面会导致映射关系冲突 请在单页面操作时使用

四、停止双向交互

  1. 点击菜单 Fusion360机电协同 → 停止双向交互

  1. 所有映射关系和监听会被清除

五、连接管理

菜单选项功能
导出3D到Fusion360自动连接 + 分片上传 + 导入
启用双向交互开启实时双向同步
停止双向交互关闭同步并清理映射
断开Fusion360断开 WebSocket 连接
下载脚本文件保存 Fusion360 脚本

技术说明

通信架构

EDA ←— WebSocket:8767 —→ Fusion(命令通道:上传/映射/位置更新/交叉定位)
EDA ←— HTTP:8768/poll ←— Fusion(状态通道:选中检测/位置变化)
方向协议说明
EDA → FusionWebSocket文件上传、位号映射、位置同步、交叉定位、删除、重命名
Fusion → EDAHTTP 轮询每 2 秒检测选中状态和位置变化,返回给 EDA

关键技术决策

项目方案原因
WebSocket 实现纯 Python 手写Fusion360 环境无法安装第三方库
HTTP 服务器Python 内置 http.server轮询检测 Fusion 状态变更
STEP 导入executeTextCommand('Translator.Import')可从后台线程安全调用,绕过 DataFile 限制
选中/移动检测HTTP 轮询 ui.activeSelectionsFusion360 API 事件(activeSelectionChanged、selectionEvent)在此版本不响应元件选择
位置变化阈值位置 0.1mm,旋转 0.5°过滤浮点噪声,避免反馈循环

线程安全

Fusion360 API 要求所有文档操作在主线程执行,但 WebSocket/HTTP 运行在后台线程。

  • 读操作(选中检测、位置读取):直接从 HTTP/WS 后台线程调用,实际可用但不完全稳定
  • 写操作(位置更新、交叉定位、删除):通过 WS 接收命令后直接调用
  • executeTextCommand:可安全从后台线程调用(Fusion 内部在主线程执行)
  • 轮询间隔 2 秒可减少线程竞争导致的闪退概率

常见问题

连接 Fusion360 失败

请按顺序检查:

  1. Fusion360 是否已启动,且 Add-In 脚本已运行
  2. 端口 8767/8768 是否被占用 — 关闭 Fusion360 后重试
  3. 外部交互权限 — EDA 扩展设置中是否已开启外部交互权限
  4. 防火墙 — 检查 Windows 防火墙是否拦截了端口

导入后 Design OK 但看不到模型

确保在导入前已打开或新建了一个 部件设计 文档。Translator.Import 会将 STEP 导入到当前激活的文档中。

导入大文件时 Fusion360 卡住

Fusion360 的 STEP 导入是同步操作,大文件导入期间界面可能无响应。导入完成后自动恢复。代码中 time.sleep(3) 等待导入完成。

双向交互一段时间后 Fusion360 闪退

这是 Fusion360 API 的线程安全限制。后台线程(HTTP/WS)读取 Fusion API 与主线程竞争可能导致崩溃。降低轮询频率可缓解(当前 2 秒一次)。

Fusion360 中选中元件 EDA 没反应

  1. 确认已开启双向交互(日志中应有 Monitor enabled)
  2. 轮询间隔 2 秒,选中后等待 1-2 秒
  3. 检查位号映射是否正确建立(日志中应有 Mapping: X / Y matched)

项目结构

pcb-export-to-fusion/
├── src/
│   └── index.ts                         # EDA 扩展主逻辑(TypeScript)
├── script/
│   ├── Interactive-with-fusion.py       # Python脚本
├── config/
│   ├── esbuild.common.ts                # 构建配置
│   └── esbuild.prod.ts
├── build/
│   ├── packaged.ts                      # 打包脚本
│   └── dist/
├── locales/
│   ├── zh-Hans.json                     # 中文翻译
│   └── en.json                          # 英文翻译
├── images/
│   └── logo.png                         # 扩展图标
├── extension.json                       # 扩展配置清单
├── package.json
└── tsconfig.json

Fusion360 机电协同 -- 变更记录

1.1.1

优化

  • 使用新的logo

1.1.0

优化

  • 多语言优化

1.1.0

新功能

  • 自动新建文档:每次导出 3D 模型时自动创建新 Fusion 设计文档,不再需要手动新建
  • 选中高亮:交叉定位从闪烁效果改为选中状态 + 相机导航,高亮持续到用户点击其他位置

1.0.0

  • 初始版本
暂无数据
暂无数据

评论

在登录或注册后才可以进行评论操作
全部评论(1)
按时间排序|按热度排序

类型

PCB

关键词

Fusion360PCBSTEP3DWebSocket机电协同

扩展信息

版本v1.1.2
发布者

EasyEDA

发布时间2026-06-26 20:56:50
名称

mcad-integration-with-fusion360

UUID

c7e2a4f61b9d47e8b3d5c0a1e2f3d4b5

适用EDA版本:^3.0.0
报告

报告滥用

相关链接

主页:https://github.com/easyeda
反馈:https://github.com/easyeda/eext-mcad-integration-with-fusion360/issues
仓库:https://github.com/easyeda/eext-mcad-integration-with-fusion360
logo

政策条款

服务条款隐私政策项目授权许可协议作出贡献感谢名单

软件版本

专业版标准版教育版私有化部署版

解决方案

专业版编辑器标准版编辑器桌面客户端API接口文档格式

使用帮助

用户论坛专业版教程标准版教程专业版更新标准版更新

关于我们

团队介绍相关报道关于公司联系我们合作联系
EDA公众号
EDA公众号
开源公众号
开源公众号
开源硬件交流群
开源硬件交流群
版权所有 - 深圳创电优选科技有限公司 粤ICP备2026007863号粤公网安备44030402002736号增值电信业务经营许可证粤B2-20201198ISO/IEC隐私政策用户协议