
AsmDraw
细易电子工作室0v1.0.1
一键导出PDF格式的顶/底层PCB装配图,位号居中焊盘放置,同时不修改原工程。
详情
更改日志
历史版本
评论
AsmDraw
细易电子工作室0详情
更改日志
历史版本
评论
AsmDraw
嘉立创EDA 专业版(EasyEDA Pro)扩展插件 —— 一键导出 PCB 装配图(矢量 PDF)。
顶层 / 底层各一页合并为单个 PDF,位号自动居中并自适应字号,全过程不修改、不保存原工程。

导出PDF效果图

功能特性
- 一键出图:PCB 编辑器菜单
AsmDraw > 生成装配图,自动完成顶/底层装配图导出; - 双页矢量 PDF:第 1 页顶层、第 2 页底层(镜像视角),板框定幅 + 标题栏,圆形板框渲染为真圆弧;
- 位号居中:出图前自动将所有器件位号移到器件焊盘包围盒中心,导出后按快照还原;
- 位号字号自适应:按焊盘包围盒缩放(可缩可放,尽可能填满),字体统一 Arial,上限 2mm、下限 0.6mm;
- 位号压顶防遮挡:位号经独立 Gerber 导出包最后绘制,不被丝印、实心钻孔等任何图元遮挡;
- 原工程零污染:所有修改仅发生在编辑器内存,快照还原 + 全程不
save(),异常路径同样回滚; - 健壮性:重入保护、非 PCB 页守卫、阶段进度条、Gerber 导出失败自动回退默认一键导出。
使用方法
- 在嘉立创EDA 专业版中安装扩展包
build/dist/asmdraw_v1.0.0.eext; - 打开 PCB 编辑器页面,点击菜单
AsmDraw > 生成装配图; - 在保存对话框中选择输出位置,得到
<工程名>_Assembly.pdf(如MyBoard_Assembly.pdf,工程名前导_自动去除)。
配置项(AsmDraw > 设置)
| 键 | 默认 | 说明 |
|---|---|---|
centerDesignator | true | 位号居中到器件中心(仅出图,导出后还原) |
autoFitDesignator | true | 位号字号自适应(≤2mm,Arial) |
unit | MM | Gerber 导出单位,影响标题栏单位文案 |
colorSilkscreen | false | 彩色制造文件开关(不影响 PDF 渲染色号) |
marginMm | 10 | 板框四周留白(mm) |
fileNameSuffix | _Assembly | 文件名后缀(按配置原样拼接,前导 _ 作分隔符) |
渲染色号规范
| 对象 | 色号 |
|---|---|
| 板框 / 位号 / 标题 | #000000 |
| 器件丝印 / 钻孔 | #999999 |
| 焊盘 / 铜皮 | #CCCCCC |
| 负性图元 | #FFFFFF |
| 副标题 | #595959 |
项目结构
├── extension.json 扩展配置(菜单注册、logo、版本)
├── images/ 扩展图标
├── src/
│ ├── index.ts 入口:菜单注册与回调导出
│ ├── orchestrator.ts 主流程编排:预检 → 位号调整 → 导出 → finally 还原
│ ├── refCenter.ts 位号快照/还原、居中、字号自适应(Arial)
│ ├── asmRender.ts Gerber 导出调度 → ZIP 解包 → 角色分类 → pdf-lib 合成
│ ├── gerber.ts RS-274X / Excellon 解析器(纯函数,可离线测试)
│ ├── config.ts 配置模型与持久化(sys_Storage)
│ ├── settings.ts 设置菜单(配置向导)
│ └── guard.ts 还原兜底与保存事件守卫
├── build/ 打包脚本(esbuild + .eext 打包)
└── docs/ 技术方案文档
数据流:getGerberFile() 顶/底/位号共 4 次导出 → JSZip 解包 → parseGerber/parseExcellon → renderAssemblyPdfBytes()(纯函数)→ sys_FileSystem.saveFile()。
主要依赖:jszip(解 Gerber ZIP)、pdf-lib(矢量 PDF 合成),esbuild 全部打包进 dist/index.js。
开发与构建
基于 easyeda-api-sdk 开发工具组(SDK 1.6.28 / @jlceda/pro-api-types)。
npm install # 安装依赖
npm run compile # 编译到 dist/
npm run build # 编译并打包 build/dist/asmdraw_v1.0.0.eext
静态检查:
npx tsc --noEmit
npm run lint
文档
详细设计、决策记录与真机验证踩坑记录见 AsmDraw 插件技术方案 v2.0。
开源许可
更新日志
本文件记录 AsmDraw 扩展插件的版本变更,遵循 Keep a Changelog 规范。
1.0.1
修改内容
1、变更发布者的名称;
1.0.0
新增
- 一键导出 PCB 装配图:顶层 / 底层各一页合并为单个矢量 PDF(板框定幅、标题栏、钻孔表意),圆形板框按真实圆弧渲染;
- PCB 编辑器一级菜单
AsmDraw:「生成装配图」与「设置」入口; - 位号居中:出图前自动将所有器件位号移到器件焊盘包围盒中心,导出后按快照还原;
- 位号字号自适应:按焊盘包围盒缩放(可缩可放,尽可能填满),字体统一 Arial,上限 2mm、下限 0.6mm;
- 位号压顶防遮挡:位号经独立 Gerber 导出包最后绘制,不被丝印线、实心钻孔等任何图元遮挡;
- 渲染色号规范:板框 / 位号
#000000、丝印 / 钻孔#999999、焊盘 / 铜皮#CCCCCC、负性图元白色; - 配置向导:居中 / 自适应开关、导出单位、彩色丝印、板框边距、文件名后缀,持久化保存;
- 输出文件名格式
<工程名>_Assembly.pdf(工程名前导下划线自动去除); - 全过程不修改、不保存原工程:内存修改 + 快照还原,异常路径同样回滚;
- 健壮性:重入保护、非 PCB 页守卫、阶段进度条、Gerber 导出失败自动回退默认一键导出。
技术要点
- 数据源为
pcb_ManufactureData.getGerberFile()自定义层 / 对象导出(顶 / 底 / 位号独立包共 4 次),插件内解析 RS-274X 与 Excellon 后由pdf-lib合成矢量 PDF; - 依赖
jszip、pdf-lib,esbuild 全部打包进dist/index.js; - 基于 easyeda-api-sdk 1.6.28 开发工具组(该模板自身的版本历史见其官方仓库)。

暂无数据
类型
Other
关键词
ToolPCB装配图
扩展信息
| 版本 | v1.0.1 |
| 发布者 | Kelly |
| 发布时间 | 2026-10-28 16:37:31 |
| 名称 | asmdraw |
| UUID | 97387d58294d480d8dbc962309754539 |
| 适用EDA版本: | ^3.2.0 |
| 报告 | 报告滥用 |
评论