王向上 李春林 徐鯤 董鉥濤 張建廣
(北京洛斯達(dá)科技發(fā)展有限公司,北京 100120)
電網(wǎng)信息模型(grid information model, GIM)的概念于2013 年于國內(nèi)首次提出,是依托地理信息系統(tǒng),將電網(wǎng)的組成元素?cái)?shù)字化,以信息模型為載體,集成每個(gè)元素全壽命周期內(nèi)的信息,實(shí)現(xiàn)信息的高效、準(zhǔn)確、全面的應(yīng)用[1]。同時(shí)也是為滿足輸變電工程三維設(shè)計(jì)成果在規(guī)劃、設(shè)計(jì)、施工、運(yùn)維等環(huán)節(jié)數(shù)據(jù)傳遞、共享的需要,推出的一種數(shù)字化交互標(biāo)準(zhǔn)格式[2-3]。根據(jù)電網(wǎng)公司相關(guān)工作要求,加快推進(jìn)三維設(shè)計(jì)成果與基建各專業(yè)融合貫通,GIM相關(guān)應(yīng)用工作從2019 年開始進(jìn)入了井噴式的業(yè)務(wù)應(yīng)用期。隨著GIM數(shù)據(jù)的深化應(yīng)用,同時(shí)也暴露出了GIM數(shù)據(jù)的相關(guān)問題,如圖元復(fù)雜無法正??梢暬!S家移交的GIM數(shù)據(jù)不符合標(biāo)準(zhǔn)、數(shù)據(jù)體量大無法快速加載顯示,因此完善完成各類GIM數(shù)據(jù)處理流程,形成統(tǒng)一的三維設(shè)計(jì)成果全過程處理機(jī)制顯得非常關(guān)鍵和必要。本文重點(diǎn)研究了GIM的數(shù)據(jù)解析、自動(dòng)化校核、快速可視化、一鍵式發(fā)布等相關(guān)工作,梳理出一套完整的GIM數(shù)據(jù)全過程處理流程,為GIM數(shù)據(jù)在電網(wǎng)工程建設(shè)的業(yè)務(wù)應(yīng)用上提供有效的支撐。
輸變電工程三維設(shè)計(jì)模型(*.GIM)是以輸變電工程各相關(guān)信息數(shù)據(jù)為基礎(chǔ),采用三維數(shù)字化技術(shù)建立的工程信息集合,具備完備性、關(guān)聯(lián)性、一致性、唯一性、擴(kuò)展性等特點(diǎn),滿足可視化、可分析、可編輯、可出圖等工程全壽命周期應(yīng)用需求[2-3]。三維設(shè)計(jì)模型包括物理模型和邏輯模型,GIM的原始數(shù)據(jù)為參數(shù)化表達(dá)形式,同時(shí)包含有大量的STL、IFC 等外源模型數(shù)據(jù)。GIM模型主要分為電氣設(shè)備和土建設(shè)備兩大類,其中電氣設(shè)備主要通過參數(shù)化形式表達(dá),對(duì)一些特殊模型可以通過鏈接外源的stl 模型進(jìn)行表達(dá),土建設(shè)備則通過鏈接外源數(shù)據(jù)IFC 模型進(jìn)行表達(dá)。針對(duì)不同的數(shù)據(jù)形式,采用不同的模型解析策略,能實(shí)現(xiàn)較好的模型解析效果。
依據(jù)《輸變電工程三維設(shè)計(jì)模型交互規(guī)范》的規(guī)定,變電工程三維設(shè)計(jì)模型參數(shù)化基本圖元共計(jì)25 類,包括立方體、棱柱、圓柱、球體等一些簡(jiǎn)單基本圖元和臺(tái)型墊片、方形墊片、端子板、拉伸體等一些復(fù)雜圖元。針對(duì)參數(shù)化模型,需要根據(jù)模型參數(shù)進(jìn)行三維表面建模形成下游可用的三維數(shù)據(jù)格式,難點(diǎn)在于參數(shù)化的布爾運(yùn)算,布爾運(yùn)算是數(shù)字符號(hào)化的邏輯推演法,包括聯(lián)合、相交、相減。在三維模型處理操作中引用了這種邏輯運(yùn)算方法,以使簡(jiǎn)單的基本圖元組合產(chǎn)生新的三維模型。對(duì)于簡(jiǎn)單圖元自主實(shí)現(xiàn)圖元對(duì)象的構(gòu)建,用于模型可視化。對(duì)于復(fù)雜圖元在圖元構(gòu)建的過程中包含大量的布爾運(yùn)算,使用一般表面建模的算法無法構(gòu)建出模型對(duì)象。因此借助開源的算法引擎OpenCasCade(簡(jiǎn)稱:OCC)實(shí)現(xiàn)圖元模型的構(gòu)建(圖1)。
圖1 端子板預(yù)覽圖
IFC 文件是用Industry Foundation Classes 文件格式創(chuàng)建的模型文件,可以使用BIM程序打開瀏覽。IFC 文件格式即包含三維建筑物或設(shè)施,也包括空間的元素、材料和形狀[4]。IFC 文件通常用于BIM程序之間信息的交互。在GIM數(shù)據(jù)當(dāng)中土建設(shè)施模型基本上全是IFC 格式的數(shù)據(jù)。IFC 模型同樣為參數(shù)化定義,若直接用于可視化建模,頂點(diǎn)信息展開之后數(shù)據(jù)量呈幾何倍數(shù)增長,數(shù)據(jù)量巨大。因此需研究IFC 模型內(nèi)部的層級(jí)關(guān)系,找出圖元實(shí)體之間的關(guān)聯(lián)關(guān)系,優(yōu)化模型層級(jí)結(jié)構(gòu)[5]?;赬BIM、IFCEngine 等IFC 模型解析庫,對(duì)IFC 模型進(jìn)行簡(jiǎn)化重組,提取有效信息,過濾冗余信息,有效減少了IFC 模型的數(shù)據(jù)存儲(chǔ)量。
GIM作為一種三維設(shè)計(jì)成果的交互數(shù)據(jù)格式,數(shù)據(jù)組成與來源、導(dǎo)出流程因不同三維設(shè)計(jì)軟件的差異而有所區(qū)別,同時(shí)GIM 數(shù)據(jù)質(zhì)量也與三維設(shè)計(jì)過程中的具體操作強(qiáng)關(guān)聯(lián)。從當(dāng)前開展的相關(guān)GIM可視化收資數(shù)據(jù)情況看,GIM數(shù)據(jù)質(zhì)量參差不齊,目前只能初步滿足可視化需求,但是針對(duì)模型設(shè)備顆粒度、屬性應(yīng)用、關(guān)聯(lián)關(guān)系等方面還存在很多問題,對(duì)于下游業(yè)務(wù)應(yīng)用支持度比較有限。本文基于《輸變電工程三維設(shè)計(jì)模型交互規(guī)范》和《輸變電工程三維設(shè)計(jì)建模規(guī)范》開展GIM數(shù)據(jù)校核工作,指導(dǎo)數(shù)據(jù)修正,從GIM數(shù)據(jù)完整性、規(guī)范性、冗余性等三個(gè)方面建立GIM 數(shù)據(jù)校核體系,具體包括以下層面:
檢測(cè)分析文件引用是否有效與完整;
檢測(cè)分析文件是否包含規(guī)定的屬性,如文件標(biāo)示、屬性文件等,以及部分關(guān)鍵屬性值是否完整;
檢測(cè)分析GIM設(shè)備(部件)是否包含規(guī)范規(guī)定的屬性(.fam),部分關(guān)鍵屬性值是否完整。
檢測(cè)分析GIM文件編碼是否規(guī)范,包括工程模型層級(jí)、設(shè)備(設(shè)施)及部件種類;
檢測(cè)分析GIM圖元參數(shù)定義是否規(guī)范;
檢測(cè)分析規(guī)范約束的內(nèi)容GIM數(shù)據(jù)是否按照規(guī)范輸出,如文件標(biāo)示、數(shù)據(jù)類型、分隔符等。
單個(gè)文件層面,檢測(cè)分析文件是否存在規(guī)范之外的冗余字段,為空、為0 等無效信息;
整體GIM 層面,檢測(cè)分析是否存在未被引用的冗余文件。
同時(shí),建立GIM數(shù)據(jù)缺陷分級(jí)設(shè)計(jì),將GIM數(shù)據(jù)檢測(cè)結(jié)果按照缺陷嚴(yán)重性劃分為致命缺陷、嚴(yán)重缺陷、一般缺陷、微小缺陷等四個(gè)等級(jí),并依次將有數(shù)據(jù)缺陷逐級(jí)劃分、歸類、統(tǒng)計(jì),出具校核檢測(cè)分析意見,最終形成完整的GIM數(shù)據(jù)校核報(bào)告(表1)。
表1 GIM 文件缺陷數(shù)據(jù)量統(tǒng)計(jì)結(jié)果
盡管通過GIM數(shù)據(jù)校核能夠提出具體的GIM數(shù)據(jù)修改意見,但是由于目前GIM數(shù)據(jù)來源于不同的三維設(shè)計(jì)平臺(tái),數(shù)據(jù)的修改只能返回設(shè)計(jì)院協(xié)調(diào)修改,GIM數(shù)據(jù)的應(yīng)用效率比較低下,所以需要結(jié)合GIM原始數(shù)據(jù)開展數(shù)據(jù)編輯工作。編輯工作主要包括兩個(gè)方面:
三維設(shè)計(jì)相關(guān)信息編輯,結(jié)合可視化的設(shè)備/部件與其相關(guān)聯(lián)的設(shè)備編碼、屬性、關(guān)聯(lián)關(guān)系等校核結(jié)果,開展GIM數(shù)據(jù)編輯工作,并且編輯的結(jié)果能夠保存到原始GIM文件中,保證在數(shù)據(jù)不返回設(shè)計(jì)院的情況下完成大部分非圖形問題數(shù)據(jù)的編輯工作。
補(bǔ)充屬性信息錄入編輯,結(jié)合其他非三維設(shè)計(jì)業(yè)務(wù)需求,增加GIM設(shè)備部件的屬性錄入工作,并且編輯的結(jié)果能夠保存到原始GIM文件中。
在變電工程三維場(chǎng)景漫游時(shí),對(duì)于一個(gè)給定的視點(diǎn)位置和視線方向,通常只有一部分范圍可見。因此,在對(duì)整個(gè)場(chǎng)景進(jìn)行可視化前,應(yīng)該根據(jù)當(dāng)前視點(diǎn)位置及視線方向等參數(shù)對(duì)場(chǎng)景中的模型進(jìn)行揀選,只渲染在當(dāng)前視野范圍內(nèi)模型數(shù)據(jù)。為了能夠快速地訪問多分辨率的模型數(shù)據(jù),必須建立快速的空間索引機(jī)制。
根據(jù)變電站平面結(jié)構(gòu)圖作為劃分原則,將整個(gè)站區(qū)等分為若干個(gè)大小統(tǒng)一的正方形單元格(Cell),單元格的大小可以根據(jù)主要設(shè)備大小中位數(shù)確定,由此可以劃分出m*n 個(gè)邏輯Cell 單位,涵蓋所有站區(qū)的模型;然后遍歷GIM模型中所有的設(shè)備,檢查每個(gè)設(shè)備模型外包盒與Cell 相交情況,如果相交則將該設(shè)備放入此Cell 設(shè)備列表;反之,則繼續(xù)遍歷下一個(gè)Cell。如果遇到同一個(gè)設(shè)備從屬多個(gè)Cell 的情況,按照設(shè)備包圍盒投影面積占比Cell 網(wǎng)格比例的大小確定從屬關(guān)系,即劃分到占比較大的Cell 網(wǎng)格中。利用該技術(shù)可以極大減少場(chǎng)景中模型的載入頻率,提高了模型的調(diào)度效率(圖2)。
圖2 模型分塊效果圖
三維場(chǎng)景中存在著大量的模型塊數(shù)據(jù),但是由于屏幕空間范圍有限,在繪制場(chǎng)景前不是所有數(shù)據(jù)都需要直接進(jìn)行繪制,需要提前判斷模型塊數(shù)據(jù)的可見性。模型塊動(dòng)態(tài)裁剪即是在三維場(chǎng)景渲染前或者過程中將三維場(chǎng)景中不適合渲染的模型塊從內(nèi)存或者渲染列表中剔除,通過該方法可以實(shí)現(xiàn)三維場(chǎng)景的快速、高效渲染。當(dāng)前客戶端動(dòng)態(tài)裁剪主要包含視錐體裁剪、遮擋裁剪、背面剔除。
層次細(xì)節(jié)技術(shù)(Level of Detail,簡(jiǎn)稱LOD)對(duì)于加快模型顯示速度,及降低場(chǎng)景復(fù)雜度非常有效[6]。對(duì)于同一事物,由于受到人眼的視覺特征的影響,位于遠(yuǎn)近不同位置的物體,目視所能夠看到的物體的細(xì)節(jié)程度是完全不一樣的。根據(jù)人眼視覺差異的這一特點(diǎn),對(duì)于場(chǎng)景中同一物體,LOD 技術(shù)便會(huì)依據(jù)詳細(xì)程度的不同創(chuàng)建一組幾何模型。在場(chǎng)景渲染的過程當(dāng)中,根據(jù)物體所在的位置選擇相應(yīng)詳細(xì)程度的模型載入場(chǎng)景。即當(dāng)視點(diǎn)距離物體較近時(shí)載入在視口內(nèi)的較精細(xì)的模型部分,反之,當(dāng)視點(diǎn)距離物體較遠(yuǎn)時(shí)載入在視口內(nèi)的較粗糙的模型部分。根據(jù)LOD 技術(shù),在GIM模型處理的過程中,生成一組不同精細(xì)程度的模型,在場(chǎng)景當(dāng)中根據(jù)視點(diǎn)范圍動(dòng)態(tài)加載,有效地提高了渲染效率(圖3)。
圖3 不同細(xì)節(jié)層次的電氣設(shè)備模型
實(shí)例化技術(shù)是一種批量渲染技術(shù),當(dāng)三維模型中具有多個(gè)相同幾何形狀但是空間位置不同的物體時(shí),采用實(shí)例化技術(shù)可以實(shí)現(xiàn)使用一個(gè)模型數(shù)據(jù),繪制多個(gè)模型實(shí)例的效果。該技術(shù)在增加同類物體數(shù)量的情況下而不增加實(shí)際多邊形數(shù)量,這樣既節(jié)省系統(tǒng)的內(nèi)存空間和磁盤存儲(chǔ)空間,還可以改善實(shí)時(shí)系統(tǒng)的處理性能。GIM模型中,存在大量的組件化方法建模,以設(shè)備模型為基礎(chǔ),采用設(shè)備組裝的方式構(gòu)建整體模型,因而這種模型組織結(jié)構(gòu)十分切合實(shí)例化技術(shù)的要求。
采用實(shí)例化技術(shù)渲染GIM模型,在進(jìn)行模型渲染前,結(jié)合模型塊復(fù)用機(jī)制,不同空間位置但設(shè)備模型相同的多個(gè)模型,只需在內(nèi)存中加載一次網(wǎng)格資源和不同設(shè)備的引用矩陣信息,從而創(chuàng)建多個(gè)模型實(shí)例信息,一次性提交給GPU,實(shí)現(xiàn)一次性全部渲染完成,大大提高了電網(wǎng)模型的渲染效率。
云服務(wù)器ECS(Elastic Compute Service)是阿里云提供的性能卓越、穩(wěn)定可靠、彈性擴(kuò)展的IaaS(Infrastructure as a Service)級(jí)別云計(jì)算服務(wù)。采用ECS 作為一鍵式發(fā)布程序的后臺(tái)服務(wù)器,免去了采購IT 硬件的前期準(zhǔn)備,可以便捷、高效地使用服務(wù)器,實(shí)現(xiàn)計(jì)算資源的即開即用和彈性伸縮。
將GIM數(shù)據(jù)的下載解壓、模型解析、數(shù)據(jù)校核、可視化建模、切片發(fā)布統(tǒng)一集成到一鍵式發(fā)布系統(tǒng)當(dāng)中,并部署到阿里云服務(wù)器上。為用戶搭建前端業(yè)務(wù)系統(tǒng),可以支持GIM文件上傳、校核報(bào)告下載、可視化預(yù)覽等功能。用戶只需通過業(yè)務(wù)系統(tǒng)將GIM數(shù)據(jù)上傳至后臺(tái)云服務(wù)器,后臺(tái)的一鍵式發(fā)布系統(tǒng)自動(dòng)接收用戶上傳的數(shù)據(jù)并進(jìn)行數(shù)據(jù)處理,處理完成后將結(jié)果及時(shí)反饋給前端業(yè)務(wù)系統(tǒng)。使用戶可以實(shí)時(shí)上傳,實(shí)時(shí)預(yù)覽,無需等待(圖4)。
圖4 GIM 一鍵式發(fā)布架構(gòu)圖
本文從GIM 數(shù)據(jù)全過程處理出發(fā),對(duì)GIM模型的完整性解析、自動(dòng)化校核、快速可視化、一鍵式發(fā)布等進(jìn)行了研究,總結(jié)出一套簡(jiǎn)潔、高效的數(shù)據(jù)處理流程。通過GIM數(shù)據(jù)一鍵式發(fā)布系統(tǒng)可以實(shí)時(shí)對(duì)三維數(shù)字化成果的數(shù)據(jù)校驗(yàn),保證了移交成果的準(zhǔn)確性和完整性,為GIM數(shù)據(jù)在輸變電工程的數(shù)字化建設(shè)工作提供有效的技術(shù)支撐。同時(shí),通過在線的GIM數(shù)據(jù)一鍵式發(fā)布系統(tǒng)還可以實(shí)現(xiàn)不同設(shè)計(jì)單位之間的協(xié)同合作,為設(shè)計(jì)單位的數(shù)字化移交工作提供新的思路。