姚 遠 上海城建信息科技有限公司,上海 200020
Revit軟件是當(dāng)今BIM領(lǐng)域中被廣泛使用的建模軟件,其軟件內(nèi)擁有一套特有的“族”分類機制,根據(jù)Revit模型“族”類別的特性,雖然以房建專業(yè)為藍本設(shè)計的Revit內(nèi)置族分類的方式無需對模型進行加工和額外信息的添加,比較方便快捷,但是在某些類型的工程領(lǐng)域,例如道路、橋梁、隧道等市政工程的BIM模型需要額外的信息將模型構(gòu)件進行分類、組織,即利用Revit軟件為模型構(gòu)件添加屬性并賦予相關(guān)屬性值的方式對模型進行有效的組織和編碼。
利用Revit軟件中的項目參數(shù)設(shè)定功能,可對模型添加構(gòu)件參數(shù),但是必須要求所有構(gòu)件必須擁有一致的參數(shù)名稱,確保在后期應(yīng)用中計算機系統(tǒng)能正確識別相同的參數(shù)名以進行規(guī)則解析和分類。例如圖1中,在項目中添加了名稱為“W1”至“W5”的項目參數(shù),并將參數(shù)歸類于“常規(guī)”下,則項目中的所有實體構(gòu)件(圖中示例為樓板)的“常規(guī)”屬性下都擁有W1至W5參數(shù)。
圖1 Revit項目參數(shù)添加過后的構(gòu)件屬性
據(jù)前所述,編碼的目的與編碼體系的建立需滿足能對模型構(gòu)件的自動分類,即模型不同層級的分級要求;并且需滿足一定的靈活性以應(yīng)對不同應(yīng)用場景。雖然編碼具有靈活性,但是同一項目下的所有模型及構(gòu)件需享有同一套編碼規(guī)則標(biāo)準(zhǔn),以便將相同項目中的所有構(gòu)件按照規(guī)則進行分級分類管理。因此在項目模型建立初期,應(yīng)當(dāng)制定一套全項目共享的統(tǒng)一編碼體系標(biāo)準(zhǔn),通常根據(jù)項目規(guī)模和應(yīng)用要求可制定4~8級的編碼級別,并且為了滿足編碼唯一性需要,通常規(guī)定或增加最后一級的編碼為序號碼,序號碼為分辨所有編碼級別都相同的同種構(gòu)件的身份識別碼。編碼規(guī)則中一般需說明編碼的級別數(shù)量,各級別的名稱、代碼范圍(或代碼列表)以及代碼所指代的實際意義。以某工程BIM應(yīng)用系統(tǒng)模型編碼規(guī)則為例:
(1)分類編碼:模型分類代碼采用4層多位組合代碼,代碼結(jié)構(gòu)如下:XX_XX_XX_XX
一級代碼為【樓層】代碼,主要表示設(shè)施設(shè)備所屬的樓層,以土建工程常用命名方式為準(zhǔn),如地下一層的代碼為B1。二級代碼為【專業(yè)】代碼,主要表示設(shè)施設(shè)備所屬的專業(yè),以工程專業(yè)分類為準(zhǔn);根據(jù)工程運維階段應(yīng)用需要,該級還可選擇增加本標(biāo)準(zhǔn)條款。三級代碼為設(shè)施設(shè)備【類型】代碼,主要表示設(shè)施設(shè)備所屬的類型,包含專用及非專用設(shè)施設(shè)備兩大類,均為兩位數(shù)字或字母編碼。四級代碼為設(shè)施設(shè)備【型號】代碼,主要表示設(shè)施設(shè)備的型號,包含專用及非專用設(shè)施設(shè)備兩大類,均為兩位數(shù)字或字母編碼。
(2)序號編碼:第五級序號碼為一個工程項目中同種設(shè)施設(shè)備的【順序】號碼,采用數(shù)字型號碼表示,號碼從“1”開始至“999”,可按設(shè)施建設(shè)或設(shè)備安裝的順序進行編制。根據(jù)以上編碼規(guī)則示例,該項目采用了共為5級的編碼參數(shù)體系(前四級分類,第五級序號編碼),并且在前四級的樓層、專業(yè)、類型、型號的編碼基礎(chǔ)上,采用最后一位序號碼的方式保證構(gòu)件在自定義編碼下的唯一性和可復(fù)用性。為了保證唯一性的條件,第5位序號碼不建議采用人工的方式錄入信息,對于大型的項目而言構(gòu)件可達上萬個,以人工的方式對于保證唯一性、多人協(xié)作的容錯性等都存在著非常大的困難,因此可借助計算機進行自動編碼序列號成為解決此問題的一項關(guān)鍵技術(shù)。
圖2 模型屬性參數(shù)序號編碼插件
圖3 經(jīng)過插件自動化編碼后的構(gòu)件屬性
編碼規(guī)則所制定的序列號編碼需保證同種類構(gòu)件的唯一性,因此此類的編碼建議采用計算機自動編碼的方式進行。筆者針對此需求進行了基于Revit API開發(fā)的自動編碼插件,可達到第五位序列號的按規(guī)則自動生成唯一性編碼,并且對于模型的其他級別編碼進行編碼合理性檢查,包括:①所有分類編碼必須全部填寫,沒有填寫編碼的均為無效編碼;②所有分類編碼必須為特定位數(shù)編碼;③所有分類編碼必須在設(shè)定的當(dāng)前代碼范圍內(nèi),超出范圍的均為無效編碼;④所有序號必須全部填寫,沒有填寫編碼的均為無效編碼;⑤所有序號不超過三位編碼。
如圖2及圖3示意,經(jīng)過Revit二次開發(fā)的自動化編碼插件利用了Revit API中對于構(gòu)件的篩選、構(gòu)件屬性的識別以及賦值的功能,加以特定的編碼算法和對編碼規(guī)則的預(yù)定義,通過插件的界面設(shè)定,可識別和記錄項目中所有構(gòu)件的前四位人工編碼,自動賦予第五位參數(shù)唯一的身份序號碼,將本需要以人工輸入方式去獲得的編碼進行快速的計算機自動化,減少了人工工作量以及人工錄入所帶來的潛在錯誤性,對BIM模型的后期應(yīng)用具有較高的價值,可被其他類型的BIM后期應(yīng)用廣泛借鑒。
Revit模型編碼技術(shù)可被應(yīng)用于對于BIM模型的構(gòu)件層級管理,即在應(yīng)用平臺上可讓用戶方便地根據(jù)工程專業(yè)、樓層、設(shè)施設(shè)備的類型等屬性快速定位到某些相應(yīng)的構(gòu)件上,極大地提升業(yè)務(wù)工作效率,并且對不同的用戶都比較友好。如圖4所示,在該應(yīng)用平臺界面左側(cè)提供了一列構(gòu)件的管理層級樹,不僅可顯示出在大場景地圖上所有的BIM工程,還可根據(jù)用戶需要,定位到某個工程的相應(yīng)樓層和專業(yè),為用戶在GIS地圖大場景下進行多工程項目管理提供了非常貼近業(yè)務(wù)的層級管理方式,解決了Revit內(nèi)建族類型不適用于地下工程的缺陷。
圖4 地下工程BIM應(yīng)用平臺中的模型管理層級樹(左側(cè))