
原理图引脚网络扇出
liuem1v0.1.8
选中 MCU/FPGA 等多引脚原理图器件,一键为所有尚未连接网络的引脚创建以引脚名命名的网络(引出导线 + 网络标签/网络端口):自动判断引脚朝向并沿朝向引出,支持电源地忽略名单、前后缀、长引脚名分段取段,标签列可直接放置或锚定鼠标位置。
详情
更改日志
历史版本
评论
原理图引脚网络扇出
liuem1详情
更改日志
历史版本
评论
LCEDA-sch-net-fanout · 原理图引脚网络扇出
嘉立创EDA专业版(EDA Pro)扩展:选中 MCU、FPGA 等多引脚原理图器件,一键为所有尚未连接网络的引脚创建以引脚名命名的网络(引出导线 + 网络标签/网络端口),方便把大量引脚网络引出并连接到其他地方。
姊妹项目:LCEDA-pcb-autofanout(PCB 电源地就近打孔)。
功能演示
菜单入口(原理图编辑器顶部菜单「引脚网络扇出」):

一键扇出效果(Spartan7 FPGA 实测:未连接引脚沿引脚朝向引出导线,网络名即引脚名,左右两列标签成列对齐):

设置面板——网络名规则(长引脚名取段、前后缀)与忽略名单(默认含常见电源/地/NC):

设置面板——放置方式(直接放在引脚上 / 跟随鼠标成列对齐)、引出方向校正、标签定位与限流节奏:

功能
- 一键创建:菜单「原理图编辑 - 引脚网络扇出 - 创建元件引脚名网络」。对选中器件的每个引脚:
- 已有网络(网表可查)或已有导线连接的引脚自动跳过;
- 其余引脚沿引脚朝向(按器件外接盒自动判定,四边引脚分别向左/右/上/下引出)创建一段承载网络名的导线——导线起点精确落在引脚端点,保证直接电气连接;
- 网络名即引脚名。专业版的"网络标签"是虚拟的(放置标签=给导线设名称属性),所以导线带上网络名后画布会原生显示该名称,当前所有版本(含 V3.2.149)开箱即用;EDA v4+ 客户端可选 BETA 的
createNetLabel精确定位标签位置。
- 忽略名单:常见电源/地(VCC/VDD/GND/±电源…)与 NC 默认忽略,设置页可增删,支持
*通配;对完整引脚名与分段后的基名都匹配。 - 前缀/后缀:如
MCU_/_N,便于之后在网络管理器按名称搜索统一处理。 - 放置方式:
- 直接放在元件引脚上:沿朝向引出固定长度(默认 300mil,可设);
- 跟随鼠标:执行命令时鼠标在哪,标签列就锚定在哪——水平引脚的标签全部引到鼠标所在竖列、垂直引脚引到鼠标所在横列,成列对齐(自动钳位到器件外侧)。
- 长引脚名取段:如
USART1_TX/PB6,分隔符(默认/,可改)取第几段(支持负数从尾部数,越界自动钳位)。 - 预览(不改画布)、一键清理本插件创建的导线/端口、诊断明细输出到控制台。
说明:原理图扩展 API 无鼠标移动事件,「跟随鼠标」以命令触发时的鼠标位置为锚点实现(标签列锚定鼠标位置),而非粘贴式实时拖拽跟随。
使用
- 安装:EDA Pro → 高级 → 扩展管理器 → 导入扩展,选择
build/dist/lceda-sch-net-fanout_vX.Y.Z.eext; - 打开原理图,选中一个或多个器件;
- 菜单「引脚网络扇出」→ 建议先「预览」确认 → 「创建元件引脚名网络」;
- 「设置面板…」调整忽略名单、前后缀、取段规则、放置方式等(改动即保存,下次执行生效)。
开发
npm install
node test/run-offline.ts # 离线测试(名称/网表/几何/规划/写回)
npx eslint src test
npm run build # 产出 build/dist/lceda-sch-net-fanout_vX.Y.Z.eext
node test/verify-pkg.cjs # 包内容核验
- 单位:原理图画布 1 单位 = 0.01 英寸 = 10mil;默认网格 10 单位(100mil)。
- 判断“已有网络”:优先解析 Protel2 网表(
sch_Netlist.getNetlist),辅以已有导线端点几何贴合。 - 网络名形式:默认
auto——v4+ 有createNetLabel(BETA,"ADD since EDA v4",V3.2.149 尚未发布)就精确定位标签,否则用导线原生虚拟网络标签(全版本);网络端口为可完全 API 清理的备选。 - 清理:默认形式(导线网络名)与网络端口均可完整 API 清理;若用 v4 网络标签(属性图元,API 暂不支持删除),删导线后如有残留标签可框选删除。
许可
Apache-2.0
Changelog
0.1.7 (2026-09-18)
- 新增商店横幅 banner(SVG 设计,1280×540 = 64:27):浅色背景高对比(标题
对比度约 12:1,满足上架审核要求),左侧标题区 + 右侧芯片扇出网络插画(延续
logo 视觉语言),文字全部矢量渲染;源码
images/banner.svg随仓库分发。
0.1.6 (2026-09-18)
- 更换插件 logo 为 SVG 设计稿:深藏青底 + 中央 MCU/FPGA 芯片(U1 位号) + 左右引脚
扇出三色网络导线(PA0/PA1/PB6、PB0/PB7/RX1 网络标签胶囊),直接图示插件功能;
SVG 源码随仓库分发(
images/logo.svg),由 Chrome 无头模式渲染为 1024×1024 PNG。
0.1.5 (2026-09-16)
- 左/上引出标签与导线协同修正(实测确认:标签锚点=文字左下角,且锚点必须
落在导线上,否则网络绑定丢失——v0.1.4 把锚点移到线外导致"线没接触到网络"):
- 标签锚定改为导线外端点,文字沿导线向引脚方向延伸、右缘抵住引脚;
- 左/上引出的导线按网络名文字宽度动态延长(估算宽 + 边距,网格向上取整, 默认长度不够时才延长),保证文字全程压线、网络绑定不断;
- 右/下引出保持 v0.1.4 行为(锚点=引脚端,文字向线外延伸)。
0.1.4 (2026-09-16)
- 标签锚点改为导线起点(引脚端):v0.1.3 以导线末端为参照,实测两侧都不对 (标签漂到线外端)。现以导线起点=引脚端点为参照:右/下引出文字左下角锚定 在引脚处、沿引出方向向外延伸;左/上引出按网络名估宽把文字右缘锚定在引脚处、 向外(左)延伸,等效右下角锚定。标签紧贴各自引脚成列对齐。
0.1.3 (2026-09-16)
- 标签分侧定位:原生虚拟网络标签的渲染偏移是固定的,左侧引出会压线/压引脚、 右侧引出线端到文字之间留空。新增「标签定位」设置(默认分侧对齐):右/下侧 引出的标签锚定在导线末端、文字向外延伸(等效左下角锚定);左/上侧引出按网络名 估算文字宽度左移锚点,使文字在导线末端向外结束(等效右下角锚定),两侧标签 成列对齐。v4 用 createNetLabel 直接落位;v3.2 经属性图元 modify 移动原生标签 (sch_PrimitiveAttribute.getAll(导线ID) 匹配网络名 -> modify x),客户端不支持 时自动保持编辑器原生位置(可在设置切回"编辑器原生位置"对比)。
0.1.2 (2026-09-16)
实测二轮反馈修复(方向误判 / 短桩 / 端口全灭 / 限流慢):
- 引脚朝向主判据改为 rotation 分组:同侧引脚共享同一 rotation,按 rotation 分组后以组质心相对整体中心的主轴偏移定方向——不依赖 rotation 角值约定, 天然兼容器件旋转/镜像与参差引脚列(点云边缘法对后者失效);点云边缘 归属降为交叉校验(高置信边缘可纠正个别画错的 rotation)。
- 新增「引出方向校正」设置(自动/左右互换/上下互换/旋转 180°): 个别符号样式判向不符合预期时一键纠正,无需发版。
- 修复跟随鼠标短桩:锚点在器件内部/贴边时,旧钳位只退 1 格产出 5 单位 短桩;现在钳位保证标签列离器件至少"引出导线长度"(默认 30 单位)。
- 网络标签/端口熔断:连续创建失败 5 次自动停试(实测 V3.2.149 的 createNetPort 全军覆没),余下项目仅创建导线,完成弹窗提示改回"自动"模式。
- 自适应节奏取代固定间隔+固定退避:起步 100ms(可设 0=不限速),失败 节奏翻倍(封顶 1.2s)、连续 4 次成功回落 30%——自动收敛画布真实吞吐, 不再靠重试硬扛(实测固定 100ms 间隔时约 1s/引脚)。
- 诊断明细输出引脚 rotation 原始值,便于定位判向问题。
0.1.1 (2026-09-16)
实测(Spartan7 FPGA 原理图,66 引脚扇出)反馈修复:
- 引脚朝向重写:v0.1.0 按外接盒中心主轴判定,又高又宽的符号会把左列上部引脚 误判为上向、下部误判为下向。改为引脚场边缘归属(器件全部引脚坐标点云的 min/max 边)+ 角点歧义按"边上引脚多数派"消解 + API 外接盒边缘/盒中心定侧 + 主轴兜底;单列/单行点云(连接器、双脚器件)整侧定方向。
- 修复斜线导线:v0.1.0 对导线终点两个坐标都做网格吸附,引脚落在 5 偏移网格 (如 x=205、y=785)时产出斜线([205,785]→[180,790])。现在垂直于引出方向的 坐标严格保持引脚原值,导线恒为水平/垂直正交线。
- 修复批量创建失败(实测前 12 个成功、其余 54 个失败,疑似画布事务限流): 相邻创建间隔默认 100ms(设置页可调),失败自动退避重试(200ms×次数,至多 3 次), 完成对话框列出失败明细,重跑本命令可补齐(已完成引脚自动跳过)。
0.1.0 (2026-09-16)
首个版本。
- 选中原理图器件,一键为所有尚未有网络的引脚创建以引脚名命名的网络(导线带网络名;专业版网络标签为虚拟图元——即导线名称属性,画布原生显示;v4+ 客户端可用 BETA
createNetLabel精确定位,亦可选网络端口)。 - 引脚朝向按器件外接盒自动判定(四边引脚分别向左/右/上/下引出),导线起点精确落在引脚端点保证电气连接。
- 忽略名单(默认含常见电源/地/NC,支持
*通配)、网络名前缀/后缀。 - 长引脚名按分隔符取段(分隔符可设,段序号支持负数与钳位)。
- 放置方式:直接放在引脚上 / 跟随鼠标(标签列锚定命令触发时的鼠标位置,成列对齐)。
- 已有网络判定:Protel2 网表解析 + 已有导线端点几何贴合,双保险。
- 预览、一键清理本插件创建的导线/端口、诊断明细输出到控制台。
- 离线测试套件与打包核验脚本。

暂无数据
类型
Schematic
关键词
NetNetLabelFanoutSchematicMCUPin
扩展信息
| 版本 | v0.1.8 |
| 发布者 | liuem |
| 发布时间 | 2026-09-18 11:41:54 |
| 名称 | lceda-sch-net-fanout |
| UUID | 9e600c31253b4e3a9245b0b655aef2c9 |
| 适用EDA版本: | ^3.2.0 |
| 报告 | 报告滥用 |
评论