• 首页
  • 使用指南
    上传指南安装指南
  • 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嘉立创社区开源广场

编辑器

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

引脚排序

狼黑1v1.0.0
(0)Apache-2.0
在符号编辑器中对选中的引脚,按名称或编号快速排序与等间距对齐,支持拆分排序、末尾排序、升序与降序。
详情
更改日志
历史版本
评论

引脚排序

狼黑1
(0)Apache-2.0
详情
更改日志
历史版本
评论

简体中文 | English | 繁體中文 | 日本語 | Русский

Pin Sorting · 引脚排序

一款面向 嘉立创EDA 专业版 与 EasyEDA Pro 的轻量级扩展,用于在符号编辑器中对选中的引脚按名称或编号快速排序并等间距对齐,让原理图与符号库一目了然。

效果预览 效果预览

左侧:官方系统库的引脚顺序;右侧:使用本扩展排序整理后的引脚顺序。

功能特性

  • 按名称 / 按编号:支持按 pinName 或 pinNumber 作为关键字排序。
  • 升序 / 降序:一键切换两种方向。
  • 拆分排序:基于 Intl.Collator({ numeric: true }) 实现自然序列,可正确处理 DQ6 与 DQ10、A1 与 A10 等混合场景。
  • 末尾排序:仅用于比较的临时变换,不修改引脚属性本身。配合拆分排序时可将 DQ10 → 10DQ,避免末尾倒序被反写为 01QD。
  • 统一对齐:自动取最靠左 X 与最靠上 Y 为参考原点,按当前引脚朝向决定横向或竖向等间距排布。
  • 朝向归一化:将引脚朝向归一化到 180° 与 270° 两个角度,规避 EDA 的旋转 Bug。
  • 空操作优化:当坐标与朝向已经一致时跳过 modify 调用,节省不必要的请求。

使用方法

  1. 在嘉立创EDA 专业版 / EasyEDA Pro 中安装本扩展。
  2. 打开一个符号编辑器文档。
  3. 框选或多选一批引脚。
  4. 通过顶部菜单 引脚排序 → 引脚排序 打开排序窗口。
  5. 窗口顶部实时显示当前选中的引脚数量。
  6. 设置排序参数,点击 升序 或 降序 立即应用。

排序选项详解

选项取值说明
排序对象名称 / 编号选择比较的引脚属性,对应 pinName 或 pinNumber。
拆分排序默认开启启用后先按字母段 / 数字段切分再比较,自然顺序,避免 DQ10 排在 DQ2 之前。
间距数字(默认 10)排布间距,10 = 画布栅格的0.1。
末尾排序默认关闭启用后比较时把字符串“段序颠倒”,但不会回写到引脚属性。
升序 / 降序按钮触发排序与对齐,立即应用新坐标。

拆分排序 + 末尾排序 组合示例:DQ10 → [DQ, 10] → "10DQ",这样保证 DQ6 与 DQ10 中 DQ6 排在前;而 UDQS(未启用拆分排序时)则会逐字符倒置为 SQDU。

实现原理简述

  1. 轮询选中集合:每 200ms 调用 eda.sch_SelectControl.getAllSelectedPrimitives() 拉取当前选中,并过滤出 primitiveType === 'Pin' 的图元,用于刷新顶部计数。
  2. 构造比较键:根据 UI 选项确定 pinName 或 pinNumber 作为关键字,决定是否启用 Intl.Collator({ numeric, sensitivity: 'base' }) 与末尾倒序变换。
  3. 排序:对引脚副本数组进行排序,不修改原数组,确保参考原点来自原始坐标。
  4. 参考原点:遍历原始选中集合,取 X 最小值与 Y 最大值(JLCEDA 坐标系 Y 轴向上)。
  5. 朝向归一化:将首个引脚朝向归一化到 180° 或 270°,避免 0° 与 180°、90° 与 270° 之间的翻转歧义。
  6. 应用新坐标:
    • 朝向 0° / 180° → 横向引脚 → 竖向排布,固定 X = minX,Y 从 maxY 起递减;
    • 朝向 90° / 270° → 竖向引脚 → 横向排布,固定 Y = maxY,X 从 minX 起递增;
    • 若当前引脚坐标与朝向已一致则跳过 eda.sch_PrimitivePin.modify;
    • 否则展开引脚对象并仅覆写 x / y / rotation,再调用 modify(primitiveId, property)。

项目结构

├───build                 扩展包编译脚本目录
│   ├───dist              扩展包编译产物
│   └───packaged.ts       打包为 .eext 的脚本
├───config                ESBuild 编译配置
├───dist                  扩展主代码编译结果(由 esbuild 生成)
├───iframe                内联框架窗口 HTML
│   └───PinSorting.html   引脚排序 UI 与排序逻辑
├───images                扩展预览图
│   ├───logo.png          扩展 Logo
│   ├───演示.png          使用工具截图
│   └───示例.png          使用效果截图
├───locales               多语言文件
│   ├───en.json
│   ├───zh-Hans.json
│   └───extensionJson     扩展菜单标题多语言
├───src                   扩展主要源代码
│   └───index.ts          入口:注册菜单与打开 iframe
├───extension.json        扩展配置
├───package.json          NPM 配置
└───tsconfig.json         TypeScript 配置

构建与安装

  1. 安装 Node.js(建议 ≥ 20.5)与依赖

    npm install
    
  2. 修改代码并按需更新 extension.json 中的 version

  3. 构建扩展包

    npm run build
    
  4. 构建产物位于 ./build/dist/,文件名为 ${name}_v${version}.eext

  5. 在嘉立创EDA 专业版 / EasyEDA Pro 中导入

    • V2:顶部菜单栏 → 设置 → 扩展 → 扩展管理器 → 导入扩展
    • V3:顶部菜单栏 → 高级 → 扩展管理器 → 导入

    选择上一步生成的 .eext 文件即可。

开发提示

  • 在 extension.json 的 headerMenus 中,本扩展仅在 symbol(符号编辑器)页面注册菜单,因为只有符号编辑器的引脚图元(primitiveType === 'Pin')支持通过 modify 调整坐标与朝向。
  • 引脚排序的 modify 调用展开整个引脚对象,仅覆写 x / y / rotation,保留其它属性以避免系统重新分配未知参数导致引脚翻转。
  • 编辑器坐标系 Y 轴向上,因此参考原点取 Y 最大值(最靠上),从该位置起沿排布方向递减。

更多工具

更多「狼黑工具」系列扩展,请前往:https://jlc-ext.com/item/darksteel/wolfblack-tool

也可以在扩展的 引脚排序 → 关于 弹窗中找到该链接。

开源许可

本扩展基于 Apache License 2.0 开源。嘉立创EDA 与 EasyEDA 商标信息仅可用于依托本扩展构建产物的功能描述部分与开源发布的标题部分。

更新日志

1.0.0

  1. 首个正式版本
  2. 支持按引脚名称或编号排序;支持拆分排序、末尾排序、升序与降序
  3. 支持横向 / 竖向排布自动切换与朝向归一化(规避 EDA 旋转 Bug)
暂无数据
暂无数据

评论

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

类型

Symbol

关键词

PinSortSymbolSchematic引脚

扩展信息

版本v1.0.0
发布者

狼黑

发布时间2026-09-03 12:14:27
名称

pin-sorting

UUID

745919f1e03349e99d0d11ba0b757225

适用EDA版本:^3.2.175
报告

报告滥用

logo

政策条款

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

软件版本

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

解决方案

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

使用帮助

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

关于我们

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