对比两个板版本(Board Diff)¶
页面目标¶
帮助你从资料库修订启动 Board Diff,理解 Before / After 方向,检查逐对象变化,并导出可复查的 JSON 或 PNG。
适用平台¶
- macOS 14 或更高版本:当前 Board Diff 的主要宽屏体验和首轮验收平台。
- iOS / iPadOS 17.0 或更高版本:入口随应用提供;建议使用横屏或较宽窗口,窄屏专门优化仍在后续完善。
适用对象¶
- 需要比较同一 PCB 两个修订版本的设计、制造或审阅人员
- 需要按方向、图层、对象和风险提示验收 Diff 的测试人员
前置条件¶
选择一组内容不同、但实际解析格式相同的板:
| 输入 | 当前状态 |
|---|---|
| DSN | 支持 |
单板 KiCad .kicad_pcb |
支持 |
| Gerber + Excellon 文件夹或压缩包 | 支持 |
| SES | 仅当两侧可验证并指向同一个基础设计时支持 |
| ODB++、IPC-2581、完整 KiCad Project | 当前明确不支持 Board Diff |
Before 和 After 是有方向的:
Added:只存在于After。Removed:只存在于Before。Modified:两侧对象能够配对,但属性或几何不同。Unchanged:两侧相同,只作为上下文显示。
文件扩展名相同不等于格式一定相同;PCBAtlas 会分别解析两侧,再决定能否比较。
操作步骤¶
比较资料库中的两个修订¶
- 在资料库找到包含至少两个修订的文档。
- 打开文档卡片的更多操作菜单。
- 点击
Compare Revisions…。 - 在
Before和After中选择两个不同、同格式的修订。 - 点击
Compare。
如果当前修订有父修订,页面会优先使用 parent 作为 Before、current 作为 After。你仍可手动更换两侧。
完成后的托管比较会保存经过校验的 artifact。下次进入同一文档的比较页,可以使用 Reopen Saved Comparison 重新打开。
确认有歧义的图层配对¶
如果 PcbCore 找到多个兼容候选,比较会暂停在 Layer pairing needs confirmation:
- 对每个
Before图层检查名称、角色、顺序和对象数量。 - 在右侧选择正确的
After layer。 - 确认每一项都有选择。
- 点击
Confirm and Compare重新运行。
PCBAtlas 不会在歧义时猜一个图层,也不会通过自动平移 / 旋转把两块板强制对齐。整板位移或旋转会作为真实变化保留。
等待或取消比较¶
比较会依次显示输入校验、导入 Before / After、图层配对、快照、几何匹配、风险分析、Diff scene 和持久化进度。
点击 Cancel 后,请等待 Cancelling comparison… 完成。只有两个 native session 和临时 staging 数据都释放后,页面才允许安全重试。
阅读比较工作区¶
显示模式¶
Overlay:在一个精确复合场景中叠加变化;Context控制未变化上下文的强度。Split:左侧Before、右侧After;默认开启Sync Camera,关闭后可以分别检查两侧。Blink:使用同一相机在 Before / After 之间自动切换,适合发现细小位移。Fit:把当前场景重新适配到可见区域。
图层和变化¶
- 左侧
Layer Pairs显示配对结果以及每对图层的变化数量。 - 选择
All layers查看全板,或选择一个图层对缩小范围。 - 右侧
Changes可以开关Added / Removed / Modified,按对象类型和 Net 过滤。 - 点击变化行会定位并高亮对象;在 Viewer 点选对象也会反查对应变化。
Previous/Next顺序浏览当前过滤结果;macOS 快捷键分别为⌘[和⌘]。Risks面板按风险级别过滤方向性提示。风险提示用于审阅定位,不代替 DRC 或制造签核。
交换方向、导出和重开¶
- 点击
Swap会创建反向请求并重新计算;原来的 Added / Removed、统计、风险和详情会随方向反转。 - 点击
JSON导出稳定、版本化的语义结果;iOS 会把文件交给其他应用。 - 点击
PNG导出当前 Diff 视图截图;iOS 会直接保存到 Photos,macOS 继续使用系统文件交付界面。 - 托管修订比较完成后,可从
Reopen Saved Comparison重开经过校验的结果。 - 如果修订内容、格式、策略或图层配对已经变化,旧 artifact 会被判定为失效,而不是静默展示旧结果。
验收清单¶
- 只有一个修订的文档不会启用
Compare Revisions…。 - 两个同格式资料库修订可以运行,并能从
Reopen Saved Comparison重开。 - 同一输入、不同格式、不支持格式或 SES base 不一致时,
Compare被阻止并显示明确原因。 - 有歧义的层必须完成手动配对后才能继续。
-
Overlay / Split / Blink切换时相机位置保持一致。 - Split 的
Sync Camera开 / 关行为正确,Fit可恢复全板视图。 - Added / Removed / Modified、对象类型、Net 和风险过滤都能缩小结果。
- 列表点击、Viewer pick、
Previous / Next可以双向定位同一变化。 -
Swap后方向、颜色、统计、详情与风险正确反转。 - 大板比较中途取消后,页面等待清理完成并可以再次比较。
- JSON 与 PNG 均可导出,托管 artifact 在输入变化后不会被错误复用。
当前明确边界¶
- 只比较同格式输入,不支持跨格式比较。
- 不支持 ODB++、IPC-2581、完整 KiCad Project、原理图 Diff 或 3D Diff。
- 不做自动合并、接受变化或反向修改源文件。
- 不提供自动 alignment;整体平移和旋转仍是可见差异。
- 不使用图片像素、bbox 或文件文本作为精确几何 Diff 的兜底。
常见问题¶
为什么 Compare 按钮不可用?¶
检查两侧是否都已选择、是否为不同内容、是否解析成同一受支持格式。Gerber / Excellon 应把完整 package 的文件夹或压缩包分别交给两侧,不能只选两个任意单层文件来代表完整板。
为什么相同扩展名仍提示格式不一致?¶
格式由实际解析结果决定,而不是只看文件名。目录、压缩包、SES 基础设计和实际 board entry 都会参与校验。
为什么取消后不能立刻重新比较?¶
页面会等待 PcbCore 释放 Before / After 两个会话和临时数据,防止新任务与旧任务同时占用资源。Cancelling comparison… 消失后再重试。
为什么 Swap 后变化数量或风险也变了?¶
Added / Removed 和风险提示具有方向性。Swap 不是交换显示标签,而是用反向 Before / After 重新计算。
结果¶
完成比较后,你可以在同一工作区定位两侧精确变化、核对方向性风险,并导出 JSON / PNG;资料库修订比较还可以保存并验证后重开。
最近验证日期¶
2026-07-30