趙 強 張景煜 劉 躍 王漫漫 郭曉慶
(1.安徽建筑大學 環境與能源工程學院,合肥 230601;2. 安徽省智慧城市工程技術研究中心,合肥 230601;3. 合肥市公安局科技信息化支隊,合肥 230601)
地下軌道交通作為城市重要的基礎設施,有著交通便捷、運輸量大的優點,同時地鐵站具有空間較為封閉且人員相對密集的特征,為其安全運營和管理提出了更高的要求。建筑信息模型(Building Information Modeling,BIM)具有數字化、可視化、真實化的特點,有利于軌道交通項目從設計、施工、到運營維護全生命周期實現動態可視化管理、信息共享和決策支持[1-4]。
近年來,如何應用BIM技術開展地下空間安全管理,引起了國內外學者的探討。鐘輝等人基于BIM模型二次開發,提出一套BIM數據提取與應用技術方案,解決建筑業各專業間數據使用效率低的問題[5]。趙強等人利用IFC和CityGML進行地下綜合管廊模型轉換研究[6]。孫少楠等人基于BIM技術,利用Revit對地鐵車站進行建模,并結合Pyrosim 軟件對火災模擬分析[7]。張學鋼等人利用Revit與魯班系列軟件構架BIM方案,對蘭州地鐵東崗站開展施工過程應用研究[8]。Mohamed Marzouk和Ahmed Abdelaty基于BIM,對地鐵車站室內環境質量進行監測,建立了一套地鐵車站網絡全球評級系統,能夠監測地鐵站內的室內溫度和顆粒物(PM)濃度水平[9]。
本文針對地鐵站安全監管,基于建筑信息模型,利用Revit,通過自建和加載標準構件族,構建地鐵站安全設備信息族庫,實現地鐵站安全信息設備庫建立,并進行二次開發,以合肥市地鐵3號線安徽大學磬苑校區站為例,進行安全設備信息族庫構建以及建模應用。
地鐵站安全設備信息族庫構建與應用技術路線流程如圖1所示,通過Revit族的定義和類型設置、新建標準構件族、加載標準構件族構建地鐵站安全設備信息族庫; 然后基于Revit,進行二次開發,實現地鐵站三維模型展示以及安全設備信息提取和管理。

圖1 地鐵站安全設備信息族庫構建與應用流程Fig. 1 Construction and application flow chart of information Library of subway station safety equipment
地鐵站族庫由建筑、結構、機電三大模塊組成,由于Revit本身攜帶的系統族比較常規,無法滿足需求,還需通過創建和加載來完善設備族庫。完善的族庫可應用于生成明細表,統計工程量; 1比1的模型比例和還原圖紙的構件位置,能用于碰撞檢測,在地鐵站施工前發現設計缺陷,可以及時修改和優化設計,避免返工現象; 監控設備、消火栓等安全設施,賦予特定的參數并進行開發使用后,可為地鐵站的安全運營提供保障。
族(Family)是構建地鐵站安全設備信息的基礎,是Revit項目中對構件的專用稱呼,它的本質是特殊的圖元組,包括了相關圖形表示以及本身攜帶的參數信息[10]。相同的族都具有相關的圖形表示和一組相同的參數(族類型參數),在Revit API中,提供了一系列的類和方法來提供管理族文檔,包括族類型和族參數管理等,地鐵站安全設備族庫成員構件創建相關的API類如圖2所示。當把指定的族類型加載到項目中后,就形成獨立的族實例(FamilyInstance),族實例既具有族的屬性也有其自身的獨立屬性。族、族類型、族實例都是元素(Element)的子類,它們的類圖如圖3所示。

圖2 族創建的相關類Fig. 2 Relevant categories of the Family creating

圖3 族類別Fig. 3 Division of the Family
地鐵車站安全設備族庫的許多成員形狀規格比較特殊,即使是同種構件,在不同的地鐵車站也可能具備不同屬性,因而需要量身打造。站臺層安全隔離門是地鐵站安全設備族庫的一個重要組成,本文通過Revit API來實現安全隔離門族的創建。Revit軟件支持實體幾何圖元和空心幾何圖元的創建,并通過各種圖元的結合來形成各種幾何形體,圖元的創建方式共五種包括拉伸、融合、旋轉、放樣和放樣融合[11]。Revit API支持完全相同的實體和空心體的創建方式,所用的API為 Autodesk.Revit.Creation.FamilyItemFactory類。安全隔離門族的創建主要通過拉伸的方式創建,在Revti API中需要輸入四個參數來創建拉伸圖元,本文采用C#為開發語言,創建拉伸圖元所用的方法如下:

(a)安全隔離門參數輸入界面 (b)安全隔離門模型圖4 安全隔離門參數輸入界面及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):
第一個參數is Solid是一個bool類型的參數,用來設定該拉伸體是實體還是空心體; 第二個參數profile是CurveArrArray類型,用來確定一個平面上的二維輪廓,且輪廓必須是閉合的; 第三個參數sketchPlane是SketchPlane類型,用來確定拉伸的工作平面; 第四個參數end是double類型,用來確定拉伸的長度。編寫好創建幾何圖元的外部命令之后通過Add-In Manager加載,就能實現安全隔離門圖元的創建,參數輸入界面和模型如圖4所示。
城市地鐵車站模型中所需的部分常見構件,可以通過從互聯網加載并修改的方式獲取,提高建模效率,本文以安全設備族庫的監控設備族為例,進行研究。如圖5所示,槍型攝像頭族通過編輯族選項進入編輯界面,點擊屬性面板族類型命令,即可進行參數的添加與修改。通過網絡上獲取的該族,除了本身攜帶的參數外,該族還需添加的族參數有施工坐標、WGS-84坐標、設備類型、設備相對位置、設備運行狀態等。全部參數添加完畢后,點擊選項面板中的載入到項目選項,在項目文件中選定族實例,通過編輯類型,就可以進行對應參數的設置。監控設備族的坐標信息(如WGS-84坐標),能夠準確描述族實例在地鐵站中的空間位置,一旦發生險情或特殊情況(如火災、罪犯逃逸等),可以瞬間定位事件的所處位置,并調動附近的監控畫面,為應急處置方案的制定提供強力的支持。

(a)槍型攝像頭模型 (b)族參數的添加圖5 槍型攝像頭模型及族參數Fig. 5 The model of Gun camera and addition of its family parameters

圖6 地鐵站安全設備族庫Fig. 6 Segmental family library of subway station
利用Revit API的豐富接口,運用Revit中編輯族的拉伸、融合、旋轉、放樣、放樣融合這5大工具,輔以參照平面,同樣可以創建安全設備族庫的其他構件族,其他主要構件族如圖5所示,為了方便安全設備的信息管理,將所創建的安全設備族全部保存到數據庫中。
Revit本身攜帶的功能模塊通常無法符合用戶的全部需要,此時用戶可以通過二次開發,自行編寫外部程序,進行功能拓展。基于Revit的二次開發主要需要參照Revit API(Application Programming Interface)中的類和方法進行代碼的編寫,能夠更好地實現 BIM 技術在項目全生命周期的運用。用戶能夠從軟件管網獲取開發工具包 Revit SDK(Software Development Kit)。借助 SDK 文件可以幫助用戶更好地掌握 API 的使用方式,用戶也能借此進行二次開發輕松獲取 BIM 模型的數據資料,然后進行查詢、變更等操作。
本文基于Revit軟件和Microsoft Visual Studio 2015開發平臺、SQL Server 2008數據庫,使用C#語言進行安全設備信息管理平臺的二次開發,實現地鐵站中監控設備族庫管理以及信息的實時查看和管理。
基于Revit的設備插件二次開發流程圖如圖7所示,首先需要添加外部引用RevitAPI.dll及RevitAPIUI.dll,之后創建新的類從IExternalCommand類派生,重載父類的Execute方法,重新編寫代碼,代碼編譯完畢后,將生成的dll文件用Addin-Manager加載,最后運行程序,測試是否符合地鐵站安全信息管理需求,不符合則需要修改代碼重新調試。

圖7 設備插件開發流程圖Fig. 7 Workflow diagram for device plugin developing
使用 External Command 和 External Application兩種方式進行編譯與測試時,Revit.exe啟動后,addin文件中的命令會被加載。本文構建的安全設備族庫面板的addin 文件如下:
首先對地鐵站所有設備族進行遍歷,根據交互界面族實例名稱獲取攝像頭ID,進而獲取攝像頭的X、Y、Z坐標,從而進行坐標轉換,輸出WGS-84坐標得到攝像頭的具體位置; 同時根據ID和連接的數據庫獲得攝像頭的相關信息,以及數據庫中實時存儲的攝像頭監控畫面,具體情況如圖8所示。

圖8 安全設備信息管理平臺程序流程圖Fig. 8 Flow chart of security equipment information management program
首先通過創建一個過濾器,將所有的監控設備族實例收納,通過過濾,通過交互界面族實例名稱的過濾,獲得設備的坐標位置等參數,并將該設備在模型中標記顯示。通過獲取族實例的ID值,從而與存儲在數據庫服務器中ID值對應。之后借助DataGridView 控件并綁定數據源為對應的數據庫,通過對數據庫中儲存的信息獲取安全設備族的運行狀態及位置等信息。
由于API接口原因,只能從本地讀取族文件加載到項目,這就需要將數據庫傳遞過來的族文件保存到本地后再加載,這就需要獲取使用程序電腦的臨時文件夾string tempPath=System.IO.Path.GetTempPath(); //獲取用戶臨時文件夾路徑將族文件保存到本地后使用LoadFamily(); 方法載入當前項目中。
在窗體信息展示設置中,通過Name或者ID參數是否等于ComboBox的選項篩選出目標信息,用foreach()函數遍歷指定設備的全部信息,攝像頭設備信息管理窗口如圖9所示,可以實現安全設備的信息提取和管理。

圖9 設備信息管理窗口Fig. 9 The management window of device information
通過Revit的ribbon界面開發,實現ribbon按鈕和安全設備族庫的關聯連接,從而形成安全設備族庫面板,創建面板如圖10所示。

圖10 安全設備族面板Fig. 10 Security device family panel
安徽大學磬苑校區站是合肥市地鐵3號線車站之一,車站為三層標準島式車站,地下一層為站廳層,地下二層為設備層,地下三層為站臺層。整個三層地下空間共囊括高清固定槍型網絡攝像機5臺,人臉識別攝像機16臺,室內室外球型網絡攝像機共9套等,根據主要工程數量清單,并結合現場采集高清圖像,構造地鐵站安全設備族庫管理。
如圖11展示了基于Revit二次開發地鐵站的BIM模型,包括出口渲染效果、車站整體建筑三維展示、含有自動檢票機、手扶電梯的站廳層局部三維展示、含有安全隔離門和監控設備的站臺層局部三維展示。

(a)站廳層局部

(b)站臺層局部圖11 地鐵車站BIM三維展示Fig. 11 BIM 3D display in subway station
圖12展示了該地鐵站安全設備—攝像頭的定位分布平臺管理界面,有助于整個地鐵站攝像頭管理和維護,為地鐵站的精細化管理提供全新的技術支撐。

圖12 攝像頭的定位分布平臺管理界面Fig. 12 Camera positioning distribution platform management interface
本文基于Revit進行地鐵站安全設備信息族庫創建開發與應用,具體得到以下結論:
(1)族是實現地鐵站安全設備三維可視化的基礎,較為復雜的族可以借助Revit API進行開發,充分利用API以編程的方式完成一些工作量較大、規律性較強的工作,而比較常規的族可以通過Revit自身攜帶的族庫或者互聯網獲取后編輯參數在投入使用。
(2)安全設備信息族庫的構建和實施,可以提供設備信息提取和管理,有助于地鐵站安全設備的實時高效管理。
(3)通過BIM三維可視化視角,能夠將不同的視圖平面相互關聯,項目中的每個構件(族實例)都攜帶獨有的參數,為后期工程量的統計以及數據庫的搭建奠定了基礎,與傳統手段相比,工程質量和效率得到有效提高,且具有較強的應用價值。