高建新1 姜諳男1 張 勇 申發(fā)義 吳洪濤 段龍梅
(1.大連海事大學(xué) 交通運輸工程學(xué)院道橋所,大連 116026;2. 吉林省高速公路集團有限公司,長春 130000)
隨著BIM技術(shù)在我國建筑領(lǐng)域的逐漸應(yīng)用,將BIM技術(shù)應(yīng)用于隧道工程成為新的發(fā)展領(lǐng)域[1]。郭坤睿[2]研究了基于IFC 標準的既有結(jié)構(gòu)維護信息模型,將BIM應(yīng)用于既有結(jié)構(gòu)的維護。李錦華[3]研究了基于IFC 標準的BIM 技術(shù)對橋梁健康監(jiān)測信息的表達研究,將BIM技術(shù)應(yīng)用于橋梁健康監(jiān)測。在隧道施工過程中,隧道的安全狀態(tài)可以由隧道監(jiān)控量測進行直接反映,隧道監(jiān)控量測是保障隧道施工過程得以順利安全進行的不可或缺的項目[4]。將BIM技術(shù)與隧道工程中的監(jiān)控量測相結(jié)合,有著重要且前沿的工程意義,以期利用BIM技術(shù)與監(jiān)測數(shù)據(jù)高效合理地指導(dǎo)隧道施工。BIM模型中的信息是通過一種共同的數(shù)據(jù)標準IFC來實現(xiàn)在不同的BIM軟件間的交互,本文利用IFC 標準提出監(jiān)測信息擴展方法,對標準未提供的數(shù)據(jù)模型和信息進行基于IFC 的擴展,實現(xiàn)將監(jiān)測數(shù)據(jù)寫入IFC文件,以期在不同的BIM軟件均可實現(xiàn)隧道監(jiān)測數(shù)據(jù)的查詢,從而達到BIM模型與監(jiān)控量測相結(jié)合,為BIM技術(shù)在隧道工程施工期間指導(dǎo)安全施工提供保障[5-7]。
Revit軟件作為BIM平臺主流建模工具,具有強大的建模設(shè)計功能,可以將復(fù)雜的物理模型以及單獨的可編輯模型進行集成。Revit API提供了一系列命名空間和類庫,方便用戶以程序二次開發(fā)的方式自定義或擴充相應(yīng)的建模設(shè)計功能,不僅能夠?qū)崿F(xiàn) Revit 平臺上既有的大部分功能,而且還能實現(xiàn)一些通過界面交互方式不易完成的工作。馬佰鈺[8]利用Revit二次開發(fā)研究了利用Revit斜拉橋參數(shù)化設(shè)計。結(jié)合交互操作和程序控制各自的優(yōu)點,適當利用 API 通過Revit二次開發(fā)的方式完成一些數(shù)據(jù)量大、規(guī)律性強的建模工作,可以顯著提高用戶的建模效率[9]。
隧道監(jiān)控量測作為隧道施工過程的一個重要部分已得到長足發(fā)展,隧道監(jiān)測項目眾多,監(jiān)測數(shù)據(jù)數(shù)量龐大,采用人工監(jiān)測的方式不易及時反映施工過程中隧道的受力狀態(tài),也不方便數(shù)據(jù)的管理,浪費了大量的人力物力[10]。隨著計算機技術(shù)的發(fā)展,充分發(fā)揮計算機的高性能[11],采用自動化監(jiān)測的方式[12],在信息化的大趨勢下,既高效又便于將信息匹配到BIM技術(shù)。
自動化監(jiān)測信息數(shù)據(jù)的采集,借助先進的無線傳輸技術(shù)和云服務(wù)技術(shù)。采集設(shè)備箱中的振弦式采集模塊實時采集現(xiàn)場安裝的土壓力盒、錨桿計、位移計等傳感器反饋的監(jiān)測數(shù)據(jù),借助基于433Hz無線透傳模塊,無線透傳模塊之間以485數(shù)據(jù)信號通訊的模式,將振弦式采集模塊采集到的監(jiān)測數(shù)據(jù)傳輸?shù)蕉纯诘陌l(fā)射箱中的無線透傳模塊終端,終端無線透傳模塊將數(shù)據(jù)傳輸給GPRS模塊,GPRS模塊可實現(xiàn)基于以太網(wǎng)的雙向透明傳輸,遠程將數(shù)據(jù)傳輸至終端服務(wù)器,服務(wù)器利用自主研發(fā)的到巖土工程多元信息采集分析軟件對傳輸過來數(shù)據(jù)進行采集與分析,并存儲至云服務(wù)器中的SQL Server數(shù)據(jù)庫[13]。為BIM技術(shù)與隧道工程中的監(jiān)控量測相結(jié)合提供實時的監(jiān)測數(shù)據(jù)的更新。
圖1 數(shù)據(jù)采集流程圖
基于IFC標準的監(jiān)測信息表達與集成,需要對IFC標準進行拓展。IFC標準拓展主要包括兩種拓展模式,分別為實體拓展和屬性集拓展[14]。實體拓展是作為IFC標準的每次升級所采用的體系結(jié)構(gòu)擴展方式,采用自定義實體類型的形式,用以對原IFC標準中未定義的類型進行表達,即人為增加IFC標準的定義數(shù)量。屬性集擴展是通過自定義屬性的形式,以及自定義屬性集的形式來表達原有IFC標準中未定義的類型屬性,如監(jiān)測信息。屬性集擴展對原有IFC 模型體系結(jié)構(gòu)不會產(chǎn)生影響,不會對原有IFC模型體系結(jié)構(gòu)產(chǎn)生混亂或歧義,而且采用屬性集拓展相對簡單方便,完全可以滿足將監(jiān)測信息集成至IFC文件的要求,本文通過屬性集拓展的方式實現(xiàn)監(jiān)測信息向IFC文件的集成。
屬性集拓展需要定義每個傳感器模型表達信息時需要的屬性集及屬性,將監(jiān)測數(shù)據(jù)集成至IFC文件,屬性集擴展中傳感器均用在IFC標準中有定義類型的IfcSensor實體表示,傳感器類型包含在IfcSensorTypeEnum枚舉類型中。用IfcProperty 表示具體的監(jiān)測信息,屬性集的定義由多個相關(guān)性能屬性IfcProperty構(gòu)成,即IfcPropertySetDefinition。IfcPropertySetDefinition提供實體的屬性集合的定義,它是所有屬性定義的抽象超類IfcPropertyDefinition的子類,對實體屬性起到容納的作用,每一個屬性集合都對一個特定的對象類型進行定義,與主體實體IfcObject的子類實體通過IfcRelDefines及其子類IfcRelDefinedByProperties產(chǎn)生關(guān)聯(lián),使抽象的對象具體化。傳感器實體IfcSensor通過IfcRelDefines ByProperties 與屬性集合的定義IfcPropertySetDefinition建立關(guān)聯(lián)關(guān)系。在IFC 標準中,對監(jiān)測信息的描述方式如圖2。
圖2 IFC 標準對監(jiān)測信息的描述
對于需要拓展的基于IFC標準的監(jiān)測傳感器實體,建立了傳感器信息IFC屬性集定義,見表1,和傳感器信息IFC屬性定義,見表2。將表中的屬性與數(shù)據(jù)成員一一對應(yīng),實現(xiàn)傳感器信息與IFC標準數(shù)據(jù)模型之間的映射[15]。
表1 傳感器信息IFC屬性集定義
屬性集名稱Pset_SensorTypeEnum適用的實體IfcSensor適用的類型值IfcSensor/Userdefined/Enum定義Adevicethatrecordsfunctiondata
表2 傳感器信息IFC屬性定義
屬性名稱屬性類型數(shù)據(jù)類型傳感器類型IfcPropertySingleValueIfcLabel測點編號IfcPropertySingleValueIfcText監(jiān)測數(shù)據(jù)IfcPropertyListValueIfcreal
在IFC 文件中描述監(jiān)測數(shù)據(jù)的屬性及屬性集語句如下:
#1011=IFCSENSOR(′2ODFJcoe9DuBkT2X KeuC9K′,#42,′X24F20611F566820142014571 F538B529B76D265CFX02:X24F20611F56 6820142014571F538B529B76D265CFX02:223 456′,$,′X24F20611F566820142014571F538B529 B76D265CFX02:X24F20611F566820142014571 F538B529B76D265CFX02′,#1010,#1004,′22 3456′,.NOTDEFINED.);
#1029=IFCPROPERTYSINGLEVALUE(′X24F20611F56687C7B578BX0′,$,IFCTEXT(′X2571F538B529B76D2X0′),$);
#1030=IFCPROPERTYSINGLEVALUE(′X26D4B70B97F1653F7X0′,$,IFCTEXT(′3660′),$);
#1031=IFCPROPERTYSINGLEVALUE(′X276D16D4B6570636EX0′,$,IFCTEXT(′7.802018-08-10 22:42:18′),$);
#1058=IFCPROPERTYSET(′2ODFJcoe9DuBk T30qeuC9K′,#42,′Pset_SensorTypeEnum′,$,(#1029,#1030,#1031));
#1063=IFCRELDEFINESBYPROPERTIES(′2ODFJcoe9DuBkT3GqeuC9K′,#42,$,$,(# 1011)#1058);
其中,#1011 描述IFCSENSOR傳感器實體。#1029對應(yīng)的IFC 語句描述傳感器類型屬性,#1030對應(yīng)的IFC 語句描述測點編號屬性,#1031對應(yīng)的IFC 語句描述監(jiān)測數(shù)據(jù)屬性。#1058 描述屬性集,屬性集名稱Pset_SensorTypeEnum,其中包含了傳感器類型屬性、測點編號屬性、監(jiān)測數(shù)據(jù)屬性。#1063表示傳感器實體#1011與屬性集#1058關(guān)聯(lián)。至此完成對傳感器記錄信息的IFC 語句表達[16]。
圖3 監(jiān)測數(shù)據(jù)批量導(dǎo)入至IFC文件流程圖
利用自主研發(fā)的IFC標準監(jiān)測信息讀取軟件,自動將儲存在數(shù)據(jù)庫中的監(jiān)測數(shù)據(jù)批量寫入IFC數(shù)據(jù)格式文件,進而顯示在屬性拓展的測點的監(jiān)測值文字框中。IFC標準監(jiān)測信息讀寫程序軟件基于IFC標準中對實體屬性的表達方式,明確傳感器實體與監(jiān)測數(shù)據(jù)屬性在IFC中性文件的組織關(guān)系,在此理論基礎(chǔ)上完成IFC中性文件的解析,通過對需要拓展的信息對應(yīng)的IFC文件中屬性語句、屬性集語句及關(guān)聯(lián)語句的自動編寫,生成新的IFC 文件,流程圖如圖3,從而實現(xiàn)將監(jiān)測數(shù)據(jù)批量集成到IFC 文件,對該IFC文件進行基于IFC標準監(jiān)測信息批量讀寫操作,如圖4。從而實現(xiàn)基于IFC標準的監(jiān)測信息表達與集成。由于IFC文件是一種通用的數(shù)據(jù)格式,所以在任何一個支持IFC 格式的BIM 軟件都能可視化顯示監(jiān)測信息,以至于構(gòu)建的BIM模型中的傳感器信息在不同的BIM軟件之間可實現(xiàn)交互。
圖4 基于IFC標監(jiān)測信息批量讀寫操作
在實現(xiàn)基于IFC的監(jiān)測信息表達與集成時,每個IFC實體都對應(yīng)著一個BIM模型構(gòu)件,建立BIM模型構(gòu)件是研究將BIM技術(shù)與隧道工程中的監(jiān)控量測相結(jié)合中不可或缺的一部分。
在建立隧道工程BIM模型時需要建立監(jiān)測傳感器模型,建立監(jiān)測傳感器存在傳感器數(shù)量巨大,需要在指定位置安放指定的不同類型的傳感器,機械重復(fù)性工作較多等問題。在目前BIM技術(shù)核心建模軟件Revit中建立監(jiān)測傳感器等模型時,雖然可以手動建立,但是監(jiān)測傳感器數(shù)量巨大且安放位置不固定,安放傳感器模型時需要反復(fù)尋找位置,安裝時多數(shù)傳感器需要與側(cè)壁相切安裝,這導(dǎo)致手動建模時傳感器難以通過旋轉(zhuǎn)、復(fù)制等操作實現(xiàn)快速建模,許多重復(fù)性的建模工作降低了Revit的建模效率,在修改模型時存在著一處修改處處修改的弊端,這些對BIM技術(shù)在隧道工程中的應(yīng)用產(chǎn)生了阻礙。
監(jiān)測傳感器模型在建立時,需要通過Revit二次開發(fā)的方式,運行用C#語言編寫建模程序,監(jiān)測傳感器模型在Revit環(huán)境下輸入安放的位置參數(shù)(半徑和角度)可以自動生成并安放到指定位置,無需手動建模時反復(fù)尋找位置。利用Revit二次開發(fā)的方式實現(xiàn)參數(shù)化建模可以高效精準地完成建模工作。
Revit二次開發(fā)的編程環(huán)境采用采用visual studio2013,用支持.Net Framework的C#語言進行編寫,在編譯器中引用revitAPI.dll和revitAPIUI.dll動態(tài)鏈接庫。安裝AddinManager插件,作用是在不重啟Revit軟件的情況下,可以重新生成程序中的命令。
IExternalCommand是RevitAPI中實現(xiàn)外部擴展的命令,內(nèi)含Excute函數(shù)。外部命令調(diào)用Excute函數(shù)來實現(xiàn)IExternalCommand,Excute的定義方式public Autodesk.Revit.UI.Result Execute(ExternalCommandData cmdData,ref string message,ElementSet elements),分別為輸入?yún)?shù)CommandData(ExternalCommandData)、輸出參數(shù)message(string)、輸出參數(shù)elements(ElementSet)[17]。
搭建Windows窗體應(yīng)用程序,利用外部事件IExternalEventHandler,在窗體應(yīng)用程序內(nèi)即可觸發(fā)外部事件,創(chuàng)建隧道構(gòu)件采用RevitAPI中事務(wù)Transaction的方法,不同的隧道監(jiān)測傳感器編寫相應(yīng)的繪制程序。
運行相應(yīng)二次開發(fā)的參數(shù)化建模程序,在輸入對話框內(nèi)按照傳感器安放位置輸入?yún)?shù)后,即可得到相應(yīng)的BIM三維傳感器族模型,例如在傳感器——土壓力盒參數(shù)輸入框內(nèi)輸入?yún)?shù),如圖5,類似輸入應(yīng)變計傳感器、鋼筋計傳感器、位移計傳感器的參數(shù),即可得到相應(yīng)的傳感器族模型。分別建立一個斷面的傳感器族模型,將族載入至項目中,對構(gòu)件進行拼裝,形成帶有監(jiān)測傳感器的隧道BIM模型,如圖6。
圖5 參數(shù)輸入框
圖6 隧道BIM模型
在最常用的Revit軟件打開基于IFC數(shù)據(jù)標準的隧道模型,分析篩選IFC文件中監(jiān)測數(shù)據(jù)時,通過Revit二次開發(fā)的方式,點擊開發(fā)的功能面板中“所選傳感器監(jiān)測數(shù)據(jù)查詢”,如圖7,點擊傳感器模型,程序可以實現(xiàn)自動顯示該傳感器模型對應(yīng)測點編號的監(jiān)測數(shù)據(jù),監(jiān)測數(shù)據(jù)以表格的形式進行展現(xiàn),如圖8,可以調(diào)節(jié)監(jiān)測數(shù)據(jù)按照監(jiān)測時間升序降序或監(jiān)測值的大小進行升序或降序排列,并且可以實現(xiàn)自動繪制出此傳感器模型對應(yīng)的測點編號的監(jiān)測數(shù)據(jù)與監(jiān)測時間的曲線,如圖9,可以方便分析監(jiān)測數(shù)據(jù)的規(guī)律。
圖7 按鍵“所選傳感器監(jiān)測數(shù)據(jù)查詢”
圖8 監(jiān)測數(shù)據(jù)列表
圖9 關(guān)于監(jiān)測數(shù)據(jù)與監(jiān)測時間的曲線
通過Revit二次開發(fā),選擇開發(fā)的功能面板中“預(yù)警”,如圖10,可以啟動預(yù)警的功能。當某個傳感器監(jiān)測數(shù)據(jù)大于安全值時,程序自動檢索出這些監(jiān)測數(shù)據(jù)的測點編號,進而檢索出測點編號對應(yīng)Revit圖元Id,對這些Revit圖元Id對應(yīng)的圖元實現(xiàn)變顏色的效果,可以在BIM模型中直觀地展現(xiàn)出安全狀態(tài),實現(xiàn)預(yù)警的功能。
圖10 按鍵“預(yù)警”
BIM技術(shù)在隧道工程中的應(yīng)用已經(jīng)成為新的發(fā)展領(lǐng)域,研究將BIM技術(shù)與隧道工程中的監(jiān)控量測相結(jié)合,有著重要且前沿的工程意義,以期利用BIM技術(shù)與監(jiān)測數(shù)據(jù)高效合理地指導(dǎo)隧道施工,本文開展了基于IFC標準和參數(shù)化的隧道監(jiān)測信息模型研究。
(1)通過對IFC標準進行拓展,實現(xiàn)基于IFC的監(jiān)測信息表達與集成;
(2)通過研究Revit二次開發(fā),通過參數(shù)化構(gòu)建傳感器模型,提供了快速構(gòu)建BIM模型的一種思路,大大提高了建模及修改模型時的效率[18];
(3)研究在最常用的Revit軟件打開基于IFC數(shù)據(jù)標準的隧道模型時,實現(xiàn)在BIM模型內(nèi)可以查詢到各個傳感器模型對應(yīng)的監(jiān)測數(shù)據(jù),繪制監(jiān)測數(shù)據(jù)曲線,以此來分析監(jiān)測數(shù)據(jù)。當監(jiān)測數(shù)據(jù)大于安全值時,傳感器模型實現(xiàn)顏色改變而達到預(yù)警的功能,在BIM模型中反映隧道的安全狀態(tài)。
基于IFC標準和參數(shù)化的隧道工程監(jiān)測信息模型研究,為BIM技術(shù)在隧道工程施工期間指導(dǎo)施工,隧道運營期間隧道病害檢測、維護提供依據(jù)。