Skip to content

[Domain] 視圖樣板比較功能 - #126

Open
CyberPotato0416 wants to merge 2 commits into
shuotao:mainfrom
CyberPotato0416:feat/view-template-comparison
Open

CyberPotato0416 wants to merge 2 commits into
shuotao:mainfrom
CyberPotato0416:feat/view-template-comparison

Conversation

@CyberPotato0416

Copy link
Copy Markdown
Contributor

📝 Summary

本 PR 新增「視圖樣板比對矩陣 (View Template Comparison Matrix)」Domain
(domain/view-template-comparison.md)。

視圖樣板原生限制:Revit 原生介面(視圖 > 視圖樣板 > 管理視圖樣板)一次只能開啟並查看單一 View Template 的設定視窗。

痛點:專案後期視圖樣板數量繁多,常因細微的品類隱藏、過濾器覆蓋或細緻度差異,導致跨圖紙 (Sheets) 輸出圖面不一致。工程師無法將 2 個或多個樣板「並列 (Side-by-Side)」進行設定對比,更沒有「僅顯示差異 (Show Diff Only)」、「黃底紅字高亮」、「匯出 Excel/CSV 比對矩陣」或「一鍵生成對比製圖視圖 (Drafting View)」的功能。

💡 工具用途 (Purpose)

  • 圖面品質管制 (QC Audit):確認樣板有無被改動。
  • 跨樣板快速比對:提供多樣板並列欄位矩陣比對,一目瞭然地找出跨視圖樣板間的設定矛盾與隱蔽設定。
  • 自動化視圖報表:支援在 Revit 模型內自動生成「對比矩陣製圖視圖 (Drafting View)」,將比對結果留存於圖冊供團隊查閱。
  • 提升團隊管理/維護大量視圖樣板或是連續樣板的能力:

🎯 適用情境與專案階段 (Applicable Scenarios)

  • 細部設計與施工圖出圖期:出圖前檢查 A-平面圖、A-建照圖、M-空調平面 等樣板是否符合規範。
  • 多專業 (BIM/MEP/CSA) 協調期:跨專業或跨下包圖面整併時,稽核各自視圖樣板的可見性與過濾器設定。
  • 專案交接與圖冊審計 (DCC):專案竣工或交付時,檢討專案內殘留與重複的無效 View Templates。

📄 文件內容亮點 (domain/view-template-comparison.md)

  1. 採集真實數據:範例資料直接採集自 Revit 官方內建範例檔 (Snowdon Towers Sample Architectural.rvt) 之真實 API 回傳數據 (Architectural Plan ID: 29485 vs Architectural Life Safety Plan ID: 2157001),開箱即用即可對齊單元測試。
  2. GUI/UX 視覺規範:完整對齊 C# Add-in / WPF 審計視窗,定義 [完整矩陣] / [僅顯示差異項] 頁籤、分組類別 欄位與多彩/黃底紅字高亮樣式。
  3. 開源 C# 參考實作:收錄 我封裝的API 核心源碼,包含 C# 深層比對引擎、跨版本 API 反射防呆 (GetIdVal) 與原生 ViewDrafting 圖面自動生成邏輯。

🛡️ 核心邊界與原則 (Safety Boundaries)

  • 純審計唯讀 (Pure Read-Only Audit):原則禁止提供 SetCategoryOverrides 或修改視圖樣板參數的按鈕,防止批次覆蓋導致全專案視圖設定失控,目前暫定修改操作必須回到 Revit 原生 UI 手動確認。
media__1787952887638

@CyberPotato0416
CyberPotato0416 force-pushed the feat/view-template-comparison branch from 33a65f2 to 57c371e Compare September 8, 2026 22:39

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant