趙 強(qiáng) 張景煜 劉 躍 王漫漫 郭曉慶
(1.安徽建筑大學(xué) 環(huán)境與能源工程學(xué)院,合肥 230601;2. 安徽省智慧城市工程技術(shù)研究中心,合肥 230601;3. 合肥市公安局科技信息化支隊(duì),合肥 230601)
地下軌道交通作為城市重要的基礎(chǔ)設(shè)施,有著交通便捷、運(yùn)輸量大的優(yōu)點(diǎn),同時地鐵站具有空間較為封閉且人員相對密集的特征,為其安全運(yùn)營和管理提出了更高的要求。建筑信息模型(Building Information Modeling,BIM)具有數(shù)字化、可視化、真實(shí)化的特點(diǎn),有利于軌道交通項(xiàng)目從設(shè)計、施工、到運(yùn)營維護(hù)全生命周期實(shí)現(xiàn)動態(tài)可視化管理、信息共享和決策支持[1-4]。
近年來,如何應(yīng)用BIM技術(shù)開展地下空間安全管理,引起了國內(nèi)外學(xué)者的探討。鐘輝等人基于BIM模型二次開發(fā),提出一套BIM數(shù)據(jù)提取與應(yīng)用技術(shù)方案,解決建筑業(yè)各專業(yè)間數(shù)據(jù)使用效率低的問題[5]。趙強(qiáng)等人利用IFC和CityGML進(jìn)行地下綜合管廊模型轉(zhuǎn)換研究[6]。孫少楠等人基于BIM技術(shù),利用Revit對地鐵車站進(jìn)行建模,并結(jié)合Pyrosim 軟件對火災(zāi)模擬分析[7]。張學(xué)鋼等人利用Revit與魯班系列軟件構(gòu)架BIM方案,對蘭州地鐵東崗站開展施工過程應(yīng)用研究[8]。Mohamed Marzouk和Ahmed Abdelaty基于BIM,對地鐵車站室內(nèi)環(huán)境質(zhì)量進(jìn)行監(jiān)測,建立了一套地鐵車站網(wǎng)絡(luò)全球評級系統(tǒng),能夠監(jiān)測地鐵站內(nèi)的室內(nèi)溫度和顆粒物(PM)濃度水平[9]。
本文針對地鐵站安全監(jiān)管,基于建筑信息模型,利用Revit,通過自建和加載標(biāo)準(zhǔn)構(gòu)件族,構(gòu)建地鐵站安全設(shè)備信息族庫,實(shí)現(xiàn)地鐵站安全信息設(shè)備庫建立,并進(jìn)行二次開發(fā),以合肥市地鐵3號線安徽大學(xué)磬苑校區(qū)站為例,進(jìn)行安全設(shè)備信息族庫構(gòu)建以及建模應(yīng)用。
地鐵站安全設(shè)備信息族庫構(gòu)建與應(yīng)用技術(shù)路線流程如圖1所示,通過Revit族的定義和類型設(shè)置、新建標(biāo)準(zhǔn)構(gòu)件族、加載標(biāo)準(zhǔn)構(gòu)件族構(gòu)建地鐵站安全設(shè)備信息族庫; 然后基于Revit,進(jìn)行二次開發(fā),實(shí)現(xiàn)地鐵站三維模型展示以及安全設(shè)備信息提取和管理。
圖1 地鐵站安全設(shè)備信息族庫構(gòu)建與應(yīng)用流程Fig. 1 Construction and application flow chart of information Library of subway station safety equipment
地鐵站族庫由建筑、結(jié)構(gòu)、機(jī)電三大模塊組成,由于Revit本身攜帶的系統(tǒng)族比較常規(guī),無法滿足需求,還需通過創(chuàng)建和加載來完善設(shè)備族庫。完善的族庫可應(yīng)用于生成明細(xì)表,統(tǒng)計工程量; 1比1的模型比例和還原圖紙的構(gòu)件位置,能用于碰撞檢測,在地鐵站施工前發(fā)現(xiàn)設(shè)計缺陷,可以及時修改和優(yōu)化設(shè)計,避免返工現(xiàn)象; 監(jiān)控設(shè)備、消火栓等安全設(shè)施,賦予特定的參數(shù)并進(jìn)行開發(fā)使用后,可為地鐵站的安全運(yùn)營提供保障。
族(Family)是構(gòu)建地鐵站安全設(shè)備信息的基礎(chǔ),是Revit項(xiàng)目中對構(gòu)件的專用稱呼,它的本質(zhì)是特殊的圖元組,包括了相關(guān)圖形表示以及本身攜帶的參數(shù)信息[10]。相同的族都具有相關(guān)的圖形表示和一組相同的參數(shù)(族類型參數(shù)),在Revit API中,提供了一系列的類和方法來提供管理族文檔,包括族類型和族參數(shù)管理等,地鐵站安全設(shè)備族庫成員構(gòu)件創(chuàng)建相關(guān)的API類如圖2所示。當(dāng)把指定的族類型加載到項(xiàng)目中后,就形成獨(dú)立的族實(shí)例(FamilyInstance),族實(shí)例既具有族的屬性也有其自身的獨(dú)立屬性。族、族類型、族實(shí)例都是元素(Element)的子類,它們的類圖如圖3所示。
圖2 族創(chuàng)建的相關(guān)類Fig. 2 Relevant categories of the Family creating
圖3 族類別Fig. 3 Division of the Family
地鐵車站安全設(shè)備族庫的許多成員形狀規(guī)格比較特殊,即使是同種構(gòu)件,在不同的地鐵車站也可能具備不同屬性,因而需要量身打造。站臺層安全隔離門是地鐵站安全設(shè)備族庫的一個重要組成,本文通過Revit API來實(shí)現(xiàn)安全隔離門族的創(chuàng)建。Revit軟件支持實(shí)體幾何圖元和空心幾何圖元的創(chuàng)建,并通過各種圖元的結(jié)合來形成各種幾何形體,圖元的創(chuàng)建方式共五種包括拉伸、融合、旋轉(zhuǎn)、放樣和放樣融合[11]。Revit API支持完全相同的實(shí)體和空心體的創(chuàng)建方式,所用的API為 Autodesk.Revit.Creation.FamilyItemFactory類。安全隔離門族的創(chuàng)建主要通過拉伸的方式創(chuàng)建,在Revti API中需要輸入四個參數(shù)來創(chuàng)建拉伸圖元,本文采用C#為開發(fā)語言,創(chuàng)建拉伸圖元所用的方法如下:
(a)安全隔離門參數(shù)輸入界面 (b)安全隔離門模型圖4 安全隔離門參數(shù)輸入界面及BIM模型Fig. 4 The input interface and BIM model of parameters on safety isolation doors Extrusion New Extrusion(bool is Solid, CurveArrArray profile, SketchPlane sketchPlane, double end):
第一個參數(shù)is Solid是一個bool類型的參數(shù),用來設(shè)定該拉伸體是實(shí)體還是空心體; 第二個參數(shù)profile是CurveArrArray類型,用來確定一個平面上的二維輪廓,且輪廓必須是閉合的; 第三個參數(shù)sketchPlane是SketchPlane類型,用來確定拉伸的工作平面; 第四個參數(shù)end是double類型,用來確定拉伸的長度。編寫好創(chuàng)建幾何圖元的外部命令之后通過Add-In Manager加載,就能實(shí)現(xiàn)安全隔離門圖元的創(chuàng)建,參數(shù)輸入界面和模型如圖4所示。
城市地鐵車站模型中所需的部分常見構(gòu)件,可以通過從互聯(lián)網(wǎng)加載并修改的方式獲取,提高建模效率,本文以安全設(shè)備族庫的監(jiān)控設(shè)備族為例,進(jìn)行研究。如圖5所示,槍型攝像頭族通過編輯族選項(xiàng)進(jìn)入編輯界面,點(diǎn)擊屬性面板族類型命令,即可進(jìn)行參數(shù)的添加與修改。通過網(wǎng)絡(luò)上獲取的該族,除了本身攜帶的參數(shù)外,該族還需添加的族參數(shù)有施工坐標(biāo)、WGS-84坐標(biāo)、設(shè)備類型、設(shè)備相對位置、設(shè)備運(yùn)行狀態(tài)等。全部參數(shù)添加完畢后,點(diǎn)擊選項(xiàng)面板中的載入到項(xiàng)目選項(xiàng),在項(xiàng)目文件中選定族實(shí)例,通過編輯類型,就可以進(jìn)行對應(yīng)參數(shù)的設(shè)置。監(jiān)控設(shè)備族的坐標(biāo)信息(如WGS-84坐標(biāo)),能夠準(zhǔn)確描述族實(shí)例在地鐵站中的空間位置,一旦發(fā)生險情或特殊情況(如火災(zāi)、罪犯逃逸等),可以瞬間定位事件的所處位置,并調(diào)動附近的監(jiān)控畫面,為應(yīng)急處置方案的制定提供強(qiáng)力的支持。
(a)槍型攝像頭模型 (b)族參數(shù)的添加圖5 槍型攝像頭模型及族參數(shù)Fig. 5 The model of Gun camera and addition of its family parameters
圖6 地鐵站安全設(shè)備族庫Fig. 6 Segmental family library of subway station
利用Revit API的豐富接口,運(yùn)用Revit中編輯族的拉伸、融合、旋轉(zhuǎn)、放樣、放樣融合這5大工具,輔以參照平面,同樣可以創(chuàng)建安全設(shè)備族庫的其他構(gòu)件族,其他主要構(gòu)件族如圖5所示,為了方便安全設(shè)備的信息管理,將所創(chuàng)建的安全設(shè)備族全部保存到數(shù)據(jù)庫中。
Revit本身攜帶的功能模塊通常無法符合用戶的全部需要,此時用戶可以通過二次開發(fā),自行編寫外部程序,進(jìn)行功能拓展?;赗evit的二次開發(fā)主要需要參照Revit API(Application Programming Interface)中的類和方法進(jìn)行代碼的編寫,能夠更好地實(shí)現(xiàn) BIM 技術(shù)在項(xiàng)目全生命周期的運(yùn)用。用戶能夠從軟件管網(wǎng)獲取開發(fā)工具包 Revit SDK(Software Development Kit)。借助 SDK 文件可以幫助用戶更好地掌握 API 的使用方式,用戶也能借此進(jìn)行二次開發(fā)輕松獲取 BIM 模型的數(shù)據(jù)資料,然后進(jìn)行查詢、變更等操作。
本文基于Revit軟件和Microsoft Visual Studio 2015開發(fā)平臺、SQL Server 2008數(shù)據(jù)庫,使用C#語言進(jìn)行安全設(shè)備信息管理平臺的二次開發(fā),實(shí)現(xiàn)地鐵站中監(jiān)控設(shè)備族庫管理以及信息的實(shí)時查看和管理。
基于Revit的設(shè)備插件二次開發(fā)流程圖如圖7所示,首先需要添加外部引用RevitAPI.dll及RevitAPIUI.dll,之后創(chuàng)建新的類從IExternalCommand類派生,重載父類的Execute方法,重新編寫代碼,代碼編譯完畢后,將生成的dll文件用Addin-Manager加載,最后運(yùn)行程序,測試是否符合地鐵站安全信息管理需求,不符合則需要修改代碼重新調(diào)試。
圖7 設(shè)備插件開發(fā)流程圖Fig. 7 Workflow diagram for device plugin developing
使用 External Command 和 External Application兩種方式進(jìn)行編譯與測試時,Revit.exe啟動后,addin文件中的命令會被加載。本文構(gòu)建的安全設(shè)備族庫面板的addin 文件如下:
首先對地鐵站所有設(shè)備族進(jìn)行遍歷,根據(jù)交互界面族實(shí)例名稱獲取攝像頭ID,進(jìn)而獲取攝像頭的X、Y、Z坐標(biāo),從而進(jìn)行坐標(biāo)轉(zhuǎn)換,輸出WGS-84坐標(biāo)得到攝像頭的具體位置; 同時根據(jù)ID和連接的數(shù)據(jù)庫獲得攝像頭的相關(guān)信息,以及數(shù)據(jù)庫中實(shí)時存儲的攝像頭監(jiān)控畫面,具體情況如圖8所示。
圖8 安全設(shè)備信息管理平臺程序流程圖Fig. 8 Flow chart of security equipment information management program
首先通過創(chuàng)建一個過濾器,將所有的監(jiān)控設(shè)備族實(shí)例收納,通過過濾,通過交互界面族實(shí)例名稱的過濾,獲得設(shè)備的坐標(biāo)位置等參數(shù),并將該設(shè)備在模型中標(biāo)記顯示。通過獲取族實(shí)例的ID值,從而與存儲在數(shù)據(jù)庫服務(wù)器中ID值對應(yīng)。之后借助DataGridView 控件并綁定數(shù)據(jù)源為對應(yīng)的數(shù)據(jù)庫,通過對數(shù)據(jù)庫中儲存的信息獲取安全設(shè)備族的運(yùn)行狀態(tài)及位置等信息。
由于API接口原因,只能從本地讀取族文件加載到項(xiàng)目,這就需要將數(shù)據(jù)庫傳遞過來的族文件保存到本地后再加載,這就需要獲取使用程序電腦的臨時文件夾string tempPath=System.IO.Path.GetTempPath(); //獲取用戶臨時文件夾路徑將族文件保存到本地后使用LoadFamily(); 方法載入當(dāng)前項(xiàng)目中。
在窗體信息展示設(shè)置中,通過Name或者ID參數(shù)是否等于ComboBox的選項(xiàng)篩選出目標(biāo)信息,用foreach()函數(shù)遍歷指定設(shè)備的全部信息,攝像頭設(shè)備信息管理窗口如圖9所示,可以實(shí)現(xiàn)安全設(shè)備的信息提取和管理。
圖9 設(shè)備信息管理窗口Fig. 9 The management window of device information
通過Revit的ribbon界面開發(fā),實(shí)現(xiàn)ribbon按鈕和安全設(shè)備族庫的關(guān)聯(lián)連接,從而形成安全設(shè)備族庫面板,創(chuàng)建面板如圖10所示。
圖10 安全設(shè)備族面板Fig. 10 Security device family panel
安徽大學(xué)磬苑校區(qū)站是合肥市地鐵3號線車站之一,車站為三層標(biāo)準(zhǔn)島式車站,地下一層為站廳層,地下二層為設(shè)備層,地下三層為站臺層。整個三層地下空間共囊括高清固定槍型網(wǎng)絡(luò)攝像機(jī)5臺,人臉識別攝像機(jī)16臺,室內(nèi)室外球型網(wǎng)絡(luò)攝像機(jī)共9套等,根據(jù)主要工程數(shù)量清單,并結(jié)合現(xiàn)場采集高清圖像,構(gòu)造地鐵站安全設(shè)備族庫管理。
如圖11展示了基于Revit二次開發(fā)地鐵站的BIM模型,包括出口渲染效果、車站整體建筑三維展示、含有自動檢票機(jī)、手扶電梯的站廳層局部三維展示、含有安全隔離門和監(jiān)控設(shè)備的站臺層局部三維展示。
(a)站廳層局部
(b)站臺層局部圖11 地鐵車站BIM三維展示Fig. 11 BIM 3D display in subway station
圖12展示了該地鐵站安全設(shè)備—攝像頭的定位分布平臺管理界面,有助于整個地鐵站攝像頭管理和維護(hù),為地鐵站的精細(xì)化管理提供全新的技術(shù)支撐。
圖12 攝像頭的定位分布平臺管理界面Fig. 12 Camera positioning distribution platform management interface
本文基于Revit進(jìn)行地鐵站安全設(shè)備信息族庫創(chuàng)建開發(fā)與應(yīng)用,具體得到以下結(jié)論:
(1)族是實(shí)現(xiàn)地鐵站安全設(shè)備三維可視化的基礎(chǔ),較為復(fù)雜的族可以借助Revit API進(jìn)行開發(fā),充分利用API以編程的方式完成一些工作量較大、規(guī)律性較強(qiáng)的工作,而比較常規(guī)的族可以通過Revit自身攜帶的族庫或者互聯(lián)網(wǎng)獲取后編輯參數(shù)在投入使用。
(2)安全設(shè)備信息族庫的構(gòu)建和實(shí)施,可以提供設(shè)備信息提取和管理,有助于地鐵站安全設(shè)備的實(shí)時高效管理。
(3)通過BIM三維可視化視角,能夠?qū)⒉煌囊晥D平面相互關(guān)聯(lián),項(xiàng)目中的每個構(gòu)件(族實(shí)例)都攜帶獨(dú)有的參數(shù),為后期工程量的統(tǒng)計以及數(shù)據(jù)庫的搭建奠定了基礎(chǔ),與傳統(tǒng)手段相比,工程質(zhì)量和效率得到有效提高,且具有較強(qiáng)的應(yīng)用價值。