嘉立创EDA扩展插件 - 导入 Altium Designer (AD) 格式网表
简介
本插件主要用于在嘉立创EDA(专业版)PCB编辑器中,直接导入 Altium Designer (AD) 格式的网表文件(.net)。通过解析 AD 网表,自动将网络连接关系应用到当前的 PCB 设计中。
使用方法
8698249992187207681
解决了哪些痛点
解决了JLCEDA导入AD网表提示:[错误] : 导入失败!未提取到有效的元件信息。 的问题
技术要点
正则解析 AD 网表:使用正则表达式 /\(([\s\S]*?)\)/g 精确提取 AD 网表中的网络块,并解析 网络名 与 位号-引脚 的对应关系。
兼容数据结构:能够自动识别当前 JLCEDA 网表是 V2 还是 V3 版本。
双重引脚映射适配:针对不同版本的 JLCEDA 数据结构,同时适配了 pinInfoMap(对象结构)和 pins(键值对结构)两种引脚网络定义方式,增强了脚本的鲁棒性。
错误处理机制:在导入过程中会自动检查 PCB 中是否存在对应的元件位号(Designator)
使用API接口
API接口
描述
eda.sys_FileSystem.openReadFileDialog()
打开系统文件读取对话框,用于选择 .net 文件。
eda.pcb_ManufactureData.getNetlistFile('JLCEDA')
获取当前 PCB 的 JLCEDA 格式原始网表数据。
eda.pcb_Net.setNetlist('JLCEDA', listjson)
将修改后的 JSON 网表数据写回编辑器,应用网络更改。
常见问题
Q: 导入后网络没有变化? A: 检查 AD 网表中的元件位号(Designator)是否与嘉立创EDA PCB 中的位号完全一致。位号区分大小写且必须一一对应。
Q: 支持哪种 AD 网表格式? A: 支持标准的 Altium Designer Wirelist 格式(Telesis),即形如 (NetName U1-1 R1-2) 的文本结构。
适用EDA版本
完全兼容 V2 和 V3 版本
本工具基于 v2.2.45 客户端开发
#嘉立创EDA# #扩展API# #扩展插件# #狼黑工具# #AltiumDesigner# #网表导入# #PCB设计#
狼黑工具:嘉立创EDA专业版的效率神器
狼黑工具 (WolfBlack Tool) 是一款专为 嘉立创EDA专业版 (Pro) 设计的强大插件集合。它旨在解决设计师在 PCB 与原理图设计中的痛点,提供了一系列批量处理、逆向工程、自动化辅助功能,让设计更高效,工具更顺手。
🛠️ 功能全览与演示
以下是插件包含的核心功能,点击链接可直接查看演示视频。
🎨 图像类
导入图片 (无损) 将 PNG/JPG/BMP 图片无损导入 PCB 图层。支持毫米/密尔单位切换,内置 DPI 换算,支持“鼠标跟随”放置。 演示视频
导入二维码 (矢量/图片) 生成标准或独特的“斜二维码”,支持图片模式或矢量模式(适合阻焊开窗),内置识别功能可从已有二维码读取内容。 演示视频
🧩 PCB 设计与布线类
生成物理网络 (逆向黑科技) 无原理图也能做 DRC! 基于几何接触算法(并查集),自动分析导线、过孔、焊盘的物理连接,反向生成网络表。比 AD 的同类功能快 30 倍。 演示视频
线条导线互转 打通“导线”与“多边形/线条”的壁垒。将 DXF 导入的图形一键转为具有电气属性的导线,或将导线炸开为普通线条。 演示视频
过孔焊盘互转 解决 EDA 无法对过孔设置特定覆铜规则的痛点。一键将过孔转为焊盘(或反之),利用焊盘的约束区域属性进行特殊设计。 演示视频
快速创建封装 所见即所得。在 PCB 画布上直接画好图形,一键生成对应的封装、符号和器件,无需在封装编辑器中繁琐操作。 演示视频
📋 数据管理与 BOM 类
批量替换器件 (改版神器) 通过 Excel 粘贴“位号”和“新 C 编号”,插件自动联网获取新器件属性(名称、厂家、封装等)并批量更新到 PCB,省去手动修改的繁琐。 演示视频
导入 BOM 从 Excel 复制 BOM 数据(支持多位号),一键批量更新 EDA 中的器件属性,适合后期统一整理物料信息。 演示视频
批量修改网络 通过 Excel 规则批量重命名或合并网络。例如将所有 NetR1_2 批量改为 SPI_MISO,自带查询引脚网络功能,复制到 Excel 修改后粘贴回来批量替换。 演示视频
丝印代码转换 一键将 104、01C (E96代码) 等简写转换为 100nF、10kΩ 等人类可读的数值,提升 BOM 规范性和维修便利性。 演示视频
🧹 检查与清理类
位号查重 无需原理图,直接扫描 PCB 中是否存在重复的位号(不区分大小写),并在日志中提供点击定位功能。 演示视频
清空多余属性 自动清理器件中“供应商”为空的冗余属性,保留关键信息,防止 BOM 表混乱。 演示视频
恢复 3D 模型 解决因批量替换属性导致 3D 模型丢失的问题。通过导入备份的网表文件,一键恢复器件的 3D 模型关联。 演示视频
🔄 原理图同步与逆向
放置导线 (逆向同步) 根据 PCB 的连接关系,自动在原理图引脚上绘制导线并标记网络,解决 PCB 改动后原理图未同步的问题。 演示视频
放置器件 (PCB转SCH) 逆向工程辅助。读取 PCB 或网表,自动在原理图画布重建元器件,并根据 C 编号或名称的匹配度分区域放置。 演示视频
📊 时间统计工具
工作时间统计 统计每天的设计时长,自动区分“工作”与“摸鱼”时间,生成可视化图表,数据本地存储。 演示视频
💡 核心技术亮点
狼黑工具不仅仅是简单的脚本,它包含多项硬核技术实现:
并查集 (Union-Find):用于“生成物理网络”,高效处理成千上万图元的连通性合并。
空间网格索引 (Spatial Hashing):将 PCB 划分为网格进行碰撞检测,避免暴力计算,提升处理速度。
几何算法:包含复杂多边形解析、Line/Rect/Round 混合碰撞检测、以及基于三角函数的图形旋转计算。
剪贴板智能解析:直接读取 Excel 复制的数据,自动识别 TSV 格式,支持单行多位号拆分。
源码级操作:部分功能直接通过解析源码,突破 API 限制。
云端同步:通过 C 编号自动调用 EDA 接口拉取云端器件的完整属性。
鼠标跟随:导入图片、二维码等对象时,实现流畅的鼠标吸附跟随效果。
异步并发:大量使用 async/await 和 Promise.all,防止界面卡顿。
可视化反馈:集成 ECharts 图表,以及在原理图上直接生成进度文本。
🚀 安装方式
方式一:从 扩展管理器 安装(推荐 V3 用户)
顶部菜单栏 ⇒ 高级 ⇒ 扩展管理器
搜索 “狼黑工具”
点击 安装 ⇒ 配置 ⇒ 勾选“显示在顶部菜单”
方式二:从文件导入(V2/V3 通用)
下载插件:GitHub 或 嘉立创EDA扩展广场
V2版本:设置 ⇒ 扩展 ⇒ 扩展管理器 ⇒ 导入扩展
V3版本:高级 ⇒ 扩展管理器 ⇒ 导入 ⇒ 配置 ⇒ 显示在顶部菜单
🔗 开源地址
本工具完全开源,欢迎 Star 或提交 Issue: 👉 GitHub: https://github.com/WOLF4096/easyeda_wolfblack_tool
⚠️ 注意事项与免责声明
兼容性提示
本工具基于 V2.2.43客户端 开发,大部分功能已适配 V3 版本。
重要提醒
务必备份:本工具涉及到底层源码与网表修改(尤其是创建封装、批量替换、导入BOM等功能),使用前请务必备份设计文件。
3D模型丢失:使用“批量替换器件”功能可能会导致原有的 3D 模型关联丢失,可使用“恢复 3D 模型”功能进行修复。
API 缺陷规避:部分功能(如快速创建封装)为了规避 EDA 原生 API 的 Bug,采用了特殊的创建-删除-再放置策略,请留意插件的操作提示。
免责声明
使用前请务必备份设计文件
建议在测试环境中验证功能后再用于正式项目
作者不对因使用本工具造成的任何数据丢失或设计错误负责
让设计更高效,让工具更顺手。 🐺
嘉立创EDA扩展插件 - 焊盘过孔互转工具
简介
在嘉立创 EDA 专业版中,过孔(Via)和焊盘(Pad)虽然在物理上非常相似,但它们在规则约束中的地位完全不同。
本插件解决 无法针对过孔设置特定层的覆铜连接规则 这一痛点。通过一键将过孔转换为多层焊盘,利用焊盘更丰富的约束区域属性,从而解决 EDA 不支持过孔规则的不足。
使用方法
选择对象:在 PCB 画布中选中需要转换的 过孔 或 多层圆形焊盘 。
执行转换:在菜单栏选择对应选项
焊盘 ⇒ 过孔:强制将选中的多层焊盘转换为过孔。
过孔 ⇒ 焊盘:强制将选中的过孔转换为多层焊盘。
焊盘 ⇄ 过孔:自动识别选中的是焊盘还是过孔,并进行反向转换。
8696993821974626304
解决了哪些痛点
过孔无法单独设置无连接:在多层板设计中,有时需要让某片 GND 过孔在特定的内层 不连接覆铜 ,但 EDA 的覆铜管理器不支持对过孔的设置。转换为焊盘后,可以利用约束区域轻松实现指定区域无连接。
过孔无法设置特殊的十字样式:转换为焊盘后,可以使用约束区域对指定范围的焊盘设置十字连接规则。
手动替换效率极低:手动放置一个尺寸完全一样的焊盘去替换过孔,需要反复测量孔径、外径,并重新分配网络。本工具一键完成,毫秒级替换。
技术要点
Pad 转 Via:对于非圆形的焊盘(如长圆形、槽孔),算法自动取宽度和高度中的最小值作为过孔直径,确保生成的过孔不会超出原焊盘范围。
Via 转 Pad:精准保留通孔属性,生成的焊盘默认为“多层”且“金属化”,并且保留了阻焊设置(v3版本),完全模拟过孔的电气特性。
使用API接口
API接口
描述
eda.pcb_SelectControl.getAllSelectedPrimitives()
获取当前用户选中的所有 PCB 图元。
eda.sys_Environment.getEditorCurrentVersion()
检测 EDA 客户端版本号。
eda.pcb_PrimitiveVia.create(...)
在指定坐标创建新的过孔。
eda.pcb_PrimitivePad.create(...)
在指定坐标创建新的焊盘。
eda.pcb_PrimitivePad.delete(id)
转换成功后删除原始图元。
适配bug
针对 v2.2.43 版本:适配了API获取 焊盘内径 需 x10,设置 焊盘内径 需 /2 的兼容性问题。
针对 v3.2.69 版本:适配了API获取 过孔坐标 外径 阻焊扩展 时数值偏小需 x10 的兼容性问题。
常见问题
v2.2.43 版本不支持阻焊扩展继承(API设置了不生效)
v3.2.69 转换后阻焊扩展显示 NaN ,已修复,将插件更新至 v1.12.17
其他版本 EDA 未适配,可能会出现异常情况
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#规则约束# #过孔自定义# #PCB设计技巧# #自动化脚本# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 自动放置导线工具(逆向神器)
简介
这是一个为嘉立创EDA专业版开发的自动化工具。它的核心功能是 根据PCB数据或外部网表文件,自动在原理图器件引脚上绘制带有网络标签的导线。
该工具主要解决在PCB中修改了网络关系后,需要反向同步到原理图,或者根据网表批量为引脚添加网络标签的繁琐工作。脚本内置了性能监控模块,能够统计绘制数量与耗时,并支持根据引脚方向自动调整导线绘制方向。
使用方法
脚本支持两种导入方式:从PCB导入 和 从网表文件导入。
从PCB导入:
在原理图中选中一个或多个器件。(注意:一个窗口里只能有PCB和原理图页面)
在菜单栏选择 放置导线 ⇒ 从PCB,脚本会自动切换到PCB界面获取对应选中器件的网络信息。
自动切换回原理图页面,对比网络差异。
如果发现原理图引脚无网络但PCB引脚有网络,则自动在原理图引脚处绘制导线并标记网络名。
从网表文件导入:
在原理图中选中需要处理的器件。
在菜单栏选择 放置导线 ⇒ 从网表文件,选择 .enet 格式的网表文件。
脚本读取文件内容,匹配选中器件的UID,自动为缺省网络的引脚补充导线和网络名。
8697000026851397632
解决了哪些痛点
PCB更新原理图:解决了在PCB中已经有了网络连接,但原理图中对应引脚还未画线和标记网络的同步问题。
手动布线繁琐:针对引脚密集的IC,手动一根根画线并打上网络标签效率极低,本工具可一键完成。
网表一致性检查:辅助检查原理图与PCB的网络差异,确保连接关系一致。
技术要点
智能方向识别:代码通过 getMultiplePinPositions 获取引脚旋转角度,根据引脚的 0、90、180、270 度旋转情况,自动计算导线绘制坐标(drawSingleWire),确保导线始终向外引出。
批量处理优化:
支持同时处理多个选中的器件。
使用 getMultiplePinPositions 批量获取图元引脚信息,减少API调用次数,提升执行效率。
针对导入过程做了防抖延迟处理,保证跨文档操作(SCH [removed] PCB)的稳定性。
异常处理:具备完善的 try-catch 机制,能够捕获如“未选中器件”、“未找到PCB界面”或“引脚位置缺失”等错误,并通过日志和消息提示反馈。
性能监控:内置 PerformanceMonitor 类,记录开始时间、结束时间,计算总耗时及单条导线平均耗时,并在执行结束后在日志输出性能统计报告。
使用API接口
API接口
描述
eda.sys_Message.showToastMessage
消息吐司提示,用于用户交互反馈。
eda.sch_SelectControl.getSelectedPrimitives
获取原理图中当前选中的图元(器件)数据。
eda.pcb_SelectControl.getAllSelectedPrimitives
获取PCB中当前选中的图元数据,用于跨文档同步。
eda.sch_Netlist.getNetlist
获取当前原理图的网表数据,用于比对网络差异。
eda.dmt_EditorControl.getSplitScreenTree
获取分屏树结构,用于查找PCB或原理图文档的Tab ID。
eda.dmt_EditorControl.activateDocument
激活指定的文档标签页,实现原理图与PCB界面的自动切换。
eda.sch_PrimitiveComponent.getAllPinsByPrimitiveId
根据图元ID获取器件的所有引脚详细信息(坐标、旋转角度等)。
eda.sch_PrimitiveWire.create
在指定坐标创建导线,这是核心绘制功能的实现接口。
eda.sys_FileSystem.openReadFileDialog
打开文件选择对话框,用于读取外部网表文件。
常见问题
原理图符号和PCB元件的唯一ID和位号必须一一对应
必须合并全部窗口,且只有一个PCB窗口
如果有多页原理图,自动切换时如果没有切换回当前页,有500ms的时间可以手动点击原理图标签
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#嘉立创EDA# #扩展API# #扩展插件# #狼黑工具# #自动化工具# #原理图同步# #引脚扇出#
嘉立创EDA扩展插件 - PCB/网表 转原理图工具 (逆向神器)
简介
本插件是一个强大的 逆向工程辅助工具,它能够读取现有的 PCB 文档或导入的网表文件,自动在原理图画布上重建元器件。
它不仅仅是简单的放置,还内置了智能匹配算法:优先匹配立创商城编号(C号),其次匹配元器件名称,并自动将匹配结果分区域放置(精确匹配 vs 模糊匹配),极大降低了人工复原原理图的工作量。
使用方法
准备工作:确保一个板子内包含空原理图和待重建的PCB,窗口里只保留原理图和PCB的标签页。
选择模式:在菜单栏选择对应的模式
PCB 模式:直接从当前打开的 PCB 文档获取数据(需要同时打开 PCB 标签页)。
NET 模式:弹出文件选择框,选择外部的网表文件导入。
自动执行:
脚本会自动切换标签页获取数据。
运行过程中屏幕上会出现进度提示文本,不要切换视图,以免中断放置过程。
结果查看:执行完成后,元器件会按置信度分布在画布的四个象限:
第一象限 (右上):C编号精确匹配的器件(最可靠)。
第二象限 (左上):名称精确匹配的器件。
第三象限 (左下):名称模糊匹配的器件(需要人工仔细核对)。
统计信息:画布左侧会生成详细的运行报告(耗时、成功率等)。
建议全部指定 C编号 ,模糊搜索其实并不准
8696999622480171008
解决了哪些痛点
工程恢复:解决了因原理图丢失、损坏,仅存 PCB 文件时的工程重建难题。
整理困难:自动将“确定的元件”和“存疑的元件”分区域放置,便于设计师快速通过,集中精力处理存疑部分。
人工匹配繁琐:通常逆向时需要一个一个去库里搜元件,本工具通过 API 批量自动搜索并利用缓存加速,效率提升百倍。
技术要点
多级匹配策略:采用 C编号(LCSC ID) -> DeviceName精确 -> Name精确 -> DeviceName模糊 -> Name模糊 的降级匹配逻辑,确保尽可能找到对应的库文件。但还是建议全部使用C编号,避免出错。
高性能缓存机制:使用 Map 结构缓存已查询过的元器件 UUID。对于重复使用的电阻电容,只需查询一次 API,后续直接命中缓存,显著提升速度。
并发放置:在放置阶段使用 Promise.all 并行处理多个元器件的创建,比串行放置更流畅。
可视化交互:直接利用原理图的 Text 图元在画布上实时显示进度条、统计报表和区域指示,无需复杂的 UI 插件支持。
跨文档操作:脚本演示了如何通过 dmt_EditorControl 在 PCB 和 原理图 标签页之间自动切换以获取数据。
使用API接口
API接口
描述
eda.pcb_Net.getNetlist('JLCEDA')
获取 PCB 的网表数据,作为逆向的源数据。
eda.sys_FileSystem.openReadFileDialog()
打开文件选择框,读取外部网表文件。
eda.lib_Device.getByLcscIds(...)
根据立创商城编号(Cxxxxx)精确查找元器件库 UUID。
eda.lib_Device.search(...)
根据名称搜索元器件库,支持模糊查找。
eda.sch_PrimitiveComponent.create(...)
在原理图中放置库元件。
eda.dmt_EditorControl.activateDocument(...)
激活指定的文档标签页(用于在 PCB 和 SCH 间切换)。
eda.sch_PrimitiveText.create/modify
在画布上创建和更新进度提示文本。
常见问题
必须打开一个板子,包含原理图和PCB界面
必须合并全部窗口,不能使用分屏,否则无法经行获取数据
建议手动指定C标签,模糊搜索其实并不准,可以导出BOM在Excel里匹配完成后,再使用导入BOM工具导入
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#逆向工程# #原理图重建# #PCB转原理图# #自动化脚本# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - BOM导入工具
简介
通常我们的工作流是从 EDA 导出 BOM(物料清单)。但在实际工程中,经常存在“逆向同步”的需求:例如采购部门在 Excel 中确认了具体的立创商城编号(C号)或更换了制造商,或者工程师在外部整理好了规范的器件命名。如果此时要手动一个个去 EDA 里修改属性,效率极低且容易出错。
本插件实现了 从 Excel 复制 BOM 数据并批量写入 EDA 的功能。支持在原理图或 PCB 中运行,通过剪贴板一键粘贴 Excel 数据,自动匹配位号并更新器件的名称、供应商编号、制造商等关键信息。
使用方法
准备数据:在 Excel 中整理好数据,列顺序必须固定为:
1. 位号 (如 R1,R2,R3)
2. 名称 (如 10K)
3. 立创编号 (如 C12345)
4. 制造商编号 (料号)
5. 制造商名称 (品牌)
注意:无需表头,直接复制数据行即可。
打开插件:在原理图或 PCB 界面运行本工具,会自动读取当前文档的器件列表。
粘贴数据:复制 Excel 中的内容,点击插件界面右上角的 “粘贴” 按钮。
预览变更:
插件会自动根据“位号”匹配器件。
有变化的属性会以红色文字高亮显示(格式:原始值:xxx -> 修改为:yyy)。
执行导入:勾选需要更新的条目(可全选),点击 “导入” 按钮。插件会将新属性写入 EDA 文档。
8696997515751223296
解决了哪些痛点
器件选型同步:在设计初期只放了通用电阻,后期在 Excel 里批量选好了具体的立创 C 号,使用本工具可一键刷入工程,无需逐个搜索属性。
BOM 整理回溯:在生产前对 BOM 进行了标准化整理(如规范命名、统一厂家),需要将这些修正同步回源文件,保证设计源头的一致性。
批量属性修改:利用 Excel 强大的公式和批量编辑功能处理好属性后,直接“粘贴”回 EDA,比在 EDA 属性面板中操作快得多。
跨环境支持:无论是原理图还是 PCB,只要有网表数据即可操作。
技术要点
剪贴板智能解析:使用 navigator.clipboard API 读取系统剪贴板,自动识别 Excel 复制过来的 TSV(制表符分隔)或 CSV 格式。
多位号匹配算法:支持单行包含多个位号(如 Excel 第一列写着 R1,R2,R5),插件会自动拆分并分别匹配对应的器件。
差异对比可视化:在前端直接对比新旧数据,只高亮显示有变更的字段,让用户在导入前对修改内容一目了然。
智能填充:当识别到“立创编号”以 C 开头时,会自动将属性 Supplier 设置为 LCSC
数据安全:内置了唯一 ID (Unique ID) 的查重和空值检测机制,防止因底层数据异常导致网表错乱。
使用API接口
API接口
描述
eda.pcb_Net.getNetlist('JLCEDA')
获取 PCB 当前网表数据。
eda.sch_Netlist.getNetlist('JLCEDA')
获取原理图当前网表数据。
navigator.clipboard.readText()
读取用户剪贴板中的 Excel 数据。
eda.pcb_Net.setNetlist(...)
将更新后的属性数据写回 PCB。
eda.sch_Netlist.setNetlist(...)
将更新后的属性数据写回原理图。
适用EDA版本
v2.2.43
v3.2.69(待官方修复网表bug后可使用)
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#BOM管理# #批量修改# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 工作时间统计工具
简介
你是否好奇自己完成一个 PCB 项目究竟花了多少时间?是否想知道自己每天有多少时间在全神贯注设计,又有多少时间在“摸鱼”?
本插件是一个基于行为分析的工时统计系统。它包含一个后台运行的记录脚本和一个基于 ECharts 的可视化仪表盘。插件通过监听鼠标在 PCB 和原理图编辑器中的活动,自动区分有效工作时间和闲置(摸鱼)时间,并将数据持久化存储在本地。用户可以通过仪表盘查看每日趋势、项目耗时排行以及详细到每 15 分钟的时间分布。
使用方法
安装扩展插件后,打开EDA软件自动运行
脚本每 2 秒检测一次鼠标活动。
若鼠标在 PCB 或原理图画布上移动,计为工作时间。
若超过 20 秒无操作,计为闲置(摸鱼)时间。
数据每 60 秒自动保存一次到本地存储。
查看报表:
在菜单栏打开 工作时间统计
总趋势:查看近 7 天或 30 天的工作/摸鱼时长对比。
详情分析:点击曲线图的某一天,下方会显示当天的 24 小时时间轴,精确显示哪个时间段在工作。
排行榜:查看所有经手项目的累计耗时排名。
消息提醒:在“消息提醒”页签,可以设置规则(例如:“今日工作满 60 分钟提醒休息”),插件会通过消息吐司提示。
8696875605805658112
解决了哪些痛点
项目管理混乱:同时进行多个项目时,不知道时间都去哪了。排行榜功能帮你理清每个项目的实际投入成本。
健康管理:长时间沉浸式画板容易忘记休息。内置的提醒功能基于实际工作时长触发,比简单的定时闹钟更人性化(摸鱼时间不计入疲劳累积)。
多窗口数据冲突:嘉立创 EDA 允许同时打开多个工程窗口。本插件实现了多窗口并发锁机制,确保多个窗口同时记录数据时不会互相叠加、覆盖或丢失。
技术要点
去中心化存储策略:不依赖外部数据库,利用 sys_Storage 将数据分散存储为按日期的键值对 (STATS_YYYY_MM_DD),既保证了读取速度,又方便进行长周期的数据回溯。
防冲突算法:在写入数据时,采用“读取-计算剩余槽位-合并写入”的逻辑,并配合简单的并发锁,解决了多开 EDA 客户端时的数据竞争问题。
防挂机干扰:引入 SESSION_START_TIME 校验,防止电脑休眠或后台挂机苏醒后,脚本错误地回溯填充休眠期间的时间,确保数据纯净。
可视化图表:前端集成了 ECharts 库,实现了暗色系的高级仪表盘,支持交互式点击(Drill-down),从月度视图下钻到小时视图。
时间切片算法:将全天划分为 96 个 15 分钟的时间片(Slot),每个时间片独立记录各工程的 Work/Idle 占比,实现了极高的时间分辨率。
使用API接口
API接口
描述
eda.sys_Storage.getExtensionUserConfig(key)
读取持久化的统计数据和用户配置。
eda.sys_Storage.setExtensionUserConfig(key, val)
将计算后的工时数据写回存储。
eda.dmt_Project.getCurrentProjectInfo()
获取当前激活工程的 UUID 和名称,用于归类统计数据。
eda.pcb_SelectControl.getCurrentMousePosition()
获取 PCB 画布鼠标位置,用于判定用户是否活跃。
eda.sch_SelectControl.getCurrentMousePosition()
获取原理图画布鼠标位置,用于判定用户是否活跃。
eda.sys_Message.showToastMessage(...)
触发工时达标后的提醒弹窗。
适用EDA版本
v2.2.43 API缺陷,仅支持PCB页面检测
v3.2.69 完全支持
本工具基于 v2.2.43 客户端开发,但对 v3 版本支持更好
#工时统计# #ECharts可视化# #行为分析# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 二维码生成器
简介
本插件专为 EDA 场景定制,不仅能生成标准的二维码,还独创了斜二维码让你的二维码与众不同,同时还兼顾了识别准确率
使用方法
输入内容:
文本输入:在顶部文本框输入任何字符(支持中文)。
逆向识别:点击 从二维码导入 ,上传一张现有的二维码图片,会自动解析其内容并填入文本框。
调整参数:
容错级别 (L/M/Q/H):决定二维码被遮挡多少后仍能识别。
色块大小 & 白边:调整二维码的清晰度和安全边距。
尺寸控制:设定最终在 PCB 上的物理尺寸(mm 或 mil)。
选择模式:
图片模式:生成位图对象,支持自定义前景色/背景色。
矢量模式:生成纯矢量图形,支持 反向(黑白反转),适合制作阻焊开窗或铜皮二维码。
放置到 PCB:
底部提供三个预览窗口:左倾二维码、标准二维码、右倾二维码。
选择目标图层(如顶层丝印、底层阻焊等)。
点击任意一个预览图,插件窗口隐藏,生成的二维码会吸附在鼠标上,移动到合适位置点击即可放置。
8696875244488015872
解决了哪些痛点
矢量化难题:传统方法需要生成二维码图片 -> 转矢量 -> 导入,步骤繁琐且容易失真。本插件直接生成 EDA 矢量对象,边缘锐利,文件体积小。
反色设计:在黑色阻焊油上做白色丝印,或者在铜皮上做镂空二维码时,往往需要“黑白反转”。本插件一键勾选“反向图像”即可实现。
技术要点
高质量模糊算法:
像素级运动模糊:通过双向采样算法模拟 45°/135° 方向的运动模糊。
高斯平滑与二值化:先模糊后锐化(Threshold),消除锯齿的同时保留圆润的转角。
Bicubic 插值:在合成最终图像时使用高质量插值,确保无论缩放多少倍,边缘依然清晰。
前端解码能力:集成了 jsQR 库,纯前端实现二维码图片解析,无需上传服务器。
矢量转换引擎:调用 eda.pcb_MathPolygon.convertImageToComplexPolygon 接口,将 Canvas 生成的像素数据实时转换为 EDA 的多边形轮廓数据。
交互体验:实现了与 EDA 深度集成的“鼠标跟随”放置逻辑,支持多单位(mm/mil)即时切换。
使用API接口
API接口
描述
eda.pcb_MathPolygon.convertImageToComplexPolygon(...)
将图片数据流转换为 PCB 矢量多边形数据。
eda.pcb_PrimitiveObject.create(..., 'img')
创建图片类型的图元(用于图片模式)。
eda.pcb_PrimitiveImage.create(...)
创建矢量类型的图元(用于矢量模式)。
eda.pcb_SelectControl.getCurrentMousePosition()
获取鼠标坐标,实现放置时的实时跟随。
eda.sys_ToastMessage.showMessage(...)
显示操作反馈提示。
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,并兼容 v3 版本
#二维码生成# #矢量二维码# #识别二维码# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 图片无损导入工具
简介
嘉立创EDA专业版自带的图片导入功能在处理高分辨率图片时往往存在压缩画质、清晰度不足等问题。本插件是一个增强型的图片导入工具,专为解决 PCB 设计中 LOGO、二维码、参考底图的精确导入需求而开发。
它支持实时预览、DPI 自动换算、毫米/密尔单位切换、多图层选择,并提供了独有的“鼠标跟随放置”功能,让图片导入像放置普通元器件一样自然流畅。
使用方法
菜单栏选择 导入 ⇒ 图片,会自动弹出图片选择窗口,支持 PNG、JPG、BMP 格式,选择图片后进入主界面
调整参数:
尺寸设置:输入期望的宽度或高度,勾选“保持横纵比”可自动计算另一边。支持 mm 和 mil 单位切换。
DPI 控制:提供 300/600/1200/2400 四档常用 DPI 预设,也支持输入自定义 DPI,方便精确还原图片的物理尺寸。
图层选择:选择图片放置的目标层(顶层丝印、底层丝印 或 文档层)。文档层适合放置参考底图,不影响生产。
放置:点击 “放置到画布上”,插件窗口会自动隐藏。此时图片会吸附在鼠标光标上,移动鼠标到合适位置点击左键即可固定(检测到失去焦点会自动结束并关闭)。
8696874464450433024
解决了哪些痛点
尺寸计算麻烦:以往导入图片需要手动算像素和物理尺寸的关系,本插件内置 DPI 换算逻辑,可输入 DPI 快速计算物理尺寸。
清晰度不可控:使用自带的导入图片存在导入限制、自带压缩等问题,画面会糊的一塌糊涂。
解除限制大小:使用自带的导入方式,最大不可超过50M,超过后会自动压缩,使用此工具导入200M的图都不成问题,最大支持 16384 x 16384 px
技术要点
Base64 处理:利用 HTML5 FileReader 将本地图片转换为 Base64 编码,结合 EDA 的 PrimitiveObject 接口直接创建图片图元。
双向尺寸联动:实现了 [宽度/高度] [removed] [DPI] 的双向绑定计算。修改尺寸自动更新 DPI,修改 DPI 自动更新尺寸,逻辑严密。
交互优化:
使用 setInterval 定时器实时获取 getCurrentMousePosition,实现流畅的图元拖拽跟随效果。
监听 window.onblur 事件,在用户点击画布(窗口失焦)时自动确认放置并关闭插件,模拟了原生 EDA 的操作体验。
多层级支持:通过 EPCB_LayerId 枚举映射,支持将图片分别导入到丝印层(用于生产)或文档层(用于辅助设计)。
使用API接口
API接口
描述
eda.sys_FileSystem.openReadFileDialog(...)
打开系统文件选择器读取本地图片。
eda.pcb_PrimitiveObject.create(...)
在 PCB 画布上创建图片对象。
eda.pcb_SelectControl.getCurrentMousePosition()
获取当前鼠标在 PCB 坐标系中的位置,用于实现跟随。
eda.pcb_PrimitiveObject.modify(...)
实时更新图元坐标,产生移动动画效果。
eda.sys_IFrame.hideIFrame/closeIFrame
控制插件窗口的显隐和生命周期。
注意事项
使用全在线版本,依然会压缩图片画质
当导入图片较多时,打开文档时会占用大量显存,同时文件体积也会变大
适用EDA版本
v2.2.43(半离线/全离线)
v3.2.69(半离线/全离线)
本工具基于 v2.2.43 客户端开发
#图片导入# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 生成物理网络工具
简介
通常在 EDA 设计中,我们是先有原理图(逻辑网络),再转换到 PCB(物理连接)。但在某些特殊场景下(如直接在 PCB 画板、导入 DXF/Gerber 修复、或者单纯的“手绘”电路),只有铜皮和导线,却丢失了网络属性(Net Name)。
本工具是一个强大的 逆向网络生成器。它基于 几何接触算法,自动分析 PCB 上所有导线、过孔、焊盘、填充区域的物理连接关系,利用 并查集 算法将物理上导通的图元归类,并自动反向更新到 PCB 的网表中。简单来说,只要铜皮连在一起,它就能自动赋予相同的网络。
使用方法
场景准备:确保你的 PCB 上已经绘制了导线或铜皮,即使它们当前显示为无网络。
运行插件:在菜单栏选择 生成物理网络。
等待计算:脚本会根据当前 PCB 的图元数量进行几何运算。
结果反馈:
计算完成后,屏幕上会弹出 消息提示:“分析完成...已更新 XX 处引脚网络”。
弹出导入窗口,必须勾选 同时更新导线的网络 后,点击应用修改
此时,物理连接在一起的焊盘和导线会被自动赋予统一的网络名称(优先保留已有名称,否则生成 NETx)。
8696995908624900096
解决了哪些痛点
效率极高:比 Altium Designer 的 配置物理网络 功能还快30倍。
无原理图设计:对于简单的转接板或测试板,设计师习惯直接画 PCB。本工具可以自动生成网络表,从而可以使用 DRC(设计规则检查)。步。
复杂层压结构支持:支持盲埋孔的层对层连接判断,不仅仅是简单的 2D 重叠检测。
技术要点
本插件是算法密集型工具,包含多项核心技术:
并查集算法 (Union-Find):高效处理成千上万个图元的连通性合并,解决“A连B,B连C,则A连C”的传递性问题。
空间网格索引 (Spatial Hashing):为了避免 的暴力碰撞检测,代码将 PCB 划分为 150mil 的网格,仅检测同一网格内的图元,极大提升了处理速度。
高精度几何碰撞:实现了多种形状间的精确相交检测算法:
[Line vs Line]、[Line vs Rect]、[Line vs Round]
支持线段、矩形(Pad/Fill)、圆形(Pad/Via/Round Trace)的混合运算。
源码级解析:通过 getDocumentSource() 获取,直接解析 PCB 的源码。
使用API接口
API接口
描述
eda.sys_FileManager.getDocumentSource()
获取 PCB 文档的源码,用于提取所有图元几何信息。
eda.pcb_PrimitivePad.getAll()
获取所有焊盘的详细坐标和形状信息。
eda.pcb_Net.getNetlist('JLCEDA')
获取当前的网表数据。
eda.pcb_Net.setNetlist(...)
将计算出的物理连接关系写回网表,完成网络更新。
常见问题
必须将导线连到焊盘中心才能识别到连接,由于获取矩形焊盘存在旋转,无法正确获取旋转后的区域,为了妥协将判定区域设为正方形
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,增加了对 v3 版本的支持
#物理网络# #生成网表# #无原理图设计# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - PCB位号查重工具
简介
在 PCB 设计过程中,位号(Designator)的唯一性至关重要。本插件用于自动检测当前 PCB 文档中是否存在重复的器件位号。它会遍历所有器件,识别出相同的位号(不区分大小写),并在系统日志中输出警告,同时提供点击跳转功能,方便工程师快速定位并修改错误的器件。
提示:PCB 中的 DRC 并不会检查重复位号,非常适用于没有原理图的板子
使用方法
在菜单栏选择 狼黑工具 ⇒ 器件 ⇒ 位号查重
自动扫描当前 PCB 画布上的所有元器件,完成后自动打开底部的 “日志” 面板。
若无重复:日志显示“未发现重复位号”。
若有重复:日志会以“警告”级别列出所有重复的位号组
点击定位:在日志中输出的重复位号(如 R1(id))是可点击的链接,点击后画布会自动高亮并定位到对应的具体器件。
8696994907209654272
解决了哪些痛点
人工排查困难:在大规模 PCB 设计(成百上千个器件)中,肉眼很难发现两个相隔很远的器件使用了相同的位号。
生产隐患:重复位号会导致 BOM 表输出错误,贴片机无法识别唯一坐标,甚至导致生产贴错元器件。
定位繁琐:即使知道有重复,传统方式查找具体器件位置需要多次搜索,本工具通过日志直连定位,大幅提高了修复效率。
技术要点
异步数据获取:使用 async/await 异步调用 EDA 接口,避免阻塞主线程。
忽略大小写匹配:在查重逻辑中,通过 toUpperCase() 统一转换为大写进行比对,防止 r1 和 R1 被误判为不同位号。
交互式日志:利用 HTML 标签构建日志内容,结合 data-log-find-id 属性,实现了从日志到画布的双向交互定位功能。
分组算法:使用对象(Map)结构对位号进行归类,高效筛选出出现次数大于1的条目。
使用API接口
API接口
描述
eda.pcb_PrimitiveComponent.getAll()
获取当前 PCB 中所有元器件的详细信息(包括位号、ID等)。
eda.dmt_Pcb.getCurrentPcbInfo()
获取当前 PCB 的基本信息(如 UUID),用于构建定位链接。
eda.sys_Log.add(msg, type)
向日志面板输出重复位号信息。
eda.sys_PanelControl.openBottomPanel("log")
自动打开底部的日志面板,确保用户能第一时间看到检查结果。
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,完全兼容 v3 版本
#PCB设计# #位号检查# #BOM核对# #自动化脚本# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 批量修改网络工具
简介
在 PCB 设计后期,我们经常需要对网络名称进行整理或标准化(例如将自动生成的 NetR1_2 改为具象化的 SPI_MISO)。如果网络数量众多,手动一个一个修改属性非常耗时且容易遗漏。
本插件提供了一个高效的批量网络重命名/替换方案。你只需在 Excel 或文本编辑器中整理好“旧网络名”和“新网络名”的对应关系,复制粘贴到插件中,即可一键完成 PCB 中所有相关引脚的网络连接更新。
使用方法
准备数据:
在 Excel 中整理两列数据:第一列为旧网络名称,第二列为新网络名称。
或者在记事本中按 旧名,新名(CSV格式)编写。
运行插件:菜单栏选择 批量替换网络。
粘贴数据:
将准备好的数据直接复制粘贴到插件的文本框中。
插件支持自动识别格式:如果你是从 Excel 直接复制的,它会自动识别为 TSV(制表符分隔);如果是逗号分隔,会识别为 CSV。
执行替换:点击 执行 按钮。
查看结果:
下方结果框会详细列出每一条替换记录(例如:替换: R1 的引脚 2 从 "NetR1_2" 到 "SPI_MISO")。
底部状态栏会显示总共替换的次数。
确认导入信息:必须勾选 同时更新导线的网络,确认无误后点击 应用修改
8696996226702245888
解决了哪些痛点
批量重命名繁琐:解决了在属性面板中只能逐个修改网络名称的低效问题。
Excel 交互:打通了 EDA 与 Excel 的数据交互,利用 Excel 的公式功能(如批量添加前缀后缀)处理好网络名后,直接同步回 PCB。
网络合并:可以将多个不同的网络名称统一替换为同一个新名称,从而实现物理上的网络合并(短接)。
操作安全:插件通过精确匹配旧网络名称进行替换,并在日志中留痕,方便核对修改结果。
技术要点
智能格式检测:监听输入框的 input 事件,通过正则分析首行内容,自动判断分隔符是逗号(CSV)还是制表符(TSV),免去手动切换的麻烦。
网表直接操作:通过读取 JLCEDA 的 JSON 网表,遍历所有元器件的 pins 属性,实现底层的网络关系变更。
高效映射:将用户输入的替换规则构建为 Map 结构,在遍历成千上万个引脚时实现 O(1) 复杂度的快速查找匹配。
完整日志反馈:在执行过程中实时记录每一个发生变更的位号和引脚,让用户对修改内容了如指掌。
使用API接口
API接口
描述
eda.pcb_Net.getNetlist('JLCEDA')
获取当前 PCB 的网表数据。
eda.pcb_Net.setNetlist(...)
将修改后的网表数据写回 PCB。
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#网络管理# #批量重命名# #自动化脚本# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 线条导线互转工具
简介
在 PCB 设计中,“导线 (Line/Arc)” 和 “区域/多边形 (Region/Polyline)” 是两种完全不同的图元。
导线:具有明确的电气连接属性,用于布线。
区域:通常用于铺铜、导入的 DXF 图形或简单的几何填充。
本插件打通了这两者之间的壁垒,支持将导入的图形或通过布尔运算生成的复杂形状一键转换为导线,也支持将导线合并为多边形线条。特别增强了对矩形、圆形及多边形的支持,并修复了转换过程中的网络丢失问题。
使用方法
选中图元:在 PCB 画布上选中你要转换的对象(可以是导线、圆弧、多边形、矩形区域或圆形区域)。
转换:
线条 ⇒ 导线:将选中的 轮廓区域 或 线条 转为普通的 导线。
导线 ⇒ 线条:将选中的 导线 和 圆弧 炸开为普通的 线条。
线条 ⇄ 导线:智能识别选中类型并互转。
8696994365006835712
解决了哪些痛点
导入图形转走线 (DXF/SVG):从 CAD 或其他软件导入的通常不是导线,无法作为信号线使用高级功能。使用本工具可将其转为导线。
复杂异形布线:你可以利用 布尔运算(如多边形联合、相减)绘制出极其复杂的平滑曲线或异形连接,然后用本工具一键转为导线。
技术要点
复杂多边形解析:代码通过解析 complexPolygon 数据结构,识别 L (直线)、ARC (圆弧)、CARC (连续圆弧) 指令,并将其精确还原为基础图元。
几何算法重构:对于 Region 中的矩形 (type === "R") 和圆形 (type === "CIRCLE"),脚本内置了三角函数算法(Sin/Cos),处理旋转角度,计算出矩形的 4 个角和 4 个圆角,或将圆形拆解为两个 180 度的半圆弧。
网络属性锚定:由于 API 的 getAllSelectedPrimitives 在某些情况下返回的 Region 信息不全,脚本额外调用了 getSelectedPrimitives 并构建 globalIndex 映射表,确保网络(Net)信息万无一失。
单位自动修正:针对 API 返回线宽数值偏小的 Bug,代码内置了线宽 x10 修正,确保转换后的线宽一致。
使用API接口
API接口
描述
eda.pcb_SelectControl.getAllSelectedPrimitives()
获取选中的图元基础信息。
eda.pcb_SelectControl.getSelectedPrimitives()
获取选中的图元详细信息(用于提取 Net)。
eda.pcb_PrimitiveLine.create(...)
创建导线。
eda.pcb_PrimitiveArc.create(...)
创建圆弧。
eda.pcb_PrimitivePolyline.delete/create
删除旧的多边形或创建新的多边形线条。
eda.pcb_MathPolygon.createPolygon(...)
构建数学多边形对象,用于生成 Polyline。
适配bug
由于 API 获取的线宽返回值偏小,实际22mil,返回值2.2,需要 x10 后传入参数才能正常显示
警告:如果后期 bug 修复,这个功能就会异常
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#异形布线# #DXF转走线# #线条转导线# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 清空多余属性
简介
在 PCB 或原理图设计中,画布上有些器件被标记为 NC 或无资料用别的符号临时替代时,为了防止自带的属性误导别人,需要将其清空。
本插件用于 一键清理“供应商(Supplier)”属性为空的属性值。它通过白名单机制,保留核心属性(如封装、位号、名称等),将其他无关属性的值清空,从而保持工程数据的整洁,避免自带的信息误导别人。
使用方法
在菜单栏点击 清空多余属性
会弹出一个确认对话框:“即将清空供应商为空的多余属性值,是否继续”。
点击 “是” 开始处理。
会自动识别数据源(原理图 SCH 或 PCB),获取网表数据。
处理完成后,系统会弹出提示框显示处理了多少个元件,并在日志面板记录详细信息。
8696997062209765376
解决了哪些痛点
BOM 表混乱:元器件中残留的无用属性经常会出现在导出的 BOM 表中,导致需要人工手动删除列,效率低下。
属性面板杂乱:选中元器件时,右侧属性面板显示几十条无用信息,干扰视线。
批量修改困难:如果几百个电阻电容都有多余属性,手动一个个删除是不现实的。本工具通过脚本秒级完成清理。
技术要点
多模式支持:代码封装支持传入 dataSource 参数,可分别针对 原理图 或 PCB 进行处理。
白名单保护机制:内置了严格的 baseProperties 列表(如 Designator, Footprint, Symbol 等)。脚本只会清空不在此列表中的属性,确保元器件的关键电气和物理连接信息不会丢失。
网表直接操作:通过读取和解析 JLCEDA 格式的 JSON 网表进行批量修改,处理速度极快。
安全交互:操作前包含二次确认弹窗,防止误操作。
使用API接口
API接口
描述
eda.sys_Dialog.showConfirmationMessage(...)
弹出操作确认对话框,防止用户误点。
eda.sch_Netlist.getNetlist('JLCEDA')
获取原理图的 JSON 格式网表数据。
eda.pcb_Net.getNetlist('JLCEDA')
获取 PCB 的 JSON 格式网表数据。
eda.sch_Netlist.setNetlist(...)
将清理后的数据写回原理图。
eda.pcb_Net.setNetlist(...)
将清理后的数据写回 PCB。
eda.sys_Message.showToastMessage(...)
使用消息吐司反馈处理结果。
适用EDA版本
v2.2.43
v3.2.69(待官方修复网表bug后可使用)
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#PCB优化# #BOM整理# #属性清理# #效率工具# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 网表恢复3D模型
简介
在使用 批量替换器件工具 修改器件属性后,一个副作用是器件原本关联的 3D 模型会丢失(EDA不会对网表里的3D模型处理)。
本插件专为修复 3D 模型丢失而设计。它通过读取一个包含正确 3D 信息的网表文件(通常是修改前的备份),将 3D Model、3D Model Title 和 3D Model Transform 写回 PCB 的对应器件中,实现一键恢复。
使用方法
准备网表:
你需要一份包含正确 3D 模型信息的网表文件(.enet 格式)。
来源建议:在执行批量替换器件之前导出的 PCB 网表备份,或者直接从原理图导出最新的网表。
运行插件:菜单栏选择 器件 ⇒ 从网表恢复3D模型。
选择文件:自动弹出文件选择框,请选择步骤 1 中准备好的 enet 网表文件。
自动恢复:
脚本会解析网表,建立 位号 -> 3D模型 的映射关系。
遍历当前 PCB,匹配位号并自动填回丢失的 3D 参数。
查看结果:运行结束后,系统会弹出消息提示,成功恢复的器件数量。
注意:虽然 3D 模型数据已被成功写入且 3D 预览正常,但属性面板上的 3D 模型 显示依然为空,不影响实际预览。
8696998393145499648
解决了哪些痛点
灾难恢复:完美解决了使用脚本或 API 强制修改器件属性后,导致 3D 模型参数被清空的问题。
批量处理:如果几百个电阻的 3D 模型都丢了,手动一个一个去库里重新指定是不现实的,本工具秒级完成修复。
技术要点
非破坏性更新:脚本仅定向更新 otherProperty 中的 3D 相关字段。
高效映射算法:先解析网表生成 Hash Map,再遍历 PCB,将时间复杂度降低,即使处理上千个器件的板子也十分流畅。
容错机制:代码内置了详细的日志系统,如果某个器件在网表中找不到,或者 ID 异常,会在控制台输出警告而不会导致脚本崩溃。
使用API接口
API接口
描述
eda.sys_FileSystem.openReadFileDialog()
打开文件选择器,读取外部 enet 网表文件。
eda.pcb_PrimitiveComponent.getAll()
获取当前 PCB 画布上的所有元器件列表。
eda.pcb_PrimitiveComponent.modify(...)
修改指定器件的属性。本插件专门用于写入 3D Model 及其变换参数。
eda.sys_Message.showToastMessage(...)
显示操作成功或失败的反馈提示。
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#3D模型恢复# #自动化脚本# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 快速创建封装工具
简介
在 PCB 设计中,有时我们需要直接在画布上通过线条、焊盘、填充区域等图元“画”出一个封装(例如异形焊盘、特殊连接器或者直接从 DXF 导入的图形)。通常情况下,我们需要将这些图形复制到封装编辑器中才能创建元件,过程繁琐。
本插件实现了所见即所得的封装创建功能。你只需在 PCB 画布上选中绘制好的图形,在菜单栏选择 创建封装,输入一个名称,插件就会自动提取这些图元的几何信息,在指定的库中生成对应的封装 (Footprint)、符号 (Symbol) 和 器件 (Device),并立即将其作为一个完整的元件放置回当前画布中。
使用方法
准备图形:在 PCB 编辑器中,使用焊盘、线条或填充区域工具绘制出你的封装形状。(默认排除导线、过孔、覆铜和约束区域)
选中对象:框选所有组成该封装的图元。
运行插件:在菜单栏选择 创建封装。
配置参数:
封装名称:输入你想创建的封装名称(如 QFP-32)。若留空,会自动生成如 NEW-32Pin_123045 的名称。
选择库:在下拉列表中选择要保存到的目标库(通常是你的“个人库”或“工作区库”)。
执行创建:点击 “创建封装” 按钮。
自动完成:
脚本会自动计算原点、提取焊盘编号。
自动生成对应的原理图符号。
删除选中的原始图形,并将新生成的器件吸附到鼠标上等待放置。
8696994631420637184
解决了哪些痛点
异形封装制作难:对于某些不规则的射频天线或触摸按键,直接在 PCB 里画比在封装编辑器里计算坐标要快得多。本工具支持“画完即用”。
DXF 导入转封装:从 CAD 导入的复杂板框或连接器外形,现在可以直接转为封装,无需繁琐的导出导入步骤。
符号与封装同步:传统方式是先画封装,再画符号,再建器件关联。本工具一键生成全套(封装 + 符号 = 器件)
技术要点
源码生成:脚本不依赖繁琐的图形绘制 API,而是直接生成符合 JLCEDA 格式规范的 JSON 源码字符串(包括 符号 的 BBOX 计算、引脚排列,以及封装的图元坐标转换),通过 updateDocumentSource 接口更新源码。
坐标归一化:自动计算所有选中图元焊盘的几何中心作为封装的原点 (0,0),确保生成的封装在库中是居中的。
自动符号生成算法:根据焊盘数量,自动生成一个标准的矩形符号。引脚按照编号采用 逆时针 顺序排列,符合大多数芯片的符号规范。
图元类型过滤:精准筛选 Pad(焊盘)、Polyline(多义线/丝印)、Region(填充区域),自动忽略不相关的辅助线,保证封装的纯净。
使用API接口
API接口
描述
eda.lib_LibrariesList.getAllLibrariesList()
获取当前用户可用的库列表,用于选择保存位置。
eda.pcb_SelectControl.getAllSelectedPrimitives()
获取当前在 PCB 画布上选中的所有图元。
eda.lib_Footprint.create(...)
创建一个新的空封装。
eda.lib_Symbol.create(...)
创建一个新的空符号。
eda.lib_Device.create(...)
创建一个新的器件,并关联上述封装和符号。
eda.lib_Footprint.updateDocumentSource(...)
将计算好的几何数据写入封装文件。
eda.lib_Symbol.updateDocumentSource(...)
将计算好的引脚数据写入符号文件。
eda.pcb_PrimitiveComponent.create(...)
在 PCB 上放置生成好的器件。
eda.pcb_PrimitiveComponent.delete(...)
删除放置的器件。
eda.sch_PrimitiveComponent.create(...)
放置器件。
eda.pcb_PrimitivePad.delete(...)
删除选中焊盘。
eda.pcb_PrimitivePolyline.delete(...)
删除选中线条。
eda.pcb_PrimitivePour.delete(...)
删除选中多边形。
eda.sys_IFrame.hideIFrame(...)
隐藏窗口,待下次使用。
注意事项 v2.2.43
关于 API 缺陷的规避方案 由于 EDA 现有 API 存在已知缺陷,本插件采用了一种特殊的“迂回策略”来确保数据完整性
问题表现
若仅使用 eda.pcb_PrimitiveComponent.create(...) 放置PCB器件,保存后重新打开,器件会从 PCB 画布消失,但原理图符号正常。
若仅使用 eda.sch_PrimitiveComponent.create(...) 放置PCB器件,保存后重新打开,器件不会消失,但原理图符号将出现异常,无法被放置。
解决方案
执行时会先调用 eda.pcb_PrimitiveComponent.create(...) 接口创建器件以建立正确的符号索引,随即立即将其删除;
紧接着调用 eda.sch_PrimitiveComponent.create(...) 将器件吸附于鼠标光标进行手动放置
结果:此操作既修复了原理图符号不可用的问题,也确保了 PCB 器件在保存后不会丢失。
首次使用可能会弹出 选中对象中含有元件,是否同时删除? 勾选 不再提醒 后点击 确认 即可
常见问题
未找到可用库:新建一个库
目前暂不支持 V3 版本
适用EDA版本
v2.2.43 v2.2.45
暂不支持 v3 版本,待后续更新
本工具基于 v2.2.43 客户端开发
#创建封装# #快速建模# #自动化工具# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 丝印代码转换工具
简介
在电子设计中,为了省事,有些人会经常使用简写代码来标注元件值(例如 104 代表 100nF,01C 代表 10kΩ,4R7 代表 4.7Ω)。然而,在打样调试或手工焊接时,这些代码并不直观,容易造成读数困难。
本插件专为批量将元件的简写代码转换为人类可读的标准数值而设计。它支持电阻(R)、电容(C)、电感(L)的多种编码格式(包括 E96 标准),一键将 103 转换为 10KΩ,将 01C 转换为 10KΩ,极大提升了丝印的可读性和 BOM 的规范性。
使用方法
在菜单栏选择 丝印代码转换
自动识别:
插件会自动筛选位号以 R、C、L 开头的元件。
自动忽略已经包含单位(如 Ω, uF, nH)的元件,只处理纯数字或代码格式的元件。
界面中会列出所有识别到的元件及其“转换后的预览值”。
检查与执行:
列表会显示“唯一ID”、“位号”、“原代码”和“转换值”。
红色警告:如果发现元件的唯一 ID 为空或重复,插件会提示错误,此时建议先执行“设计 ⇒ 重置唯一ID”。
勾选需要转换的条目(默认自动勾选可成功转换的项),点击 执行 按钮。
确认导入信息:确认无误后点击 应用修改。
8696996765249523712
解决了哪些痛点
E96 代码难懂:很多精密电阻使用 E96 代码(如 01C、30C),工程师往往记不住对照表,需要反复查表。本工具内置 E96 映射表,自动翻译。
单位换算繁琐:手动将 104 改为 100nF,或者将 472 改为 4.7kΩ 非常枯燥且容易出错。
调试困难:PCB 丝印如果是 1002,维修时一眼看不出是 10k 还是 100Ω(容易看错位数)。转换为 10KΩ 后一目了然。
BOM 规范化:统一将各种混乱的写法(如 R10, 0R1, 103)格式化为带标准单位的数值,提升 BOM 专业度。
技术要点
双模式支持:通过 try-catch 机制自动检测当前环境,兼容原理图 (sch_Netlist) 和 PCB (pcb_Netlist) 的网表读写。
强大的解析引擎:
电阻:支持 E96(如 01C)、三位/四位数码(103, 1002)、带单位简写(4R7, 2K2)。
电容/电感:支持数码表示法(104 -> 100nF)、带单位简写(4U7 -> 4.7uF)及单位换算。
智能单位格式化:根据数值大小自动选择最合适的单位(如 1000pF 自动转为 1nF,1000000Ω 自动转为 1MΩ)。
安全保护:内置唯一 ID (Unique ID) 校验机制,防止因 EDA 内部 ID 冲突或丢失导致的数据写入错乱,确保工程安全。
使用API接口
API接口
描述
eda.pcb_Net.getNetlist('JLCEDA')
获取 PCB 页面的网表数据。
eda.sch_Netlist.getNetlist('JLCEDA')
获取原理图页面的网表数据。
eda.pcb_Net.setNetlist(...)
将修改后的属性写回 PCB。
eda.sch_Netlist.setNetlist(...)
将修改后的属性写回原理图。
eda.sys_IFrame.closeIFrame(...)
执行完成后自动关闭插件窗口。
适用EDA版本
v2.2.43
v3.2.69(待官方修复网表bug后可使用)
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
#丝印转换# #BOM整理# #E96解码# #自动化工具# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA扩展插件 - 批量替换器件
简介
在 PCB 设计或改版过程中,我们经常需要更换元器件。例如:将所有的 0603 电阻换成 0402,或者将某个型号的芯片批量替换为另一个立创商城的元件。手动一个个去属性面板更改不仅效率低,还容易把属性(如厂商编号、封装)改错。
本插件提供了一个基于立创 C 编号的批量替换方案。你只需在 Excel 中列出“位号”和对应的“新 C 编号”,插件就能自动联网获取新器件的完整属性(包括名称、值、厂家、数据手册链接等),并一键更新到当前的 PCB 中。
由于没有替换器件的 API 接口,本工具通过修改网表文件实现替换器件,可能存在不确定性问题,需要 提前备份工程文件 后再进行操作
使用方法
准备数据:在 Excel 中准备两列数据,第一列是位号(如 R1, R2),第二列是新的立创编号(如 C12345)。
支持单行多个位号,用逗号分隔(例如:R1,R2,R5 | C1001)。
运行插件:菜单栏选择 器件 ⇒ 批量替换器件,插件会自动读取当前文档的器件列表。
粘贴数据:复制 Excel 内容,点击插件右上角的 “粘贴” 按钮。
插件会自动匹配位号,并在表格中预览即将变更的 C 编号。
获取属性:点击 “获取属性” 按钮。
插件会根据 C 编号,自动调用立创 EDA 的 API 接口,从服务器拉取这些新器件的完整属性(值、封装、厂家等)。
表格中会以红色高亮显示新旧属性的差异(如阻值变化、厂家变化)。
执行替换:
确认无误后,勾选需要替换的条目。
可选勾选“保留名称”等选项。
点击 “导入文档”,完成批量替换。
确认导入信息:确认无误后点击 应用修改
8696998122245414912
解决了哪些痛点
器件选型变更:设计初期用了通用电阻,生产时确定了具体型号,需要批量刷新属性。本工具一键搞定,比“更新原理图到 PCB”更灵活。
属性标准化:从第三方导入或接手别人的工程往往属性混乱。通过整理好的 Excel 表格,可以用本工具一次性将所有器件“清洗”为立创商城的标准库器件。
减少人工失误:手动输入厂家编号容易输错一位数,本工具直接通过 C 号从云端拉取官方数据。
技术要点
云端数据同步:利用 eda.lib_Device.getByLcscIds 和 eda.lib_Device.get 接口,实现了从简单的 C 编号到复杂器件属性的完整映射。
深度属性清洗:不仅仅是改个名字,插件会彻底重写器件的 props 对象,确保 Device UUID, Supplier Part 等底层关联字段全部更新。
智能差异对比:前端表格实时对比 original 和 new 属性,只有真正发生变化的字段才会高亮,让改动一目了然。
安全机制:内置唯一 ID 查重,并在界面显著位置提示已知限制(如 3D 模型可能丢失),提醒用户做好备份。
使用API接口
API接口
描述
eda.pcb_Net.getNetlist('JLCEDA')
获取 PCB 网表数据。
eda.lib_Device.getByLcscIds(cNumber)
根据 C 编号查询器件摘要信息(获取 UUID)。
eda.lib_Device.get(uuid)
根据 UUID 获取器件的详细属性(封装、值、厂家等)。
eda.lib_LibrariesList.getSystemLibraryUuid()
获取系统库 ID,用于跨库查询。
eda.pcb_Net.setNetlist(...)
将更新后的属性写入文档。
适用EDA版本
v2.2.43
v3.2.69
本工具基于 v2.2.43 客户端开发,已适配 v3 版本
⚠️ 重要提示:
备份:由于涉及网表底层修改,操作前请务必备份工程!
封装限制:受限于 API,目前无法直接在 PCB 中通过修改网表来改变封装的几何形状(Footprint)。如果新旧器件封装不同(如 0603 变 0805),建议在 PCB 中替换后手动更新封装。
3D模型:批量替换后,原有器件的 3D 模型关联可能会丢失,需要重新指定或从网表恢复。
#器件替换# #BOM标准化# #选型变更# #嘉立创EDA# #扩展API# #扩展插件# #狼黑工具#
嘉立创EDA客户端进入调试模式
客户端进入调试模式,F12打开开发者选项在控制台粘贴window.location.href="https://client/editor?cll=debug"调试的log就能在控制台显示 #嘉立创EDA# #扩展API# #调试模式#