郝慧民 陳靜茹 周東明 崔維久 王成龍
(青島理工大學(xué) 土木工程學(xué)院,青島 266033)
近年來(lái),隨著移動(dòng)互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)與傳統(tǒng)產(chǎn)業(yè)的融合發(fā)展,建筑業(yè)通過(guò)BIM技術(shù)與物聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)的融合應(yīng)用,為建筑工程的信息化管理提供了新的技術(shù)保障[1,2]。BIM技術(shù)已在設(shè)計(jì)、施工、管理、運(yùn)維等多個(gè)方面發(fā)揮其作用,為多專業(yè)協(xié)同設(shè)計(jì)、安全管理、質(zhì)量管理、進(jìn)度管理和運(yùn)營(yíng)維護(hù)等提供技術(shù)支持[3,4]。但是目前的BIM技術(shù)在管線綜合信息管理的過(guò)程中,存在著管線排布信息獲取過(guò)程復(fù)雜,信息查看不直觀的問(wèn)題,容易出現(xiàn)錯(cuò)誤且工作效率低下。本研究通過(guò)兩次投影的方法對(duì)復(fù)雜管線之間的距離進(jìn)行測(cè)量,在BIM云平臺(tái)中實(shí)現(xiàn)了管線距離的自動(dòng)測(cè)量及顯示,操作簡(jiǎn)便,數(shù)據(jù)準(zhǔn)確。在機(jī)電管線安裝施工時(shí)可以使工人更精確地還原設(shè)計(jì),也為管線的工廠預(yù)制加工提供準(zhǔn)確的數(shù)據(jù)[5]。兩次投影是基于計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)視覺(jué),模式識(shí)別原理[6,7]通過(guò)空間點(diǎn)之間的正交投影計(jì)算出各個(gè)三維空間點(diǎn)之間的距離的方法[8]。
Unity 3D中的物體由Unity 3D中內(nèi)置的Mesh.Vertices索引數(shù)組組成的三角形構(gòu)成[9](如圖1所示)。所選物體的頂點(diǎn)列表獲取形式如下所示,
Mesh Filter mf=this. game Object. Get Component
List
int vertice Count=mf. mesh.vertices. Length;
for(int vertice Index=0; vertice Index {Vertice List. Add(mf. mesh. vertices[vertice Index]); } 獲取所選物體的數(shù)字索引數(shù)組,即與三角形三維坐標(biāo)點(diǎn)對(duì)應(yīng)的數(shù)字?jǐn)?shù)組(如圖2所示)實(shí)現(xiàn)代碼如下: List int triangle Count=mf. mesh. Triangles.Length; for(int triangle Index=0; triangle Index {Triangle List. Add(mf. Mesh. triangles[triangle Index]); } 為進(jìn)行距離測(cè)量,團(tuán)隊(duì)通過(guò)循環(huán)程序在Unity 3D中遍歷頂點(diǎn)坐標(biāo),確定各頂點(diǎn)之間的位置關(guān)系,進(jìn)而確定構(gòu)件之間的距離及管線的直徑等信息。 圖1 物體在Unity3D中的組成方式 圖2 數(shù)學(xué)數(shù)組與三角形頂點(diǎn)對(duì)應(yīng)關(guān)系 (a)平行 (b)異面 (c)異面垂直圖3 管線間位置關(guān)系 本研究通過(guò)兩次投影實(shí)現(xiàn)復(fù)雜情況下管線間距的測(cè)量,將物體頂點(diǎn)列表在兩個(gè)互相垂直的平面上分別投影,隨后與上文頂點(diǎn)列表對(duì)比得到投影后的頂點(diǎn)坐標(biāo),在此過(guò)程將第一次投影的投影面法向量所在平面為第二次投影的平面,確保兩次投影相互垂直。進(jìn)而篩選兩次投影后的點(diǎn),根據(jù)第二次投影面比較得到x,y,z最大值、最小值,求出數(shù)組中最短距離并在UI面顯示,由此實(shí)現(xiàn)管線直徑和管線距離的自動(dòng)測(cè)量。 在確定管線直徑時(shí),團(tuán)隊(duì)利用圖形學(xué)原理對(duì)管線進(jìn)行剖切,利用剖切面上產(chǎn)生的組成管線數(shù)組,搜索全部組成單個(gè)管線的三角形頂點(diǎn)信息,抽取數(shù)值最大的兩個(gè)頂點(diǎn),將其距離作為管線直徑,再搜索物體頂點(diǎn)信息,將數(shù)值最小的距離作為管線與其他物體之間的距離。在管線排布設(shè)計(jì)中,由于管線排布錯(cuò)綜復(fù)雜,無(wú)法通過(guò)上述方法實(shí)現(xiàn)管線間距離信息化,為此通過(guò)對(duì)管線排布情況的分析,應(yīng)用兩次投影的方法實(shí)現(xiàn)了復(fù)雜排布情況距離測(cè)量,進(jìn)而為現(xiàn)場(chǎng)的安裝工程活動(dòng)服務(wù)。 在工程應(yīng)用中管線間的位置關(guān)系通常按照其中心線在空間的關(guān)系判斷,由于實(shí)際工程管線間不會(huì)出現(xiàn)相交的情況,則只存在平行和異面兩種位置關(guān)系,其中互為異面的管線夾角為90°時(shí),為異面垂直關(guān)系,如圖3 所示。對(duì)于平行管線應(yīng)用垂直于管線剖切的方法進(jìn)行位置、直徑測(cè)量; 對(duì)于異面關(guān)系的管線距離則計(jì)算其公垂線長(zhǎng)度,將其轉(zhuǎn)化為求平行平面間的距離。因此可以將管線投影在某個(gè)面上來(lái)達(dá)到互相平行的目的,隨后將兩構(gòu)件間距離轉(zhuǎn)化為兩點(diǎn)間距離,實(shí)現(xiàn)此類構(gòu)件的距離測(cè)量。 為實(shí)現(xiàn)各種排布形式管線的自動(dòng)測(cè)距,需要對(duì)管線及各管件模型頂點(diǎn)在不同平面進(jìn)行兩次投影。 首次投影的平面選擇與當(dāng)前相機(jī)相平行的平面,利用當(dāng)前窗口所在的相機(jī)的前方向向量作為首次投影面的法向量,確定首次投影面,取模型上各頂點(diǎn)的三維坐標(biāo),通過(guò)遍歷頂點(diǎn)列表,使用式1求解投影后的頂點(diǎn)坐標(biāo)。 (1) 注: (X0,Y0,Z0)為模型三維坐標(biāo); (Xi,Yi,Zi)為頂點(diǎn)列表三維坐標(biāo); (Xn,Yn,Zn)為投影面法向量; (X,Y,Z)為待求解的投影后頂點(diǎn)坐標(biāo)。 在對(duì)首次投影后的頂點(diǎn)進(jìn)行第二次投影前,需要先將模型的上方向向量投影到與相機(jī)所在平行的面上,從而得到第二次投影面的法向量,以此保證兩次投影的投影面互為垂直關(guān)系。技術(shù)人員通常多在俯視圖下查看管線的排布信息,此時(shí)只需將模型的上方向向量中Y軸的坐標(biāo)值取為0,得到第二次投影面的法向量。最后,通過(guò)遍歷首次投影后得到的頂點(diǎn)列表,運(yùn)用式1同樣將頂點(diǎn)投影到兩次投影面上。經(jīng)過(guò)兩次投影后,所有的頂點(diǎn)坐標(biāo)都位于同一直線。通過(guò)對(duì)需要測(cè)距的目標(biāo)管線進(jìn)行兩次投影處理后,依次獲得所有管線的頂點(diǎn)列表,通過(guò)遍歷頂點(diǎn)列表,計(jì)算出兩兩之間的最短距離,實(shí)現(xiàn)管線自動(dòng)測(cè)距。 通過(guò)對(duì)最短距離兩端點(diǎn)坐標(biāo)的返回值,捕捉世界坐標(biāo)下的位置生成兩側(cè)標(biāo)注線,然后在UI界面上顯示最短距離的連線并對(duì)距離進(jìn)行標(biāo)注。在距離可視化的設(shè)計(jì)中要使用GUI[10],其目的是為了動(dòng)態(tài)更新劃線距離的顯示。 通過(guò)功能實(shí)現(xiàn)的原理分析和簡(jiǎn)單工程的案例應(yīng)用,已證明通過(guò)兩次投影方法所測(cè)得的管線排布信息在終端的共享功能和自動(dòng)測(cè)距是可行的,自動(dòng)測(cè)距與傳統(tǒng)信息提取對(duì)比如圖4所示。 (a)傳統(tǒng)管線距離測(cè)量 圖4(a)是傳統(tǒng)的管線距離測(cè)量顯示,圖4(b)為管線距離自動(dòng)測(cè)距顯示。以Revit軟件為例,傳統(tǒng)測(cè)距在選擇管線過(guò)程時(shí)需要使用對(duì)齊工具選擇每個(gè)管線的邊,有時(shí)因?yàn)楣芫€遮擋的原因,需要選擇多個(gè)窗口進(jìn)行操作,再通過(guò)不斷地點(diǎn)擊Tab鍵選擇邊線,如需測(cè)量數(shù)量較多的管線距離時(shí),傳統(tǒng)測(cè)量過(guò)程效率低下。而使用自動(dòng)測(cè)距功能時(shí),可直接點(diǎn)擊兩個(gè)管線,或者通過(guò)框選選擇多個(gè)管線進(jìn)行測(cè)量,提高工作效率。 本研究以青島市應(yīng)急備用醫(yī)院的機(jī)電管綜模型為對(duì)象進(jìn)行成果驗(yàn)證。通過(guò)應(yīng)用BIM云平臺(tái)的自動(dòng)測(cè)距功能及時(shí)獲取管線排布信息,從而使工作人員可以便捷快速地提取查看信息,從對(duì)管線的工廠預(yù)制加工和現(xiàn)場(chǎng)的定位、開孔、安裝進(jìn)行更加快速精確的指導(dǎo)。具體實(shí)現(xiàn)步驟及效果如下:進(jìn)入BIM云平臺(tái),載入機(jī)電BIM模型,使用云平臺(tái)中的測(cè)量按鈕,框選要進(jìn)行測(cè)量的管線,即可顯示管線距離。BIM云平臺(tái)自動(dòng)測(cè)距功能及距離顯示效果如圖5所示。 通過(guò)對(duì)本工程分別使用BIM云平臺(tái)自動(dòng)測(cè)距功能及Revit傳統(tǒng)測(cè)量功能兩種方式進(jìn)行測(cè)量對(duì)比,從測(cè)量效率、數(shù)據(jù)準(zhǔn)確性及數(shù)據(jù)直觀性三個(gè)方面體現(xiàn)自動(dòng)測(cè)距功能的優(yōu)勢(shì),具體過(guò)程及結(jié)果對(duì)比如表1所示。 表1 Revit測(cè)量及云BIM平臺(tái)自動(dòng)測(cè)量對(duì)比 圖5 BIM云平臺(tái)自動(dòng)測(cè)距功能 圖6 Revit測(cè)量過(guò)程出現(xiàn)的問(wèn)題 本文分析了傳統(tǒng)BIM軟件在管線信息提取過(guò)程中存在的問(wèn)題,提出兩次投影的測(cè)量方法,在基于Unity3D的BIM云平臺(tái)中開發(fā)了管線的自動(dòng)提取功能。主要?dú)w納如下: (1)通過(guò)將兩次投影方法運(yùn)用到管線距離測(cè)量,實(shí)現(xiàn)了對(duì)復(fù)雜管線排布信息的自動(dòng)測(cè)量功能,提高了現(xiàn)場(chǎng)施工人員的工作效率; (2)通過(guò)兩次投影及測(cè)量原理的分析,使程序能正確地識(shí)別管線距離,避免了因人工測(cè)量過(guò)程中的失誤造成誤差,保證了測(cè)量數(shù)據(jù)的準(zhǔn)確性; (3)通過(guò)程序設(shè)計(jì)及開發(fā),在BIM云平臺(tái)中實(shí)現(xiàn)了管線排布信息的可視化,更加直觀地展示管線的位置信息。2 距離測(cè)量實(shí)現(xiàn)方法
2.1 管件直徑和距離測(cè)量實(shí)現(xiàn)方法
2.2 管件排布位置分析方法
2.3 兩次投影方法
2.4 距離可視化設(shè)計(jì)方法
3 功能實(shí)現(xiàn)對(duì)比
4 工程應(yīng)用
5 結(jié)論
——以國(guó)家合成生物技術(shù)創(chuàng)新中心項(xiàng)目為例
——以蘭州奧體中心建設(shè)為例