
焊盘外扩助手
OSHWHub39v1.0.4
按焊盘生成阻焊外扩:禁止区域(禁止铺铜/填充)或阻焊层图形;支持连续点选与多选。英文菜单名 pad-expand-helper。
详情
更改日志
历史版本
评论
焊盘外扩助手
OSHWHub39详情
更改日志
历史版本
评论
焊盘外扩助手(英文界面 pad-expand-helper)
在 PCB 编辑器中,按所选 焊盘或器件 批量生成 阻焊外扩几何:可输出为 电气层上的禁止区域(控制铺铜/填充),或 仅阻焊层填充图形。适用于需要按固定外扩量快速布置阻焊开窗与工艺禁区的场景。
功能示意图

若示意图与当前交互不完全一致,以下方「使用说明」为准

扩展标识
| 属性 | 值 |
|---|---|
| name | pad-expand-helper |
| uuid | 23d6d62d80c44cc28c5c608ac3126f32 |
| displayName | 焊盘外扩助手(locales/extensionJson/en.json 一级菜单为 pad-expand-helper) |
| version | 见 extension.json |
| license | Apache-2.0 |
| categories | PCB |
| 入口 entry | ./dist/index(构建产物为 dist/index.js) |
name 唯一性:扩展商店要求 不同 uuid 的扩展不能使用相同的
name。若上架审核提示命名冲突,请将extension.json中的name改为未占用的名称(仅小写字母、数字、中划线,长度 5–30),并重新构建上传。
功能说明
生成类型(三选一)
在设置窗口中选择结果落在哪一类规则上:
| 类型 | 含义 |
|---|---|
| 禁止区域(禁止铺铜,默认) | 在对应 电气层 上生成区域规则,用于禁止铺铜。 |
| 禁止区域(禁止填充) | 同上思路,面向禁止填充的规则语义(与铺铜选项二选一使用场景)。 |
| 阻焊区域(仅阻焊层图形) | 仅在 顶层 / 底层阻焊层 保留填充图元,不转电气层禁止区域。 |
外扩几何先在阻焊层侧构造,再按类型 转为禁止区域 或 保留为阻焊填充;圆形焊盘等会生成 外环减内环 的环形填充(见更新日志 1.0.2)。
工作流程
- 通过菜单打开功能后,优先弹出 内联设置页(
iframe/index.html):选择生成类型、输入 外扩宽度(相对焊盘外形各向外的单边宽度),并选择是否 连续生成模式。若内联页不可用,会回退为系统原生对话框流程。 - 单次生成:对 当前已选中 的焊盘/器件焊盘/器件(展开全部焊盘)处理一次后结束。
- 连续生成模式:设置应用后可在画布上 多次点选或框选 焊盘/器件;Esc 或 鼠标右键 退出;再次运行菜单可结束并重新设置。
选择与分层
- 选择:可直接选 焊盘、器件焊盘,或选 器件(自动展开其下全部焊盘并去重);支持多选与混合选择。
- 分层:顶层焊盘 → 顶层阻焊/对应电气层;底层焊盘 → 底层;跨层/多层焊盘 → 顶、底两侧各生成对应图元。无对应阻焊/电气映射的内层等特殊焊盘会 跳过 并提示。
几何与单位
- 外形:圆、矩形、椭圆、跑道形、正多边形、复杂多边形等常见焊盘轮廓均支持;外扩采用 折线拟合(无独立圆弧图元)。
- 单位:读取当前 画布单位,输入值会换算为 PCB 内部 mil 后生成;外扩有 上限(当前源码中为 2000 mil,以实际编译常量为准)。
反馈与异常
- 成功或部分成功会通过 吐司 提示生成数量;部分条目失败会列出简要原因(如内层焊盘跳过、禁止区域转换失败等)。
- 未选中有效焊盘、仅在非 PCB 环境运行等会给出明确对话框或吐司说明。
资源与配置(extension.json)
- logo:
./images/logo.png(正方形图标,建议 ≥500×500,PNG/JPEG)。 - banner:
./images/banner.jpg(扩展商店横幅,比例 64:27,JPEG,见官方说明)。
使用说明
环境要求
- 嘉立创 EDA 专业版 / EasyEDA 专业版,版本需满足
extension.json中engines.eda(当前为^3.0.0)。
操作步骤
- 打开 PCB 设计文件。
- 单次模式:在画布中先 选中 目标(焊盘、器件焊盘或器件)。
- 在顶部菜单栏找到
焊盘外扩助手→焊盘阻焊外扩…(英文为pad-expand-helper→pad-expand-helper: expand…;内联设置页英文标题pad-expand-helper: setup;以客户端显示为准)。 - 在设置窗口中完成:生成类型、外扩宽度、是否 连续生成。
- 连续模式:进入后在画布上反复点选/框选即可生成;用 Esc 或 右键 退出连续模式。
菜单说明
| 菜单项 | 作用 |
|---|---|
| 焊盘外扩助手 / pad-expand-helper(一级;英文界面为拉丁名) | 分组入口 |
焊盘阻焊外扩… / pad-expand-helper: expand… | 打开设置并执行生成(与 extension.json 子菜单 pad-expand-helper: expand... 对应) |
| About... | 显示当前扩展版本号 |
常见问题
- 未选中有效对象(单次模式):请先选中至少一个焊盘或包含焊盘的器件。
- 选中但不含焊盘:会提示当前选中对象不包含焊盘。
- 看不到菜单或功能无效:请在 PCB 编辑器 中打开电路板后再试;本扩展在
home/sch/pcb等均注册了入口,核心逻辑针对 PCB。 - 设置窗口打不开:内联框架 API 可能因版本差异失败,可更新客户端;若持续失败,请通过反馈附上版本号。
- 上传商店报 banner 缺失:确保打包内存在
images/banner.jpg,且extension.json的images.banner为./images/banner.jpg。本地可用scripts/gen-banner.ps1生成占位横幅后再npm run build。
开发与构建
npm install
npm run compile # 生成 dist/index.js
npm run lint
npm run build # 编译并打包 .eext 到 build/dist
构建完成后,在 build/dist 目录获取 pad-expand-helper_v<version>.eext(由 extension.json 的 name 与 version 组成,与扩展商店标识一致;不要为「好听」单独改打包脚本里的文件名而保留错误的 name)。在客户端中安装该扩展包。
入口文件:extension.json 中 entry 为 ./dist/index;发布前请务必执行 npm run compile(或 npm run build),保证 dist/index.js 存在且与源码一致。内联设置页位于 iframe/,需一并打入扩展包。
API 与许可
- 开发指南:https://prodocs.lceda.cn/cn/api/guide/
- API 参考:https://prodocs.lceda.cn/cn/api/reference/pro-api.html
- 许可:Apache-2.0
更新日志
本文件记录 焊盘外扩助手(英文界面 pad-expand-helper;扩展标识 pad-expand-helper)的版本变更。
1.0.4
优化
- 完善多语言
1.0.3
修复
- 连续生成去重:移除跨次调用持久化的生成 key / 几何签名集合;去重仅在一次
processPads批处理内生效。删除已生成外扩图元后,可再次对同一焊盘生成(此前会因模块级Set永久跳过)。 - 同批几何签名去重:去掉对「展开多边形语义签名」的二次去重(仅保留
generationKey在同一批内的去重)。此前连续模式下,多焊盘或异层组合下易因签名碰撞误跳过;删除区域后再生成若与某条缓存几何同形也会误判。 - 内联设置窗:宿主
openIFrame高度 520→620,并收紧页边距、设定html/body溢出隐藏,在常见分辨率下避免多余纵向滚动条。 - 取消与监听:内联页点击「取消」写入
cancelled时,宿主立即stopInteractiveMode(),不再依赖仅靠探测窗体关闭才卸监听。 - 连续模式提示吐司:同一次内联设置会话内,连续模式说明吐司仅在首次进入监听时弹出一次;停止后再点「生成」不再重复弹出(会话重置后再次打开设置页会再提示一次)。
命名
- 中文名:插件与
extension.json的displayName为 焊盘外扩助手;英文菜单源串与英文界面展示名为pad-expand-helper(见locales/extensionJson/en.json及headerMenus源串)。 - 子菜单:
pad-expand-helper: expand...中文仍为 「焊盘阻焊外扩…」(动作描述)。
内联设置页交互
- 生成后不关窗:单次与连续模式均在点击「生成」并写入设置后保持设置窗口打开;关闭设置窗口 时结束会话并撤销 PCB 连续监听。
- 停止生成:连续模式下主按钮切换为「停止生成」,仅停止画布监听,不关窗;亦可 Esc / 右键退出(与设置窗通过存储 echo 同步按钮状态)。
- 宿主轮询:主进程在内联窗存活期间轮询扩展存储中的指令(
seq去重),处理「应用」「停止」与窗口关闭。
交互与稳定性
- 连续生成模式:修复点选/框选不生效的问题——鼠标选中事件与字符串
'selected'比较,避免EPCB_MouseEventType未定义导致的运行时错误。 - 选中与器件展开:
props支持嵌套数组;选中列表短时重试;器件焊盘优先getAllPinsByPrimitiveId,并回退toSync().getAllPins()。 - 防重入与队列:连续模式下处理中再次选中时保留最近一次事件参数,避免丢框选/点选信息;补跑队列与防重入逻辑优化。
- 无焊盘选中:当选中对象不包含焊盘时给出明确提示(非静默返回)。
生成与几何
- 输出类型:禁止区域(默认禁止铺铜 / 可选禁止填充)或阻焊区域(仅阻焊层填充图元)。
- 禁止区域收尾:
convertToRegion失败时尝试删除阻焊填充后再处理;阻焊填充流程中保证fill.done()。 - 异常条目:内层焊盘、无效特殊焊盘等跳过并汇总报错;部分成功时使用警告级吐司。
- 几何:外扩轮廓以折线拟合,无独立圆弧图元。
其它
- 菜单与国际化:
headerMenus一级菜单英文源串为pad-expand-helper(与locales/extensionJson键一致),中文为「焊盘外扩助手」;二级pad-expand-helper: expand...对应中文「焊盘阻焊外扩…」。设置页英文标题pad-expand-helper: setup(locales/en.jsonSolderMaskExpSetupTitle、内联页iframe/index.html)。 - 吐司:
showToastMessage的时长参数为 秒(勿误传毫秒);主流程成功/警告/错误提示使用统一自动关闭时长(当前常量约 6 秒)。 - 类型:优化
isCirclePadShape等类型守卫,消除联合类型相关 TypeScript 报错。 - 资源:扩展图标等资源更新;几何与 UI 辅助函数整理。
1.0.2
- 变更:更新 banner 图。
- 修复:圆形焊盘(椭圆外形且宽高相等)的禁止区域外环改为 圆形环(外圆减内圆),不再使用轴对齐矩形外环。
- 修复:禁止区域图元的 电气层 与焊盘一致(
TOP/BOTTOM/MULTI),不再误用阻焊层作为区域属性图层。
1.0.1
- 新增:生成流程中的参数确认与结果反馈能力(随版本迭代,界面以当前客户端为准)。
- 修复:生成图元位置偏移问题。
- 变更:阻焊层生成语义调整为 禁止区域外环(外扩区域减去焊盘区域)。
1.0.0
- 首发。

暂无数据
类型
PCB
关键词
阻焊层焊盘禁止区域外扩solder-mask助手pad-expand-helper
扩展信息
| 版本 | v1.0.4 |
| 发布者 | EasyEDA |
| 发布时间 | 2026-06-10 13:58:42 |
| 名称 | pad-expand-helper |
| UUID | 23d6d62d80c44cc28c5c608ac3126f32 |
| 适用EDA版本: | ^3.0.0 |
| 报告 | 报告滥用 |
评论