胡亞森,陳天星,曾文驅,袁 泉,徐洪亮
(1. 西南交通大學機械工程學院,四川成都 100084;2. 廣州地鐵設計研究院股份有限公司,廣東廣州 510010)
結構化、模塊化、參數(shù)化建模是建筑信息模型(BIM)技術的核心理念,而Autodesk Revit作為BIM技術的主流設計平臺,其模塊化、參數(shù)化建模理念的直接體現(xiàn)就是族的應用[1]。族是一個包含通用屬性(稱作參數(shù))集和相關圖形表示的圖元組[2-3],作為Revit的重要組成部分,貫穿于整個建筑設計項目中[4]。由于Revit族文件存在制作程序繁瑣、制作工程量大、管理混亂等缺點,其設計是Revit建模中占用時間較長的一個環(huán)節(jié),也成為制約我國BIM技術發(fā)展的一大瓶頸[5]。
城市軌道交通建設工程是一項多專業(yè)、多單位參與,在多約束、長周期、大投入條件下建設的復雜系統(tǒng)工程[6]。其涉及40多個專業(yè),包括運營組織、車輛、限界、線路、軌道、車站建筑、結構、通風空調、給排水及消防、供電、通信、自動售檢票、綜合監(jiān)控、環(huán)境與設備監(jiān)控、站臺門等系統(tǒng),相關構件多達上1 000種[7-8],因此在開展BIM設計時,所需的Revit族文件數(shù)量非常龐大,合理使用族庫可以有效地提高建模效率。目前,城市軌道交通工程相關的BIM族庫分為2 類:① 由軟件廠商在BIM基礎軟件中提供的BIM產品庫,如Revit自帶族庫、族庫大師、鴻業(yè)族庫、筑龍網族庫、Revit City等;②各企業(yè)針對具體項目自己建立的BIM產品庫[9]。然而,這些族庫的編碼與管理規(guī)則無法滿足城市軌道交通行業(yè)對構件全生命周期管理的要求,也無法解決其涉及專業(yè)眾多、族文件管理混亂的問題。
為此,本文提出一種基于統(tǒng)一編碼的城市軌道交通BIM族庫管理方法(以下簡稱“BIM族庫管理方法”),并依據此方法構建城市軌道交通BIM族庫管理系統(tǒng)(以下簡稱“BIM族庫管理系統(tǒng)”),以期實現(xiàn)對城市軌道交通工程相關構件的全生命周期管理。
近年來,國內城市軌道交通工程快速發(fā)展,已有不少學者開展了城市軌道交通BIM構件分類編碼研究。畢湘利等[10]提出了一種基于城市軌道交通資產管理的構件分類編碼規(guī)則;沈小兵等[11]以城市軌道交通行業(yè)為研究對象,總結其資產編碼的基本結構,并分析資產編碼的作用。然而,上述構件編碼規(guī)則均以資產管理為出發(fā)點,僅用于城市軌道交通工程的初步設計階段,而并未應用到建設和運維階段中,從而無法實現(xiàn)構件信息在城市軌道交通工程全生命周期的共享,無法在其生命周期的其他階段產生效益[12]。
建立統(tǒng)一的構件分類編碼規(guī)則,可以將城市軌道交通工程項目在設計階段產生的構件唯一標識(UID)無縫地應用到建設、運維階段,解決由于不同部門采用不同編碼規(guī)則而導致的各階段“信息孤島”等問題,達到信息共享與轉換的目的,進而更好地為城市軌道交通運營維護管理服務。
針對城市軌道交通工程涉及的構件數(shù)量多、層級結構復雜的特點,參考廣州地鐵設計研究院股份有限公司的BIM構件編碼規(guī)則,本文提出一種符合城市軌道交通工程特點的BIM構件統(tǒng)一編碼規(guī)則,采用線分類法對城市軌道交通構件進行管理。線分類法也稱等級分類法,按選定的若干屬性(或特征)將分類對象逐次分為若干層級,每個層級又分為若干類目;同一分支的同層級類目之間構成并列關系,不同層級類目之間構成隸屬關系;同層級類目互不重復、互不交叉[13]。其編碼結構如圖1所示。
圖1 編碼結構
具體編碼規(guī)則如下。
(1)整個編碼結構分為三段-八級編碼,共19位。三段編碼為任務階段編碼、設計階段編碼以及流水號編碼。
(2)任務階段編碼包含一級編碼、二級編碼和三級編碼。其中,一級編碼為城市編碼,由2位字符構成,從“01”至“99”,代表構件所在城市;二級編碼為線路編碼,由2位字符構成,從“01”至“99”,代表構件所在的線路;三級編碼為建模對象編碼,表示構件所在車站、區(qū)間、車輛段等,采用3位字符,即1位字母+2位數(shù)字,如表1所示。
表1 建模對象編碼
(3)設計階段編碼包含四級至七級編碼。其中,四級編碼為專業(yè)編碼,五級編碼為子系統(tǒng)編碼,六級編碼為構件編碼,七級編碼為構件類型編碼,均由2位數(shù)字構成(經調研,城市軌道交通行業(yè)所涉及的專業(yè)、各專業(yè)涉及的子系統(tǒng)、各子系統(tǒng)包含的構件及其類型一般不超過100種,因此采用2位數(shù)字編碼已經足夠)。表2列舉了某些專業(yè)的構件在設計階段的編碼表。
表2 某些專業(yè)的構件在設計階段的編碼表
(4)流水號編碼采用十進制的計算方式,由4位數(shù)字構成,從“0000”至“9999”。但是在實際項目中,有少量構件的類型會超過9999種,如通風空調專業(yè)的風管。為彈性解決此類問題,流水號編碼采用36進制作為補充,即字母(A~Z)+ 3位數(shù)字,其存儲容量可比十進制擴大168倍。例如,通風空調專業(yè)某一類型風管的流水號編碼達到“9999”,則下一個同類型風管流水號編碼即為“A001”。
基于統(tǒng)一編碼的BIM族庫管理方法是指依據統(tǒng)一編碼規(guī)則,對城市軌道交通工程項目的族文件進行管理,具體包括系統(tǒng)底層數(shù)據管理與可視化管理2方面。系統(tǒng)底層數(shù)據管理是指在關系型數(shù)據庫中構建各級編碼的層級數(shù)據表,用于管理各級編碼下的具體信息;通過文件服務器對項目中涉及的族文件進行統(tǒng)一管理,將文件服務器中族文件的地址及其對應的編碼信息存放在關系型數(shù)據庫的數(shù)據表中,從而將族文件的上傳下載地址與其編碼綁定起來,實現(xiàn)僅通過族文件的編碼屬性獲取對應族文件的功能。系統(tǒng)可視化管理是指在Web端和Revit端生成族庫結構目錄樹,并設置人機交互界面以便于用戶操作。
實現(xiàn)該管理方法的關鍵是,從項目開始起便使用統(tǒng)一編碼,即在項目的設計階段為BIM模型中的每一個構件添加統(tǒng)一編碼。各專業(yè)設計人員在構建BIM模型時應通過BIM族庫載入每一個族文件,并在載入族文件時通過Revit二次開發(fā)為每一個族文件添加對應的編碼信息,并使其與關系型數(shù)據庫中存儲的編碼信息保持一致,以保證族庫管理系統(tǒng)的通用性、可移植性及數(shù)據一致性。
在實際工程中,構件的任務階段編碼是根據具體項目生成的。在將族文件載入Revit項目后,可通過自動編碼功能將族文件實例化,此時的編碼包括任務階段編碼和設計階段編碼,共15位,然后再加上4位流水號編碼,最終形成19位唯一編碼。以廣州地鐵14號線太和站為例,其任務階段編碼為“0214Z04”,建筑專業(yè)鋼質密閉門的設計階段編碼為“03030604”。其對應的項目族庫結構目錄樹如圖2所示。
圖2 廣州地鐵14號線太和站項目族庫結構目錄樹
本章根據上文提出的BIM族庫管理辦法,構建BIM族庫管理系統(tǒng),并從系統(tǒng)設計及隱式自動編碼2方面對其進行介紹。
BIM族庫管理系統(tǒng)由FastDFS文件服務器、MySQL關系型數(shù)據庫、Web客戶端和Revit客戶端4部分組成。Web和Revit客戶端產生或使用結構化和非結構化數(shù)據;非結構化數(shù)據通過FastDFS文件服務器進行存儲和管理;結構化數(shù)據通過MySQL關系型數(shù)據庫進行存儲和管理。FastDFS文件服務器在進行文件上傳時產生的文件名和文件存儲地址通過MySQL關系型數(shù)據庫的層級數(shù)據表存儲,并在Web和Revit客戶端以結構目錄樹的形式展示。其系統(tǒng)架構如圖3所示。
圖3 系統(tǒng)架構圖
該系統(tǒng)架構分為數(shù)據層、服務層、功能應用層和用戶層4層結構,下面將介紹每層結構的具體內容。
4.1.1 數(shù)據層
數(shù)據層包含結構化和非結構化2種數(shù)據。結構化數(shù)據,如系統(tǒng)角色信息、族屬性信息等,采用具有體積小、速度快、成本低、開放源代碼等特點的MySQL關系型數(shù)據庫進行存儲[14]。非結構化數(shù)據,如相關專業(yè)的族文件及說明文檔等,采用FastDFS文件服務器進行存儲、同步和訪問,該文件服務器是一種開源的高性能分布式文件系統(tǒng),具有高容量和負載平衡的特點。
4.1.2 服務層
服務層介于數(shù)據層和功能應用層之間,負責訪問和傳遞MySQL關系型數(shù)據庫中的結構化信息及FastDFS文件服務器中族文件的相關文檔。其通過調用Web和Revit客戶端接口,訪問FastDFS文件服務器及MySQL關系型數(shù)據庫,以實現(xiàn)數(shù)據的流轉,并保證數(shù)據庫、服務器、Revit客戶端及Web客戶端的數(shù)據一致性。
4.1.3 功能應用層
功能應用層是BIM族庫管理系統(tǒng)所有功能的集合,包括Web客戶端功能及Revit客戶端功能。
Web客戶端功能夠實現(xiàn)對族庫文件的查詢、審核與管理維護,其功能包括設置族庫負責人、審核和管理族文件、對族文件進行下載記錄等。
Revit客戶端作為設計的主平臺,也是BIM族庫管理系統(tǒng)的寄生地,實現(xiàn)對族文件的繪制和應用,其功能包括結構目錄樹讀取、族屬性讀取、縮略圖顯示、族文件下載和載入等,具體功能如下。
(1)結構目錄樹讀取。結構目錄樹基于統(tǒng)一編碼規(guī)則建立,并與FastDFS文件服務器上的結構目錄樹對應,在Revit客戶端通過訪問HTTP協(xié)議可訪問FastDFS文件服務器的接口結構,并在Revit客戶端生成結構目錄樹的可視化界面。
(2)族屬性讀取。該功能包括對族文件幾何參數(shù)、設計階段屬性、施工階段屬性及運維階段屬性的讀取。對族文件幾何參數(shù)和設計階段屬性的讀取通過Revit二次開發(fā)實現(xiàn),運用RevitSDK中的RevitAPI.dll和RevitAPIUI.dll文件,并使用FamilyManager.Parameters獲取所有屬性參數(shù);族文件的施工階段屬性和運維階段屬性通過與文檔的映射關系存儲在MySQL關系型數(shù)據庫中,可通過在Revit客戶端訪問該數(shù)據庫接口來讀取。
(3)縮略圖顯示。通過訪問FastDFS文件服務器接口,獲取族文件對應的縮略圖,并在Revit族庫管理界面顯示。
(4)族文件下載和載入。通過在Revit客戶端訪問FastDFS文件服務器接口,可下載選中的族文件并保存至本地默認文件夾內,同時通過Revit客戶端接口提供的LoadFamily方法可實現(xiàn)族文件的載入。
Revit客戶端界面效果如圖4所示。
圖4 Revit客戶端界面效果圖
4.1.4 用戶層
用戶層通過Web客戶端和Revit客戶端2種方式提供BIM族庫管理系統(tǒng)的登錄界面。族庫負責人和族文件審核管理員通過Web客戶端界面登錄系統(tǒng)并根據權限進行相應的操作,各專業(yè)設計師通過Revit客戶端界面進入系統(tǒng)進行相應操作,如表3所示。
表3 用戶角色功能
其中,各專業(yè)設計師、族文件審核管理員及族庫負責人分別負責族文件的制作、審核和維護,如圖5所示。首先,由各專業(yè)設計師繪制族文件,并在繪制完成后上傳族文件和進行入庫申請;然后,由族文件審核管理員對上傳的族文件進行專業(yè)審核,審核通過后將其存入FastDFS文件服務器中;最后,由族庫負責人對族文件進行管理與維護,并發(fā)布已經通過審核的族文件。
圖5 族文件管理流程圖
基于統(tǒng)一編碼規(guī)則,本文創(chuàng)建了一種隱式自動編碼技術,通過后臺代碼將構件UID自動、快速地賦予每一個構件實例,以實現(xiàn)對構件的全生命周期統(tǒng)一管理。隱式自動編碼技術通過以下3步實現(xiàn):①獲取任務信息編碼,任務信息編碼根據具體的工程項目族庫結構目錄樹產生;②通過Revit二次開發(fā)將設計階段編碼添加到族屬性;③添加流水號編碼,并生成最終的19位編碼。
具體操作如下:①在Revit項目中載入族文件后,訪問MySQL關系型數(shù)據庫中的項目信息表并獲取7 位任務信息編碼;②通過Revit二次開發(fā)獲取族文件的8位設計階段編碼;③訪問MySQL關系型數(shù)據庫中構件屬性表,判斷此表中是否存在相同的任務信息和設計階段編碼,如存在,讀取此表中流水號編碼的最大值,在流水號值上加“1”生成最終編碼,如不存在,則在此表中生成一條新數(shù)據以存儲最終編碼“0001”。自動編碼技術流程如圖 6所示。
圖6 自動編碼技術流程圖
本文將城市軌道交通構件編碼規(guī)則與BIM族庫管理系統(tǒng)相結合,通過隱式自動編碼技術為城市軌道交通BIM模型中的每個構件添加構件UID,使得設計人員能夠方便快捷地從族庫中提取構件屬性,包括構件的幾何參數(shù)、設計階段屬性、施工階段屬性、運維階段屬性。該BIM族庫管理系統(tǒng)不僅可縮短BIM模型的建模時間,還可將族庫的信息資源變?yōu)閿?shù)字資產,實現(xiàn)族庫資源的集中存儲及信息流轉。