
装配图导出
装配图导出
嘉立创EDA-牧尘1装配图导出(export-assembly-drawing)
嘉立创EDA专业版扩展:一键生成装配图。
功能
装配图包含三个图层内容:丝印层 + 阻焊层(开窗) + 板框层,固定输出两张图:顶层视图 + 底层视图。
- 丝印层:器件轮廓直接读取封装库中该器件的顶层/底层丝印图形(圆角庭院线、1 脚圆点、切角等原样保留)+ 板级自由丝印线段;位号丝印与文字丝印不读取,即从图中删除,只保留图形轮廓。
- 阻焊层:绘制焊盘开窗(含阻焊扩展量、圆角矩形/椭圆/POLYGON 异形焊盘外形、焊盘旋转),数据来自封装 PAD 记录;THT 焊盘两面均绘制(安装孔
{holeType,width,height}孔格式同样识别);不含过孔(过孔不属于丝印/阻焊/板框三层)。 - 板框层:板框层多段线(矩形/圆角矩形、直线、圆弧、贝塞尔、圆);圆角四角弧与直边精确相接;PDF 中圆/圆弧按精确贝塞尔系数绘制,与预览(SVG 原生弧线)完全一致。
- 自动标注:阻容感器件(有「Value」属性)自动取器件值(如
100nF);芯片(无 Value 属性)自动取制造商编号(如TPS7A2042PDBVR)。 - 居中与缩放:文本放置在器件丝印轮廓的几何中心(PDF 基线已按 0.35 字号补偿,预览与导出完全一致),并按轮廓宽高自动缩放字号(真实字宽测量),大器件字号大、小器件字号小,始终完整落在轮廓内。
- 方向跟随:水平摆放的器件 → 水平文本(0°);竖直摆放的器件 → 竖直文本(90°)。
- 标注编辑(手动调整):预览中点击标注选中、拖动移动;双击直接修改文字;方向键微调(Shift = 1mil);勾选「批量移动」后拖动任一同方向标注可按方向(水平/竖直组)整体移动;支持单件重置与按方向成组重置。修改实时反映到预览、画布放置与 PDF 导出。
- 元素删除:预览中点击图形(丝印轮廓/焊盘)或标注选中器件(选中显示蓝色虚线框),也可点击自由丝印线段;按 Delete 键或「删除选中元素」按钮将其从预览、画布放置与 PDF 导出中整体移除(丝印+焊盘+文本);侧栏「已删除」列表支持逐项恢复与全部恢复。
- 不含位号:装配图中只保留值/制造商编号,位号(R1、C2…)不输出。
- 双面视图:固定两页 —— 顶层视图 + 底层视图。底面器件读取底层丝印并按镜像变换还原,底面页整页镜像输出、文本保持可读(本项目无底面器件,该路径按约定实现)。
- 预览 = 导出:窗口内预览与 PDF 导出使用同一套渲染数据(阻焊开窗 + 过孔 + 丝印轮廓 + 板框 + 居中文本),所见即所得,支持缩放平移。
- 矢量 PDF 导出:A4 横向、固定 2 页(顶/底视图),由数据直接绘制,无限缩放不失真,约 400KB。
- 样式可调:背景色 / 板框颜色 / 丝印轮廓颜色 / 焊盘颜色 / 文本颜色 / 文字描边(对比度)颜色与宽度可自定义并实时预览,各层对比度自由调节。文字默认带 8% 字号宽度的白色描边(halo),压在焊盘上时仍清晰可读,宽度设 0 关闭。
- 配色预设:默认白底黑图;预设下拉一键切换黑底白图(六项颜色整组联动),手动改色后自动标记「自定义」,仍可逐项微调。
- 元素透明度:焊盘 / 丝印轮廓 / 板框 / 文字四类元素 0–100% 独立透明度,滑杆即时预览;PDF 按 ExtGState(/ca /CA)分组应用,与预览语义一致(如焊盘 45% 半透明显出下层丝印)。
- 无标注器件只画图形:丝印轮廓/文本只画有标注的器件;无标注器件(螺丝孔/安装孔/板载天线等)同样绘制丝印轮廓与焊盘开窗(含安装孔
{holeType,width,height}孔格式),只是不输出文字;OLED 屏幕外形等位于自定义层的图形不会出现在导出中。 - 可重复执行:再次「应用放置」前自动清理上次放置的文本;也可手动「移除已放置文本」。
PDF 导出说明
EDA 官方 pcb_ManufactureData.getPdfFile 在当前客户端版本固定只输出板框(contentConfig 被忽略,已实测),无法用于装配图。因此本扩展由数据自绘矢量 PDF:
-
板框:读取板框层多段线(支持矩形/圆角、直线、圆弧、贝塞尔、圆);
-
器件轮廓:经
sys_FileManager.getFootprintFileByFootprintUuid下载封装包(.elibz2),在浏览器内解压解析.elibu源码,提取丝印层(顶 3 / 底 4)的 POLY/FILL 图形(直线、圆、圆弧),按「世界坐标 = 器件坐标 + 旋转矩阵 × 封装本地坐标」还原(已用焊盘 Procrustes 拟合校准,残差 0.03mil);TEXT/ATTR 记录(位号/文字丝印)不解析即删除;板级自由丝印由pcb_PrimitivePolyline.getAll(undefined, 丝印层)补充(只含自由线段,不含器件丝印);同一封装自动缓存; -
阻焊开窗:解析同一
.elibu中的 PAD 记录(外形/尺寸/焊盘角度/圆角半径/阻焊扩展量/孔径),同样经器件变换还原到世界坐标后按 24+ 边形采样为多边形填充(镜像安全);不读取板上 VIA 图元(过孔不属于装配图三层); -
文本:值/制造商编号居中于丝印轮廓中心 + 按轮廓自动缩放字号(真实字宽测量)+ 水平/竖直两方向(Helvetica-Bold,Ω 经 Symbol 字体渲染);基线按 0.35 字号补偿实现真正居中;可选描边(
2 Tr填充+描边双模式渲染,描边宽 = 字号比例,默认 8%); -
底面页:整板关于竖直轴镜像、文本保持可读方向(底层丝印/底面焊盘按镜像还原;本项目无底面器件,该路径按约定实现);
-
绘制顺序(每页):阻焊开窗 → 过孔 → 自由丝印 → 丝印轮廓 → 板框 → 文本;
-
导出过程不读写画布、不切换图层,无副作用。
-
插件功能视图

-
会直接将器件的值/制造商编号放置在装配图,可以使用官方的导出功能进行设置,或手动调整

-
直接导出pdf效果

使用方法
- 打开 PCB 文档,顶部菜单 装配图导出(顶栏扩展菜单)。
- 在「绘图样式」中选择配色预设(白底黑图 / 黑底白图),调整背景/板框/轮廓/焊盘/文本颜色、文字描边(对比度)与元素透明度(焊盘/丝印/板框/文字),预览实时刷新(与 PDF 一致)。
- 在「标注编辑」中按需手动调整:点击选中标注 → 拖动移动、双击改字、方向键微调;勾选「批量移动」可按方向整体拖动水平组/竖直组。
- 在「元素删除」中移除不需要的元素:点击图中图形或标注选中(或点击自由丝印线段),按 Delete 键或「删除选中元素」;误删可在列表中恢复。
- 点击 应用放置 将文本写入装配层;或直接点击 导出 PDF(会自动先放置)。
- PDF:A4 横向矢量图,固定 2 页(顶层视图 + 底层视图),含丝印层(无位号/文字丝印)+ 阻焊开窗(焊盘,无过孔)+ 板框。
目录结构
├── extension.json 扩展清单(entry: ./dist/index,headerMenus.menuItems 注册菜单)
├── src/ 源码(修改后执行 node build.mjs 重新生成产物)
│ ├── engine.js 核心引擎(收集/封装解析/放置/移除/PDF 自绘导出,EAD 模块)
│ ├── main.js 主进程菜单入口(openAssemblyDrawing → 打开 iframe)
│ └── panel.html 预览窗口 UI 源码(含 //__ENGINE__ 注入占位符)
├── dist/index.js 构建产物:入口(普通脚本,加载器不支持 ES Module)
├── iframe/index.html 构建产物:预览窗口(engine 已内联,iframe 无法加载外部脚本)
├── build.mjs 构建脚本(src -> dist / iframe)
├── package.ps1 打包脚本(zip -> release/<名称>-<版本>.eext,版本号取自 extension.json)
├── release/ 版本化 .eext 发布产物
├── images/logo.png 图标
├── CHANGELOG.md 更新日志
├── LICENSE MIT 许可证
└── 验证/ 本地验证产物(PDF 与页面渲染图)
构建与打包
node build.mjs # src/ -> dist/index.js + iframe/index.html
powershell -ExecutionPolicy Bypass -File package.ps1 # -> release/export-assembly-drawing-<版本>.eext
build.mjs 将 src/main.js 加头注释生成为 dist/index.js,并把 src/engine.js
注入 src/panel.html 的 //__ENGINE__ 占位符生成 iframe/index.html;
package.ps1 将 extension.json、dist/、iframe/、images/logo.png、README.md、CHANGELOG.md
打为 zip(正斜杠路径)输出到 release/,
在 EDA 中「设置 → 扩展 → 扩展管理器 → 导入」。
注意:入口文件必须是普通脚本(顶层
function声明,不能有export/import), 菜单项必须嵌套在headerMenus.pcb[].menuItems[]内,registerFn才能被调度, iframe 内脚本必须内联,不得用<script src=...>外部引用。
更新日志
1.1.3 (2026-08-26)
- README 新增插件功能视图(预览视图 / 装配图元素视图 / PDF 导出效果截图),打包时随扩展一并携带
images/截图资源。
1.1.2 (2026-08-26)
- 修复导出 PDF 中圆/圆弧变形(如螺丝孔轮廓被看成椭圆):弧转贝塞尔的控制点系数多乘了一个 0.5523,整圆被画成对角方向内凹约 12% 的「方圆」;现改为精确系数 (4/3)·tan(θ/4),圆弧与 SVG 预览(原生弧线)完全一致。螺丝孔庭院圆、板框圆角、自由丝印圆弧同步修复。
- 修复无丝印器件回退轮廓(焊盘包围盒圆角矩形)的 PDF 路径操作数错乱(每个贝塞尔
c多推 2 个操作数导致路径乱线):重写为标准m/l/c序列。 - 新增「元素删除」:预览中点击图形(丝印轮廓/���盘)或标注选中器件,也可点击自由丝印线段;按 Delete 键或「删除选中元素」按钮将其从预览、画布放置与 PDF 导出中整体移除;已删除列表支持逐项恢复与全部恢复。
1.1.1 (2026-08-26)
- 修复无标注器件(螺丝孔/安装孔/板载天线等,无 Value 且无制造商编号)不出现在装配图中的问题:此类器件现在同样绘制丝印轮廓与焊盘开窗,只是不输出文字标注;统计栏显示「图形件」数量。
- 修复 POLYGON 异形焊盘(如轻触开关 TS24CA 的 3/4 脚锚点焊盘)丢失的问题:解析封装 PAD 记录
defaultPad.path折线(与丝印 path 同格式),经器件变换(旋转/镜像)还原后按多边形填充绘制,含阻焊扩展量外扩(SVG 预览与 PDF 同步修复)。 - 兼容安装孔封装的
{holeType, width, height}孔格式(此前只识别 diameter/radius 字段),孔径正确取 width/height。
1.1.0 (2026-08-26)
- 修复圆角矩形板框四角缺失:R 型板框(
["R", x, y, w, h, rotation, cornerRadius])轮廓为顺时针路径,原角弧实现强行把弧扫向归一成逆时针(不足 2π 时 +2π),90° 角弧被画成 315° 反向大弧、四角呈缺失状;且跨 ±π 边界时 atan2 落在另一侧会反向绕 270°。现改为「就近归一」:角弧起终角之差控制在 ±π 内(角弧必为 90°),四个角弧与直边精确相接(SVG 预览与 PDF 同步修复)。 - 配色预设:默认白底黑图;新增预设下拉,一键切换黑底白图(六项颜色整组联动),手动改色后预设自动标记为「自定义」,仍可逐项微调。
- 元素透明度:新增「元素透明度」设置,焊盘 / 丝印轮廓 / 板框 / 文字四类元素 0–100% 独立调节,滑杆即时预览;PDF 以 ExtGState(/ca /CA)按元素类别分组应用,与 SVG 预览透明度语义一致。
1.0.1 (2026-08-26)
- 修复导出 PDF 完成后窗口仍停留在「正在生成 PDF,请稍候…」的问题:结束时隐藏「进行中」提示(错误信息不受影响,仍保持在遮罩上显示)。
- 修复文字描边较宽时导出 PDF 文字变成描边色(白)的问题:PDF 原用
2 Tr(填充+描边)模式,描边压在填充之上会把字形芯部盖掉;改为与 SVG 预览paint-order:stroke一致的两遍绘制(先描边打底、再填充覆盖),任意描边宽度下字形芯部均为文本色。
1.0.0 (2026-08-26)
首个版本:PCB 装配图一键导出。
- 三层内容:丝印层(器件封装丝印轮廓 + 板级自由丝印,位号/文字丝印不读取)+ 阻焊层(焊盘开窗,含阻焊扩展量、外形与旋转;不含过孔)+ 板框层(多段线,支持直线/圆弧/贝塞尔/圆)。
- 固定两页:顶层视图 + 底层视图(底面器件按镜像变换还原,整页镜像、文本保持可读)。
- 自动标注:阻容感器件取 Value(如 100nF),芯片取制造商编号(如 TPS7A2042PDBVR),居中于丝印轮廓几何中心并按轮廓自动缩放字号(真实字宽测量);水平器件水平文本、竖直器件竖直文本;位号不输出。
- 文字描边(对比度):描边颜色与宽度(字号比例,默认 8%,0 关闭)可自定义,PDF 以填充+描边双模式渲染,SVG 预览 paint-order:stroke 同步。
- 标注编辑:点击选中、拖动移动、双击改字、方向键微调(Shift = 1mil);「批量移动」按方向(水平组/竖直组)整体拖动;单件重置与按方向成组重置。
- 矢量 PDF 导出:A4 横向,由数据直接绘制(EDA 官方 pcb_ManufactureData.getPdfFile 在当前客户端版本固定只输出板框,无法用于装配图,故自绘)。
- 预览 = 导出:窗口内 SVG 预览与 PDF 导出使用同一套渲染数据,支持缩放平移。
- 样式可调:背景/板框/轮廓/焊盘/文本/描边颜色实时预览。
- 可重复执行:再次「应用放置」前自动清理上次放置的文本,也可手动移除。

类型
关键词
扩展信息
| 版本 | v1.1.3 |
| 发布者 | chenlong11 |
| 发布时间 | 2026-08-26 11:40:55 |
| 名称 | export-assembly-drawing |
| UUID | 6ce496ac1d7ee23d62e605c8762b5744 |
| 适用EDA版本: | ^3.2.0 |
| 报告 | 报告滥用 |
评论