劉世龍,馬智亮
基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法
劉世龍,馬智亮
(清華大學(xué)土木工程系,北京 100084)
當(dāng)前預(yù)制構(gòu)配件鋼筋骨架質(zhì)量檢查主要依靠人工,存在效率低、容易出錯(cuò)的問(wèn)題。建筑信息模型(BIM)、三維重建等技術(shù)為改進(jìn)預(yù)制構(gòu)配件鋼筋骨架質(zhì)量檢查方法提供可能。運(yùn)用這些技術(shù)時(shí),有必要由鋼筋骨架BIM模型生成可區(qū)分每根鋼筋的點(diǎn)云。為此,提出了語(yǔ)義設(shè)計(jì)點(diǎn)云的概念,并構(gòu)建了基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法。該算法首先從鋼筋骨架BIM模型中提取每根鋼筋并分別存儲(chǔ)于不同的文件,然后對(duì)每根鋼筋所在文件進(jìn)行格式轉(zhuǎn)換,接著生成每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云,最后基于每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云。分別用簡(jiǎn)單鋼筋骨架和復(fù)雜鋼筋骨架對(duì)基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法進(jìn)行實(shí)驗(yàn)驗(yàn)證,結(jié)果表明,該算法能夠自動(dòng)并快速地生成準(zhǔn)確的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云。
鋼筋骨架;質(zhì)量檢查;建筑信息模型;設(shè)計(jì)點(diǎn)云;語(yǔ)義點(diǎn)云
當(dāng)前,我國(guó)建筑業(yè)依然是勞動(dòng)密集型行業(yè),建造方式粗放,難以適應(yīng)我國(guó)經(jīng)濟(jì)發(fā)展要求[1]。為此,需要推進(jìn)建筑工業(yè)化。建筑工業(yè)化的核心包括4個(gè)方面[2]:設(shè)計(jì)標(biāo)準(zhǔn)化,構(gòu)配件生產(chǎn)工廠化,施工機(jī)械化和管理信息化。其中,鋼筋混凝土構(gòu)配件(以下簡(jiǎn)稱“構(gòu)配件”)生產(chǎn)工廠化是建筑工業(yè)化的重要組成部分。在構(gòu)配件生產(chǎn)工廠化中,構(gòu)配件的鋼筋骨架質(zhì)量檢查具有舉足輕重的作用。
根據(jù)規(guī)范[3],構(gòu)配件的鋼筋骨架質(zhì)量檢查內(nèi)容主要包括確認(rèn)其鋼筋型號(hào)、鋼筋數(shù)量和鋼筋間距等是否與設(shè)計(jì)要求一致。目前,對(duì)這些檢查內(nèi)容所采取的方法是,通過(guò)鋼尺測(cè)量或讀取鋼筋上的標(biāo)識(shí)來(lái)檢查鋼筋型號(hào),通過(guò)人工計(jì)數(shù)來(lái)檢查鋼筋數(shù)量,通過(guò)鋼尺測(cè)量來(lái)檢查鋼筋間距,然后與施工圖進(jìn)行對(duì)比??偟膩?lái)說(shuō),當(dāng)前的檢查方法完全依賴人工。由于構(gòu)配件的鋼筋骨架通常比較復(fù)雜,通過(guò)人工進(jìn)行質(zhì)量檢查存在效率低、容易出現(xiàn)錯(cuò)誤等問(wèn)題。
BIM、三維重建等技術(shù)的發(fā)展為改進(jìn)當(dāng)前構(gòu)配件鋼筋骨架(以下簡(jiǎn)稱“鋼筋骨架”)質(zhì)量檢查現(xiàn)狀提供了可能,即通過(guò)三維重建等技術(shù)獲得鋼筋骨架的實(shí)際狀況,再與代表設(shè)計(jì)要求的BIM模型進(jìn)行對(duì)比,從而給出質(zhì)量檢查結(jié)果。在運(yùn)用這些技術(shù)時(shí),一方面需要根據(jù)三維重建等技術(shù)獲取鋼筋骨架的實(shí)際點(diǎn)云,另一方面需要從BIM模型獲取鋼筋骨架的設(shè)計(jì)點(diǎn)云,然后將實(shí)際點(diǎn)云與設(shè)計(jì)點(diǎn)云進(jìn)行對(duì)比,以檢查鋼筋骨架質(zhì)量。
獲取鋼筋骨架實(shí)際點(diǎn)云可以借助當(dāng)前研究中獲取建筑及其部件實(shí)際點(diǎn)云的方法。MANI等[4]利用特定的算法對(duì)建筑施工場(chǎng)地的多幅圖像進(jìn)行處理,生成建筑施工場(chǎng)地的實(shí)際點(diǎn)云,然后將該實(shí)際點(diǎn)云與建筑BIM模型對(duì)比,得到建筑場(chǎng)地建造進(jìn)度。KIM等[5]利用三維激光掃描儀獲取建筑的實(shí)際點(diǎn)云,然后將該實(shí)際點(diǎn)云與由該建筑BIM模型生成的設(shè)計(jì)點(diǎn)云進(jìn)行對(duì)比,得到建筑的建造進(jìn)度。當(dāng)前研究中使用的獲取建筑及其部件實(shí)際點(diǎn)云的方法可分為2類:①用特定的算法對(duì)建筑及其部件的圖像進(jìn)行處理以生成實(shí)際點(diǎn)云;②使用三維激光掃描儀獲取實(shí)際點(diǎn)云,2類方法均較為成熟,因此可以直接用于獲取鋼筋骨架實(shí)際點(diǎn)云。然而,上述研究對(duì)BIM模型生成設(shè)計(jì)點(diǎn)云的方法,并未有專門描述。
其他少數(shù)研究的研究者對(duì)從BIM模型生成設(shè)計(jì)點(diǎn)云的方法進(jìn)行了專門描述。BOSCHé等[6]基于從虛擬激光掃描儀向BIM模型投射射線從而計(jì)算點(diǎn)云中點(diǎn)坐標(biāo)的原理,模擬實(shí)際激光掃描儀生成設(shè)計(jì)點(diǎn)云。在模擬時(shí)要求虛擬激光掃描儀的掃描位置和分辨率與實(shí)際激光掃描儀相同。REBOLJ等[7]在開(kāi)源軟件HeliOS中用虛擬激光掃描儀掃描設(shè)計(jì)模型,從而獲取設(shè)計(jì)點(diǎn)云。在具體操作時(shí),虛擬激光掃描儀的4個(gè)參數(shù)要求與實(shí)際激光掃描儀相同,即掃描儀沿著軌道移動(dòng)的速度、采樣頻率、深度準(zhǔn)確性和激光束角度偏差。KIM等[8]提出從CAD模型生成設(shè)計(jì)點(diǎn)云的方法。首先,將CAD模型存儲(chǔ)為STL格式的文件,然后根據(jù)該文件中的三角面片生成設(shè)計(jì)點(diǎn)云。然而,以上BIM模型生成設(shè)計(jì)點(diǎn)云的方法均需要繁瑣的人工操作。此外,這些方法生成的設(shè)計(jì)點(diǎn)云僅包含三維坐標(biāo)分量信息。如果直接利用這些設(shè)計(jì)點(diǎn)云進(jìn)行鋼筋骨架質(zhì)量檢查,需要經(jīng)過(guò)手工或繁瑣的算法從設(shè)計(jì)點(diǎn)云提取每根鋼筋設(shè)計(jì)點(diǎn)云等步驟,給鋼筋骨架質(zhì)量檢查帶來(lái)困難。
為此,本文提出了語(yǔ)義設(shè)計(jì)點(diǎn)云的概念,其不僅包含三維坐標(biāo)分量信息,還包含語(yǔ)義信息。由此可以避免利用設(shè)計(jì)點(diǎn)云進(jìn)行鋼筋骨架質(zhì)量檢查所出現(xiàn)的麻煩。然后,以此為基礎(chǔ)提出一種基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法。
本文將首先介紹語(yǔ)義設(shè)計(jì)點(diǎn)云的概念,然后介紹基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法的框架,接著對(duì)算法中的關(guān)鍵步驟進(jìn)行介紹,包括每根鋼筋實(shí)體模型的抽取及導(dǎo)出、鋼筋語(yǔ)義設(shè)計(jì)點(diǎn)云生成等,最后通過(guò)實(shí)驗(yàn)驗(yàn)證本算法的可行性。
利用本文算法生成的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云,可以有效降低鋼筋骨架質(zhì)量檢查的難度。此外,該算法具有一般性,不僅可以用于生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云,也可以用于生成建筑及其構(gòu)件的語(yǔ)義設(shè)計(jì)點(diǎn)云,這將為建筑建造進(jìn)度監(jiān)測(cè)、建筑構(gòu)件質(zhì)量檢查等應(yīng)用提供便利。
語(yǔ)義設(shè)計(jì)點(diǎn)云是設(shè)計(jì)點(diǎn)云的一種,其不僅包含設(shè)計(jì)點(diǎn)云的全部信息,還包括語(yǔ)義信息。由于設(shè)計(jì)點(diǎn)云僅包含三維坐標(biāo)分量信息,所以可用(,,)表示其包含的任意一個(gè)點(diǎn)。其中,,和分別是三維坐標(biāo)分量的值。相對(duì)地,語(yǔ)義設(shè)計(jì)點(diǎn)云中的任意一個(gè)點(diǎn)可以用(,,,)表示。其中,為該點(diǎn)的語(yǔ)義信息,其取值可以是該點(diǎn)所屬圖元的ID,也可是該點(diǎn)所屬圖元的類別,例如墻、桌子等。通常,的值可以從設(shè)計(jì)模型獲取。
如果設(shè)計(jì)點(diǎn)云包含語(yǔ)義信息,則根據(jù)點(diǎn)的信息可以快速判斷該點(diǎn)屬于哪個(gè)圖元或者屬于哪個(gè)類別的圖元,從而可以快速提取屬于某個(gè)圖元或某一類別圖元的所有點(diǎn)。
具體地,對(duì)于鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云,由于各點(diǎn)所屬圖元的類別均是鋼筋,所以,選擇鋼筋圖元的ID(以下簡(jiǎn)稱“鋼筋I(lǐng)D”)作為各點(diǎn)的語(yǔ)義信息。
為了自動(dòng)生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云,需要解決2個(gè)問(wèn)題:①如何生成帶有語(yǔ)義信息的鋼筋骨架設(shè)計(jì)點(diǎn)云;②如何自動(dòng)地生成該語(yǔ)義設(shè)計(jì)點(diǎn)云。這2個(gè)問(wèn)題也是技術(shù)難點(diǎn)。針對(duì)問(wèn)題①的解決思路是,從鋼筋骨架BIM模型中將每根鋼筋單獨(dú)提取出來(lái),分別進(jìn)行處理獲得對(duì)應(yīng)的點(diǎn)云,再附加鋼筋I(lǐng)D信息,得到每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云,最后經(jīng)整合生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云。針對(duì)問(wèn)題②的解決思路是,通過(guò)編寫程序或自動(dòng)調(diào)用其他軟件的方式實(shí)現(xiàn)語(yǔ)義設(shè)計(jì)點(diǎn)云生成的自動(dòng)化。在這些思路的基礎(chǔ)上,本文建立了鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法框架,如圖1所示。
圖1 算法框架
該算法首先,從鋼筋骨架BIM模型抽取每根鋼筋的實(shí)體模型,并分別將其導(dǎo)出至單獨(dú)的文件中。然后,對(duì)這些文件進(jìn)行格式轉(zhuǎn)換,以獲取易于轉(zhuǎn)換為點(diǎn)云的網(wǎng)格模型文件格式。接著,根據(jù)每根鋼筋的網(wǎng)格模型,分別生成每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云。最后,對(duì)每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云進(jìn)行整合,即可得到鋼筋骨架的語(yǔ)義設(shè)計(jì)點(diǎn)云。
相比于當(dāng)前從BIM模型生成設(shè)計(jì)點(diǎn)云的算法,該算法能夠生成含有語(yǔ)義信息的設(shè)計(jì)點(diǎn)云,而不僅僅是設(shè)計(jì)點(diǎn)云。此外,該算法各個(gè)步驟均通過(guò)編寫程序或調(diào)用其他軟件自動(dòng)實(shí)現(xiàn),無(wú)需人工參與。
因?yàn)槟壳霸诠こ躺现饕褂妹绹?guó)Autodesk公司的Revit軟件建立BIM模型,所以本文將針對(duì)由Revit建立的BIM模型建立算法,并通過(guò)對(duì)Revit進(jìn)行二次開(kāi)發(fā)獲得相應(yīng)的程序。需要說(shuō)明的是,本算法框架完全可以應(yīng)用于由其他軟件建立的BIM模型。
不失一般性地,本文接下來(lái)將僅考慮墻體構(gòu)件BIM模型中鋼筋骨架的BIM模型。在由Revit建立墻體構(gòu)件BIM模型時(shí),鋼筋骨架通過(guò)輸入相關(guān)參數(shù)生成,且依附于墻體。
以下分別說(shuō)明基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法關(guān)鍵步驟。
本步驟將鋼筋骨架BIM模型中每根鋼筋的實(shí)體模型分別導(dǎo)出至獨(dú)立的文件中,同時(shí)給每個(gè)文件關(guān)聯(lián)對(duì)應(yīng)的鋼筋I(lǐng)D信息。
在Revit中,BIM模型是以實(shí)體模型形式存在的(文件格式為rvt),但其提供了導(dǎo)出為網(wǎng)格模型的功能,即導(dǎo)出為fbx格式的文件。fbx格式的文件以三角面片的形式表示網(wǎng)格模型,便于轉(zhuǎn)換為點(diǎn)云,所以本文選擇該格式文件作為導(dǎo)出文件。fbx是一種三維數(shù)據(jù)存儲(chǔ)文件格式,廣泛應(yīng)用于Autodesk公司旗下產(chǎn)品間的數(shù)據(jù)交換[9]。需要說(shuō)明的是,fbx格式文件中三角面片的大小由Revit定義,無(wú)需用戶指定。
由于從Revit中導(dǎo)出fbx文件時(shí),要求當(dāng)前視圖必須為三維視圖。所以本步驟在Revit的三維視圖中完成,即在使用本步驟的算法前,先將Revit的視圖切換至三維視圖。此外,在三維視圖下導(dǎo)出fbx文件時(shí),會(huì)將三維視圖中所有可見(jiàn)圖元導(dǎo)出至fbx文件。因此,在將每根鋼筋導(dǎo)出至fbx文件時(shí),有必要通過(guò)編程設(shè)置其他所有圖元在三維視圖中不可見(jiàn),只保留該鋼筋在三維視圖中可見(jiàn)。
每根鋼筋實(shí)體模型的抽取及導(dǎo)出的各子步驟如圖2所示。在本步驟中,設(shè)置所有圖元為不可見(jiàn)子步驟僅執(zhí)行一次,設(shè)置鋼筋為可見(jiàn)、輸出fbx文件和設(shè)置鋼筋為不可見(jiàn)3個(gè)子步驟對(duì)每根鋼筋均執(zhí)行一次。
圖2 每根鋼筋實(shí)體模型的抽取及導(dǎo)出步驟中的各子步驟
3.1.1 設(shè)置所有圖元為不可見(jiàn)
本子步驟,首先提取BIM模型中的墻體,并設(shè)置其在三維視圖中不可見(jiàn)。其次,提取BIM模型中墻體的鋼筋,并把其加入集合中。最后,將集合中的所有鋼筋設(shè)置為在三維視圖中不可見(jiàn)。
其中,提取墻體或鋼筋通過(guò)Revit二次開(kāi)發(fā)接口的FilteredElementCollector類實(shí)現(xiàn),圖元在三維視圖中不可見(jiàn)通過(guò)HideElements函數(shù)實(shí)現(xiàn)。
3.1.2 設(shè)置鋼筋為可見(jiàn)
因?yàn)樯弦蛔硬襟E設(shè)置所有圖元在三維視圖中不可見(jiàn),所以為了將集合中某根鋼筋輸出至fbx文件,需要將其設(shè)置為在三維視圖中可見(jiàn)。
設(shè)置鋼筋在三維視圖中可見(jiàn),需通過(guò)Revit二次開(kāi)發(fā)接口的UnhideElements函數(shù)實(shí)現(xiàn)。
3.1.3 導(dǎo)出fbx文件
為實(shí)現(xiàn)fbx文件與鋼筋語(yǔ)義信息的關(guān)聯(lián),將鋼筋輸出至fbx文件時(shí),將該fbx文件命名為“ID.fbx”。其中ID為鋼筋在該BIM模型中的全局唯一編碼,該ID在鋼筋創(chuàng)建時(shí)由Revit自動(dòng)生成。集合中每根鋼筋均被導(dǎo)出至各自的fbx文件,這些文件位于同一個(gè)文件夾內(nèi)。
導(dǎo)出fbx文件通過(guò)Revit二次開(kāi)發(fā)接口Document類的Export函數(shù)實(shí)現(xiàn)。該函數(shù)能夠?qū)⑷S視圖中所有可見(jiàn)圖元導(dǎo)出至同一個(gè)fbx文件中。由于在本步驟中,只有單根鋼筋在三維視圖中可見(jiàn),所以導(dǎo)出的fbx文件只含有該根鋼筋。
3.1.4 設(shè)置鋼筋為不可見(jiàn)
將當(dāng)前鋼筋輸出至fbx文件后,為了不影響后續(xù)其他鋼筋輸出至fbx文件,需要在三維視圖中將當(dāng)前鋼筋設(shè)置為不可見(jiàn)。
在三維視圖設(shè)置鋼筋為不可見(jiàn)所用的函數(shù)已經(jīng)在3.1.1節(jié)說(shuō)明,這里不再贅述。
每根鋼筋實(shí)體模型的抽取及導(dǎo)出步驟對(duì)應(yīng)的算法偽代碼如下:
輸入:鋼筋骨架BIM模型;
輸出:每根鋼筋的fbx文件。
符號(hào)說(shuō)明:C,鋼筋骨架BIM模型中墻體的集合;C,鋼筋骨架BIM模型中鋼筋的集合;,C中的一根鋼筋。
雖然fbx格式的文件以網(wǎng)格模型存儲(chǔ)鋼筋骨架,但為了通過(guò)現(xiàn)有軟件獲得點(diǎn)云,還需要將其轉(zhuǎn)換為另外一種易于轉(zhuǎn)換為點(diǎn)云且存儲(chǔ)網(wǎng)格模型的文件格式,即obj格式。
格式轉(zhuǎn)換步驟的具體做法是,遍歷3.1.3節(jié)文件夾中的每個(gè)fbx文件,并將該文件轉(zhuǎn)換為obj文件,且obj文件與fbx文件的文件名相同。在這里,通過(guò)調(diào)用Assimp軟件進(jìn)行格式轉(zhuǎn)換,因?yàn)锳ssimp軟件可以讀取fbx格式的文件,同時(shí)輸出obj格式的文件。具體來(lái)說(shuō),通過(guò)命令行調(diào)用Assimp軟件的export命令實(shí)現(xiàn)將fbx文件轉(zhuǎn)換為obj文件。
Assimp[10](Open Asset Import Library)是一款開(kāi)源的3D模型格式轉(zhuǎn)換軟件,該軟件可以讀取50余種格式的文件,并生成10余種格式的文件。
本步驟的目的是生成鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云,包含3個(gè)子步驟,如圖3所示。
圖3 鋼筋語(yǔ)義設(shè)計(jì)點(diǎn)云生成步驟的各子步驟
3.3.1 鋼筋點(diǎn)云生成
本子步驟的目的是根據(jù)每根鋼筋的obj文件生成每根鋼筋點(diǎn)云,供后續(xù)子步驟使用。
本文通過(guò)調(diào)用PCL[11](Point Cloud Library)庫(kù)的fromPCLPointCloud2函數(shù)將每根鋼筋obj文件中的網(wǎng)格模型轉(zhuǎn)換為每根鋼筋點(diǎn)云,每根鋼筋點(diǎn)云中的每個(gè)點(diǎn)用(,,,)表示,各符號(hào)的意義同第1節(jié)。在本子步驟中,每個(gè)點(diǎn)的值尚為空。
PCL是一款開(kāi)源的點(diǎn)云處理類庫(kù),提供點(diǎn)云的讀取輸出、配準(zhǔn)、分割等功能函數(shù)。
3.3.2 語(yǔ)義信息添加
本子步驟的目的是,對(duì)每根鋼筋點(diǎn)云中的每個(gè)點(diǎn)添加語(yǔ)義信息。
具體做法是,遍歷每根鋼筋點(diǎn)云中的每個(gè)點(diǎn),然后將每個(gè)點(diǎn)的值修改為obj文件名中的ID,即得到每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云。
3.3.3 單位轉(zhuǎn)換
由于fbx文件使用Revit中的系統(tǒng)單位[12],所以fbx文件中的長(zhǎng)度單位是英尺。在格式轉(zhuǎn)換步驟和語(yǔ)義設(shè)計(jì)點(diǎn)云生成步驟的前2個(gè)子步驟中,不涉及長(zhǎng)度單位的轉(zhuǎn)換,因此目前得到的單根鋼筋點(diǎn)云的長(zhǎng)度單位是英尺??紤]到以英尺為長(zhǎng)度單位不符合我國(guó)實(shí)際應(yīng)用情況,需要將點(diǎn)云的長(zhǎng)度單位由英尺轉(zhuǎn)換為毫米。
單位轉(zhuǎn)換的具體做法是,遍歷每根鋼筋語(yǔ)義設(shè)計(jì)點(diǎn)云中的每一個(gè)點(diǎn),將其3個(gè)坐標(biāo)分量分別擴(kuò)大304.8倍(1英尺等于304.8毫米),即得單位轉(zhuǎn)換后的每根鋼筋語(yǔ)義設(shè)計(jì)點(diǎn)云。
鋼筋語(yǔ)義設(shè)計(jì)點(diǎn)云生成步驟對(duì)應(yīng)的算法偽代碼如下:
輸入:每根鋼筋的obj文件;
輸出:每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云。
符號(hào)說(shuō)明:,中的一個(gè)點(diǎn)。.,的坐標(biāo)分量;.,的坐標(biāo)分量;.,的坐標(biāo)分量;.,的語(yǔ)義信息。
在得到每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云后,需要對(duì)其進(jìn)行整合,以得到鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云。
點(diǎn)云整合的具體做法是,開(kāi)辟新的點(diǎn)云存儲(chǔ)空間,然后遍歷每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云,將每根鋼筋的語(yǔ)義設(shè)計(jì)點(diǎn)云拷貝至該存儲(chǔ)空間,即可實(shí)現(xiàn)點(diǎn)云整合。
每根鋼筋實(shí)體模型的抽取及導(dǎo)出步驟的算法模塊通過(guò)C#編程實(shí)現(xiàn),轉(zhuǎn)換為易于轉(zhuǎn)換為點(diǎn)云的文件格式步驟通過(guò)C++編程實(shí)現(xiàn)自動(dòng)化,鋼筋語(yǔ)義設(shè)計(jì)點(diǎn)云生成步驟和每根鋼筋語(yǔ)義設(shè)計(jì)點(diǎn)云的整合步驟的算法模塊通過(guò)C++編程實(shí)現(xiàn)。以上算法模塊最終集成為一個(gè)Revit插件。
為了驗(yàn)證本文提出算法的可行性、生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云的耗時(shí)以及語(yǔ)義的準(zhǔn)確性,開(kāi)展了相關(guān)實(shí)驗(yàn)。首先,在Revit中建立了鋼筋骨架BIM模型,然后用本文提出的算法對(duì)該BIM模型進(jìn)行處理,并記錄處理時(shí)間,從而得到生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云的耗時(shí)。然后,以不同顏色可視化該點(diǎn)云中不同語(yǔ)義的點(diǎn),以相同顏色可視化該點(diǎn)云中相同語(yǔ)義的點(diǎn),從而驗(yàn)證語(yǔ)義的準(zhǔn)確性。根據(jù)生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云的耗時(shí)以及語(yǔ)義的準(zhǔn)確性,即可判斷該算法的可行性。
本實(shí)驗(yàn)在Revit中建立了如圖4所示的鋼筋骨架。各鋼筋骨架的詳細(xì)信息見(jiàn)表1。
表1 簡(jiǎn)單鋼筋骨架和復(fù)雜鋼筋骨架的詳細(xì)信息
實(shí)驗(yàn)所用的筆記本電腦的配置為:Intel Core i7 4核CPU,16 G內(nèi)存。
用基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法分別對(duì)簡(jiǎn)單鋼筋骨架和復(fù)雜鋼筋骨架進(jìn)行處理,生成的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云分別有12.2萬(wàn)個(gè)點(diǎn)和49.4萬(wàn)個(gè)點(diǎn),如圖5(a)和(b)所示。在生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云的過(guò)程中,基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法耗時(shí)見(jiàn)表2。
圖5 語(yǔ)義設(shè)計(jì)點(diǎn)云((a)簡(jiǎn)單鋼筋骨架;(b)復(fù)雜鋼筋骨架)
表2 算法耗時(shí)統(tǒng)計(jì)
鋼筋骨架由簡(jiǎn)單到復(fù)雜,體現(xiàn)在整體尺寸變大和鋼筋根數(shù)增多,二者的結(jié)果使得鋼筋總長(zhǎng)度變大。隨著鋼筋骨架越來(lái)越復(fù)雜,即鋼筋總長(zhǎng)度越來(lái)越長(zhǎng),本文提出的基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法的耗時(shí)會(huì)逐漸增加。對(duì)于實(shí)際的鋼筋骨架BIM模型,其整體尺寸與本實(shí)驗(yàn)所用復(fù)雜鋼筋骨架近似,鋼筋根數(shù)比本實(shí)驗(yàn)所用復(fù)雜鋼筋骨架多,使得其鋼筋總長(zhǎng)度比本實(shí)驗(yàn)所用復(fù)雜鋼筋骨架的鋼筋總長(zhǎng)度長(zhǎng),但算法耗時(shí)并非呈幾何倍數(shù)增長(zhǎng),所以不存在算法耗時(shí)過(guò)長(zhǎng)的問(wèn)題。
為了驗(yàn)證基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法在語(yǔ)義方面的正確性,本文實(shí)驗(yàn)對(duì)簡(jiǎn)單鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云中不同語(yǔ)義的點(diǎn)賦予不同的顏色,相同語(yǔ)義的點(diǎn)賦予相同顏色,所得簡(jiǎn)單鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云如圖6(a)所示,整個(gè)過(guò)程通過(guò)編程實(shí)現(xiàn)。對(duì)復(fù)雜鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云進(jìn)行同樣操作,結(jié)果如圖6(b)所示。
圖6 彩色語(yǔ)義設(shè)計(jì)點(diǎn)云((a)簡(jiǎn)單鋼筋骨架;(b)復(fù)雜鋼筋骨架)
從圖6可以看出,本文提出的基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法能夠自動(dòng)地生成鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云,且速度較快,語(yǔ)義信息準(zhǔn)確無(wú)誤。因此,可以將該算法用于生成鋼筋骨架的語(yǔ)義設(shè)計(jì)點(diǎn)云,從而提高鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云生成的效率,并降低鋼筋骨架質(zhì)量檢查的難度。
運(yùn)用BIM、三維重建等技術(shù)進(jìn)行構(gòu)配件鋼筋骨架質(zhì)量檢查時(shí),由鋼筋骨架BIM模型生成可區(qū)分每鋼筋的設(shè)計(jì)點(diǎn)云必不可少。為此,提出了語(yǔ)義設(shè)計(jì)點(diǎn)云的概念,并以此為基礎(chǔ)提出了基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法,對(duì)該算法進(jìn)行了介紹。結(jié)果表明,基于BIM的鋼筋骨架語(yǔ)義設(shè)計(jì)點(diǎn)云自動(dòng)生成算法能夠自動(dòng)生成鋼筋骨架的語(yǔ)義設(shè)計(jì)點(diǎn)云,且耗時(shí)不長(zhǎng)。該算法的提出,將有助于運(yùn)用新技術(shù)提高構(gòu)配件鋼筋骨架質(zhì)量檢查的效率和可靠性。
[1] 程小紅. 智能建造與建筑工業(yè)化協(xié)同發(fā)展建筑業(yè)轉(zhuǎn)型升級(jí)瞄準(zhǔn)新路徑[EB/OL]. [2021-02-23]. http://www.chinajsb.cn/ html/202008/17/12812.html.
CHENG X H. The coordinated development of intelligent construction and construction industrialization, the transformation and upgrading of the construction industry, aiming at a new path [EB/OL]. [2021-02-23]. http://www. chinajsb.cn/html/202008/17/12812.html (in Chinese).
[2] 王俊, 趙基達(dá), 胡宗羽. 我國(guó)建筑工業(yè)化發(fā)展現(xiàn)狀與思考[J]. 土木工程學(xué)報(bào), 2016, 49(5): 1-8.
WANG J, ZHAO J D, HU Z Y. Review and thinking on development of building industrialization in China[J]. China Civil Engineering Journal, 2016, 49(5): 1-8 (in Chinese).
[3] 中國(guó)建筑標(biāo)準(zhǔn)設(shè)計(jì)研究院, 等. JGJ 1-2014 裝配式混凝土結(jié)構(gòu)技術(shù)規(guī)程[S]. 北京: 中國(guó)建筑工業(yè)出版社, 2014: 56-57.
China Institute of Building Standard Design & Research, et al. JGJ 1-2014 Technical specification for precast concrete structures[S]. Beijing: China Building Industry Press, 2014: 56-57 (in Chinese).
[4] MANI G F, FENIOSKY P M, SAVARESE S. D4AR-A 4-dimensional augmented reality model for automating construction progress monitoring data collection, processing and communication[J]. Electronic Journal of Information Technology in Construction, 2009, 14: 129-153.
[5] KIM C, SON H, KIM C. Automated construction progress measurement using a 4D building information model and 3D data[J]. Automation in Construction, 2013, 31: 75-82.
[6] BOSCHé F, AHMED M, TURKAN Y, et al. The value of integrating Scan-to-BIM and Scan-vs-BIM techniques for construction monitoring using laser scanning and BIM: the case of cylindrical MEP components[J]. Automation in Construction, 2015, 49: 201-213.
[7] REBOLJ D, PU?KO Z, BABI? N ?, et al. Point cloud quality requirements for Scan-vs-BIM based automated construction progress monitoring[J]. Automation in Construction, 2017, 84: 323-334.
[8] KIM C, LEE J, CHO M, et al. Fully automated registration of 3D CAD model with point cloud from construction site[C]// 28th International Symposium on Automation and Robotics in Construction. Korea: ISARC Press, 2011: 917-922.
[9] Autodesk. FBX overview [EB/OL]. [2021-02-23]. https://www. autodesk.com/products/fbx/overview.
[10] KIM K. The Open-Asset-Importer-Lib [EB/OL]. [2021-02-23]. https://www.assimp.org/.
[11] RUSU R B, COUSINS S. Point Cloud Library [EB/OL]. [2021-02-23]. https://pointclouds.org/.
[12] Autodesk. 何為Revit的內(nèi)部單位系統(tǒng)?[EB/OL]. [2021-02-23]. https://reurl.cc/ra5pWE.
Autodesk. What is Revit's internal unit system? [EB/OL]. [2021-02-23]. https://reurl.cc/ra5pWE (in Chinese).
BIM-based algorithm for automatic generation of semantic as-designed point cloud of reinforcement skeleton
LIU Shi-long, MA Zhi-liang
(Department of Civil Engineering, Tsinghua University, Beijing 100084, China)
At present, the quality inspection of the reinforcement skeleton of prefabricated components mainly relies on manual labor, which is time-consuming and error-prone. BIM (building information model), 3D reconstruction and other technologies provide the possibility of improving the quality inspection method of the reinforcement skeleton of the prefabricated components. When using these technologies, it is necessary to generate a point cloud that can distinguish each steel bar from the BIM model of the reinforcement skeleton. Therefore, the concept of the semantic as-designed point cloud was proposed, and a BIM-based algorithm for automatic generation of the semantic as-designed point cloud of reinforcement skeleton was built. First, the algorithm extracts each steel bar from a BIM model and stores them in separate files. Then, the format of these files is converted, and the semantic as-designed point cloud of each steel bar is generated. Finally, a semantic as-designed point cloud of the reinforcement skeleton is generated based on the semantic as-designed point cloud of each steel bar. The algorithm was experimentally verified with a simple reinforcement skeleton and a complex reinforcement skeleton respectively. The result shows that the algorithm can automatically and quickly generate an accurate sematic as-designed point cloud of a reinforcement skeleton.
reinforcement skeleton; quality inspection; building information model; as-designed point cloud; semantic point cloud
TP 391
10.11996/JG.j.2095-302X.2021050816
A
2095-302X(2021)05-0816-07
2021-03-02;
2021-05-21
2 March,2021;
21 May,2021
國(guó)家自然科學(xué)基金項(xiàng)目(51678345)
National Natural Science Foundation of China (51678345)
劉世龍(1991–),男,江蘇邳州人,博士研究生。主要研究方向?yàn)橥聊竟こ绦畔⒓夹g(shù)。E-mail:erickrt@163.com
LIU Shi-long (1991–), male, PhD candidate. His main research interest covers IT in civil engineering. E-mail:erickrt@163.com
馬智亮(1963–),男,陜西府谷人,教授,博士。主要研究方向?yàn)橥聊竟こ绦畔⒓夹g(shù)。E-mail:mazl@tsinghua.edu.cn
MA Zhi-liang (1963–), male, professor, Ph.D. His main research interest covers IT in civil engineering. E-mail:mazl@tsinghua.edu.cn