張展豪 宋沛珩 張云龍 王 靜
(吉林建筑大學,交通科學與工程學院,吉林 長春 130118)
對于傳統(tǒng)技術使用CAD 軟件而言,不僅設計成本略高,在與其他專業(yè)進行信息通信時,容易造成信息偏差,嚴重時容易造成事故。應用BIM 技術后在橋梁建筑的各工程階段都能展現(xiàn)出其優(yōu)勢。
在設計階段時,橋梁設計者可在二維圖紙設計完成之后通過建模軟件(如Revit 等)生成建筑模型,在進行力學分析時,可利用插件進行分析,不容易出現(xiàn)錯誤且提高了設計效率。在與其他專業(yè)互通時,由于3D 模型比二維圖紙更為直觀,不必擔心各個專業(yè)的圖紙設計不同,從而造成信息傳遞錯誤,在設計階段降低了設計成本。
在施工階段時,BIM 可引入時間的概念,將維度從3D 增加到4D,從而進行時間上的模擬施工,在正式施工之前發(fā)現(xiàn)一些可能存在的問題,并在BIM平臺上與設計人員交流,增強施工效率,縮短工期。
運營維護階段時一個長期的階段,更能充分顯現(xiàn)出BIM 技術的優(yōu)勢。如在后續(xù)使用過程中發(fā)現(xiàn)某一橋梁部件存在問題,可在竣工交付BIM 模型中查看改部位的具體信息,有助于快速診斷和及時維修,也可以有效保證橋梁安全持久的使用[1]。
由于建筑業(yè)對于BIM 理念的理解加深,關注度也在逐年提高,Revit 作為一款平臺級BIM 軟件,其二次開發(fā)技術應用范圍更廣,應用價值更大?;赗evit 二次開發(fā)的程序功能涵蓋了快速建模、信息管理和數(shù)據(jù)交互等3 個方面,但是受制于Revit 數(shù)據(jù)框架和編程語言的掌握程度,開發(fā)者多為軟件開發(fā)企業(yè)和高??蒲袌F隊。選擇二次開發(fā)的研究方向,除了根據(jù)工程實際需要外,還可以基于前人已有的成果進行拓展研究。二次開發(fā)的成果是不斷積累的,并最終逐步完善[2]。
實現(xiàn)Revit 的二次開發(fā)需要借助微軟旗下的Visual Studio 平臺(以下簡稱VS),并依托C#、C++、VB.NET、F#等語言來實現(xiàn)開發(fā)的需求。開發(fā)所需要借助如下軟件與插件:
(1)Autodesk Revit
(2)Autodesk Revit SDK
(3)Microsoft VS
第一,C#的Revit 二次開發(fā)時,擴充了BIM 裝配式族庫,減少了重復性的工作,在一定程度上解決了Revit 沒有專門適用于橋梁的單獨裝配式模塊,建模效率低下的問題;第二,基于C#的Revit 以較好的實現(xiàn)組合梁、橫梁、蓋梁、橋臺、橋墩、基礎等常見構件的參數(shù)化繪制和修改,形成參數(shù)化構件庫。第三,可以在此插件的基礎上進一步開發(fā)相關與整體建模,統(tǒng)計各材料用量(如:混凝土量、鋼筋量等),計算配筋以及造價,計算構建預制率,以及裝配式5D 施工動畫制作等[3]。
在軟件的二次開發(fā)之前,需要先學習Revit 的開發(fā)條件,其API 能實現(xiàn)什么工作,以及實現(xiàn)其工作的方法。
設置模式。在Revit API 中,有External Command(外部命令)和External Application(外部應用)兩種方式來實現(xiàn)功能。外部命令為操作者需手動點擊來實現(xiàn)功能,而外部應用則是在Revit 程序啟動和關閉時自動執(zhí)行功能。在開發(fā)過程中,外部應用主要是新建頂部菜單欄與Ribbon 按鈕,而外部命令則是實現(xiàn)功能的重要模式,因此在實際開發(fā)中,一般采用External Command(外部命令)模式。
新建類。一般會從IExternalCommand 和 IExternalApplication 兩個接口派生,主要是根據(jù)模式的不同,IExternalCommand 對應外部命令、IExternalApplication 對應外部接口,重載方法。
編寫代碼。在相應版本的RevitAPI.chm 中可以檢索到相應的代碼格式、以及相應的更新信息。經(jīng)過合適的構思,合理的組合來實現(xiàn)需求。
在設計初期,基于參數(shù)化建模的思想,操作者輸入所有橋梁部件的參數(shù),在Winform 窗口中預覽符合要求后,將會自動得到組裝完成的橋梁模型。
插件的主要功能有:
1.參數(shù)化建模生成行車道版;
2.參數(shù)化建模生成主梁;
3.參數(shù)化建模生成橫梁;
4.參數(shù)化建模生成支座;
5.參數(shù)化建模生成橋臺;
6.參數(shù)化建模生成蓋梁;
7.參數(shù)化建模生成橋墩;
8.參數(shù)化建模生成基礎,等。
基于上述的設計思路,結合Revit API 實現(xiàn)的功能,找出需要的執(zhí)行代碼。
組合梁橋是指采用剪力連接件將鋼板梁、鋼箱梁、鋼桁梁等結構構件和鋼筋混凝土結合成組合截面共同工作的一種復合式結構。組合梁橋主梁上緣的材料通常采用混凝土,主梁下緣則采用鋼材,對于簡支結構,主梁上部受壓、下部受拉,這樣能夠充分發(fā)揮工程材料的力學優(yōu)勢,提高該類橋梁的技術性和經(jīng)濟性。組合梁橋的鋼梁在工廠預制,再運至現(xiàn)場進行拼裝,橋面板可現(xiàn)澆也可預制。這樣能夠極大地縮減施工時間,提高工程效率。組合梁橋以其整體受力的經(jīng)濟性、材料優(yōu)勢發(fā)揮的合理性,以及施工方法的便捷性得到了廣泛的應用[4]。
在主梁設計中,存在等截面和變截面兩種形式的梁,其中等截面梁在生成模型時較為簡單,可通過確定各個點的位置,之后連線,在添加梁長變量,即可生成出一個等截面的直梁。
在生成變截面梁時,可確定幾個橫截面的各個點位置,之后連線,在添加變截面點在梁長度方向上的位置變量,通過融合代碼,即可生成變截面梁。
橋梁的其他結構的生成方法與其過程類似,其中利用其他的建模方法(如:旋轉、鏡像、復制、放樣、放樣融合)不一一贅述,其代碼可在Revit API 手冊中可查[5-7]。
在開發(fā)《基于Revit 的鋼砼組合梁橋的參數(shù)化建模插件》時,主要的難點在于如何清楚的體現(xiàn)出鋼結構與混凝土結構的連接點。由于Revit 的特性(不允許碰撞)所限,在開發(fā)程序時,無法直接將混凝土與鋼的連接處直接插入一個鋼釘模型,只能先將混凝土模型扣除鋼釘部分,在加上一個鋼釘?shù)哪P?,這樣做不僅在生成模型時給人的感覺更直觀,而且在出圖使,也不需要做過多的修改。
主要步驟大概為將鋼混凝土組合梁先按正常步驟拉伸,之后做一個鋼釘模型的剪切體,之后再將鋼釘模型插入混凝土中,主要用于體現(xiàn)鋼與混凝土的連接位置。
在設計插件時,我們在程序里預留了主梁配筋計算、主梁內力計算、橋墩內力計算等一系列的計算程序。這樣,我們能在設計完成橋梁整體參數(shù)化建模后直接編寫橋梁各種情況下的內力計算代碼,極大程度的方便了后續(xù)的插件開發(fā),并在一定程度上保證了插件的整體性,以便于計算機運行插件時,不會因為程序框架版本不兼容而導致死機、卡頓、程序無響應甚至源文件崩潰的現(xiàn)象出現(xiàn)。
本文將傳統(tǒng)施工方法與BIM 技術相比較,首先說明了利用BIM 在橋梁施工各個階段的優(yōu)點,尤其在設計階段與施工階段,可節(jié)省資源資金并且縮短工期。并說明了如何利用Revit 二次開發(fā)實現(xiàn)組合梁橋的參數(shù)化建模。
對于組合梁橋的參數(shù)化建模插件,可通過賦予指定的參數(shù),自動生成一個組合梁橋模型,在實際工作中,也大大的減少了橋梁建模的工作量。筆者認為,參數(shù)化建模在之后的設計實際中,是一個大的趨勢。雖然由于橋梁結構具有多變性,但橋梁的參數(shù)化建模仍可構建出一個橋梁的大致整體,最后建模時,只需調整為適應地形地貌的結構即可,依然可以減少工作量。
在設計插件的過程中,需要用到 C#語言作為基礎,主要以IExternalCommand 接口為基本,基本程序編輯完成后,可利用IExternalApplication 在Revit 中生成一個選項卡,方便使用者使用。