魏英洪
(中國鐵路設計集團有限公司 信息化設計研究院,天津 300308)
中國國家鐵路集團有限公司(簡稱國鐵集團)貫徹十九大“交通強國”戰略,推動鐵路智能化發展[1]。開展智能化數字鐵路客站技術攻關,依托某重點在建高鐵客站工程開展全生命周期BIM相關技術研究。在項目完成設計及施工階段的模型構建和應用后,形成竣工模型,但在運維階段對如何使用龐大的模型文件及眾多專業構件和數據信息,并能夠對這些模型及數據結合運維管理業務進行開發等方面面臨困難,缺失一個有效的圖形開發平臺解決方案及BIM到圖形平臺的技術路線和方法。通過項目研究,在掌握前期BIM工程成果基礎上,進行大量調研、分析、探索和實踐,逐步形成一套構建“客站數字孿生”[2]的技術路線及模型數據整理方法,使得基于BIM的客站運維管理應用成為可能,推動了客站工程BIM技術全生命周期應用理念的落地。
根據BIM行業應用調查報告數據顯示,目前BIM技術在建筑工程全生命周期應用發展并不平衡,實現基于BIM的運維管理的項目實例較少,產生這種情況的因素主要有以下方面:
(1)準確的竣工BIM數據獲取困難[3]。施工階段BIM實施缺乏合同約束,BIM建模工作量巨大,BIM與實際施工的同步性差導致模型與實際情況存在差異,以及資料信息分散采集不全等因素,是造成竣工BIM數據難以準確獲取的主要原因。
(2)對于BIM數據顆粒度的理解差異較大。項目實施沒有分清竣工BIM模型與運維用BIM模型之間的關系,缺乏不同精度BIM模型的建模、交付指導[3],竣工模型有時過于精細,導致整體性的“三維建筑”難以實現。
(3)BIM軟件體系發展不平衡。設計及建設管理方面軟件較為成熟,而運維階段尚無通用體系化的本地軟件系統,運維管理需大量定制開發,而三維圖形開發環境成熟度不足,難以支撐大體量建筑,從而影響基于BIM的運維管理發展。
三維圖形引擎是指封裝了硬件操作和圖形算法、簡單易用、功能豐富的三維圖形開發環境。目前,三維圖形開發平臺主要分為2個方向:一類是基于Web-GL技術,主要用于Web網絡應用;一類是基于OPGL或DireetX技術開發的高可視性圖形平臺,主要用于大型場景仿真游戲,如OSG、Unity3D、Unreal、OGRE、OpenGVS、Vtree等。WebGL開發的目標主要是采用B/S架構,承載小體量、中低數量圖形的場景,僅滿足基本可視性表現力,滿足Web網絡加載要求,通常難以滿足大型建筑全專業、全模型、同一場景的裝載和展示。采用基于OPGL或DireetX的圖形平臺主要采用C/S架構,具有承載大體量、高圖形數量模型的能力,具備豐富的紋理材質表現能力,可充分利用先進的圖形顯卡GPU計算能力,場景實時渲染表現力豐富,真實感強;由于其場景圖形數量大,場景加載時間長,主要采用C/S架構,可基于云服務器技術在滿足高性能計算要求的同時滿足網絡應用的需要。
建筑可視化的兩方面需求:一是寫實效果,二是生產效率[4]。虛幻引擎是目前行業內較為先進的、開源的一種圖形開發平臺,具有強大的互動和物理引擎。其不僅提供完全的開發環境,而且提供了C++和藍圖模塊2種開發方式,為專業程序員和非專業技術人員都提供了舒適的開發環境。虛幻引擎不僅具有大數據量圖形支持能力,可達到億級三角形面數量,同時還提供了對象引用、多級LOD優化編輯等工具,使其在大數據量圖形顯示的同時,通過優化得以實現高效交互式實時渲染的能力,實現了圖形數據的輕量化。虛幻引擎基于GPU計算技術,可充分利用先進圖形顯卡的計算能力,大大提升開發系統的整體性能。隨著大量高性能顯卡的推出,為基于虛幻引擎開發的系統提供了良好的硬件支撐,在VR、工程展示等方面都有很好的應用案例。
鐵路站房具有專業種類多、構造復雜、構件數量大、構件重復性高等特點,按不同等級進行分類,建筑體量從數千平方米到數十萬平方米,如北京南站、上海虹橋站、豐臺站、雄安站等,其體量都是數十萬平方米以上,其建筑構件數量可達到百萬量級,三角形面數更是海量,實現三維數字站房需要高性能的圖形平臺支撐。
目前虛幻引擎主要支持FBX、datasmith、IFC、C4d、3dm、Catpart等常見三維數據格式,并不支持直接讀取Revit模型文件,可通過dataSmith插件輸出模型及數據,實現較為便捷的數據轉換。
基于Revit的BIM參數信息可通過明細表進行選擇性導出。輸出的構件參數應屬于項目參數或共享參數類型。構件的空間尺寸參數是重要參數。
(1)項目或共享參數添加。以Revit軟件為例,可通過程序提供的功能,自由添加共享參數作為指定類型構件的項目參數。如添加“IFC分類編號”“標高偏移”等,通過程序開發將無法輸出的參數寫入新添加的參數項中,并通過明細表列出。
(2)構件ID值的參數賦予。BIM軟件給每個構件賦予一個元素ID編號,通常是6~7位的數字編碼,該數值對于同一BIM文件中的模型構件來說具有唯一性,可用于BIM程序準確識別,獲得構件后臺數據庫的參數數據。該ID信息的唯一性特點可被其他平臺在開發中利用。ID數值需寫入明細表并導出,供外部數據表或數據庫關聯模型構件使用。ID數值寫入注釋參數項示例見圖1、圖2。

圖1 ID賦值注釋參數程序

圖2 被賦值的扶梯構件
虛幻引擎圖形平臺導入BIM模型,并可用于圖形優化或輕量化處理是另一個技術關鍵,涉及BIM模型輸出和虛幻引擎平臺導入,其技術路線有以下3種。
3.4.1 Revit插件輸出法
Revit插件輸出法(見圖3)通過虛幻引擎提供的datasmith插件直接輸出,包含模型拓撲結構及所有參數信息,該信息沒有經過篩選。虛幻引擎平臺直接導入輸出的datasmith數據格式文件,生成相應的場景和資源。

圖3 Revit插件輸出法流程
3.4.2 FBX格式輸出法
FBX格式輸出法(見圖4)利用Revit直接輸出FBX,或利用3dmax導入Revit文件后以FBX格式輸出,再利用虛幻引擎平臺直接導入。該方法僅可導入純模型,不含參數信息。

圖4 FBX格式輸出法流程
3.4.3 3dmax中轉法
3dmax中轉法(見圖5)利用與Revit同版本號的3dmax軟件,導入Revit文件后,在3dmax中利用datasmith插件輸出,再由虛幻引擎平臺導入。該方法不僅可導入模型,還可選擇性地決定是否導入BIM信息,但該信息沒有經過篩選。

圖5 3dmax中轉法流程
3.4.4 對比分析
采用以上3種方法均可達到將BIM模型轉換到虛幻引擎圖形平臺中,各有特點。
Revit插件輸出法利用插件直接輸出專用格式模型,虛幻引擎平臺可直接導入并生成建筑場景,對于具有統一軸網坐標系統的Revit項目分文件,導入引擎后坐標也是統一的。不足之處:一是導入模型的場景中對應的actor名稱使用Revit中構件類型名稱,不含構件ID,開發使用時難以識別唯一性。二是所攜帶的冗余信息過多,造成系統負擔較大。三是復雜構件難以在引擎中進行人工可控優化。
FBX格式輸出法不需插件支持,Revit輸出FBX模型可在3dmax中進行二次加工,再導入引擎中進行使用。不足之處:一是構件名稱依然不能反映出構件的唯一性,難以與信息數據庫形成對應關聯。二是所有構件的軸中心點被設置為坐標原點,無法實現模型引用,無法優化資源,資源加載負擔重。
3dmax中轉法避免了之前2種方法的不足。具有以下優點:
(1)利用ID實現關聯。3dmax導入Revit文件,模型名含有ID信息,可與Revit中的構件對應,方便開發識別及未來Revit模型修訂后的構件替換。
(2)利用明細表信息判別構件空間構造相似性。通過明細表獲知具有相同或相似構件的空間尺寸關系,并掌握這些構件的ID,在引擎中實現模型共享引用,優化系統資源的加載。
(3)有利于構件的空間面數優化。在3d max中對共享構件進行可控的三角形面優化及貼圖坐標處理,使得優化后的模型更優質。
(4)構件軸心坐標更符合共享引用所需。構件軸心坐標位于構件包圍盒的中心,替換為共享資源構件,坐標位置不發生變化。
(5)提升優化編輯效率。只需對引用的共享資源進行LOD多級優化及材質紋理的設置,即可對所有引用對象actor發生作用。
不論何種圖形引擎,大量未經優化的圖形構件獨立存在于場景中,都對系統性能產生致命影響,需對構件進行輕量化處理。
輕量化模型不包含設計模型中的非幾何信息,僅保留產品結構和幾何拓撲關系,相同模型的共用、精簡模型、LOD及高效的圖形壓縮,以及利用圖像表達模型細節[3]是模型輕量化技術的主要表現。
3.5.1 構件引用
在BIM建模過程中會產生大量模型使用同一個族構件的情況,這些構件在三維幾何上是相同尺寸或比例不同、附加信息不同。在圖形引擎中,能否高效顯示圖形構件是關鍵,此時涉及模型共用和LOD設置2項技術。
模型共用原則:將所有源于統一族的構件,通過引用同一標準共享資源,并刪除原引用資源,減少冗余資源的裝載。利用該方法將大大降低無用資源對系統的運行效率影響。采用引用方法是引擎平臺高效計算的自有能力。通過共享引用技術,資源數量可減少至構件總量的3%~5%。
3.5.2 LOD設置
LOD[5]設置是利用物體在視場中占據的比例進行模型三角形面數量的優化精簡,實現近景物體顯示精細、遠景物體顯示輪廓的效果,減少圖形計算數量,提升運行效率。
可對共享資源進行LOD設置,即可影響所有使用該資源的場景構件,大大提升場景構件優化處理效率。建筑模型中通常有數十萬構件,重復率達75%~90%,只需對引用資源進行優化,即可影響整個場景。
3.5.3 信息篩選
利用BIM明細表提取有用參數信息,排除冗余信息,并獨立輸出文本后導入數據庫或引擎數據結構中,通過ID實現關聯。
依此方法可實現三維圖形引擎中BIM模型的輕量化再現。
通過開發將模型與信息數據在虛幻引擎平臺中結合,實現客站的三維交互展示及信息查詢。
以3dmax中轉法為例,三維數字站房實現的技術流程見圖6。

圖6 三維數字站房實現技術流程
利用BIM軟件明細表統計功能對不同類型構件分別生成明細表(見圖7),并導出為txt文件。明細表通常輸出參數主要有ID、族、類型、長、寬(厚)、高、材質、標高、標高偏移、設備規格等,自定義參數主要有供應商/廠家、施工企業、管理區域編碼等。

圖7 明細表生成示例
將導出的Excel文件保存為CSV格式,并在圖形引擎中構建數據表(見圖8),也可導入MySQL數據庫中,成為構件的靜態數據,運維管理中所需的動態數據,可通過ID關鍵字段對應,以數據庫的形式存儲,形成靜態與動態的關聯。

圖8 虛幻引擎中的數據表結構示例
(1)替換引用及資源清理。在資源管理器中,選擇相同空間構造的資源進行刪除,并使用共享資源進行替換引用。
(2)模型整合。將基于同一軸網坐標系的Revit模型文件,通過技術流程轉換后裝載到圖形引擎中,其坐標系統保持一致。
(3)材質藍圖。對引用資源進行藍圖程序開發(見圖9),形成參數化的材質實例。

圖9 材質藍圖程序編輯示例
(4)LOD設置。對引用的共享資源設置LOD(見圖10)。將大量復雜模型按照可視需求策略進行分級簡化,使得GPU計算負荷保持穩定,提升整個系統的顯示效率,通過LOD設置可將復雜構件三角形面計算數量按照離視點遠近原則從原始值降低到20%,依舊可保持構件可視的完整性。以水泵模型為例,其構件LOD設置及設置后三角形數據對比見圖10、表1。

表1 水泵模型LOD設置后三角形數據對比 個

圖10 水泵模型LOD設置
圖形開發平臺提供了成熟的光照及環境表現系統,通常設置即可獲得較好的實時顯示效果。對于室內光照,需要一定的光照設計布置能力[6]。
圖形開發平臺提供了藍圖模式的開發功能,通過對系統的開發,可實現三維數字站房中每個構件的模型及信息展示能力(見圖11)。

圖11 模型展示及信息查詢藍圖開發示例
某大型三維數字鐵路客站展示效果見圖12。

圖12 某大型三維數字鐵路站房示例
從目前整個BIM技術體系來看,具備三維建筑表現能力的軟件或技術路線很多,且各有長處。BIM設計軟件擅長模型構建,但可視效果較差,大體量BIM模型運行效率較差。模型輕量化軟件擅長大體量模型整合展示,但可視效果一般,缺乏開發接口,拓展性差。純可視化軟件僅用于可視效果表達,但也存在大體量模型運行效率低、無開發接口等問題。
基于虛幻引擎技術構建三維數字站房的技術方法,解決了BIM模型和數據的分離及導入圖形平臺后的關聯,既解決了模型優化,又實現了數據對應查詢的需求,通過輕量化處理技術,使得大體量模型得以高效運行,同時利用圖形平臺GPU運算能力,提升系統的三維可視性效果,可深度拓展的開發環境,潛力巨大,構建的數字站房可作為運營管理階段業務管理系統的堅實基礎,將對BIM全生命周期應用理念的實現發揮重要作用。