周清華 李 純 黃新文
(中鐵工程設計咨詢集團有限公司,北京 100055)
我國鐵路行業BIM技術研究應用起步較晚,與國外發達國家和國內工民建行業相比較為落后[1]。2013年,中國鐵路總公司牽頭,幾大鐵路設計院和22家會員單位成立了中國鐵路BIM聯盟,研究鐵路BIM標準制定并選取試點工程開展BIM應用[2]。在標準方面,BIM聯盟已編制并發布了一系列標準。在工程應用方面,鐵一院在西成客專鐵路清涼山隧道[3]、十岔溝中橋開展了BIM技術在橋隧工程中應用探索[4];鐵二院在寶蘭客專石鼓山隧道[5]、滬昆客專北盤江特大橋、新白沙沱長江大橋和西成客專江油北站等項目開展了BIM設計以及施工應用方面的研究[6,7];中國鐵設在陽大、京沈、京雄等項目上應用了BIM技術[8,9];中鐵設計在京張高鐵項目開展了全線全專業BIM技術的應用探索。從上述標準制定和項目應用現狀來看,BIM在鐵路行業領域雖然起步晚,但發展迅速并取得一定的研究成果[10]。BIM技術在鐵路工程領域全生命周期應用還有很多未解決的問題,探索BIM技術在鐵路工程全生命周期中的應用將是重要課題,而非幾何屬性的表達與傳遞在其中占據著重要地位。
BIM在工程項目全生命周期的應用需要對模型信息以及模型蘊含的數據信息進行組織和再造[11]。并從設計階段開始不斷補充和完善,實現信息對象和模型對象的關聯及工程項目全生命周期流轉。基于Bentley平臺下的EC Schema以及NameGroup等技術,研究鐵路BIM模型中非幾何屬性的表達、與幾何模型的關聯以及基于非幾何屬性的管理應用技術。
EC(Engineering Configuration)Schema是Bentley公司提出的一種用于解決多種BIM軟件之間工程數據交互問題的數據庫模式。EC Schema包含文檔、商業數據和關聯的非幾何數據,并內嵌到XML文件中,其數據定義符合xmlSchema規范。Xml Schema是一種基于xml格式的Schema文件,可以同時定義信息結構和信息內容,包含可出現在文檔中的元素、屬性、元素繼承關系、子元素次序和數目、元素和屬性的數據類型、默認值以及固定值等內容。Schema可以理解為概要、輪廓、結構、規則或標準。用戶可以根據xml Schema編寫符合規則的xml文檔,可以根據xml Schema進行語法提示,可以根據xml Schema解析xml[12]。
EC Schema具有非常強的互操作性,采用計算機科學中的軟編碼方式,可以在運行時修改。計算機科學中還有一種硬編碼方式,可在軟件開發過程中,直接將規范固化在代碼中。此編碼方式適用于規范穩定的情況,否則應用方無法根據自身需求定制,不利于后期的擴展和維護。BIM技術應用于鐵路行業還不夠成熟,很多規范、制度還在探索和研制中。因此,應用軟編碼方式的EC Schemas規范來定義鐵路BIM模型的非幾何屬性,符合鐵路BIM技術應用現狀[13]。
ECSchema有幾個基本概念:ECClass、ECProperty、ECPropertyValue、ECInstance,如圖1所示。

圖1 ECSchama中的基本類
ECClass就像是一個數據表定義,對應非幾何屬性類;ECProperty就像是一個列定義,對應某種屬性;ECPropertyValue就像是一個單元格對應的屬性值;ECInstance就像是數據庫表中的一行,相當于屬性類的一個實例;ECSchema類似于數據庫中的模式,是數據庫對象的集合,可以存儲各種屬性類。
可以規定一個專業制作一個XML文件,每個XML文件應該包含的內容有:schema、class和property。這三者的關系為:一個schema可以有多個class,一個class可以有多個property,圖2為用ECSchema表示梁的非幾何屬性,結構梁可定義幾個非幾何屬性類(ECClass),其中有一個為主類,每個類定義若干屬性(ECProperty),對應的屬性可以設置一些默認屬性。

圖2 XML Schema文件內容
(1)XML Schema文件制作完之后,在Bentley軟件彈出Key-in命令"ecx schema import *.xml",若導入成功,則在軟件消息提示框有提示"Schemas import successfully",如果不成功,應檢查是否有類名重復或者文件編輯錯誤。
(2)屬性XML文件導入之后即存在dgn內,可以用"ecx schema export"導出屬性文件。
(3)如果想增減、修改屬性,可直接更新屬性表,修改xml文件,然后用"ecx schema update"命令重新導入即可更新。
(4)批量導入xmlSchema文件,首先制作批處理".txt",然后在key-in命令中輸入"@文件的全路徑"。
MDL是Bentley軟件平臺下一種基于C語言的擴展語言,早期版本的編譯器和鏈接器均由Bentley公司提供,最終生成可在Microstation軟件中調用的程序(擴展名為.MA)。隨著時間的推移,MDL逐漸可以基于C++來開發,采用微軟的Visual Studio作為開發工具來生成本機代碼的DLL。為了保留MDL的一些特性(如命令表、MDL特有的資源等),仍需生成一個.MA文件。這種新的MDL為NativeCode MDL,NativeCode MDL允許開發者采用面向對象的語言進行二次開發,采用此種方式可以充分利用面向對象語言C++本身的很多特性,并且可以生成與軟件本身一致的資源文件(對話框、按鈕以及文本編輯框等)。
利用Bentley軟件設計出各種鐵路構件時只包含構件的幾何要素,可采用NativeCode MDL編程實現非幾何屬性與鐵路構件模型的關聯:包含屬性賦值(包含屬性修改、刪減以及部分批量賦屬性功能)和構件樹生成模塊(見圖3)。

圖3 軟件整體界面
在軟件中設置好非幾何屬性及對應屬性值,點擊“賦屬性”按鈕,即可將設置好的屬性賦給選擇的構件(見圖4)。如果重復賦值,軟件會提示是否需要替換。

圖4 屬性關聯
鐵路是線狀工程[14],實際應用中各專業構件位置都需要使用里程定位,為此,可編程實現根據構件地理坐標自動計算對應里程并將其自動關聯到鐵路構件模型上。軟件操作方法:首先,在軟件界面設置中心線起始里程,然后點擊“選擇中心線”按鈕,最后,選擇批量掛接里程信息構件模型,點擊“批處理”,即可完成關聯,如圖5所示。

圖5 自動給隧道管片賦值里程信息
在建筑結構中,某些特定尺寸構件對應特定屬性信息??捎镁幊虒崿F特定尺寸信息BIM構件自動搜索,然后根據尺寸信息批量關聯對應的屬性信息。如設定橫梁截面長寬,點擊"選擇橫梁"按鈕,即可選擇特定種類橫梁,然后再批量關聯屬性(見圖6)。

圖6 特定尺寸模型屬性批量關聯
選中要刪除屬性的鐵路構件,點擊“刪除屬性"按鈕,即可清除構件中與構件關聯的非幾何屬性。
鐵路BIM模型中都存在一個IFD屬性。同時,Bentley軟件可提供一種基于NameGroup技術的分組管理機制。因此,可以通過編程實現基于IFD屬性對鐵路構件的自動分組,同理,還可以根據構件模型中的”段落里程信息”屬性,自動將鐵路構件按設計單元分段,如圖7所示。

圖7 構件樹結構
構件樹形成之后,可以基于樹對構件進行定位、單獨顯示以及批量顯示等操作。這為設計人員以及檢查人員提供了便捷的方法,通過此樹可以快速定位構件及進行查看、修改等操作。
BIM作為集成了多種數據的虛擬三維模型,不僅僅是幾何信息的共享,而且包含大量的非幾何屬性[15],可在鐵路施工、管理以及后期運營維護發揮重要作用。因此,在鐵路設計階段,將各種構件的非幾何屬性以及唯一的IFD編碼掛接到三維設計模型上是非常重要的。其次,基于非幾何屬性IFD編碼建立一棵構件樹有助于直觀查看和分析。
本課題研究基于Bentley軟件的EC Schema技術組織表達鐵路BIM模型非幾何屬性,并利用平臺提供SDK,采用NativeCode MDL編程技術實現鐵路BIM幾何模型與非幾何屬性的掛接、刪除,包含批量處理等工程,且可實現IFD對構件的統一管理,為鐵路BIM屬性信息在工程項目全生命周期(前期規劃、設計到施工過程、后期運營維護)流轉打下了堅實基礎。