CesiumLab V1.4 新功能 BIM資料處理
我也沒想到,BIM資料處理一下拖了這麼久才有個交代。我們照例先放圖
Revit官方的示例資料
隱藏屋頂+俯視
曾經因為太大而無法匯出無法處理的醫院模型
室內裝修方案模型
最近和很多做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安裝目錄下的revit匯出外掛
把這三個檔案拷貝到如下圖所示位置
外掛拷貝到這裡
二,開啟revit 2018
第一次會提示是否載入外掛,請選擇 總是載入。
開啟你準備的rvt模型,切換到3d檢視
呼叫匯出外掛選單
匯出外掛介面
自上而下:
第一行:方便我除錯的功能,請忽略。
第二行:匯出元素,【全部】就是所有element,【匯出選中】就是匯出當前選中的element。第三個除錯使用,請忽略。
第三行:LOD,revit 通過Lod 來控制當前模型顯示的精細程度,因為沒有找到相關資料,大概測試這個LOD的範圍是 0~15
0 表示最粗略,15表示最精細。對於一些超大模型,建議LOD選低一些。
第四行:右側按鈕選擇一個待輸出的.lab檔案。
第五行:進度條 和 【匯出】按鈕
三,cesiumlab內處理
選擇這個功能
匯出引數介面
這個介面基本和場景處理沒有任何區別。就不在贅述了。
處理結束後,一樣可以釋出為3dtiles服務,並預覽。
後記:
這次耗時超過預期的主要原因是:
1,從小白開始學習revit二次開發,加上不斷的修改匯出格式,加快匯出速度,時間就多了一些。
2,在做bim的同時,其實也在優化場景處理。底層場景處理和bim處理目前基本是一致的,只是輸入不同。
最後感謝在開發過程中給我提供過幫助的 @李仙偉 @豐,兩位無私的分享加快了開發的速度,謝謝。也同時感謝提供我測試資料的各位朋友,以及一直在使用cesiumlab的朋友們,沒有你們,就不會有cesiumlab的進步。