
局部原理图网表导出
嘉立创EDA-牧尘2v1.7.2
框选部分器件后,按官方网表格式(Netlist_SCH_V3.0,version 2.0.0 同构)导出选中器件的 JSON 网表。自动收集框选电路中所有带网络标签/标识符的网络,导出前由人填写每个网络的作用与限制备注及项目疑问/重点关注备注,一并写入 JSON。
详情
更改日志
历史版本
评论
局部原理图网表导出
嘉立创EDA-牧尘2详情
更改日志
历史版本
评论
局部原理图网表导出 (Partial Schematic Netlist Export)
嘉立创EDA专业版(EasyEDA Pro,≥ 3.2.0)扩展:在原理图页面框选部分器件后,按官方网表格式导出选中器件的 JSON 网表,导出前自动收集有标签网络并由人填写备注,后续可以把该网表发生给AI,让AI快速分析该部分电路是否设计正确。
功能
- 读取当前选中器件(框选 / Ctrl 多选,选中集混有导线、标签等其它图元自动忽略);
- 输出结构与官方原理图网表(Netlist_SCH_V3.0,JSON version 2.0.0)同构:
components:按 Unique ID 索引,每器件含全量props与pinInfoMap(每个引脚的 name / number / net / props);designRule:trackPhysics默认规则 +netRule(仅选中器件涉及的网络);differentialPair/netClass/equalLengthNetGroup空数组占位;
- 有标签网络自动收集:框选电路中所有带网络标签/标识符的网络逐个列出,导出前由人填写每个网络的作用与限制;
- 项目备注:导出前由人填写电路中的疑问或需要重点关注的地方(AI 将把此项作为提问清单,结合各网络备注进行针对性分析);
- 备注写入 JSON 顶层扩展字段
partialNetlist,与官方字段互不干扰,示例:
{
"version": "2.0.0",
"components": { "gge115": { "props": {}, "pinInfoMap": {} } },
"designRule": { "trackPhysics": {}, "netRule": {} },
"differentialPair": [],
"netClass": [],
"equalLengthNetGroup": [],
"partialNetlist": {
"exportTime": "2026-09-07T06:05:15.000Z",
"projectNote": "电源输入 4.5-6V;LDO1 最大 500mA;USB 差分 90Ω",
"labeledNets": [
{ "net": "VBUS", "pins": ["U1.1"], "labelCount": 1, "note": "USB 5V 输入,最大 500mA,勿反接" }
]
}
}


使用方法
- 打开原理图页面;
- 框选(或 Ctrl+点击)需要导出网表的器件;
- 菜单 「📋 网表导出 → 导出选中器件网表 (JSON)」;
- 在弹出的备注面板中:
- 为每个自动识别出的有标签网络填写作用与限制;
- 填写项目整体备注(疑问或重点关注事项);
- 点击「导出 JSON」,保存
Partial-Netlist_SCH_V3.0_<时间戳>.json。
技术说明
- 无构建步骤:
dist/index.js与iframe/index.html既是源码也是发布产物; - 入口按普通脚本求值(非 ES Module),顶层函数对接
registerFn调度; - 选中图元只取 ID(
getAllSelectedPrimitives_PrimitiveId),不对未绑定画布的对象调属性方法; - 器件属性从
sch_PrimitiveAttribute.getAll(器件ID)读取,与官方导出同源; - 网表数据经
sys_Storage暂存传递给 iframe 备注面板(共享同一扩展配置空间),导出完成后自动清除; - 有标签网络收集:框选区域内所有带网络标签/端口/标识符的网络均列出,不论标签数量、不论是否内部互联。
目录结构
partial-sch-netlist/
├── extension.json # 扩展清单
├── dist/index.js # 宿主入口(网表构建 + 面板调度)
├── iframe/index.html # 备注面板(有标签网络备注 + 项目备注 + 导出)
├── images/logo.png # 扩展图标
├── release/ # 打包输出 *.eext
├── package.ps1 # 打包脚本
├── README.md
├── CHANGELOG.md
└── LICENSE
打包
powershell -ExecutionPolicy Bypass -File package.ps1
输出:release/partial-sch-netlist-<version>.eext
许可证
Apache-2.0
更新日志
1.7.2 - 2026-09-08
- 备注面板「项目备注」语义扩展:标题改为「项目备注(有哪些疑问或需要重点关注的事项)」,
提示文案改为引导填写疑问 + 关注点。AI 分析网表时将把此项作为提问清单,
结合各网络备注进行针对性分析。字段名
projectNote不变。
1.7.1 - 2026-09-08
- 核心修复:网络标签(UI 放置的标签)未被识别。
根因:EasyEDA Pro 中 UI 放置的「网络标签」不是独立组件,网络名直接存储在导线上
(
wire.getState_Net()),而 1.7.0 的标签计数只统计 netflag/netlabel/netport 组件, 导线命名的网络(IN-、VOL_ADC、I2C1_SDA 等)计数为 0,被收集循环跳过。 修复:连通组新增wireNames数组,导线网络名与组件标签一起计入标签来源数。 经桥接实测:修复后 22 个导线命名网络 + 5 个 netflag 命名网络全部计入。
1.7.0 - 2026-09-07
- 核心逻辑重写:单连接网络识别改为有标签网络收集。 旧逻辑:仅识别标签数 ≤ 1 的单连接网络(对外接口),多标签网络被跳过。 新逻辑:框选区域内所有带网络标签/端口/标识符的网络均收集,不论标签数量、不论是否内部互联。 理由:标签本身是有意义的信号名,即使内部互联也需要人填写备注,以便 AI 后续分析网表时获得完整上下文。
- 输出字段
singleConnectionNets重命名为labeledNets,结构改为{ net, pins, labelCount, note }。 - 备注面板 UI 同步更新:显示所有有标签网络及其连接引脚、标签数量。
1.6.0 - 2026-09-07
- 核心修正:单连接网络判定标准重写。 旧逻辑:统计「选中器件数 = 1」→ 一个网络标签扇出连接多个器件时被误判为非单连接。 新逻辑:统计「网络在选中区域内的标签/端口/标识符组件数 <= 1 且有选中器件连接」→ 一个网络标签通过导线连接 C26、R20、R16 等多个器件,只要标签仅 1 个,即为单连接。 器件间是内部连接,标签才是外部接口。
1.5.2 - 2026-09-07
- 修正单连接网络判定标准:从「选中引脚数 = 1」改为「选中器件数 = 1」,
与 signal-absence-detection 同款逻辑(统计
parts.size而非引脚数)。 同一器件多个引脚连同一网络只计 1 次,避免误判。
1.5.1 - 2026-09-07
- 回退全工程扫描,恢复仅扫描当前页面框选器件的逻辑。
- 新增精准调试信息:显示 netflag/netlabel 组件数量及网络名、组内网络名,用于定位 CUR_ADC/VOL_ADC 的来源。
1.5.0 - 2026-09-07
- 核心重写:单连接网络识别改为全工程扫描,与 signal-absence-detection 的
detectAll同款算法。 新增scanAllPagesForSingleNets函数:逐页导线几何分组 → 引脚/标识符挂接 → 名字并查集 跨页合并 → 全工程器件数统计 → 判定单连接(器件数 <= 1 或悬空标签)。 网表导出仍仅包含当前页面框选器件,但单连接网络识别基于全工程数据。 - 移除所有调试代码(labelDebug、allCompTypes、wireNetNames、netAttrDebug)。
- 简化 groups 结构和 nameComponents 函数。
1.4.3 - 2026-09-07
- 新增器件属性扫描调试:扫描所有 part 的属性,查找包含 CUR_ADC/VOL_ADC 的属性值及 Net/Net Name/Name 属性, 用于确认 CUR_ADC/VOL_ADC 在原理图中的存储方式。
1.4.2 - 2026-09-07
- 新增导线网络名调试信息:toast 消息显示页内所有导线的
getState_Net()返回的网络名, 用于确认 CUR_ADC/VOL_ADC 是否作为导线网络名存在。
1.4.1 - 2026-09-07
- 新增组件类型调试信息:toast 消息显示页内所有组件的 ComponentType 及数量(如
part:15, netflag:82, netlabel:5), 用于识别 CUR_ADC/VOL_ADC 的实际组件类型。
1.4.0 - 2026-09-07
- 修复
labelDebug对象键名与typeKey + 'Nets'不匹配导致的运行时错误:flagNets→flagsNets、labelNets→labelsNets、portNets→portsNets。
1.3.9 - 2026-09-07
- 新增标签组件调试信息:toast 消息显示检测到的 netflag/netlabel/netport 组件数量及其网络名,用于定位标签识别问题。
- 修复
nameComponents中labelDebug变量作用域问题,确保调试数据正确收集。
1.3.8 - 2026-09-07
- 修正单连接网络判定标准:从「选中引脚数 = 1」改为「网络标签数 = 1」。 一个网络即使连接多个器件引脚(如 VOL_ADC 连接 R16、R20、C26),只要仅有 1 个网络标签, 即为对外接口(单连接网络)。
groups结构新增labels/ports/flags字段,nameComponents函数按类型累计标签数。- 调试信息改为显示
引脚数/标签数(如VOL_ADC(3pin/1label))。
1.3.7 - 2026-09-07
- 回退全工程扫描逻辑,恢复仅扫描框选器件的原始设计。
- 新增调试信息:导出时 toast 消息显示所有检测到的网络及其引脚数/连通组数,以及最终识别的单连接网络列表,便于定位识别问题。
- 新增悬空标签判定:单一网络名仅覆盖 1 个连通组时判为单连接(标签无对端),与 signal-absence-detection 同款逻辑。
- 调试数据
debugNets同步传递至备注面板(iframe)。
1.3.6 - 2026-09-07
- 核心修复:单连接网络识别改为全工程扫描(与 signal-absence-detection 的
detectAll同款算法)。 旧逻辑仅统计当前页面的器件引脚数,当网络在其他图页也有连接时会误判为单连接。 新逻辑:逐页导线几何分组 → 引脚/标识符挂接 → 名字并查集跨页合并 → 统计全工程引脚总数, 仅当全工程范围内仅 1 个引脚连接时才列为单连接网络。 - 保留
netOfPin伪连通组回退查找(网络标签直贴无导线引脚)。 - 保留
resolvePropExpression属性表达式解析(={PropertyName}语法)。
1.3.5 - 2026-09-07
- 修复单连接网络识别遗漏:当网络标签(如 VOL_ADC)直接贴在器件引脚上(无中间导线)时,
netOfPin函数未检查伪连通组,导致该引脚网络名为空、无法识别为单网络。现增加对'pin@' + 坐标伪连通组的回退查找,与 signal-absence-detection 插件逻辑对齐。 - 修复 JSON 导出中
Name属性显示为={Manufacturer Part}/={Value}等未解析表达式:新增resolvePropExpression函数,解析嘉立创={PropertyName}语法为实际属性值(引用缺失时回退 DeviceName / 空字符串)。
1.3.4 - 2026-09-07
- 修复单连接识别把几乎所有网络误判为全连接:
COMP_TYPE常量缺少SHORT_SYMBOL键(1.2.0 重写时遗漏),getCompsByType(undefined)返回全页全部元件,短接符号桥接循环把整页导线组错误合并,网络判定完全失真。经 API 桥接实测:修复后 CUR_ADC 正确识别为单连接(对外接口,全页 2 个连接点)。
1.3.3 - 2026-09-07
- 规范化
edaEsbuildExportName挂载为箭头函数形式,通过官方 skill 的 verify-eext 机械校验(registerFn↔导出匹配 + 模拟加载器 eval);iframe 脚本语法检查通过。无功能变更。
1.3.2 - 2026-09-07
- 依据官方 easyeda-api-skill 格式文档(format/schematic/wire.md)修正导线解析:
dots每段是连续顶点序列(X1 Y1 X2 Y2 X3 Y3 ...,相邻顶点连线构成折线),此前按“每 4 个数一对端点”解析会丢失折线拐角段,导致落在拐角上的引脚连不上网络、单连接误判。
1.3.1 - 2026-09-07
- 修复运行时报错
nameComponentsV2 is not defined:上一版清理重命名时三处调用点漏改,现统一为nameComponents。
1.3.0 - 2026-09-07
- 单连接网络识别精度对齐 signal-absence-detection 插件的成熟算法:
- 导线解析改为逐折线解析(多段折线数组),修复扁平化导致的端点错位;
- 坐标精度放宽至 0.01(pkey 取整 100 / pointOnSeg 容差 0.01),修复 T 型交叉漏合并;
- 短接符号(Short-Symbol)两引脚视为导线直连,桥接连通组;
- 网络标签/端口/电源标识直贴无导线引脚时建立伪连通组(原实现该引脚网络名丢失);
- 新增名字并查集:一个连通组携带多个网络名时(短接桥接/标签并名)同名组跨岛合并,取等价类代表名(原“排序取第一个”会错误拆分网络);
- noConnected(非连接标识)引脚跳过;getAllPins 失败回退 getAllPinsByPrimitiveId;getCompsByType 双路径(类型字面值 + ComponentType 过滤);
- 单连接判定按名字等价类聚合(标签代替导线的同名网络算同一网络),仅当等价类在选中器件中只挂 1 个引脚时列为单连接;
- 备注面板显示该网络在全页的总连接数,区分“框选外还有连接”与“全图悬空”。
1.2.0 - 2026-09-07
- 移除 Markdown 导出,仅保留 JSON 格式;
- 自动识别框选电路中的单连接网络(在选中器件中只连一个引脚的网络,即对外接口),导出前在备注面板中逐个列出,由人填写该网络的作用与限制备注;
- 新增项目整体备注:导出前由人填写电路中需要重点关注的地方;
- 新增 iframe 备注面板:列出全部单连接网络(网络名 + 唯一连接引脚)逐个填写备注,附项目备注多行文本框,确认后合成 JSON 保存;
- JSON 在官方结构之外附加顶层扩展字段
partialNetlist:{ exportTime, projectNote, singleConnectionNets: [{net, note}] },与官方字段互不干扰; - 网表数据经
sys_Storage暂存传递给备注面板,导出完成后自动清除。
1.1.2 - 2026-09-07
- Markdown 导出移除末尾的「原始 JSON」代码块,仅保留表格化内容(器件清单 / 网络连接表 / 引脚明细 / 网络规则)。
1.1.1 - 2026-09-07
- 修复 Markdown 中器件名称显示为
={Manufacturer Part}/={Value}的问题:这是嘉立创属性表达式语法(引用同器件其它属性),渲染时现解析为实际值(如SY6280AAC、100mΩ),引用缺失时回落 DeviceName / Manufacturer Part;JSON 导出保持官方原始值不变。
1.1.0 - 2026-09-07
- 导出结构对齐官方原理图网表(Netlist_SCH_V3.0,JSON version 2.0.0):components 按 Unique ID 索引,含器件全量 props 与 pinInfoMap(name/number/net/props),designRule 含 trackPhysics 与 netRule(仅选中器件涉及的网络);
- 新增 JSON 格式导出,与官方文件可直接对比 / 程序化处理;
- Markdown 格式改为官方同构内容渲染:器件清单、网络连接表、引脚明细、网络规则,并附完整原始 JSON;
- 文件名对齐官方命名:
Partial-Netlist_SCH_V3.0_<时间戳>.json/.md; - 器件属性改从
sch_PrimitiveAttribute.getAll(器件ID)读取(与官方导出同源),引脚属性保留 Simulide Pin / NGspice Pin 等附加键。
1.0.1 - 2026-09-07
- 修复导出时报“对象未在 PCB 画布初始化,不存在 PrimitiveId”:
getAllSelectedPrimitives()返回的选中图元对象未绑定画布上下文,直接调用getState_*会抛异常;改用getAllSelectedPrimitives_PrimitiveId()只取图元 ID,再与页内元件对象按 ID 对齐。
1.0.0 - 2026-09-07
- 首个版本:框选部分器件后导出选中器件之间的连接网表为 Markdown(.md)文件;
- 基于导线几何连通性(端点重合 + T 型交叉)还原物理网络,网络标签 / 网络端口 / 电源标识符自动命名;
- 输出器件清单、内部网络连接表、对外接口(单端网络)、器件引脚明细四部分。

暂无数据
类型
Schematic
关键词
NetlistExportSchematic网表导出
扩展信息
| 版本 | v1.7.2 |
| 发布者 | chenlong11 |
| 发布时间 | 2026-09-08 10:36:51 |
| 名称 | partial-sch-netlist |
| UUID | 28923e70555f4f9aadb9c8f41c6a55ad |
| 适用EDA版本: | ^3.2.0 |
| 报告 | 报告滥用 |
评论