包龍生,安培磊,王 鵬,梁 偉,于 玲
(1.沈陽建筑大學(xué)交通與測繪工程學(xué)院,遼寧 沈陽 110168;2.中建二局第四建筑工程有限公司,天津 300457)
隨著現(xiàn)代橋梁的大規(guī)模建成,橋梁設(shè)計(jì)與建設(shè)處于瓶頸期,同時(shí)橋梁結(jié)構(gòu)在使用過程中,會隨著外界因素的不斷腐蝕、結(jié)構(gòu)材料的逐漸老化以及車輛荷載的不斷作用,橋梁結(jié)構(gòu)出現(xiàn)多種病害,導(dǎo)致橋梁承載能力降低[1]。由此可見,橋梁的管理和維護(hù)工作就顯得尤為重要[2-3],但傳統(tǒng)的橋梁管養(yǎng)技術(shù),有很大的局限性,病害可視化程度低,運(yùn)營維護(hù)人員不能準(zhǔn)確快速地找到橋梁病害位置。為了改善這一現(xiàn)狀,BIM技術(shù)在橋梁安全管理方面得到了深入應(yīng)用[4],但同時(shí)越來越多的研究者認(rèn)為 BIM 應(yīng)用的技術(shù)路線,不應(yīng)該止步于三維可視化的研究,而應(yīng)該進(jìn)一步實(shí)現(xiàn)橋梁多維信息的數(shù)據(jù)共享與交換,以滿足病害信息與橋梁模型信息的融合[5]。B.Mcguire等[6]將橋梁BIM模型與橋梁檢測信息進(jìn)行了關(guān)聯(lián)分析,并對橋梁技術(shù)狀況進(jìn)行評估。慕尼黑工業(yè)大學(xué)的Y.Ji[7]擴(kuò)展了橋梁模塊在IFC標(biāo)準(zhǔn)中的定義方式,豐富了橋梁模型的數(shù)據(jù)格式。
IFC標(biāo)準(zhǔn)不僅僅是利用數(shù)據(jù)模型對數(shù)據(jù)格式的標(biāo)準(zhǔn)進(jìn)行傳遞,而是不同數(shù)據(jù)之間的整合,為病害信息模型與橋梁實(shí)體模型相結(jié)合提供了路徑。IFC標(biāo)準(zhǔn)運(yùn)用Express 語言表達(dá)實(shí)體構(gòu)件信息,實(shí)現(xiàn)模型信息數(shù)據(jù)的存儲與交換[8-9]。目前,多種建模軟件均可對IFC數(shù)據(jù)文件進(jìn)行讀取和輸出,為模型的多平臺數(shù)據(jù)交流搭建了信息渠道[10]。
基于上述分析,筆者在準(zhǔn)確解析IFC數(shù)據(jù)的基礎(chǔ)上,著重利用Express語言的可描述性,總結(jié)一種通用的橋梁安全信息模型的創(chuàng)建方式。研究表明:基于橋梁實(shí)體模型的IFC數(shù)據(jù)文件的結(jié)構(gòu)特征,將病害模型數(shù)據(jù)與原構(gòu)件模型數(shù)據(jù)二次重組,可實(shí)現(xiàn)橋梁信息模型的多平臺可視化和病害信息的準(zhǔn)確表達(dá)。
IFC(Industry Foundation Class)標(biāo)準(zhǔn)在1997年發(fā)布IFC1.0 后,經(jīng)過數(shù)年來的發(fā)展完善,逐漸成為了一套非常完善的數(shù)據(jù)交換共享標(biāo)準(zhǔn)[11-12],目前官方最新的版本是IFC4.2 版。IFC標(biāo)準(zhǔn)促進(jìn)了多方信息模型在統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn)的基礎(chǔ)上進(jìn)行有效的數(shù)據(jù)交互[13-14]。IFC4.1版本用水平和垂直線形的組合作為一種新的幾何表示形式,用于描述基礎(chǔ)設(shè)施的線形。IFC4.2版本擴(kuò)展了橋梁模塊和基礎(chǔ)設(shè)施的空間結(jié)構(gòu),橋梁模塊可以對橋梁構(gòu)件和整體結(jié)構(gòu)有一個準(zhǔn)確的定義和描述,促進(jìn)了BIM技術(shù)在橋梁建設(shè)行業(yè)的發(fā)展和應(yīng)用[15]。
IFC標(biāo)準(zhǔn)的框架體系從功能定義上可以分為資源層、核心層、交互層和領(lǐng)域?qū)?,每個層次都有其固有的信息定義范圍和彼此依存的穩(wěn)定關(guān)系[16-17]。以橋梁結(jié)構(gòu)為例,就構(gòu)件本身屬于領(lǐng)域?qū)?,但?gòu)件本身的多種元素和信息需要通過資源層、核心層和交互層來依次定義。
IFC 標(biāo)準(zhǔn)采用的描述性語言EXPRESS,具有較強(qiáng)的可讀性和編譯性。EXPRESS是一種概念性架構(gòu)語言,為現(xiàn)階段沒有被IFC定義的專業(yè)信息領(lǐng)域提供了多種預(yù)定義類型,如圖1所示。以橋梁結(jié)構(gòu)和病害模型為例,可以通過預(yù)定義的方式,完善IFC標(biāo)準(zhǔn)中的橋梁模塊。
圖1 IFC體系預(yù)定義類型
IFC數(shù)據(jù)文件由頭段和數(shù)據(jù)段兩部分構(gòu)成[18],頭段主要表達(dá)了文件的總體信息以及常規(guī)設(shè)置信息,數(shù)據(jù)段主要表達(dá)模型的屬性信息和幾何信息。
(1)頭段文件
在每一個IFC交換文件都以頭段數(shù)據(jù)作為數(shù)據(jù)段開頭,該段以"HEADER"作為開始代碼,并且以"ENDSEC"作為結(jié)束代碼。文件數(shù)據(jù)有創(chuàng)建時(shí)間、數(shù)據(jù)版本和標(biāo)準(zhǔn)版本等,并且按這一定順序依次出現(xiàn),具體代碼如下:
ISO-10303-21;
HEADER;
* Creation date:Wed Jun 16 10:38:56 2021
* Database version:5507
* Schema:IFC2X3
* Model:DataRepository.ifc
…
FILE_SCHEMA((′IFC2X3′));
ENDSEC;
(2)數(shù)據(jù)段
數(shù)據(jù)段位于頭段之后,是IFC文件的主體部分。該段以"DATA"作為開始代碼,并且以"ENDSEC"作為結(jié)束代碼。
基于Revit2016平臺創(chuàng)建結(jié)構(gòu)項(xiàng)目文件,并導(dǎo)出IFC數(shù)據(jù)文件。在頭段文件已建立成功的基礎(chǔ)上,通過EXPRESS語言定義數(shù)據(jù)文件,以多種定義方式分別對T梁模型的位置信息和幾何信息進(jìn)行表達(dá),相應(yīng)的IFC格式數(shù)據(jù)內(nèi)容如表1所示。
表1 定義方式及IFC數(shù)據(jù)格式
為了確定三維實(shí)體模型的具體位置,設(shè)立三維坐標(biāo)系對模型進(jìn)行定位,坐標(biāo)系可以分為局部坐標(biāo)系和參考坐標(biāo)系。三維坐標(biāo)系中物體的位置信息由位置坐標(biāo),Z軸方向和X軸方向三部分組成確定,其中Y軸方向由Z軸和X軸方向來推導(dǎo)確定。
三維坐標(biāo)系如圖2所示,坐標(biāo)系由ObjectPlacement描述,在數(shù)據(jù)段中坐標(biāo)系存在分層依次參考的情況,在明確各坐標(biāo)系層次關(guān)系的前提下,進(jìn)而確定構(gòu)件最終所在的坐標(biāo)系和坐標(biāo)值。三維T梁構(gòu)件模型的位置由所在的三維參考坐標(biāo)系定義,參考坐標(biāo)系則由上一級參考坐標(biāo)系和局部坐標(biāo)系共同定義,局部坐標(biāo)系對參考坐標(biāo)系的原點(diǎn)位置進(jìn)行了定義,上級考坐標(biāo)系則對Z軸方向和X軸方向進(jìn)行了定義,從而確定了模型構(gòu)件的具體位置。
圖2 三維坐標(biāo)系示意圖
在IFC中,很多橋梁工程中的特殊構(gòu)件缺少信息定義和實(shí)體定義方式;此處以IfcBuildingElementProxy定義T構(gòu)件模型,具體代碼如下:
#6=IFCCARTESIANPOINT((0.,0.,0.));
#31=IFCAXIS2PLACEMENT3D(#6,$,$);
#32=IFCLOCALPLACEMENT(#249,#31);
#104=IFCBUILDING(…,#32,…);
#110=IFCAXIS2PLACEMENT3D(#6,$,$);
#111=IFCLOCALPLACEMENT(#32,#110);
#113=IFCBUILDINGSTOREY(…,#111,…);
#174=
IFCCARTESIANPOINT((1032.,527.,0.));
#176=
IFCAXIS2PLACEMENT3D(#174,$,$);
#177=
IFCLOCALPLACEMENT(#111,#176);
#179=
IFCBUILDINGELEMENTPROXY(…,#177,…);
#248=
IFCAXIS2PLACEMENT3D(#6,$,$);
#249=IFCLOCALPLACEMENT($,#248);
#250=IFCSITE(…,#249,..);
上述代碼對T梁實(shí)體模型所在坐標(biāo)系分層依次定義,定義關(guān)系解析如圖3所示。
圖3 坐標(biāo)屬性示意圖
在已定義的局部坐標(biāo)系里,進(jìn)行T梁橫截面的創(chuàng)建,采用截面定義的方法,即通過連接多個二維坐標(biāo)點(diǎn)(IfcCartesianPoint)形成閉合的平面輪廓線(IfcPolyLine),進(jìn)而定義面片模型。具體描述方式代碼如下:
#123=
IFCCARTESIANPOINT((2000.,-800.));
#125=
IFCCARTESIANPOINT((1850.,-800.));
…
#147=IFCPOLYLINE((#123,#125,#127,#129,#131,#133,#135,#137,#139,#141,#143,#145,#123));
#149=
IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,′tX268814E2D6881X0′,#147);
T梁拉伸實(shí)體模型創(chuàng)建信息如圖4所示。#123~#145依次對T梁橫截面的12個關(guān)鍵點(diǎn)坐標(biāo)值進(jìn)行定義,并且通過IFCPOLYLINE命令形成輪廓線,進(jìn)而編輯#149代碼,形成T梁橫截面。
圖4 T梁拉伸實(shí)體模型創(chuàng)建信息詳圖
拉伸是多種預(yù)定義方式中的一種,對已創(chuàng)建的T梁橫截面(#149)賦予拉伸命令,進(jìn)而形成T梁實(shí)體(IfcExtrudedAreaSolid)。拉伸命令中的參數(shù)包括拉伸方向和拉伸長度,創(chuàng)建方式和參數(shù)信息如圖4所示。具體代碼如下:
#150=
IFCCARTESIANPOINT((-500.,0.,500.));
#152=
IFCAXIS2PLACEMENT3D(#150,#11,#19);
#153=IFCEXTRUDEDAREASOLID
(#149,#152,#19,1000.);
#154=IFCSHAPEREPRESENTATION
(#88,′Body′,′SweptSolid′,(#153));
上述代碼,#154表示T梁的預(yù)定義類型為拉伸(SweptSolid)。#153定義了拉伸實(shí)體的具體信息,其中#149表示拉伸橫截面,#19定義了拉伸方向?yàn)橄蛄?0,0,1)的正方向,#152定義了拉伸的局部坐標(biāo)系,同時(shí)也定義了拉伸長度為1 m。數(shù)據(jù)文件在可視化平臺XbimXplorer,校核成功,T梁模型創(chuàng)建完成。
在橋梁安全信息的表達(dá)過程中,采用邊界定義(BrepModel)的方式對構(gòu)件實(shí)體模型的IFC文件進(jìn)行二次重構(gòu),以準(zhǔn)確的表達(dá)病害的幾何信息和位置信息。筆者以裂縫作為研究對象,對病害幾何特征進(jìn)行二維坐標(biāo)化,并應(yīng)用EXPRESS語言來精確的刻畫病害模型的方法來表達(dá)裂縫位置、長度和深度等相關(guān)信息。
經(jīng)過對病害圖片視覺角度和背景的灰度值調(diào)節(jié),建立xy平面的網(wǎng)格圖。通過加載原圖像;將原圖像在x、y兩個方向上等間距劃分網(wǎng)格,具體網(wǎng)格尺寸,由圖片所呈現(xiàn)的病害尺寸和病害幾何特征共同決定。裂縫二維網(wǎng)格離散圖如圖5所示,以常見病害裂縫為例,圖片所呈現(xiàn)裂縫最小寬度為2.3 mm,因此二維坐標(biāo)集的間隔精度精確至1 mm?;贗FC的數(shù)據(jù)結(jié)構(gòu)特征,以二維網(wǎng)格中某一點(diǎn)為局部坐標(biāo)原點(diǎn),建立局部二維坐標(biāo)系,確定裂縫外表面各點(diǎn)二維坐標(biāo)點(diǎn)值,進(jìn)而可引用到相應(yīng)實(shí)體模型的三維參考坐標(biāo)系中,從而達(dá)到確定裂縫在三維構(gòu)件模型表面具體位置的目的。
圖5 裂縫二維網(wǎng)格離散圖
為了確保病害形狀的真實(shí)性,筆者提出了三維網(wǎng)格分散法,對構(gòu)件進(jìn)行均勻離散化,為三維坐標(biāo)值的確定提供參考依據(jù)。三維網(wǎng)格對混凝土或者其他構(gòu)件進(jìn)行離散化和均勻化的同時(shí),為了確保病害精度要求,其間距要滿足病害相應(yīng)規(guī)范的尺寸要求。
為了滿足規(guī)范要求和提高病害可視度,設(shè)置病害可視化參數(shù)來控制病害幾何尺寸的精度和可視化程度,再通過病害實(shí)際尺寸和可視化參數(shù)計(jì)算來獲取所要建立的三維坐標(biāo)點(diǎn)集的間距尺寸,如圖6所示。
圖6 T梁模型的均勻離散圖
以建好的三維T梁構(gòu)件模型為例,進(jìn)行均勻離散化處理,通過二維平面坐標(biāo)點(diǎn)集間隔距離,由式(1)可計(jì)算得到三維空間坐標(biāo)點(diǎn)集間隔距離,通過將二維局部坐標(biāo)系轉(zhuǎn)化到三維參考坐標(biāo)系中和坐標(biāo)點(diǎn)細(xì)化來定位病害關(guān)鍵點(diǎn)的坐標(biāo),再由坐標(biāo)點(diǎn)連接形成面實(shí)體,從而創(chuàng)建病害實(shí)體,實(shí)現(xiàn)橋梁安全信息模型的創(chuàng)建。
Ws=akwe.
(1)
K=d/Dx.
(2)
式中:Ws為三維坐標(biāo)點(diǎn)集間隔精度;We為二維坐標(biāo)點(diǎn)集間隔精度;a為可視化參數(shù);k為拍攝修正系數(shù)(相機(jī)鏡頭平行于病害所在平面);d為病害實(shí)際寬度值;Dx為拍攝照片病害測量寬度值。
#216~#226為T梁腹板外表面的縱向裂縫的三維坐標(biāo)點(diǎn)集,坐標(biāo)集分布詳情如圖7所示。具體模型創(chuàng)建代碼如下:
圖7 裂縫坐標(biāo)集分布詳情圖
#216=
IFCCARTESIANPOINT((80.,-297.,557.));
…
#226=
IFCCARTESIANPOINT((80.,-28.,807.));
將三維坐標(biāo)點(diǎn)集依次連接形成病害輪廓,依據(jù)閉合輪廓的代碼編號,編寫病害模型對應(yīng)的外表面;最終形成帶病害的實(shí)體模型。
#228表示T梁腹板外表面的輪廓線,#230則是由#228形成相應(yīng)的外表面邊界條件;同理,#231是由裂縫所在腹板外表面的三維坐標(biāo)集#216~#226連接而成的外輪廓線,#233則為裂縫的邊界條件,通過邊界條件#230和#233形成存在裂縫的腹板外表面。具體代碼如下:
#228=
IFCPOLYLOOP((#139,#137,#162,#160));
#230=
IFCFACEOUTERBOUND(#228,.T.);
#231=IFCPOLYLOOP
((#216,#218,#220,#222,#224,#226));
#233=IFCFACEBOUND(#231,.T.);
#234=IFCFACE((#230,#233));
#256~#266為T梁腹板內(nèi)表面的縱向裂縫的關(guān)鍵三維坐標(biāo)點(diǎn)集,#268為裂縫所在腹板內(nèi)部的三維坐標(biāo)集#256~#266連接而成的內(nèi)輪廓線,從而通過邊界條件#270生成裂縫多邊形底面#271。
#256=
IFCCARTESIANPOINT((0.,0.,1414.));
…
#266=
IFCCARTESIANPOINT((0.,166.,1755.));
#268=IFCPOLYLOOP
((#256,#258,#260,#262,#264,#266));
#270=
IFCFACEOUTERBOUND(#268,.T.);
#271=IFCFACE((#270));
#276,#281,#286,#291,#296和#301為縱向裂縫的6個內(nèi)側(cè)面,每個內(nèi)側(cè)面由4個三維坐標(biāo)集連接而成。以內(nèi)側(cè)面#276為例,病害多維表面定義如圖8所示。
圖8 病害多維表面定義
#273和#275分別是由四個關(guān)鍵坐標(biāo)點(diǎn)形成的輪廓線和邊界條件,進(jìn)而生成內(nèi)側(cè)面#276。具體代碼如下:
#273=
IFCPOLYLOOP((#260,#258,#218,#216));
#275=
IFCFACEOUTERBOUND(#273,.T.);
#276=IFCFACE((#275));
…
#298=
IFCPOLYLOOP((#264,#262,#226,#224));
#300=
IFCFACEOUTERBOUND(#298,.T.);
#301=IFCFACE((#300));
通過命令I(lǐng)FCCLOSEDSHELL匯集外表(Shell)的集合,包括6個裂縫內(nèi)側(cè)面、裂縫底面、腹板外表面(帶裂縫)以及T梁其他外表面。最終形成由邊界定義的實(shí)體模型#305。具體代碼如下:
#303=IFCCLOSEDSHELL((#150,#179,#184,#189,#194,#199,#204,#209,#214,#234,#239,#244,#249,#254,#271,#276,#281,#286,#291,#296,#301));
#305=IFCFACETEDBREP(#303);
在結(jié)束編譯數(shù)據(jù)之后,病害實(shí)體模型如圖9所示。將攜有病害信息的IFC數(shù)據(jù)文件導(dǎo)入到可視化平臺XbimXplorer,實(shí)現(xiàn)了病害的成功附著,同時(shí)避免了二次重構(gòu)過程中數(shù)據(jù)丟失和數(shù)據(jù)不可讀的問題。
圖9 病害實(shí)體模型
(1)運(yùn)用邊界定義的方法,實(shí)現(xiàn)了病害數(shù)據(jù)與模型數(shù)據(jù)的二次重組,解決了病害信息無法在三維可視化構(gòu)件模型中準(zhǔn)確表達(dá)的問題。
(2)筆者提出了三維網(wǎng)格分散法,創(chuàng)建實(shí)體構(gòu)件模型的三維網(wǎng),將平面二維網(wǎng)病害坐標(biāo)點(diǎn)集轉(zhuǎn)化為三維坐標(biāo)點(diǎn)集,為病害表面創(chuàng)建提供相對位置信息。
(3)基于IFC標(biāo)準(zhǔn)的通用性,總結(jié)出一種高效的建立病害信息模型的方法,提高了橋梁安全信息模型在多平臺之間的信息共享效率。