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

对比两个板版本(Board Diff)

本轮只核验了资料库的 Compare Revisions… 入口;以下比较流程未在 2026-09-11 重新实操。不能把本页作为当前构建的完整 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、Altium PCB/库、Allegro PCB、完整 KiCad Project 当前明确不支持 Board Diff

Before 和 After 是有方向的:

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

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

操作步骤

比较资料库中的两个修订

  1. 在资料库找到包含至少两个修订的文档。
  2. 打开文档卡片的更多操作菜单。
  3. 点击 Compare Revisions…。
  4. 在 Before 和 After 中选择两个不同、同格式的修订。
  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 会被判定为失效,而不是静默展示旧结果。

宽壳与窄壳

两种布局均从资料库文档的操作菜单进入比较;不能在普通 Viewer 中用 Split 代替 Board Diff。普通项目 Split 是 PCB 与原理图双画布,Diff 的 Split 是 Before 与 After。窄窗口中若比较设置或结果面板拥挤,扩大窗口后阅读;本轮未验证窄壳 Diff 布局。

验收清单

  • 只有一个修订的文档不会启用 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、Altium PCB/库、Allegro PCB、完整 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(原流程记录);2026-09-11 核验资料库入口,未重跑比较。