趙賀來,付 杰
(中國電建集團(tuán)北京勘測設(shè)計研究院有限公司,北京 100024)
隨著全國水利水電工程信息化工作的推進(jìn),BIM技術(shù)在水利水電行業(yè)應(yīng)用愈加廣泛,引擎系統(tǒng)作為BIM技術(shù)的核心內(nèi)容,能夠展示、操作BIM模型和數(shù)據(jù),并提供全部功能的API接口,實現(xiàn)跨領(lǐng)域的空間信息和模型信息的集成,進(jìn)而宏觀上把控整個工程的狀態(tài)指標(biāo)。引擎系統(tǒng)與BIM模型相結(jié)合,能夠?qū)⒐こ虒嶓w轉(zhuǎn)換為可操作、多維度、結(jié)構(gòu)化數(shù)據(jù)庫的工程可視化模型。在工程項目的全生命周期內(nèi),不同工程協(xié)作方可以在引擎系統(tǒng)的宏觀基礎(chǔ)上聚焦到各個領(lǐng)域,錄入、修改和共享不同協(xié)作方信息,深化多專業(yè)協(xié)同應(yīng)用,最終形成承載項目工程數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)的大數(shù)據(jù)平臺。利用數(shù)據(jù)大平臺進(jìn)一步對數(shù)據(jù)資源進(jìn)行歸類分析與挖掘,將原始業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換為知識和洞察力,為項目全生命周期各階段提供業(yè)務(wù)決策支持和智慧管理服務(wù)。
目前,水利水電工程BIM技術(shù)創(chuàng)新更多注重在多方協(xié)同設(shè)計、可視化動態(tài)施工模擬、多維度信息集成等方面。鐘登華等[1]重點關(guān)注施工安全方面,從水利水電項目施工階段進(jìn)行仿真體系研究,構(gòu)建工程施工建模體系與動態(tài)仿真系統(tǒng);李景茹等[2]針對施工系統(tǒng)管理,運用地理信息技術(shù),從宏觀上提出水利水電工程項目的動態(tài)可視化仿真技術(shù);苗倩[3]利用仿真軟件構(gòu)建工程項目具體建筑物的三維數(shù)字模型,并對BIM進(jìn)行開發(fā),提出可視化仿真的方法,對水利水電工程的可視化信息查詢與動態(tài)演示提供技術(shù)支持;滕佳穎等[4]針對水利水電工程綜合項目交付相關(guān)問題,基于BIM技術(shù)構(gòu)建了綜合項目交付信息策略及基礎(chǔ)模型;孫少楠等[5]針對水利工程樞紐布置與工程量概算相關(guān)問題,利用無人機(jī)傾斜攝影技術(shù),與水工建筑物BIM模型相結(jié)合,提出水利工程信息模型的優(yōu)化方法,實現(xiàn)樞紐優(yōu)化布置和土石方量優(yōu)化計算。本文針對現(xiàn)階段水利水電行業(yè)缺乏專業(yè)的引擎系統(tǒng),獨立設(shè)計了直接基于底層硬件的引擎系統(tǒng)框架,利用C++語言和DirectX技術(shù)體系開發(fā),基于多分辨率理論進(jìn)行地形系統(tǒng)框架設(shè)計,自主研發(fā)了規(guī)范化、高效化的水利水電工程三維引擎系統(tǒng),解決了商業(yè)三維引擎系統(tǒng)在數(shù)據(jù)轉(zhuǎn)換與數(shù)據(jù)傳輸方面不夠規(guī)范化與高效化,且存在平臺刷新慢、服務(wù)器負(fù)載嚴(yán)重以及平臺流暢程度等問題,為數(shù)字電站項目的可視化提供技術(shù)支持。
本引擎系統(tǒng)采用B/S結(jié)構(gòu),基于C++語言和DirectX技術(shù)體系開發(fā),為滿足工程數(shù)字化的具體要求而自主研發(fā)設(shè)計完成的三維底層接口,并在豐寧抽水蓄能電站項目中進(jìn)行了實踐。引擎以Microsoft的3D圖形API-Direct3D為三維圖形可視化底層接口,結(jié)合directX渲染管線技術(shù)、Tessellation鑲嵌技術(shù)、CPU-GPU混合編程技術(shù)和Computer Shader技術(shù)進(jìn)行開發(fā)。引擎系統(tǒng)架構(gòu)如圖1所示。
圖1 三維引擎系統(tǒng)架構(gòu)示意
(1)引擎服務(wù)器。采用IIS(Internet Information Server,互聯(lián)網(wǎng)信息服務(wù))作為引擎服務(wù)器。IIS是一種Web服務(wù)組件,包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,能夠發(fā)布網(wǎng)頁或服務(wù),支持ASP、JAVA、VBscript產(chǎn)生的頁面,且具備擴(kuò)展功能,滿足開發(fā)要求。
(2)集成開發(fā)環(huán)境。Visual Studio是一個基本完整的開發(fā)工具集,包括開發(fā)引擎系統(tǒng)所需的所有工具,如代碼管控工具、集成開發(fā)環(huán)境等,且所寫的目標(biāo)代碼適用于微軟支持的所有平臺,便于引擎在不同電腦的兼容,且開發(fā)人員能夠迅速創(chuàng)建更高效、交互式更強(qiáng)和更個性化的新一代互聯(lián)網(wǎng)體驗。
(3)三維硬件接口。DireetX SDK是一種圖形應(yīng)用程序接口,其中的函數(shù)集被廣泛應(yīng)用于計算機(jī)三維應(yīng)用程序的開發(fā),支持高性能的2D和3D圖形、聲音、輸入。根據(jù)本引擎要求,所使用到的DirectX組件有DirectX Graphics、DirectX InPut、DirectX Audio。
(4)主程序框架。主程序框架提供給用戶一個使用引擎的邏輯和空間,通常使用三段論框架,即初始化函數(shù)、渲染循環(huán)函數(shù)和銷毀函數(shù)。所有的關(guān)于接口和對象的創(chuàng)建,數(shù)據(jù)的初始化以及一切前期的準(zhǔn)備工作都要在初始化函數(shù)中進(jìn)行,渲染函數(shù)則是用于進(jìn)行渲染處理,銷毀函數(shù)用于釋放一切程序中使用的系統(tǒng)資源。本引擎設(shè)計階段為用戶留出函數(shù)的接口,提供給用戶的只有可見的主程序框架,用戶只需添加所需要功能的代碼即可。
(5)BIM+GIS融合架構(gòu)。引擎系統(tǒng)的GIS組成部分,采用了基于WebGIS同時兼顧三維數(shù)據(jù)的設(shè)計架構(gòu),將BIM模型融入到WebGIS大場景中。WebGIS作為開放平臺,注重數(shù)據(jù)共享、軟件重用、跨平臺運行,具有易于集成的特點,符合現(xiàn)代化集成管理與精益制造的要求。引擎系統(tǒng)支持運用多種來源、多級尺度、存放在不同地點的地理數(shù)據(jù);同時通過對象管理、插件運用等技術(shù)手段與非GIS系統(tǒng)集成,實現(xiàn)數(shù)據(jù)與功能的多源融合。
目前水電站項目大多位于復(fù)雜地形環(huán)境內(nèi),對三維場景的仿真精度與效率具有很高的要求,單純依靠CPU(中央處理器)已無法滿足現(xiàn)場實景的即時渲染需求,且CPU支持并行處理數(shù)據(jù)和執(zhí)行命令,導(dǎo)致在CPU內(nèi)部設(shè)計時需要有大量的邏輯控制和存儲部件,這對計算機(jī)部件的數(shù)量需求較大,而GPU(圖形處理器)可以很好的解決這一問題,GPU能夠進(jìn)行超復(fù)雜矩陣或負(fù)載向量等運算。因此,在地形三維處理中,GPU的地位已無可替代。CPU與GPU的區(qū)別如圖2所示。
圖2 CPU與GPU結(jié)構(gòu)的比較
針對水電站項目大規(guī)模復(fù)雜地形,應(yīng)用一般的可視化系統(tǒng)進(jìn)行渲染時,地形的紋理數(shù)據(jù)所占內(nèi)存非常大,比如基于遙感數(shù)據(jù)的大規(guī)模地形場景中紋理數(shù)據(jù)一般是GB級別。因此,使用以往的顯存存儲地理信息數(shù)據(jù),如果地形紋理太精細(xì),會對顯卡性能要求很高,此時顯卡無法存儲所有的地形紋理數(shù)據(jù),導(dǎo)致整個項目場景的仿真系統(tǒng)崩潰。
在設(shè)計水電站工程BIM引擎系統(tǒng)時,考慮到計算機(jī)內(nèi)存技術(shù)的不足,對大規(guī)模復(fù)雜地形運用外存技術(shù)進(jìn)行場景仿真,突破了內(nèi)存容量的限制。有了GPU,CPU就從圖形處理的任務(wù)中解放出來,CPU可以執(zhí)行其他更多的系統(tǒng)任務(wù),這樣大大提高了計算機(jī)的整體性能,有效避免了大規(guī)模復(fù)雜地形的場景仿真數(shù)據(jù)量占用系統(tǒng)內(nèi)存,導(dǎo)致系統(tǒng)崩潰的問題。但基于外存實現(xiàn)場景仿真會在內(nèi)外存之間出現(xiàn)頻繁地數(shù)據(jù)傳輸,因此提高地形仿真效率的關(guān)鍵是探尋一個高效的繪制算法。
本引擎系統(tǒng)基于 LOD 的多分辨率繪制算法,運用基于四叉樹的大規(guī)模地形多級渲染架構(gòu)處理地形模擬系統(tǒng)。這種渲染架構(gòu)對不同LOD分別繪制算法,將一般水電站項目所在的復(fù)雜場地地形劃分為不同精度的紋理和模型數(shù)據(jù),即同一個地形塊會存在多種分辨率的數(shù)據(jù)劃分模型,當(dāng)用戶在本引擎系統(tǒng)體驗和操作模型時,由其視點的遠(yuǎn)近會看到不同分辨率的場景地形。當(dāng)在高空視點俯瞰整個項目場景時,系統(tǒng)會選取分辨率相對較低的模型和紋理數(shù)據(jù)進(jìn)行繪制并顯示;當(dāng)關(guān)注某一關(guān)鍵項目節(jié)點或某單一建筑物時,系統(tǒng)會選取分辨率較高的模型和紋理數(shù)據(jù)進(jìn)行繪制并顯示。具體的地形模擬系統(tǒng)總體框架如圖3所示。
圖3 地形模擬系統(tǒng)框架示意
豐寧抽水蓄能電站位于河北省豐寧滿族自治縣境內(nèi),是國家電網(wǎng)公司推進(jìn)特高壓電網(wǎng)建設(shè)、服務(wù)清潔能源發(fā)展的重大工程。電站分2期開發(fā),工程總裝機(jī)容量3 600 MW,樞紐建筑物主要由上水庫、下水庫、一二期工程輸水系統(tǒng)和發(fā)電廠房及開關(guān)站組成。上水庫正常蓄水位1 505.00 m,死水位1 460.00 m,上游擋水大壩為混凝土面板堆石壩,最大壩高120.3 m,壩頂高程1510.3 m,軸線長556.0 m。下游攔河大壩為混合型,左岸為混凝土面板堆石壩,右岸為混凝土重力壩,壩軸線長377.7 m,其中堆石壩壩段長261.3 m,最大壩高51.3 m,混凝土壩段長116.4 m,最大壩高28 m。
BIM模型包含豐寧場區(qū)70 km2范圍,包括地上、地下、機(jī)電三部分。模型總量包括4 294 967 295個三維面元,共計1 519 480個三維模型實體,總大小約為50 GB。地形總量包括1 970 MB的5 m精度DEM數(shù)據(jù),約8 GB的70 km2高清衛(wèi)星影像數(shù)據(jù)。場景數(shù)據(jù)包括9.8 km2的動態(tài)水體數(shù)據(jù)和長4 km、間隔3 m 的動態(tài)行樹模型。將該模型加載至引擎系統(tǒng),顯示效果圖4所示。
圖4 豐寧抽水蓄能電站地上場景顯示示意
圖5 三維場景顯示示意
將工程項目的數(shù)據(jù)傳遞到該引擎系統(tǒng),用戶可以通過三維場景直觀的看到相關(guān)的工程進(jìn)度,進(jìn)行施工全過程管理。
在三維場景顯示中,用戶可以根據(jù)導(dǎo)入系統(tǒng)的施工總進(jìn)度計劃數(shù)據(jù)進(jìn)行施工進(jìn)度模擬(如圖5a所示),直觀的對工程建設(shè)的順序進(jìn)行全面的了解。通過三維場景顯示,用戶還可以根據(jù)施工進(jìn)度的時間軸,隨意查看任意時間點的工程建設(shè)狀態(tài)。在進(jìn)度模擬中,模型以不同的顏色對工程的建設(shè)狀態(tài)(已建、在建、待建)進(jìn)行顯示,比如灰色標(biāo)示已建工程、綠色標(biāo)示在建工程、藍(lán)色標(biāo)示未建工程。系統(tǒng)根據(jù)已經(jīng)填報的進(jìn)度執(zhí)行情況,對于狀態(tài)由“未建”改變?yōu)椤霸诮ā被颉耙呀ā薄⒂伞霸诮ā备某蔀椤耙呀ā钡?,通過改變?nèi)S場景模型的顏色和透明度來區(qū)分(如圖5b所示);對于狀態(tài)為“未建”的,操作人員在點擊選中模型之后,能夠在彈出的模型屬性對話框中看出當(dāng)前的一個進(jìn)度完成百分比以及計劃開始時間、計劃結(jié)束時間與實際開始時間等內(nèi)容。
用戶還可以將施工現(xiàn)場的圖片或視頻與三維模型場景顯示進(jìn)行實時圖像連接,查看采集到的施工圖像數(shù)據(jù)(如圖6所示)。
圖6 實時圖像連接
工程項目實際進(jìn)度數(shù)據(jù)填報該引擎系統(tǒng)后,將對施工進(jìn)度進(jìn)行分析,對于已經(jīng)產(chǎn)生進(jìn)度滯后的項目,在三維場景模型上將會顯示進(jìn)度預(yù)警提示,用戶可以選擇具體的模型查看詳細(xì)的預(yù)警信息(如圖7所示)。
圖7 預(yù)警提示
本文設(shè)計了水電站工程BIM引擎系統(tǒng)框架,自主研發(fā)基于底層硬件的三維可視化引擎系統(tǒng),該系統(tǒng)利用C++語言和DirectX技術(shù)體系進(jìn)行開發(fā),具備標(biāo)準(zhǔn)化數(shù)據(jù)接口,系統(tǒng)在豐寧抽水蓄能電站中得以良好的應(yīng)用。利用該引擎系統(tǒng)可以直觀查看相關(guān)的施工進(jìn)度數(shù)據(jù),進(jìn)行施工進(jìn)度模擬,并對過程中的進(jìn)度預(yù)警提示,實現(xiàn)了工程建設(shè)全過程管控,該引擎系統(tǒng)為數(shù)字電站建設(shè)提供了技術(shù)支撐,為后續(xù)其他工程BIM引擎系統(tǒng)設(shè)計提供了參考借鑒。