韓 婭 娜,栗 煜,韓 江 濤,陳 明 武
(中國電建集團(tuán)西北勘測設(shè)計(jì)研究院有限公司,陜西 西安 710065)
隨著數(shù)字技術(shù)的不斷變革,“數(shù)字中國”戰(zhàn)略不斷推進(jìn),建筑行業(yè)借助BIM(Building Information Modeling)技術(shù),對(duì)建筑實(shí)體進(jìn)行數(shù)字化建模,實(shí)現(xiàn)建筑產(chǎn)品的“數(shù)字孿生”[1]。BIM概念最初由Chuck在1975年提出,直到2004年BIM技術(shù)才在國內(nèi)逐步發(fā)展[2]。該技術(shù)的發(fā)展服務(wù)于建筑工程的規(guī)劃、設(shè)計(jì)、施工、運(yùn)維等全生命周期的協(xié)同管理[3-4],實(shí)現(xiàn)了工程各階段的數(shù)據(jù)互通共享[5]。
目前CATIA V6已經(jīng)水利水電、土木建筑等領(lǐng)域得到了廣泛應(yīng)用[6]。由于工程體量的增大,模型同時(shí)具有結(jié)構(gòu)復(fù)雜、數(shù)據(jù)體量大、精細(xì)化程度高、構(gòu)件數(shù)量多等特點(diǎn)[7],導(dǎo)致BIM模型在工程應(yīng)用中出現(xiàn)加載速度慢、渲染效果不佳、用戶交互體驗(yàn)差等問題,難以滿足實(shí)際項(xiàng)目需求[8]。因此如何實(shí)現(xiàn)模型的輕量化,提升模型的加載顯示速率,是當(dāng)前BIM研究工作的重中之重[9]。
目前已有眾多學(xué)者針對(duì)BIM輕量化技術(shù)展開研究。Rong等[10]利用BIMFACE二次開發(fā)接口,建設(shè)石川河大橋BIM平臺(tái),實(shí)現(xiàn)了橋梁模型的輕量化展示應(yīng)用。孫源等[11]通過自研BIM仿真平臺(tái),從文件格式優(yōu)化、輕量化數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、幾何簡化算法和渲染優(yōu)化算法等方面搭建BIM輕量化體系,使用PagedLOD等技術(shù)實(shí)現(xiàn)了大體量BIM模型加載和顯示。陳科等[12]設(shè)計(jì)了一種針對(duì)BIM模型幾何特征簡化的方法,通過對(duì)三角面片和邊界的簡化,在保留模型原有幾何特征的基礎(chǔ)上實(shí)現(xiàn)了模型輕量化。佘宇深[13]在Revit軟件中對(duì)族進(jìn)行分析,構(gòu)建出一套合理的基于Revit橋梁設(shè)計(jì)的參數(shù)化方法,從而實(shí)現(xiàn)BIM模型的輕量優(yōu)化。徐雷[14]提出OSMC算法,該算法基于八叉樹的結(jié)構(gòu)組織體元,實(shí)現(xiàn)模型局部三角面片的削減,達(dá)到輕量化的目的。李文博等[15]采用CATIA 二次開發(fā)技術(shù),開發(fā)出針對(duì)CATIA V5的BIM模型輕量化工具,可以對(duì)BIM模型中的零件進(jìn)行批量處理,但是只能保留部分屬性信息。安俊霖等[16]利用CATIA的模塊分析工具對(duì)輕型貨車驅(qū)動(dòng)橋殼的幾何模型進(jìn)行分析,設(shè)計(jì)出橋殼的輕量化方法,減少橋殼的重量和用料量。陳前等[17]采用三角網(wǎng)格存儲(chǔ)、Zstd壓縮算法進(jìn)行輕量化處理,優(yōu)化模型數(shù)據(jù)存儲(chǔ)。
但以上文獻(xiàn)都沒有針對(duì)CATIA V6模型進(jìn)行輕量化轉(zhuǎn)換的研究,使得V6模型在工程全生命周期中的應(yīng)用仍不是非常廣泛[18]。因此本文提出了一種基于CATIA V6的BIM模型輕量化轉(zhuǎn)換方法。首先定義了一種“參考-實(shí)例”的輕量化數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),以減少重復(fù)數(shù)據(jù);其次通過CATIA V6的CAA二次開發(fā)組件遍歷模型結(jié)構(gòu)樹,完整獲取并離散幾何、屬性等信息;將提取的數(shù)據(jù)存儲(chǔ)至自定義的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,實(shí)現(xiàn)模型的輕量化;同時(shí)通過暴露轉(zhuǎn)換中的配置項(xiàng),實(shí)現(xiàn)對(duì)位移矩陣、轉(zhuǎn)換精度、幾何顆粒度等參數(shù)的靈活配置。應(yīng)用結(jié)果證明,該方法在保證模型數(shù)據(jù)完整性的前提下,能大大提高模型的輕量化程度,實(shí)現(xiàn)BIM模型在工程中的便捷應(yīng)用。
根據(jù)CATIA V6模型的特點(diǎn),通過遍歷模型結(jié)構(gòu)樹,提取零件參考節(jié)點(diǎn)的幾何信息(點(diǎn)、線、面、體)和非幾何信息(顏色、材質(zhì)、屬性、參數(shù));提取零件實(shí)例節(jié)點(diǎn)與參考節(jié)點(diǎn)的相對(duì)位置坐標(biāo)信息,也就是實(shí)例與參考之間的“參考-實(shí)例”引用關(guān)系。最終按照自定義輕量化格式重組形成輕量化文件。輕量化轉(zhuǎn)換的技術(shù)路線如圖1所示。
圖1 輕量化轉(zhuǎn)換技術(shù)路線Fig.1 Lightweight conversion technology roadmap
將原始數(shù)據(jù)模型中待提取的信息分為模型組織結(jié)構(gòu)和模型信息。模型信息包含幾何信息和非幾何信息。其中,幾何信息從模型根節(jié)點(diǎn)開始遍歷所有節(jié)點(diǎn),獲取模型節(jié)點(diǎn)的幾何特征,進(jìn)行離散化處理,得到三角面片的數(shù)學(xué)模型。同時(shí)提取每個(gè)節(jié)點(diǎn)的非幾何信息,主要包括顏色、材質(zhì)等繪制屬性信息,設(shè)計(jì)屬性和設(shè)計(jì)參數(shù)等模型屬性信息。將各類信息按照自定義的輕量化格式進(jìn)行數(shù)據(jù)重組。對(duì)于多實(shí)例的情況,為了避免重復(fù)數(shù)據(jù)產(chǎn)生,按照“參考-實(shí)例”邏輯結(jié)構(gòu)對(duì)模型組織結(jié)構(gòu)進(jìn)行優(yōu)化,最終生成輕量化的結(jié)果文件,得到輕量化模型。
本文首先通過定義“參考-實(shí)例”輕量化模型數(shù)據(jù)結(jié)構(gòu),以減少重復(fù)數(shù)據(jù),壓縮模型體量;其次對(duì)BIM模型的結(jié)構(gòu)、幾何、屬性等信息進(jìn)行解析、離散和提取,得到輕量化的模型數(shù)據(jù);最后將提取的數(shù)據(jù)存儲(chǔ)至自定義的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,實(shí)現(xiàn)V6模型的輕量化。下文將對(duì)以上關(guān)鍵技術(shù)進(jìn)行詳細(xì)闡述。
本文定義的輕量化模型數(shù)據(jù)格式,包含結(jié)構(gòu)數(shù)據(jù)、幾何數(shù)據(jù)、屬性數(shù)據(jù)3部分,具體的數(shù)據(jù)組成如圖2所示。
圖2 輕量化模型數(shù)據(jù)組成Fig.2 Data composition of lightweight model
其中,結(jié)構(gòu)數(shù)據(jù)表達(dá)模型的組織結(jié)構(gòu)使用段結(jié)構(gòu)(segment)表述。幾何數(shù)據(jù)表達(dá)模型的模型數(shù)據(jù),包含面結(jié)構(gòu)(Shell)、多線段(Polyline)和三角面片(Triangle Shell)等幾何信息。屬性數(shù)據(jù)分為繪制屬性和模型屬性,繪制屬性表達(dá)繪制時(shí)屬性設(shè)置,主要包含模型的顏色(Color)、可見性(Visibility)、紋理、材質(zhì)(Texture)、貼圖和透明度(Alpha)等繪制信息;模型屬性主要表達(dá)模型節(jié)點(diǎn)的數(shù)據(jù)屬性(Properties),如設(shè)計(jì)屬性、設(shè)計(jì)參數(shù)等。
針對(duì)CATIA V6模型多實(shí)例、重復(fù)數(shù)據(jù)的特點(diǎn),設(shè)計(jì)了“參考-實(shí)例”邏輯存儲(chǔ)結(jié)構(gòu)。對(duì)于模型中的多份相同數(shù)據(jù),只保留一份模型數(shù)據(jù)作為模板,其他數(shù)據(jù)作為實(shí)例對(duì)模板進(jìn)行引用。具體的“參考-實(shí)例”存儲(chǔ)結(jié)構(gòu)如圖3所示。參考模板記錄參考的幾何特征;樣式模板記錄參考的繪制屬性;模板引用關(guān)系用來表達(dá)模型實(shí)例與參考模板之間的引用關(guān)系和相對(duì)位置關(guān)系,樣式引用關(guān)系用來表達(dá)模型實(shí)例與樣式模板之間的引用關(guān)系;實(shí)例屬性用來對(duì)實(shí)例添加自身的屬性數(shù)據(jù),保證模型屬性信息的完整性。該“參考-實(shí)例”存儲(chǔ)結(jié)構(gòu)可以使輕量化后的數(shù)據(jù)量大大降低。
圖3 “參考-實(shí)例”存儲(chǔ)結(jié)構(gòu)Fig.3 Storage structure of "reference-example" logic
模型解析的主要內(nèi)容是對(duì)原始模型的結(jié)構(gòu)信息、幾何信息和屬性信息分別進(jìn)行解析與提取。遍歷模型結(jié)構(gòu)樹,獲取原始模型的結(jié)構(gòu)信息;通過幾何特征離散方法,得到離散的三角面片數(shù)據(jù),獲取原始模型的幾何信息;通過二次開發(fā)接口獲取繪制屬性、模型屬性等數(shù)據(jù),從而得到原始模型的屬性信息。
2.2.1幾何特征離散方法
模型幾何離散過程為:模型拓?fù)浣Y(jié)構(gòu)→幾何離散處理→離散化數(shù)據(jù)組織與表達(dá)。
幾何離散處理的主要對(duì)象包括零件模型中的幾何體、曲面、平面、邊線、曲線。其中對(duì)于曲面、平面、幾何體表面的離散化,得到三角面片信息TrangleShell;對(duì)曲線和幾何體邊界離散化后得到線段信息Bar;線段的端點(diǎn)會(huì)包含離散化后的點(diǎn)信息Points。本文的輕量化方法通過設(shè)置距離參數(shù)Sag,長度參數(shù)Step和角度參數(shù)Angle對(duì)離散精度進(jìn)行控制,如圖4所示。
圖4 離散精度參數(shù)劃分Fig.4 Partitioning of discrete precision parameter
其中Sag表示經(jīng)過離散化后的線段到原始模型的最大距離Dismax,距離越遠(yuǎn),模型精度越低;Angle表示經(jīng)過離散化后,每條線端切線的最大夾角度數(shù)Angmax,角度越大,對(duì)應(yīng)的精度越低;Step表示曲線、邊界線經(jīng)過離散化后的線段的最大長度Legmax,長度越長精度越低。
通過CATIA V6離散器對(duì)模型幾何數(shù)據(jù)進(jìn)行離散,Sag和Angle共同控制曲面、平面、幾何體表面的離散過程,通過Dismax和Angmax共同調(diào)節(jié)精確度;Step控制曲線和幾何體邊界的離散過程,通過Legmax調(diào)節(jié)精度。
對(duì)于模型的不同拓?fù)浣Y(jié)構(gòu),經(jīng)CATIA V6離散器離散過后將得到不同的數(shù)據(jù)類型,相應(yīng)的數(shù)據(jù)組織與存儲(chǔ)方式也不同。曲線和幾何體邊界線離散后的數(shù)據(jù)存儲(chǔ)為連續(xù)的點(diǎn)集Points,即為Points(p0,p1,p2,…,pn),其中相鄰點(diǎn)表示為一個(gè)線段信息Bar。曲面、平面和幾何體表面離散后通過不同形式的三角面片進(jìn)行存儲(chǔ),圖5所示為4種不同形式的三角面片表達(dá)。
圖5 不同的三角面片組織形式Fig.5 Different trangle organization structure
圖5(a)為單獨(dú)三角面片,是由3個(gè)頂點(diǎn)數(shù)據(jù)構(gòu)成的獨(dú)立三角面片,表示為Trangles(v1,v2,v3);圖5(b)為扇形三角面片組,表示為Fans(v0,v1,v2,…,vn),其中v0為扇形三角面片組的中心點(diǎn),v1~vn中任意相鄰的兩點(diǎn)和V0構(gòu)成一個(gè)三角面片;圖5(c)為條帶狀三角面片組,表示為Strips(v1,v2,…,vn),其中任意連續(xù)的三個(gè)點(diǎn)構(gòu)成一個(gè)三角面片;圖5(d)為多邊形三角面片組,表示為Polygans(v1,v2,v3,v4),主要用于表示一些三維空間中結(jié)構(gòu)特殊,無法通過上述存儲(chǔ)結(jié)構(gòu)表達(dá)的三角面片信息。
通過對(duì)原始模型幾何數(shù)據(jù)離散,得到Points、Trangles、Fans、Strips和Polygans 5種形式的輕量化數(shù)據(jù)結(jié)構(gòu),用于輕量模型幾何信息的存儲(chǔ)。
2.2.2非幾何信息提取方法
非幾何信息包含繪制屬性和模型屬性。繪制屬性主要有模型的顏色、透明度、紋理、材質(zhì)、貼圖等繪制信息;模型屬性主要有模型節(jié)點(diǎn)的右鍵屬性、設(shè)計(jì)屬性、設(shè)計(jì)參數(shù)等信息。
繪制屬性的提取。在CATIA V6中,材質(zhì)的類型分為Core材質(zhì)和覆蓋材質(zhì),并有獨(dú)立存儲(chǔ)的材質(zhì)庫,通過建立引用關(guān)系添加材質(zhì)。因此在繪制屬性提取過程中,首先獲取幾何特征的顏色和透明度,其次獲取幾何特征所添加的Core材質(zhì)和覆蓋材質(zhì),最后提取Core材質(zhì)和覆蓋材質(zhì)中外觀域?qū)?yīng)的貼圖、UV、比例等數(shù)據(jù),從而實(shí)現(xiàn)對(duì)繪制信息的提取。
模型屬性的提取。設(shè)計(jì)屬性可以直接通過屬性接口讀取模型節(jié)點(diǎn)的參考屬性或?qū)嵗龑傩詠慝@取。設(shè)計(jì)參數(shù)記錄在參考中,主要表現(xiàn)形式為模型結(jié)構(gòu)樹上的參數(shù)集,或?yàn)閹缀螆D形集下的參數(shù),一般通過參數(shù)接口讀取對(duì)應(yīng)節(jié)點(diǎn)的參數(shù)組(參數(shù))。
完成模型結(jié)構(gòu)、幾何、屬性等數(shù)據(jù)提取后,將這些模型數(shù)據(jù)存入對(duì)應(yīng)的輕量化數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中。為了進(jìn)一步壓縮數(shù)據(jù)體量,按照2.1節(jié)所述的“參考-實(shí)例”的數(shù)據(jù)存儲(chǔ)方法,建立引用關(guān)系,得到最終的輕量化文件。
為了提高輕量化轉(zhuǎn)換的靈活性,在輕量數(shù)據(jù)轉(zhuǎn)換存儲(chǔ)過程中對(duì)外暴露了配置參數(shù),分別為坐標(biāo)轉(zhuǎn)換矩陣、導(dǎo)出精度和最小構(gòu)件單元等。坐標(biāo)轉(zhuǎn)換矩陣表示模型的整體位移矩陣;導(dǎo)出精度代表幾何離散化時(shí)的控制精度;最小構(gòu)件單元,即一個(gè)獨(dú)立幾何單元的大小,可以配置為CATIA 模型中的零件part或幾何體body。圖6所示為輕量化數(shù)據(jù)存儲(chǔ)方法的具體流程。
圖6 輕量化數(shù)據(jù)存儲(chǔ)流程Fig.6 Flow chart of lightweight data storage
(1) 獲取轉(zhuǎn)換配置參數(shù),包括坐標(biāo)轉(zhuǎn)換矩陣Matrix、導(dǎo)出精度和最小構(gòu)件單元。
(2) 判斷當(dāng)前模型節(jié)點(diǎn)是否為根節(jié)點(diǎn),若是根節(jié)點(diǎn),執(zhí)行步驟(3),否則執(zhí)行步驟(4)。
(3) 直接創(chuàng)建新的segment用于保存節(jié)點(diǎn)信息,為節(jié)點(diǎn)添加模型整體的位移矩陣。
(4) 查找父節(jié)點(diǎn),在父節(jié)點(diǎn)下創(chuàng)建segment,用于保存節(jié)點(diǎn)數(shù)據(jù)信息,并獲取segment的名稱。
(5) 獲取零件組節(jié)點(diǎn)的參考ID。
(6) 為第一次出現(xiàn)的節(jié)點(diǎn)創(chuàng)建實(shí)例segment,判斷該參考ID是否第一次出現(xiàn),若該參考出現(xiàn)過,跳轉(zhuǎn)到步驟(10),若參考第一次出現(xiàn),進(jìn)入步驟(7)。
(7) 根據(jù)配置的最小構(gòu)件單元參數(shù),判斷是否以part為最小構(gòu)件單位導(dǎo)出,若以part為最小導(dǎo)出單位,執(zhí)行步驟(8),否則跳轉(zhuǎn)到步驟(19)。
(8) 為導(dǎo)出構(gòu)件添加ID和構(gòu)件類型。
(9) 生成body節(jié)點(diǎn)的segment,跳轉(zhuǎn)到步驟(15)。
(10) 判斷是否已經(jīng)創(chuàng)建該參考模板,若參考模板未創(chuàng)建,進(jìn)入步驟(11);若參考模板已經(jīng)創(chuàng)建,跳轉(zhuǎn)到步驟(12)。
(11) 將該segment作為參考模板保存。
(12) 根據(jù)配置的導(dǎo)出顆粒度參數(shù),判斷是否以body為最小構(gòu)件單位導(dǎo)出,若不以body為最小導(dǎo)出單位,進(jìn)入到步驟(13);若以body為最小導(dǎo)出單位,跳轉(zhuǎn)到步驟(14)。
(13) 在實(shí)例segment引用這個(gè)模板到part層級(jí),最小構(gòu)件單元到body層級(jí)。
(14) 在實(shí)例segment引用這個(gè)模板到body層級(jí),最小構(gòu)件單元到body層級(jí)。
(15) 判斷當(dāng)前節(jié)點(diǎn)是否包含子節(jié)點(diǎn),若包含,則重復(fù)步驟(2),若不包含,則處理完畢。
本文設(shè)計(jì)的基于CATIA V6的BIM模型輕量化轉(zhuǎn)換方法通過遍歷模型結(jié)構(gòu)樹實(shí)現(xiàn)模型相關(guān)幾何信息和非幾何信息的提取,保證了模型結(jié)構(gòu)、幾何特征和非幾何信息的完整性。存儲(chǔ)數(shù)據(jù)時(shí)通過建立“參考-實(shí)例”引用關(guān)系,形成輕量化文件,可以大大壓縮模型數(shù)據(jù)量。另外在轉(zhuǎn)換過程中僅對(duì)當(dāng)前轉(zhuǎn)換的模型節(jié)點(diǎn)設(shè)置為編輯模型,對(duì)已轉(zhuǎn)換模型設(shè)置為瀏覽模式,減少電腦內(nèi)存消耗,從而保證了大體量模型的轉(zhuǎn)換效率。結(jié)合該輕量化方法在大型水利樞紐工程項(xiàng)目中的應(yīng)用情況,對(duì)本文所述方法進(jìn)行分析及總結(jié)。
該水利樞紐工程主要由混凝土面板砂礫石壩(最大壩高247 m)、開敞式岸邊溢洪道、泄洪排沙洞、排沙放空洞、發(fā)電引水系統(tǒng)以及生態(tài)放水設(shè)施組成。該項(xiàng)目主要通過CATIA V6開展設(shè)計(jì)工作,原始模型結(jié)構(gòu)如圖7所示。
圖7 大型水利樞紐工程原始模型結(jié)構(gòu)Fig.7 Original model structure of a hydraulic complex project
開發(fā)的輕量化轉(zhuǎn)換工具界面如圖8所示。在進(jìn)行輕量化轉(zhuǎn)換時(shí),可通過轉(zhuǎn)換界面配置模型的位移、屬性、參數(shù)、導(dǎo)出精度、最小構(gòu)件級(jí)別等參數(shù),實(shí)現(xiàn)不同需求的輕量化模型導(dǎo)出。
圖8 輕量化轉(zhuǎn)換工具界面Fig.8 Lightweight conversion tool interface
為了充分驗(yàn)證數(shù)據(jù)轉(zhuǎn)換的壓縮比和轉(zhuǎn)換性能,分別對(duì)各專業(yè)以及整體模型進(jìn)行轉(zhuǎn)換,統(tǒng)計(jì)原始模型大小、最高精度輕量化模型大小、最低精度輕量化模型大小以及轉(zhuǎn)換耗時(shí),并根據(jù)統(tǒng)計(jì)結(jié)果計(jì)算最高和最低壓縮比,進(jìn)一步驗(yàn)證輕量化轉(zhuǎn)換的壓縮比及轉(zhuǎn)換性能指標(biāo)。
為了保證測試數(shù)據(jù)的準(zhǔn)確性,所有測試用例的參數(shù)都進(jìn)行如下配置:節(jié)點(diǎn)名稱規(guī)則配置為實(shí)例名,屬性和參數(shù)設(shè)置配置為導(dǎo)出全部屬性和參數(shù),最小構(gòu)件單元配置以幾何體為最小構(gòu)件單元。所有轉(zhuǎn)換均在清理緩存且模型未打開編輯模式下進(jìn)行。測試結(jié)果見表1。
表1 多專業(yè)輕量化前后結(jié)果對(duì)比Tab.1 Comparison before and after multi-professional lightweight
接下來分析數(shù)據(jù)轉(zhuǎn)換的壓縮比,也就是輕量化前后模型大小的比值。相較于同一模型,精度越低得到的輕量模型越小,壓縮比越高;相較于不同模型,壓縮比與實(shí)例化程度、幾何復(fù)雜度等模型自身特性有密切關(guān)系。若模型本身為三角面片數(shù)據(jù)(如地質(zhì)專業(yè)模型),輕量化后得到的模型受精度影響不大,壓縮比較低。若模型本身存在大量的平面結(jié)構(gòu)(如壩工專業(yè)模型),在進(jìn)行幾何離散時(shí),可以得到數(shù)據(jù)存儲(chǔ)量低的Triangle Shell結(jié)構(gòu),因此壓縮比較高。本文測試的輕量化壓縮比,是在保證導(dǎo)出數(shù)據(jù)完整性情況下的統(tǒng)計(jì)結(jié)果,可知模型壓縮比的范圍大致為10~144。
分析輕量化轉(zhuǎn)換性能,由表1可知,不同文件大小的單專業(yè)模型測試耗時(shí)大約為30~140 s,耗時(shí)最短的為水機(jī)專業(yè)(29 MB),最低精度轉(zhuǎn)換時(shí)用時(shí)34 s。全專業(yè)模型(3 543 MB),最低精度轉(zhuǎn)換時(shí)耗時(shí)大約775 s,最高精度轉(zhuǎn)換時(shí)耗時(shí)大約847 s。從測試結(jié)果來看,較大體量模型轉(zhuǎn)換耗時(shí)較多,主要原因是轉(zhuǎn)換過程通過CATIA二次開發(fā)接口,遍歷結(jié)構(gòu)樹節(jié)點(diǎn)獲取模型信息,不可避免地會(huì)在節(jié)點(diǎn)數(shù)據(jù)加載及讀取過程中耗費(fèi)一定時(shí)間。若在轉(zhuǎn)換之前預(yù)先將待轉(zhuǎn)換模型設(shè)置為編輯模式,轉(zhuǎn)換時(shí)間可縮短大約3/5。
此外,因?yàn)樵谀P娃D(zhuǎn)換過程中僅會(huì)將當(dāng)前轉(zhuǎn)換節(jié)點(diǎn)設(shè)置為編輯模式,將其他節(jié)點(diǎn)設(shè)置為瀏覽模式,可實(shí)時(shí)釋放電腦內(nèi)存,理論上可以支持任意大體量模型的轉(zhuǎn)換。
綜上,本文提出的CATIA V6模型輕量化轉(zhuǎn)換方法具有較好的壓縮比,對(duì)大體量模型均能順利導(dǎo)出,并且轉(zhuǎn)換速率和轉(zhuǎn)換性能均較為理想。
模型輕量化轉(zhuǎn)換的最終目標(biāo)是全生命周期應(yīng)用,因此輕量化模型能否進(jìn)行工程項(xiàng)目應(yīng)用也是轉(zhuǎn)換成果評(píng)判的重要指標(biāo)。
在該水利樞紐工程BIM基礎(chǔ)服務(wù)平臺(tái)中加載轉(zhuǎn)換得到的輕量化模型,模型效果如圖9所示。
將輕量化模型(見圖9)與原始模型進(jìn)行對(duì)比,驗(yàn)證模型信息的完整性。對(duì)比兩圖的模型結(jié)構(gòu)樹和幾何特征,可以看到輕量化的模型組織結(jié)構(gòu)及幾何結(jié)構(gòu)完整,沒有發(fā)生變化;對(duì)比屬性框,可以看到模型屬性未發(fā)生丟失;對(duì)比模型外觀,可以看到繪制信息也未發(fā)生改變??梢哉f明該輕量化方法不會(huì)丟失模型信息。
平臺(tái)采用了LOD加載、異步加載、遮擋剔除等多種策略綜合提高模型的加載速率。通過測試,可達(dá)到模型初始加載時(shí)間小于3 s的技術(shù)指標(biāo)。在平臺(tái)中可以對(duì)模型進(jìn)行視圖變換、視點(diǎn)創(chuàng)建、標(biāo)簽創(chuàng)建、模型爆炸、工程測量、模型剖切、碰撞檢測、版本對(duì)比、場景漫游等操作。下文將分別以模型爆炸、工程測量、模型剖切為例,對(duì)輕量化模型的應(yīng)用場景展開描述。
(1) 模型爆炸。主要用于模型細(xì)節(jié)查看。模型爆炸通過計(jì)算構(gòu)件與中心點(diǎn)之間的拆解方向,將所有模型構(gòu)件與中心點(diǎn)之間的間距沿拆解方向放大,實(shí)現(xiàn)對(duì)模型內(nèi)部構(gòu)件的分解表達(dá)。模型爆炸效果見圖10(a)。
圖10 輕量化模型在水利樞紐工程BIM基礎(chǔ)服務(wù)平臺(tái)中的應(yīng)用展示Fig.10 Application demonstration of lightweight models in BIM platform of a hydraulic hub project
(2) 工程測量。平臺(tái)實(shí)現(xiàn)了距離、角度、高程、坐標(biāo)、坡度等多種測量手段。例如距離測量是通過點(diǎn)選兩個(gè)點(diǎn),獲取兩點(diǎn)坐標(biāo)并計(jì)算兩點(diǎn)之間的直線距離。坡度測量則通過點(diǎn)選某個(gè)幾何面,計(jì)算面的坡度。工程測量效果見圖10(b)。
(3) 模型剖切主要用于將模型剖開以展示模型的內(nèi)部構(gòu)造,進(jìn)行精細(xì)化查看。剖切通過指定點(diǎn)、線或面對(duì)模型進(jìn)行切割,繪制兩遍。第一遍直接繪制模型,在片元著色器中去掉剪切掉的像素。第二遍繪制切口,原理是繪制一個(gè)較大的模型,把它投影到切口面上覆蓋住切口,利用緩存把多余的像素濾掉。模型剖切效果見圖10(c)。
由以上得知,本文的輕量化方法可以較大程度實(shí)現(xiàn)模型的壓縮,減少資源傳輸量,在提高模型加載效率方面有較好的效果。轉(zhuǎn)換后得到的輕量化模型結(jié)構(gòu)、幾何信息不會(huì)發(fā)生改變,同時(shí)模型的各類非幾何信息可以實(shí)現(xiàn)完整同步的轉(zhuǎn)換。對(duì)于各種體量的模型均可順利導(dǎo)出,并且轉(zhuǎn)換速率和轉(zhuǎn)換性能較為理想。模型輕量化轉(zhuǎn)換之后可以在可視化平臺(tái)中正常加載及應(yīng)用。
針對(duì)CATIA V6模型在工程全生命周期中的應(yīng)用不廣泛的問題,本文提出了一種基于CATIA V6的BIM模型輕量化轉(zhuǎn)換方法。首先定義了一種輕量模型結(jié)構(gòu),可存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)、幾何數(shù)據(jù)、屬性數(shù)據(jù)3部分信息。利用CATIA二次開發(fā)技術(shù),對(duì)模型數(shù)據(jù)進(jìn)行解析、提取和存儲(chǔ),通過“參考-實(shí)例”的邏輯結(jié)構(gòu)建立模型構(gòu)件之間的引用關(guān)系,形成輕量格式的模型文件。測試結(jié)果表明,該輕量化方法能在完整提取模型結(jié)構(gòu)和信息的情況下,獲得較高的壓縮比,轉(zhuǎn)換速率和轉(zhuǎn)換性能均較為理想。輕量化模型支持下游平臺(tái)的應(yīng)用,對(duì)于提升模型的數(shù)字化應(yīng)用水平具有極大的借鑒意義。
目前本文對(duì)于CATIA V6模型的輕量化轉(zhuǎn)換已經(jīng)達(dá)到了較好的效果,但由于三角面片化的處理,導(dǎo)致模型的幾何精度有所降低,不適合在高精度的模型測量或分析計(jì)算場景中應(yīng)用。在未來的工作中,可以在提高幾何精度等方面開展進(jìn)一步研究。