跳转至
文档版本 v2026.08.31.0
下载 PDF

对比两个板版本(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

BeforeAfter 是有方向的:

  • Added:只存在于 After
  • Removed:只存在于 Before
  • Modified:两侧对象能够配对,但属性或几何不同。
  • Unchanged:两侧相同,只作为上下文显示。

文件扩展名相同不等于格式一定相同;PCBAtlas 会分别解析两侧,再决定能否比较。

操作步骤

比较资料库中的两个修订

  1. 在资料库找到包含至少两个修订的文档。
  2. 打开文档卡片的更多操作菜单。
  3. 点击 Compare Revisions…
  4. BeforeAfter 中选择两个不同、同格式的修订。
  5. 点击 Compare

如果当前修订有父修订,页面会优先使用 parent 作为 Before、current 作为 After。你仍可手动更换两侧。

完成后的托管比较会保存经过校验的 artifact。下次进入同一文档的比较页,可以使用 Reopen Saved Comparison 重新打开。

确认有歧义的图层配对

如果 PcbCore 找到多个兼容候选,比较会暂停在 Layer pairing needs confirmation

  1. 对每个 Before 图层检查名称、角色、顺序和对象数量。
  2. 在右侧选择正确的 After layer
  3. 确认每一项都有选择。
  4. 点击 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