
PCB 转 原理图
PCB 转 原理图
狼黑612狼黑工具 · PCB转原理图
一键生成带网络可编辑的原理图。
一个嘉立创EDA(专业版)的扩展。它把 PCB 上的元件搬到原理图里:自动分组、自动摆位置、自动配上符号,每个引脚旁边写上它在板子上连的网络名。也可以反过来用——只给已经画好的原理图补上缺的连线。
支持客户端版本:嘉立创 EDA 专业版 V2.2.45 ~ V4.x.x,推荐 V3.2.135 以上
适合这些时候用
- 接手别人的板子,只有 PCB 文件,要出一份能改的原理图
- 维修、仿制,需要对照实际连接
- 老项目图纸丢了,想照着板子重建
工具只在你自己的电脑上运行,读取的都是本地工程,不联网、不上传。

安装
V3 / V4(推荐)
建议在线安装
- 打开嘉立创 EDA 专业版,在菜单栏「高级 → 扩展管理器」,搜索「PCB 转 原理图」,点「安装」。
- 在「已安装」扩展列表里找到「PCB 转 原理图」,点「配置」 → 勾选 允许外部交互 与 显示在顶部菜单。
离线安装
- 下载插件:【扩展广场下载】或【Github下载】
- 打开嘉立创 EDA 专业版,在菜单栏「高级 → 扩展管理器」 → 点「导入」,选择下载好的
.eext文件 - 在「已安装」扩展列表里找到「PCB 转 原理图」,点「配置」 → 勾选 允许外部交互 与 显示在顶部菜单。

第 3 步很关键。不勾「显示在顶部菜单」,装完在菜单栏是看不到的。
V2.2.45
- 下载插件:【扩展广场下载】或【Github下载】
- 打开嘉立创 EDA 专业版,在菜单栏「设置 → 扩展 → 扩展管理器 → 导入扩展」 → 选择
.eext文件; - 装好后勾选「允许外部交互」,V2.2.45 默认在菜单栏显示。
V2.2.45 不支持快捷键。项目本身基于 V2.2.45 开发,全部功能可用;早期 API 不够完善,可能会有兼容性问题。
装好之后,切到原理图界面,顶部菜单会多出一项「PCB转原理图」。
用之前先准备好这三件事
| 要准备什么 | 为什么 | 怎么做 |
|---|---|---|
| 原理图和 PCB 是同一个工程里的一对 | 工具要靠这个对应关系知道该读哪块板子 | 正常在工程里建的原理图 + PCB 就已经是配对的 |
| 一个空白的原理图页 | 工具是整页重画,不是往上叠加;页面上原有东西会打架 | 右键原理图名 → 新建图页(你的版本里也可能叫「新建图页 / 添加图页」),然后切到这一页 |
| 每个元件都有符号 | 没有符号就没有图形可以放 | 在 EDA 里给器件做「器件标准化」,或等下在工具里手动指定 |
把 PCB 变成原理图
第 1 步:打开工具
菜单 原理图 → PCB转原理图 → 从PCB转原理图,弹出一个小窗口。
第 2 步:点「加载数据」
工具会读一遍当前工程,把板子上的元件列成一张表。等状态栏出现「元件处理完成」就好了。
表格一共六列,主要看第四、五列:
| 列 | 看什么 |
|---|---|
| 位号 / 名称 / 封装 / 器件 | 元件信息。同一种元件会合并成一行,一行里可能有好几个位号,这是正常的 |
| 匹配符号 | 有内容=可以直接转;空着=这个元件还没绑定符号 |
| 指定符号 | 匹配符号空着时,在这里手填符号的准确名称;可照抄「匹配符号」列里同型号的写法 |
第 3 步:选排布方式
| 选项 | 效果 | 什么时候选 |
|---|---|---|
| 按位号 | 按 R1、C1、U1 这种编号排队 | 默认,最规整 |
| 按器件 | 同型号的元件排在一起 | 想按功能块看 |
| 按封装 | 同封装排在一起 | 想核对封装 |
| 按元件坐标 | 大致还原元件在板子上的位置 | 想对着实物/PCB 逐块核对 |
下面四个勾选项:
- 显示分类标题:每组上方写一行组名,并按组画框。(默认已勾)
- 尝试生成导线:给每个有网络的引脚拉出一小段线,线上带着网名。建议保持勾选,这是这个工具最省事的地方。(默认已勾)
- 启用 Y 值翻转:默认已经按你的 EDA 版本自动设好了。只有当你看到符号整页上下颠倒时才需要动它。
- 忽略符号错误:勾上则跳过没有符号的元件继续生成;不勾则一旦有元件缺符号就整页不做,并把那几行标红。(默认不勾)
第 4 步:构建源码
点「构建源码」。这一步只是在后台把图纸内容算出来,不会动你的画布,所以可以反复试、反复调选项,直到满意为止。
状态栏会告诉你生成了多少行。
第 5 步:选一个出口
| 按钮 | 得到什么 | 说明 |
|---|---|---|
| 写入文档 | 直接画到当前原理图页 | 只认原理图页,切到别的页面会拒绝写入;页面上原来有东西会导致画不出来 |
| 导出文件 | 一份新的工程包 | 原工程不动。元件特别多的板子走这条路更稳,不会卡死客户端 |
| 导出表格 | 一份 CSV 清单 | 就是你在界面上看到的这张表(含手填的符号),方便留档、核对 |
| 导出网络 | 一份 CSV 网络清单 | 唯一ID、位号、引脚编号、引脚名称、引脚网络。要先「构建源码」才能导 |
建议:第一次拿大板子试,先「导出文件」,确认结果没问题,再决定要不要直接写入。
生成的结果可能不完整、也可能不准,尤其元件缺符号或网络没整理过的板子。请自己核对。
只补导线(原理图已经画好了)
如果原理图是你自己画的,只是懒得一根根连线,用「创建导线」。
菜单 原理图 → PCB转原理图 → 创建导线,下面有五个入口:
| 入口 | 做什么 | 什么时候用 |
|---|---|---|
| 来自PCB | 选中元件,照着板子的实际连接补线 | 板子在手边、就开着 |
| 来自网表 | 按已经存好的网表补线,不用切来切去 | 经常补线,或板子不方便开着 |
| 从PCB更新网表缓存 | 把整块板的连接关系存下来 | 想「先存后用」的第一步 |
| 从文件更新网表缓存 | 从网表文件存进来 | 手上有导出的网表文件 |
| 清空网表缓存 | 删掉存着的那份 | 换板子了,怕用错 |
用法一:直接补
- 在原理图里选中要补线的元件(可以一次选多个)。
- 点「来自PCB」。
- 工具会自动切到 PCB 读一遍、再切回来,只补还缺的那些线——已经连好的不会重复画。
- 完成后底部日志会写:补了多少个引脚、花了多久。
用法二:先存后用
- 点「从PCB更新网表缓存」,提示会告诉你存下了多少器件、多少引脚、多少网络。
- 以后随时点「来自网表」补线,不需要 PCB 在旁边。
- 缓存只保留最新的一份,提示和日志里会写明它是从哪来的、什么时候存的。
「来自PCB」和「从PCB更新网表缓存」要求原理图和 PCB 在同一个窗口里。分屏或开两个窗口时找不到 PCB,会中止并提示你。
常见问题
Q:装好了,但菜单里找不到? 重开客户端。还找不到,就在扩展管理器里确认插件是「已启用」状态,并检查编辑器的版本是否低于 2.2.45。
Q:点「加载数据」提示找不到对应的PCB? 当前这张原理图还没和 PCB 关联上。回到工程里把这一对绑定好,或者换到已经绑定的原理图页。
Q:构建时提示「部分元件没有符号」? 这些元件在 EDA 里没做器件标准化。三个办法:最推荐:在 EDA 内完成「器件标准化」,在表格「指定符号」列手填(符号的准确名称),或者勾上「忽略符号错误」跳过它们。
Q:写入直接被拒? 你现在不在原理图页上(可能切到了 PCB 或封装页)。切回原理图页再点写入。
Q:生成的符号整页上下颠倒,导线跑到符号外面? 把「启用 Y 值翻转」反过来勾一次,再重新构建。
Q:元件好几千,点写入就白屏、卡死? 别直接写入。用「导出文件」,再通过「文件 → 打开 → 嘉立创EDA」导入那份新工程包。
Q:点「来自PCB」说没选中器件? 先在原理图里选中元件,再点菜单。
Q:点「来自PCB」拿不到板子的数据? 原理图和 PCB 被分屏或开在不同窗口了。关掉分屏、在同一窗口打开两者;或者改用「来自网表」。
Q:点「来自网表」说缓存是空的? 还没存过。先点「从PCB更新网表缓存」或「从文件更新网表缓存」。
Q:更新缓存时提示没取到网表? PCB 还没保存,或者刚切过去还没加载完。保存 PCB 后再点一次。
Q:一行里有好几个位号,是合并错了吗? 没错。封装和器件都相同的元件会合并显示,实际转换时每个位号各放一个符号。
Q:转出来的原理图和 PCB 还能联动吗? 能。元件身份信息一并带过去了,之后用 EDA 自带的「从 PCB 导入变更」还能补全位号、名称和自定义参数。
Q:会改坏我的工程吗? 「构建源码」不改。「写入文档」会改当前原理图页(所以请用空白页);「导出文件」只生成一个新文件,原工程不动。无论哪种,动手前先备份工程。
反馈与支持
| 项目 | 信息 |
|---|---|
| 作者主页 | 狼黑 |
| 项目主页 | PCB 转原理图 |
| 问题反馈 | 提交 Issue |
| 扩展主页 | 嘉立创 EDA 扩展广场 |
| 开源许可 | Apache-2.0 |
本工具为非官方第三方开源扩展。
1.4.0
从狼黑工具(pro-api-sdk v1.23.1)同步「创建导线」,功能与主仓一致。
新增
- 菜单「从PCB创建导线」升级为**「创建导线」子菜单**,共五个入口:来自PCB、来自网表、从PCB更新网表缓存、从文件更新网表缓存、清空网表缓存。「来自PCB」就是原来的逻辑,行为一字未改。
- 网表可以先存再用:「从PCB更新网表缓存」自动切到 PCB 取整块板的
.enet,存好后自动切回原理图;「从文件更新网表缓存」弹文件框选一个.enet。之后点「来自网表」直接按缓存补线,不用再切页、不用再选文件。 - 两个来源(PCB / 文件)只存一份缓存,后更新的覆盖前一份;每次更新都会说明这份缓存里有多少器件、多少引脚、多少网络,以及它是从哪来的、什么时候的。
- 新增「关于」页:菜单「PCB转原理图 → 关于」。上半部四张链接卡片(GitHub 主页 / 更新日志 / 联系开发者 / 请开发者喝蜜雪),下半部按四个入口列出功能清单,每条可展开看用法步骤与注意事项;版本号取自扩展清单,随包升级自动更新。免责声明按本仓范围重写(不涉及工时与校准参数)。
优化
- 「来自网表」在缓存为空时直接说清该先去哪个菜单更新,不再抛一个看不懂的「导入网表文件失败」。
- 「清空网表缓存」在缓存本来就是空的时候也会明确提示,不会出现点了没反应的情况。
- 页面样式表按本页真实用到的元素重新裁剪:删掉本页没有的控件(下拉框、多行文本、滑块、取色器、日期/搜索/密码框)、链接样式、状态栏里从未被触发的配色变体,以及只被主仓其它页面使用的配色变量。PcbToSch 用到的部分 592 → 477 行(新增「关于」页样式段后整份为 886 行);裁剪前后对 35 个节点 × 73 条计算属性逐项比对,页面外观没有任何变化。
变更
- 「PCB 转原理图」页的源码与主仓逐字节一致,本次无功能改动;页面产物与主仓唯一差异是「反馈问题」链接指向本仓的 issues。
1.3.0
从狼黑工具(pro-api-sdk v1.23.1)同步「PCB 转原理图」功能,代码与主仓库对齐。
新增
- 版本适配提示分三档:窗口顶部不再一律显示「功能可用」,而是按当前 EDA 版本给出结论 —— 2.2.45 ~ 4.x 显示「功能可用」(绿),低于 2.2.45 显示「建议更新EDA」(橙),5.0 及以后显示「暂未做适配」(橙);版本号解析不出来时只显示版本号,不硬贴一个「可用」。
变更
- 版本判定逻辑与主仓库共用的
core/version.js保持一致(新增classifyVersionSupport())。
修复
- 元件缺符号时的报错换成更明确的指引:「部分元件没有符号!!!解决方法:可忽略错误 或者 在EDA器件标准化面板替换器件」,替代原来那句「需要做完 器件标准化 才能转换」,一眼看出下一步该做什么。
1.2.1
修复
- 一个原理图引脚对应 PCB 封装上多个焊盘时,原来会在这一个引脚上叠画 4 条完全重合的导线;现在一个引脚只画一条导线,同位置的其余引脚不再重复出线。
1.2.0
从狼黑工具(pro-api-sdk v1.22)同步 PCB 转原理图功能,代码结构与主仓对齐。
新增
- 支持 EDA V4:源码格式按
V3/V4 同构判断,V4 不再被误判成 V2 而写坏文档。 - 导出网络:新增按钮,导出「唯一ID / 位号 / 引脚编号 / 引脚名称 / 引脚网络」CSV(需先构建源码)。
- 写入门禁与写入自检:写入前确认当前文档是原理图页;写入后清点画布器件数,为 0 时明确报错而不是假报成功。
- 符号文件缺失兜底:不再把字面量
undefined写进partId。
变更
- 页面代码改为模块化 ESM(
iframe/js/src/**),新增npm run build:iframe打包成单文件 IIFE;HTML 只引产物。 - 界面换用统一深色样式(
iframe/css/common.css),表格列宽与按钮区重排;移除页内「同意免责声明」勾选,免责声明见 README。 - 分类排布合并为一份实现(V2 与 V3/V4 共用坐标计算),间距常量统一:右边界 2560、列间距 40、行间距 40、组间距 200。
- 导线源码发射收敛到
sch/emitter.js,与「从 PCB 创建导线」共用同一份格式规格。 - 关键词指定符号保留(
电阻/无极电容/电感),其余按符号标题精确匹配。 - 构建脚本精简为单页面(无内联第三方库),产物
iframe/js/app/PcbToSch.js与主仓逐字节一致。
修复
- 器件名、网络名中含双引号时生成的源码非法、整份写不进去(改为 JSON 转义)。
- V3/V4 的
COMPONENT缺attrs、ATTR字段不全、缺Channel ID导致「写入返回成功但符号不生成」或整份拒写。 - 多部件符号的部件名取不到时输出
undefined。
文档
- README 重写:功能一览、界面说明、分步流程、四个出口对比、版本与格式差异、排错表、开发与同步说明。
1.1.3
重构代码
1.1.2
解决 JSZip is not defined
1.1.1
重构前端UI 增加创建导线功能
1.0.2
更新README.md
1.0.1
修复V3版本导线错位问题
1.0.0
初始版本

类型
关键词
扩展信息
| 版本 | v1.4.0 |
| 发布者 | 狼黑 |
| 发布时间 | 2026-10-26 00:36:47 |
| 名称 | eext-pcbtosch-tool |
| UUID | eextpcbtoschtool0000wolf40960000 |
| 适用EDA版本: | >=2.2.45 |
| 报告 | 报告滥用 |
评论