對比兩個板版本(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/庫、完整 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 會被判定為失效,而不是靜默展示舊結果。
寬殼與窄殼¶
兩種配置均從資料庫文件的操作選單進入比較;不能在普通 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/庫、完整 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 核驗資料庫入口,未重跑比較。