1. 程式人生 > >CesiumLab V1.4 新功能 BIM資料處理

CesiumLab V1.4 新功能 BIM資料處理

我也沒想到,BIM資料處理一下拖了這麼久才有個交代。我們照例先放圖
CesiumLab V1.4 新功能 BIM資料處理
Revit官方的示例資料
CesiumLab V1.4 新功能 BIM資料處理
隱藏屋頂+俯視
CesiumLab V1.4 新功能 BIM資料處理
曾經因為太大而無法匯出無法處理的醫院模型
CesiumLab V1.4 新功能 BIM資料處理
室內裝修方案模型
最近和很多做bim的同行聊天,業內公認,目前 revit 在國內的BIM軟體佔有率大約在80%~99% ,也就是說搞定rvt模型,基本滿足了絕大部分的需求。最開始可選的幾種方案:
1,revit 匯出 ifc,cesiumlab處理ifc格式;
此方案很快被否,原因是ifc並不能很好的保持revit內的相關屬性,而且revit對ifc的匯出和匯入極度不友好。
2,revit 匯出dae,obj等模型格式;
這個方案部分模型基本沒有問題,但是對於大模型,基本沒有幾個外掛能成功匯出。另外這些格式不能儲存bim屬性,所以也被否決。
3,revit直接匯出3dtiles;
這個方案對大多數使用者來說是比較方便的。但是這種一步到位的方案,對我的開發帶來極大的工作量,涉及到大量c#到c++之間的介面封裝,短期內是不可完成的,遂放棄。
4,revit匯出自定義格式;    
這就是目前用的方式,我匯出的中間格式有三種檔案:     
1) .lab 模型索引檔案,引用了element檔案     
2) .ele element定義檔案,包含了element的bim屬性以及 三角網資料     
3).ins instance定義檔案,包含了instance的三角網資料。對部分rvt模型,裡面有大量重複的instance標示不同位置的elements,這個檔案會被多個ele檔案共享引用,這樣大大加速匯出過程。
注意:因為實在精力有限,目前外掛僅僅支援 revit 2018版本,請不要問我低版本怎麼辦,解決辦法你懂的。
ok,大家是等不及了吧,我們來說說怎麼做。
一,安裝revit外掛
CesiumLab V1.4 新功能 BIM資料處理


cesiumlab安裝目錄下的revit匯出外掛
把這三個檔案拷貝到如下圖所示位置
CesiumLab V1.4 新功能 BIM資料處理
外掛拷貝到這裡
二,開啟revit 2018
第一次會提示是否載入外掛,請選擇 總是載入。
開啟你準備的rvt模型,切換到3d檢視
CesiumLab V1.4 新功能 BIM資料處理
呼叫匯出外掛選單
CesiumLab V1.4 新功能 BIM資料處理
匯出外掛介面
自上而下:
第一行:方便我除錯的功能,請忽略。
第二行:匯出元素,【全部】就是所有element,【匯出選中】就是匯出當前選中的element。第三個除錯使用,請忽略。
第三行:LOD,revit 通過Lod 來控制當前模型顯示的精細程度,因為沒有找到相關資料,大概測試這個LOD的範圍是 0~15
0 表示最粗略,15表示最精細。對於一些超大模型,建議LOD選低一些。
第四行:右側按鈕選擇一個待輸出的.lab檔案。
第五行:進度條 和 【匯出】按鈕
三,cesiumlab內處理
CesiumLab V1.4 新功能 BIM資料處理

選擇這個功能
CesiumLab V1.4 新功能 BIM資料處理
匯出引數介面
這個介面基本和場景處理沒有任何區別。就不在贅述了。
處理結束後,一樣可以釋出為3dtiles服務,並預覽。
後記:
這次耗時超過預期的主要原因是:
1,從小白開始學習revit二次開發,加上不斷的修改匯出格式,加快匯出速度,時間就多了一些。
2,在做bim的同時,其實也在優化場景處理。底層場景處理和bim處理目前基本是一致的,只是輸入不同。
最後感謝在開發過程中給我提供過幫助的 @李仙偉 @豐,兩位無私的分享加快了開發的速度,謝謝。也同時感謝提供我測試資料的各位朋友,以及一直在使用cesiumlab的朋友們,沒有你們,就不會有cesiumlab的進步。
CesiumLab V1.4 新功能 BIM資料處理