結構異動比對

Revit 專案版本同步與結構變更偵測工具

基本邏輯

結構異動比對工具是一個基於雲端伺服器架構的專案版本管理系統,專門用於偵測與追蹤 BIM 模型中的結構元素變更。系統透過將本地模型的關鍵數據上傳至遠端伺服器,並與歷史版本進行比對,自動識別新增、刪除、移動或屬性修改的元素,提供完整的變更記錄與可視化報告。

此工具採用 JSON + GZip 壓縮傳輸機制確保資料效率,支援柱、樑、牆、樓板、天花板及房間等多種類型的結構元素追蹤,是大型專案協作管理與版本控制的核心工具。

💡 核心技術架構

  • API 伺服器:http://sync.wylin.com.tw
  • 資料格式:JSON (JavaScript Object Notation)
  • 壓縮演算法:GZip 高效能壓縮
  • 傳輸協議:HTTP POST/GET RESTful API

基本使用情境

情境一:設計變更追蹤與管理

在長週期專案中,需要清楚記錄每次設計會議後所做的結構調整,包括哪些柱被移動、哪些牆被刪除等,以便追溯決策過程並確認實施狀況。

情境二:跨專業協作同步

結構專業完成設計變更後,自動通知建築與機電團隊,讓各專業能快速取得異動清單並評估影響範圍,避免資訊落差導致的施工衝突。

情境三:版本還原與比對

當新版本出現問題時,可快速與前一穩定版本比對,找出差異點並選擇性地還原特定變更,降低錯誤風險。

情境四:施工進度驗證

將現場實際施工的狀態建模後與設計版比對,確認是否按照圖說執行,或識別需要整改的區域。

情境五:變更成本估算

根據結構異動清單(如新增樑柱數量、樓板面積變化),快速估算設計變更帶來的成本影響,作為變更單編製的依據。

前置設定

第一步:帳號登入與授權驗證

  1. 首次使用需至伺服器網站註冊帳號並取得 API Key
  2. 在工具介面中輸入帳號憑證進行登入
  3. 系統自動驗證權限並載入可操作的專案群組清單

⚠️ 網路連線需求

  • ✅ 需保持穩定的網際網路連線(建議寬頻 >5Mbps)
  • ✅ 防火牆需放行 HTTP/HTTPS 外連請求
  • ✅ 公司 Proxy 設定需允許 API 伺服器位址
  • ❌ 完全離線環境無法使用此工具

第二步:選擇專案群組

在「專案群組」樹狀清單中:

  1. 載入現有群組:點擊「載入群組」按鈕,伺服器將回傳您有權限存取的所有專案群組
  2. 建立新群組:首次使用可點擊「建立專案」创建新的專案管理空間
  3. 選擇目標群組:單擊展開並選擇要操作的特定專案

群組資訊顯示

  • 專案名稱與編號
  • 最後更新時間
  • 版本記錄數量
  • 協作者人數

群組管理功能

  • 新增/移除協作者權限
  • 設定版本保留策略
  • 匯出完整歷史記錄

第三步:檢視版本記錄(Revision)清單

在「比對」樹狀清單中查看該專案的所有歷史版本:

Version #名稱上傳者時間元素計數
v1.0初步設計完成Arc_User12024-03-01 10:30柱:125 / 樑:450 / 牆:890
v1.1結構審查後調整Str_User32024-03-05 14:20柱:128 / 樑:465 / 牆:902
v1.2機電協調後版本Arc_User12024-03-10 09:15柱:128 / 樑:470 / 牆:895

第四步:設定上傳參數(新增版本時)

版本命名

在「版本名稱」輸入框中填寫有意義的識別名稱
例如:「2024-03-15 結構變更_v1.3」

元素類型篩選

勾選要上傳的元素類別:
• 牆 (Wall)
• 天花板 (Ceiling)
• 樓板 (Floor)
• 柱 (Column)
• 樑 (Framing)
• 房間 (Room)

階段篩選

在「階段清單」中選擇要包含的設計階段
通常選擇「新建」與「現有」,排除「拆除」

類型過濾(可選)

在各自的類型清單中勾選特定型式
例如:只上傳 RC 牆與鋼樑,排除隔間牆

第五步:設定比對參數(版本比較時)

選擇比對基準

新專案 vs 舊版本

勾選「新」,將目前本地模型作為基準,比對與遠端版本的差異。
適用:檢查最近做了哪些修改

舊版本 vs 新專案

勾選「舊」,以遠端版本為基準,比對本地模型的變更。
適用:還原特定變更或理解對方改動

樓層關鍵字過濾

  • 在「樓層關鍵字」輸入框中設定(如:"1F,2F,3F")
  • 系統只會比對名稱包含該關鍵字的樓層元素
  • 適用於大型專案中只關注特定區域變更的情況

比對項目選擇

勾選需要追蹤的變更類型:

元素類別篩選

  • 牆 (Wall)
  • 天花板 (Ceiling)
  • 樓板 (Floor)
  • 柱 (Column)
  • 樑 (Framing)
  • 房間 (Room)

變更類型

  • 新增元素:新版本有,舊版本無
  • 刪除元素:舊版本有,新版本無
  • 位置移動:同一元素的幾何位置改變
  • 參數變更:屬性值(如厚度、材質)修改
  • 體積變化:元素體積的增減量

略過唯讀參數

勾選「略過唯讀參數比對」後,系統不會將系統自動生成的只讀屬性(如 Element ID、Created Date)納入變更檢測,避免產生大量無意義的差異報告。

第六步:來源文件設定(新增元素時)

當需要從外部檔案導入新元素:

  1. 點擊「設定來源 RVT 檔案」按鈕
  2. 選擇包含目標元素的 Revit 專案檔案 (.rvt)
  3. 系統將該檔案路徑顯示在「來源文件」輸入框中
  4. 比對時,可從來源檔複製新增的元素至本專案

💡 來源文件用途

  • 類型導入:當版本間有新型式的牆/樓板時,自動從來源檔導入該族定義
  • 元素複製:比對結果中的新增項目可直接從來源檔複製過來
  • 參數同步:確保兩份檔案的共用參數名稱與類型一致

第七步:確認網路與伺服器狀態

執行任何操作前,請確認:

  • 連線測試:工具自動偵測至 API 伺服器的網路狀況
  • 權限驗證:確認帳號具有該專案的讀/寫權限
  • 伺服器時間:與本地電腦時鐘同步(避免版本時間戳混亂)
  • 儲存空間:確認雲端帳戶足夠的空間容納新版本資料

✓ 標準設定範例

情境:日常版本上傳
  • 專案群組:選擇目前協作的專案
  • 版本名稱:"YYYY-MM-DD_專業_描述"(如:2024-03-15_結構_柱位調整)
  • 元素類型:勾選所有結構類別(牆、柱、樑、樓板)
  • 階段:「新建」+「現有」
  • 比對基準:不設定(僅上傳,不比對)
情境:設計變更比對
  • 選擇版本:v1.2(上一穩定版)vs 當前模型
  • 比對基準:「新」(以本地為主)
  • 元素類別:勾選所有相關類別
  • 樓層關鍵字:"1F,2F,3F"(只檢查變更區域)
  • 略過唯讀:勾選,減少雜訊

第八步:資料備份與安全措施

⚠️ 安全注意事項

  1. 本地備份:上傳前務必先另存新檔保留原始副本
  2. 版本命名規範:使用清晰可追溯的命名,避免混淆
  3. 敏感資料檢查:確認模型中無客戶機密或施工安全資訊外露
  4. 權限管理:定期檢視協作者清單,移除已離職人員存取權限
  5. 版本保留政策:與團隊約定保留幾版歷史記錄,避免儲存空間過快耗盡

💻 技術規格(供參考)

  • API Endpoint:http://sync.wylin.com.tw/api/v1
  • 最大檔案大小:單次上傳建議 <500MB(壓縮後)
  • 並行作業數:建議每次只執行一個上傳/比對任務
  • 斷線重試:網路中斷時自動重試 3 次後失敗
  • 資料加密:傳輸過程使用 TLS 1.2+ 加密協議

操作步驟

功能一:上傳目前專案狀態至伺服器

  1. 確認專案群組與版本名稱

    在「專案群組」清單中選擇目標專案,並在「版本名稱」輸入框填寫有意義的識別名稱。

  2. 設定元素篩選條件

    勾選要上傳的元素類別(牆、柱、樑等)與階段範圍。如需精確控制,可在各類型清單中進一步篩選型式。

  3. 執行上傳命令

    點擊「上傳目前狀態」按鈕開始處理。系統將:

    • 步驟 1:掃描本地 Revit 專案,收集所有符合條件的元素
    • 步驟 2:提取每個元素的關鍵數據:
        - Element ID 與 GUID
        - 幾何位置(XYZ 座標、旋轉角度)
        - 尺寸參數(長度、寬度、厚度等)
        - 型別資訊(Family 與 Type 名稱)
        - 共用參數與專案參數值
        - 所屬樓層與階段
    • 步驟 3:將資料序列化為 JSON 格式結構
    • 步驟 4:使用 GZip 演算法壓縮數據以減少傳輸量
    • 步驟 5:透過 HTTP POST 上傳至 API 伺服器
    • 步驟 6:伺服器驗證並儲存新版本,回傳成功確認訊息

    ⏱️ 上傳時間估算

    元素數量壓縮後大小5Mbps 網路50Mbps 網路
    <1,000<10MB3-5 秒<1 秒
    1,000-5,00010-50MB10-20 秒2-5 秒
    >5,000>50MB30-60 秒5-10 秒
  4. 確認上傳成功

    系統顯示完成訊息,包含:
    • 上傳的元素總數
    • 壓縮後資料大小
    • 伺服器分配的版本編號(如 v1.3)
    • 時間戳記(伺服器時間)

  5. 在「版本記錄」中驗證

    刷新「比對」樹狀清單,確認新版本已出現在列表中,且元素計數與預期相符。

✓ 上傳頻率建議

  • 每日備份:大型專案每天結束前上傳一次版本
  • 會議後記錄:每次設計協調會議後立即上傳,記錄決策結果
  • 重大變更點:結構柱位調整、樓板開口變更等關鍵時刻必傳
  • 里程碑版本:初步設計完成、基本設計審查通過、施工圖發行等重要節點

功能二:下載指定版本並與目前專案比對

  1. 選擇要比對的歷史版本

    在「比對」樹狀清單中,雙擊或單選目標版本(如 v1.2)。

  2. 設定比對參數

    配置:
    比對基準:選擇「新」或「舊」
    元素類別:勾選需要檢查的類型
    樓層關鍵字:設定範圍過濾(如只檢查 1F-3F)
    略過唯讀參數:建議勾選以減少雜訊

  3. 執行比對命令

    點擊「比對」按鈕開始處理。系統將:

    • 步驟 1:從伺服器下載指定版本的壓縮資料包
    • 步驟 2:本地解壓並解析 JSON 數據結構
    • 步驟 3:掃描本地專案收集當前狀態(與上傳流程類似)
    • 步驟 4:逐項比對兩個版本的元素集合:
        - 新增檢測:ID 在新版存在但舊版無 → 標記為「新增」
        - 刪除檢測:ID 在舊版存在但新版無 → 標記為「刪除」
        - 移動檢測:同一 ID 的 XYZ 座標差異超過容差(如 >1mm)→ 標記為「位置變更」
        - 參數比對:逐一比較各屬性值,記錄不同的參數名稱與舊新數值
        - 體積計算:對於樓板、牆體等計算體積變化量
    • 步驟 5:將所有差異彙整成結構化報告數據
    • 步驟 6:在「比對結果」樹狀清單中展示結果
  4. 檢視比對結果清單

    系統顯示完整的異動報告,結構如下:

    比對結果:v1.3 vs v1.2
    📊 總覽統計:
      • 新增元素:柱 x5, 樑 x12, 牆 x8
      • 刪除元素:柱 x2, 樑 x3, 牆 x15
      • 位置移動:柱 x3, 樑 x7
      • 參數變更:樓板厚度 x20, 牆高度 x10

    🏗️ 細項明細:
    • [新增] 柱 RC-60x60 #A102 @ B1F (ID:45892)
    • [刪除] 牆 W-300mm #W205 @ 1F (ID:78234)
    • [移動] 柱 RC-50x50 #A201 @ 2F 位移:(X+50mm, Y-30mm) (ID:12456)
    • [變更] 樓板 F-20cm #FL01 @ 1F Thickness: 200mm → 220mm (ID:98765)
  5. 深入檢視特定異動

    在比對結果清單中:

    • 展開樓層節點:查看該樓層的詳細異動清單
    • 雙擊元素項目:系統自動在 Revit 視圖中選取該元素(若存在)
    • 右鍵選單操作:針對特定變更執行處理動作

功能三:套用變更(從來源文件複製/修改)

  1. 設定來源文件(若尚未設定)

    點擊「設定來源 RVT 檔案」按鈕,選擇包含新元素或正確版本的 Revit 專案。

  2. 在比對結果中選擇要套用的項目

    勾選需要處理的異動項目(如所有「新增」的元素)。

  3. 執行右鍵選單命令

    右鍵點擊選定項目,選擇:

    從來源文件複製

    適用:「新增」類型的元素
    作用:將來源檔中的對應元素完整複製至本地專案,包含幾何與所有參數。

    刪除元素

    適用:「刪除」類型的元素
    作用:從本地專案移除該元素,恢復到舊版本狀態。

    修改參數值

    適用:「參數變更」類型的元素
    作用:將本地元素的參數更新為來源檔的數值。

    忽略此變更

    適用:任何類型的異動
    作用:標記為已處理但不實際修改,保留在報告中供參考。

  4. 批次套用變更

    可一次選取多個項目並執行相同操作:

    • 批量複製新增:將所有「新增」元素從來源檔導入
    • 批量刪除移除:清除所有被標記為「刪除」的元素
    • 選擇性還原:只還原特定類別(如只還原柱的變更,保留樑的新位置)
  5. 驗證套用結果

    在 Revit 視圖中檢查:

    • 新增的元素是否正確複製且位置準確
    • 刪除的元素確實已從模型移除
    • 參數變更後的元素屬性值已更新
    • 無意外的附帶影響(如接合關係斷裂、排程表錯誤等)

功能四:樓層關鍵字過濾與精確比對

  1. 輸入樓層關鍵字

    在「樓層關鍵字」欄位輸入需要比對的樓層名稱(如:"1F,2F" 或 "B*")。

  2. 系統自動過濾

    比對時只會處理名稱包含該關鍵字的樓層元素,忽略其他區域。

  3. 結果範圍縮小

    顯著減少異動清單長度,讓團隊聚焦於實際變更區域。

💡 關鍵字範例

  • "1F,2F,3F" - 只比對 1-3 樓
  • "B*" - 所有地下室樓層(通配符)
  • *機電* - 名稱包含「機電」的區域
  • ''(空白)- 比對全部楼层(預設值)

功能五:類型自動導入與參數同步

🔄 智能類型管理

當執行從來源文件複製元素時,系統會自動:

  1. 檢測目標型式(如牆 W-Type-A)是否存在於本地專案
  2. 若不存在,自動從來源檔導入該 Family 與 Type 定義
  3. 建立參數對應關係,確保共用參數名稱一致
  4. 將複製的元素套用正確的型式設定

優勢:避免手動同步族定型的繁瑣過程,確保版本間資料一致性。

進階應用技巧

差異趨勢分析

定期(如每週)執行版本比對,累積異動數據建立趨勢圖,了解哪些區域最常被修改。

責任追蹤

配合上傳者資訊與時間戳記,追溯每次變更的決策者與背景原因。

變更成本快速估算

根據異動清單(如新增柱數量、樓板面積變化)套用單價表,快速計算設計變更的成本影響。

自動化工作流整合

搭配 Dynamo 或 Python 腳本,定期自動上傳版本並生成比對報告郵件給團隊成員。

常見疑難排解

  • 檢查網際網路連線狀態;確認 Proxy 設定允許 API 伺服器;重新登入更新授權憑證
  • 重試操作(系統會自動重試 3 次);分批次上傳較小範圍的樓層;等待數分鐘後再試
  • 勾選「略過唯讀參數比對」選項;檢查並統一兩版本的共用參數名稱與類型
  • 確認來源 RVT 可正常開啟且無損毀;手動先導入必要的 Family 族再重新嘗試
  • 檢查「樓層關鍵字」是否排除了目標樓層;確認所有相關元素類別已勾選
  • 與管理員討論清除舊版本(如保留最近 10 版);升級儲存方案;本地備份後刪除非必要版本
  • 問題現象 可能原因 解決方法
    無法連線至伺服器或 API 報錯 網路斷線、防火牆阻擋,或帳號憑證過期
    上傳失敗或中斷 資料量過大、網路不穩定,或伺服器暫時繁忙
    比對結果顯示大量「參數變更」雜訊 未勾選「略過唯讀參數」,或共用參數定義不一致
    從來源文件複製失敗 來源檔案版本不兼容,或族定義衝突
    異動清單缺少預期變更 樓層關鍵字過濾過嚴,或元素類別未正確勾選
    伺服器空間不足警告 帳戶存儲版本過多,超出配額限制

    與其他工具的協同作業

    配合 Small Form 使用

    比對後利用異動清單計算材料用量變化,快速評估變更成本。

    整合 CADExport

    將比對報告中的關鍵異動區域匯出為 DWG,供施工單位現場比對確認。

    與視圖傳送搭配

    發現重大異動後,立即將相關視圖傳送給協作團隊即時討論。

    配合 Excel 分析

    匯出比對結果至 Excel,建立趨勢圖表與成本分析報表,作為管理決策依據。

    ⚠️ 重要安全提醒

    1. 上傳前備份:每次上傳前務必另存新檔保留原始副本
    2. 版本命名規範化:使用標準格式(日期_專業_描述)便於日後查找
    3. 定期清理舊版本:與團隊約定保留策略(如保留最近 20 版,超過 3 個月自動清除)
    4. 權限管理責任:專案負責人應定期檢視協作者名單,移除已離職人員權限
    5. 敏感資料保護:避免上傳包含機密資訊或未完成設計的模型版本

    最佳實踐工作流程

    🎯 建議的標準作業流程(SOP)

    每日例常作業:
    1. 結束工作前,檢查當日變更是否完整記錄
    2. 命名版本:YYYY-MM-DD_專業_簡要描述(如:2024-03-15_結構_B2 柱位調整)
    3. 上傳最新版本至伺服器備份
    每週比對作業:
    1. 選擇上週最後一個穩定版本進行比對
    2. 檢視異動清單,確認所有變更合理且已記錄原因
    3. 將重要異動摘要發送給相關協作者(建築、機電等)
    4. 如有疑問的變更,立即討論並必要時還原
    設計會議前後:
    1. 會前:上傳當前版本,確保所有與會者取得最新資料
    2. 會中:記錄決策結果與變更清單
    3. 會後:實施變更並立即上傳新版本,命名包含會議日期與關鍵決議
    里程碑節點:
    1. 重要版本標記:初步設計完成、審查通過、施工圖發行等節點必傳
    2. 完整比對報告:生成 PDF 正式文件作為階段交付成果
    3. 長期存儲:這些關鍵版本應永久保留,不納入定期清理範圍

    📊 成功案例指標(KPI)

    • 版本覆蓋率:>95% 的重大變更都有對應的版本記錄
    • 比對準確率:>98% 的異動可正確追蹤與還原
    • 回應時間:從發現問題到定位版本差異 <30 分鐘
    • 協作效率提升:跨專業溝通會議時間減少 40-50%