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