■ 徐劍
Revit系統(tǒng)軟件二次開發(fā)研究
■ 徐劍
分析西成客運專線清涼山隧道BIM建模過程中存在的問題,并提出解決方案。從項目管理、族庫管理、斷面管理、族構(gòu)件加載和模型拼裝方面對Revit系統(tǒng)二次開發(fā),掌握Revit SDK API函數(shù)二次開發(fā)方法和一些技巧,熟悉了解其功能,實現(xiàn)隧道BIM模型拼裝。
Revit;BIM模型;二次開發(fā);清涼山隧道
在西成客運專線清涼山隧道BIM建模過程中,存在以下幾方面的問題。
(1)適合隧道工程建模的族構(gòu)件基本是空白。按建模需求完成族庫建設(shè)后發(fā)現(xiàn),依靠手工方式在Revit系統(tǒng)提供的人機(jī)交互平臺完成隧道建模工作效率低,精度無法保證。即使建模完成,若要對某部分變更,可能需要修改模型全部構(gòu)件參數(shù),整個拼裝過程必須重來。
(2)族構(gòu)件按照一定的標(biāo)準(zhǔn)建立,同一族構(gòu)件在同一模型或不同模型中,會被多次調(diào)用,用于不同位置,其參數(shù)發(fā)生變化。手工建模時,同一族構(gòu)件參數(shù)調(diào)整非常繁瑣,而且容易出錯。
(3)在三維空間曲線上建模時,要求族構(gòu)件必須進(jìn)行相應(yīng)形變,以滿足模型與實際情況相符,手工很難完成。
基于上述問題,通過對Revit系統(tǒng)提供的API函數(shù)研究,結(jié)合手工建立隧道模型的基本過程,通過多次試驗,提出采用二次開發(fā)方式解決問題的思路。一是通過人工方式建立隧道族構(gòu)件;二是采用二次開發(fā)程序準(zhǔn)確獲取隧道模型所需的空間曲線基本屬性,并為隧道族構(gòu)件的擺放做基礎(chǔ)準(zhǔn)備;三是加載各種族構(gòu)件,完成實例生成、參數(shù)設(shè)置和拼裝工作。
圖1 Revit系統(tǒng)軟件的功能模塊
Revit系統(tǒng)軟件的功能模塊見圖1。
2.1 項目管理
項目管理的目的是確定隧道工點的起訖里程,獲取工點所在線路的三維空間曲線或平面曲線與豎曲線屬性。如果提交的是線路三維空間曲線的DWG文件,則可直接在二次開發(fā)系統(tǒng)中應(yīng)用三維空間曲線屬性提取功能,獲得滿足后期隧道BIM模型拼裝要求的屬性值。如果按線路豎曲線要素值和平面曲線DWG文件方式提供隧道所在的線路,首先可獲取平面曲線的各
屬性值,然后通過二次開發(fā)系統(tǒng)提供的豎曲線屬性值計算功能,獲取豎曲線上滿足隧道模型拼裝的各屬性值,最后將豎曲線屬性值與相對應(yīng)的平面曲線屬性值擬合,得到完整的空間三維線路曲線屬性值。
2.2 族庫管理
隧道BIM模型是由眾多隧道族構(gòu)件拼裝而成,因此,有效地管理族構(gòu)件是二次開發(fā)系統(tǒng)成功的關(guān)鍵之一。其中包括族構(gòu)件所屬項目及工點、族文件所在路徑、族名稱及類型管理、族預(yù)覽及族參數(shù)設(shè)定、族所屬拼裝類型管理等。隧道族構(gòu)件管理界面見圖2。
(1)族構(gòu)件文件基本屬性管理。族文件路徑可通過瀏覽磁盤文件獲取,族名稱及族類型、族基點坐標(biāo)值等由二次開發(fā)系統(tǒng)通過對族文件的操作自動獲取,避免了人工輸入產(chǎn)生的誤差導(dǎo)致模型拼裝失敗。
(2)拼裝參數(shù)管理及族預(yù)覽。此參數(shù)主要是在BIM模型自動拼裝中,由二次開發(fā)系統(tǒng)按拼裝要求在實例中進(jìn)行修改或新增的參數(shù)值,可在拼裝時對模型尺寸、模型所在曲線半徑等進(jìn)行修改,也可作為BIM信息的一部分,提交給BIM模型的使用方。
(3)拼裝屬性管理。在隧道BIM模型中所有族構(gòu)件實現(xiàn)模型拼裝時,按類型可分為整體拼裝、間距拼裝和單獨拼裝3類。按照拼裝類型不同,族構(gòu)件在調(diào)用及實例生成時,插入點的計算不同。專用洞室屬于特殊族構(gòu)件,在族庫管理中同時進(jìn)行有效管理。2.3 斷面管理
隧道BIM模型由不同類型的斷面組成,不同斷面類型的區(qū)別主要表現(xiàn)在斷面起訖里程、斷面中構(gòu)件的組成、按整體拼裝形式進(jìn)行拼裝的構(gòu)件管節(jié)長度、按間距拼裝形式進(jìn)行拼裝的各構(gòu)件相對應(yīng)的拼裝間距等。隧道BIM模型斷面管理界面見圖3。斷面管理中設(shè)定的參數(shù)及數(shù)值直接參與模型拼裝的族構(gòu)件調(diào)用、實例生成及實例插入點的計算。
圖2 隧道族構(gòu)件管理界面
2.4 族構(gòu)件的加載
斷面類型、族構(gòu)件及拼裝信息設(shè)置后,將參與本次模型拼裝的族構(gòu)件加載到Revit系統(tǒng)中,可從族庫中選取族構(gòu)件,以減少二次開發(fā)系統(tǒng)開銷,提高拼裝速度。族構(gòu)件加載界面見圖4。
2.5 模型拼裝
圖3 斷面管理界面
圖4 族構(gòu)件加載界面
圖5 拼裝界面
隧道BIM模型可按里程、斷面、部位等不同形式進(jìn)行全隧道或隧道段落拼裝。隧道BIM模型拼裝界面見圖5。
(1)在Revit系統(tǒng)開發(fā)包中,二次開發(fā)為用戶準(zhǔn)備了Revit SDK API函數(shù),并隨Revit系統(tǒng)版本升級,其API功能不斷完善、加強(qiáng)。
(2)用好API函數(shù),可改善Revit系統(tǒng)軟件本身存在的不足。例如,Revit系統(tǒng)軟件在人機(jī)交互方面,特別是在空間定位人機(jī)交互方面比較薄弱,導(dǎo)致無法通過輸入三維坐標(biāo)點方式插入族構(gòu)件或生成實例,而API函數(shù)可很好地解決這個問題。
(3)將Revit系統(tǒng)軟件與其他軟件相互配合,能夠達(dá)到事半功倍作用。例如,開發(fā)過程中將Revit系統(tǒng)的二次開發(fā)與Autocad的二次開發(fā)相結(jié)合,通過Autocad提供的DWG瀏覽控件打開線路曲線DWG文件;通過ObjectArx二次開發(fā)編程,獲取Revit系統(tǒng)二次開發(fā)所需的線路屬性值,并存入共享數(shù)據(jù)庫,使隧道BIM模型在空間三維曲線上的精確、快速拼裝得到數(shù)據(jù)保證。
(4)在Revit系統(tǒng)開發(fā)中發(fā)現(xiàn)二次開發(fā)資源不足,從需求分析到開發(fā)完成沒有完整、詳細(xì)的技術(shù)參考資料借鑒,以及Revit SDK API函數(shù)的使用方法及功能,除了Revit SDK Tools本身所帶的幫助文件外,沒有其他技術(shù)資料,使開發(fā)中遇到的問題無法迅速解決,需要不斷探索和實踐,成為新技術(shù)學(xué)習(xí)、實戰(zhàn)經(jīng)驗和開發(fā)技巧的積累過程。
通過對Revit系統(tǒng)軟件的開發(fā),掌握了Revit SDK API函數(shù)二次開發(fā)方法和一些技巧,熟悉和了解其功能,實現(xiàn)了隧道BIM模型拼裝,為今后開發(fā)工作打下一定基礎(chǔ)。
徐劍:中鐵第一勘察設(shè)計院集團(tuán)有限公司信息網(wǎng)絡(luò)處,工
程師,陜西 西安,710043
責(zé)任編輯苑曉蒙
U45
A
1672-061X(2014)05-0039-03