卞明月, 談麗華, 陳 鑫, 李愛群, 孫 勇, 劉 濤
(1. 蘇州科技大學 江蘇省結構工程重點實驗室, 江蘇 蘇州 215011; 2. 中衡設計股份集團有限公司, 江蘇 蘇州 215021; 3. 北京建筑大學 北京未來城市設計高精尖創新中心, 北京 100044; 4. 江蘇省建筑科學研究院有限公司, 江蘇 南京 210008; 5. 江蘇省住房和城鄉建設廳, 江蘇 南京 210036)
建筑信息模型(Building Information Model,BIM)技術,是一種基于計算機的直觀性、可分析性、可共享性、可管理性的特性來改進建筑工程設計、施工、運維等過程的技術[1]。近年來,該技術在國內逐漸引起關注,并廣泛運用到建筑設計、工程建造和運營維護等各個方面,貫穿建筑生命的整個周期[2,3]。與傳統CAD(Computer-Aided Design)設計不同,BIM模型不僅僅是一個圖形化表示,還是儲存建筑物、結構及配套專業信息的數據庫。借助BIM模型不僅可以獲得有關建筑物或結構的信息,而且這些信息可在建筑全壽命期(建筑設計、工程計算、施工、維護、重建等)共享使用。
既有建筑的加固在建筑使用過程中作為建筑使用功能改善或者運營維護的重要技術支撐及參考依據,在建筑全生命周期中具有重要地位。為此,國內外學者對于既有建筑加固改造與BIM技術進行研究。Sartori等[4]研究分析了五項持續性改造措施實施后的能源消耗及溫室氣體排放,結果表明采用所有的改造措施在建筑運營階段能源消耗方面有明顯改善;Tokede等[5]對加固建筑經濟效應采用了案例研究手法,運用BIM技術對整個建筑生命周期進行了多種方式比較評估,研究表明建筑改造前景仍需要一個整個多維的評估方式,以優化建筑加固改造的價值;Gigliarelli等[6]描述一種綜合的、整體的、多尺度的方法在意大利一個Frigento歷史小鎮通過采用BIM平臺將城鎮模型、傳統與創新分析的結合進行整合,使用ICT(Institute of Computing Technology)改善傳統BIM與數值模擬之間的互操作性,最后提出了一個針對文物建筑的最佳改造方案。王軒等[7]通過IFC(Industry Foundation Classes)數據標準基本規程及IFC空間模型層次,提出了IFC建模模型轉換方法,并采用ObjectARX技術在AtuoCAD平臺上開發了IFC建筑模型文件生成軟件,通過在某古建筑加固平移實際工程應用中,提出了結構分析階段到施工階段信息的交互方法;宋杰等[8]提出了基于運用Revit及Revit API技術,通過獲取結構分析建模軟件所需的幾何參數、物理參數,對Revit幾何模型進行切分處理,將提取的數據整理成ANSYS命令流格式,實現Revit結構模型到ANSYS分析模型直接轉換;張曉洋等[9]通過分析當前建筑工程項目模型傳遞存在的問題提出了IFC-API(Application Programming Interface)建筑結構轉換模式,結合前期結構分析模型轉換框架,形成一套完整的基于BIM的面向結構有限元分析的模型轉換體系,從理論、技術、應用層面有了突破性進展;Zotkin等[10]討論了將BIM模型導入結構分析程序的過程,通過提取BIM模型參數輸出到文本文件,形成特殊程序轉換器讀取文件,在其自己開發的結構分析程序中實現兼容并得出分析結果,最終達到BIM程序與結構分析軟件的互操作性;許鎮等[11,12]提出了基于Revit應用程序接口的BIM建模規則和信息提取方法,最終將BIM轉換為結構分析模型,實現依托BIM的時程分析,獲得所需要的工程需要參數和結構變形數據,提出了基于BIM和FMEA(Potential Failure Mode and Effects Analysis) P-58的震害預測方法。
以上學者主要從BIM技術分析經濟效益來評估建筑改造方案或者是通過BIM模型與分析模型數據轉換等方面著手研究BIM技術發展。同時,當前BIM技術的應用研究依舊主要集中于新建工程的設計與施工等方面,具體到既有建筑檢測鑒定、改造加固的相關領域研究較少涉及。既有建筑的改造加固與新建工程在設計、施工等方面存在較大的差異,歸其本質是工程條件不同,進而導致了在BIM建模技術方面存在較大的不同,主要表現在:
(1)新建建筑構件較為常規,Revit自身族庫即可滿足建模需求。既有建筑加固由于需要對梁、柱、板等構件采取加固措施,特殊的加固措施如阻尼器、碳纖維布等需要用戶自己設計選取,增加了對用戶在建模時的專業性需求。
(2)比較新建建筑的構件施工,既有建筑加固措施構造復雜,建模過程中的對于錨栓布置、纖維布/鋼板沿構件分布等技術細節的深化需要大量的操作時間,需要專業的加固模塊開發提升各種加固措施的建模速度。
由上述可見,將BIM技術引入到既有建筑的加固領域是十分必要且具有重要意義。因此,本文基于Revit平臺結合Visual Studio平臺上的C#語言對傳統加固模塊進行開發,形成基于Revit平臺的既有建筑抗震加固模塊,并在多個構件和一個小學主教學樓的建筑加固項目中實現工程應用實踐。一方面提高BIM軟件建模的效率,另一方面,實現BIM在結構加固技術上的突破。
Revit是由Autodesk公司開發的一款專為BIM構建的軟件,也是國內建筑業BIM技術工程應用中使用最廣泛的軟件之一。它支持用戶以3D形式設計建筑物和結構及其族群,使用2D繪圖元素注釋模型,并從建筑模型的數據庫存取建筑信息。
所有Revit中各個模塊都是參數化的,“參數化”是指模型所有元素之間的關系,這些關系可實現Revit提供的協調和變更管理功能。這些關系可以由軟件自動創建,也可以由設計者在項目開發期間創建。
與CAD十分相似,只是Revit是通過建立三維模型,而不是通過草圖。在Revit中,可以直接將現實中對應的各種元素(比如門窗、柱、梁等)加到模型中。當模型創建完畢,可生成對應各種圖紙、二維視圖、三維視圖以及明細表等。
在Revit模型中,一個基本建筑模型數據庫包含所有圖紙、二維視圖和三維視圖以及明細表。在數據庫中的某一視圖建立或修改模型數據時,Revit將收集有關建筑項目的信息,并在項目的其他所有表現形式中同步該信息。Revit參數化設置系統可自動協調任意位置模型的改動。
Revit二次開發主要通過調用其應用程序接口(即API函數),用戶可用C++、C#、Python等語言進行開發,高級用戶和第三方開發者能夠通過Revit API將他們的應用程序集成到Revit中。
Revit API是建立在Revit產品基礎之上的。它是一個類庫,需要在Revit運用時才能工作。通過這套強大的Revit API,可以添加用戶基于Revit API開發的插件來拓展和增強Revit的功能和應用。Revit API提供了一套機制和規范來拓展Revit的功能。本文主要用Revit API中RevitAPI.dll以及RevitAPIUI.dll兩個程序集[13]。
RevitAPI.dll程序集包含了訪問Revit中DB(Database)級別的Application,Document,Element,Family,Parameter的方法,也包含了IExternalDBAPPlication接口和其他相關接口。
RevitAPIUI.dll程序集主要實現數據代碼集成顯示為各種UI(User Interface)界面,例如Revit中的菜單欄、當出現操作失誤時顯示的警告框提示欄等等,以及一些相關命令選擇的接口,例如快捷命令的設置、在Revit界面中進行點、線、面或者實體的選擇。圖1為Revit API的相關技術路線。

圖1 Revit API技術路線
對Revit進行開發主要對其族模塊進行開發,開發意義概括如下:
(1)建模自動化。在Revit中遇到體量比較大的工程項目,建模工作就顯得異常費時費力。這類工程項目通常存在建模工作重復度高的特點,針對這類工程項目,通過對Revit二次開發可以將瑣碎的建模工作自動化,實現工作效率的提升。
(2)多種軟件的集成應用。在實際工程中,BIM的正向化設計還遠未普及,設計單位還通過傳統的CAD進行二維平面的設計繪制,通過對Revit二次開發,可以將建模、結構、機電的二維平面圖紙集成應用到Revit實現快速三維建模;也可以將Etabs,Sap2000,Midas的有限元結構模型進行導入,達到一模多用的效果。
(3)針對性強。不同專業與不同群體用戶對于模型的功能需求各有所不同,通過Revit二次開發可以滿足不同專業、不同群體用戶的特定需求。
Revit族是構成Revit的重要組成部分之一,族包含一個構件的大部分信息,Revit族分為系統族、標準族、內建族。系統族是在Revit中預定義的族主要包括基本建筑構件,如梁、柱、墻;標準族是根據Revit事先定義好的族樣板文件自己進行創建;內建族則只能在當前項目中使用和創建。本模塊主要對標準族進行二次開發,采用Revit自帶的族樣板文件進行開發,族開發流程如圖2所示。

圖2 族開發流程
現階段傳統既有建筑抗震加固技術通過提升構件的剛度和承載能力的方法,來實現提升結構整體承載能力的目的。目前常用的傳統加固方法主要有增大截面法、外包型鋼加固法、粘鋼加固法、碳纖維加固法等。
(1)增大截面法:增大截面法是增大原構件截面面積或增配鋼筋,以提高其承載力、剛度和穩定性,或改變其自振頻率的一種直接方法。該方法適用于混凝土結構、鋼結構中的梁柱和屋架。但是加大截面尺寸會減少使用空間,有時會受到使用上的限制。
(2)外包型鋼加固法:外包型鋼加固法是在原構件四周包以型鋼并灌注結構膠粘劑,以達到整體受力共同工作的方法。這種方法不僅能提高構件承載力,同時構件截面基本不變,提高構件剛度和延性,適用于混凝土結構、砌體結構。但是用鋼量較大,加固成本高,需要對鋼材進行防腐防火處理。
(3)粘鋼加固法:粘鋼加固法是用膠粘劑在構件外部粘貼薄鋼板使之形成具有整體性的復合截面,以提高其承載力的一種直接加固方法。這種方法施工周期短,粘鋼所占空間小,幾乎不改變構件外形。但是存在有機膠耐久耐火性問題,對鋼材需進行防腐、防火處理。
(4)碳纖維加固法:碳纖維加固法是在構件外部粘貼碳纖維復合材料進行加固使之形成具有整體性的復合截面以提高其承載力和延性的方法。這種方法輕質高強,施工簡便可曲面或轉折粘貼,加固后基本不增加原構件重量,不影響結構外形。但是存在有機膠耐久性和耐火性問題,纖維復合的有效錨固問題。
本文所開發的加固模塊主要針對以上四種既有建筑抗震加固方法進行開發,并在此基礎上創建了螺栓參數布置的附屬功能。加固模塊總體架構如圖3a所示,模塊界面如圖3b所示。

圖3 加固模塊架構及界面
該模塊中,增大截面法的加固技術主要由兩部分組成,一是增大構件截面,另一個是新增配筋設置。
(1)增大構件截面。通過采用Revit中公制柱的族樣板來實現制作,通過編程實現以下參數的設置。族開發架構代碼如下所示:
public void CreatBoxRebarr(Application app, Document faDoc, double W, double H, double Tw, double Td,double D)
{
AddReferencePlanes(faDoc);∥設置參照平面;
Extrusion pSolid=CreatSolid(faDoc, app);∥創建拉伸實體;
faDoc.Regenerate();
addAlignments(faDoc, pSolid);∥鎖定拉伸實體
addParameters(faDoc);∥創建與設置族參數
addDimensions(faDoc);∥設置尺寸標注
addMaterials(faDoc, pSolid);∥設置材料
modify(faDoc, W, H, Tw, Td, D);∥定義
}
(2)新增配筋設置:箍筋根據圖紙或計算書的配筋結果,設置保護層厚度以及鋼筋間距即可一鍵生成??v筋根據13G311-1圖集[14]采用兩種配筋方式,一種與梁相交,設置與梁相交x,y方向的間距即可一鍵生成,植筋的最小間距設置滿足規范規定;另一種確定梁邊鋼筋的位置,設置滿足規范規定的間距即可。以下為兩種配筋方式中通用部分角筋設置代碼:
double initial=C+Gdiameter+7;∥確定箍筋位置;
string RebarTypeZ=form.ComB.SelectedItem.ToString();∥獲取在界面選擇的鋼筋型號;
RebarBarType rebartypeZ=FindElement(typeof(RebarBarType),RebarTypeZ) as RebarBarType;∥查找Revit中加載的鋼筋型號;
int Zdiameter=Convert.ToInt32(RebarTypeZ.Substring(0, 2));∥獲取鋼筋的直徑;
for (int i=0; i<2; i++)
{
for (int j=0; j<=i+1; j++)
{
if (j!=2)
{
List
curves.Add(Line.CreateBound(new XYZ(pmin.X-mmToFeet(W1-initial)+mmToFeet(W1-initial+W+W2-initial)×i, pmin.Y-mmToFeet(H1-initial)+mmToFeet(H1-initial+D+H2-initial)×j, level.Elevation), new XYZ(pmin.X-mmToFeet(W1-initial)+mmToFeet(W1-initial+W+W2-initial)×i, pmin.Y-mmToFeet(W1-initial)+mmToFeet(H1-initial +D+H2-initial)×j, level.Elevation+mmToFeet(H))));∥確定角筋位置;
Rebar.CreateFromCurves(doc, RebarStyle.Standard, rebartypeZ, null, null, instance, XYZ.BasisX, curves, RebarHookOrientation.Left, RebarHookOrientation.Left, true, true);∥生成角筋;
}
}
}
以下是對某截面尺寸400 mm×400 mm的柱子進行截面增大。柱子截面四面每邊各增大100 mm,混凝土保護層厚度設置為25 mm,縱筋布置間距為170 mm,加密區100 mm非加密區200 mm,鋼筋型號為25 mmHRB400鋼筋,采用縱筋與梁相交的形式,參數設置界面如圖4a所示,族截面參數設置效果如圖4b所示,鋼筋配置立面圖如圖4c所示。

圖4 增大截面法加固細節
外包型鋼加固技術的新增部分主要涉及到角鋼和綴板,本模塊采用公制常規模型族樣板文件進行參數設置。以下是對某400 mm×400 mm柱進行外包型鋼設置。界面設置如圖5a所示,其中角鋼采用等邊角鋼75 mm×5 mm,如圖5b所示;綴板采用200 mm×4 mm尺寸設置如圖5c所示。在組合過程中,主要對以上構件進行正確位置設置,因此采用Revit API中FamilyInstance中的方法,以適應不同情況下構件位置均能正確設置,實際效果如圖5d所示。具體代碼如下:
public FamilyInstance NewFamilyInstance(DB.XYZ location, DB.FamilySymbol symbol, DB.XYZ referenceDirection, DB.Element host, StructuralType structuralType);

圖5 外包型鋼法加固細節
在該模塊的粘鋼加固中,設置了墻與梁兩類構件的加固建模功能,梁構件的新增部分主要由U型箍、壓板和底部鋼板構成,墻構件的新增部分主要由鋼板與角鋼兩個部分構成,族的設置同樣采用標準族中的公制常規模型族樣板進行設置,設置的方法與以上幾種技術相類似。以下是對某240 mm×600 mm的梁進行加固,其中U形箍擬采用200 mm×4 mm間距200 mm,壓板設置為200 mm×4 mm,底部鋼板設置為200 mm×6 mm,界面設置如圖6a所示,實際效果如圖6b所示。

圖6 粘鋼梁加固細節
墻構件的新增部分主要由鋼板和角鋼構成,部分位置由對拉螺栓固定連接。以下對某5600 mm×4000 mm墻進行粘鋼加固,壓板設置為橫向縱向兩個部分,壓板尺寸為200 mm×4 mm間距設置為200 mm,界面具體參數如圖7a,7b所示,效果如圖7c所示。

圖7 粘鋼墻加固細節
從模塊開發的角度來看,碳纖維加固技術開發所采用的技術措施與粘鋼加固技術開發類似,具體差異在于材料屬性和粘結方式的不同,本模塊通過Revit API增加了碳纖維材料參數的設置命令,主要用到如下代碼:
material.SetMaterialAspectByPropertySet(MaterialAspect aspect, ElementId propertySetId);
同樣,通過此方法可自行在Revit中創建材質且設置材料的各項參數,下面列舉Q235鋼材材質參數設置的部分代碼:
StructuralAsset strAsset = new StructuralAsset("Thermal1",StructuralAssetClass.Generic);
strAsset.Name="Q235";
strAsset.SubClass="Q235";
strAsset.Behavior=StructuralBehavior.Isotropic;
strAsset.SetYoungModulus((double)210000×304800);
strAsset.SetPoissonRatio(0.3);
strAsset.SetThermalExpansionCoefficient(1.2E-05);
strAsset.Density=7850×304800;
螺栓用于抗震加固時應采用化學錨栓,由于本模塊針對建筑建模方面,擬采用普通六角頭螺栓進行代替。普通六角頭螺栓的設計根據規范GB/T 5780-2016《六角頭螺栓C級》[15]、GB/T 41-2016《六角螺母C級》[16]進行參數化建模設置。螺栓創建界面如圖8a所示,螺栓效果如圖8b所示,表1為螺栓創建明細。

圖8 螺栓參數化設計細節

表1 螺栓創建明細
某小學教學主樓(圖4)建于2006年,主體結構為三層框架(局部四層)結構,高度為13.750 m,建筑面積約為4727 m2,建筑抗震設防類別乙類,結構安全等級二級,抗震設防烈度7度,設計基本加速度0.15g,設計地震分組第二組,場地類別Ⅲ類,場地特征周期0.55 s。

圖9 某小學教學主樓
本文選取其中一抗震分區的抗震加固設計進行新開發模塊的建模應用說明,在該抗震分區內對柱采用了增大截面法和外包型鋼加固法兩種抗震加固技術,對梁采用了粘貼鋼板法和碳纖維加固法兩種抗震加固技術,結構平面布置如圖10所示。

圖10 框架柱加固平面/mm


圖11 柱加固方案/mm
框架梁采用粘貼碳纖維和粘貼鋼板的方法進行加固,圖12a給出了樓面梁平面布置。對其中的X向結構梁JKL1采用粘貼鋼板的加固方法,如圖12b所示,在梁底通長粘貼1層200 mm×4 mm鋼板,并沿梁長度方向設置U型鋼板箍,規格為200 mm×4 mm,間距為300 mm,同時在梁兩側面各設置寬度為200 mm的碳纖維布壓條2條。Y向結構梁JKL2采用粘貼碳纖維的加固方法,如圖12c所示,梁底通長粘貼寬度為200 mm的碳纖維布一層,并沿梁長度方向設置U型碳纖維布,寬度為200 mm,間距為300 mm,同時在梁兩側面各設置200 mm×4 mm的鋼板壓條1條,碳纖維布規格為200 g/m2。粘貼碳纖維或鋼板后,表面掛網粉刷20 mm厚的水泥砂漿一層。

圖12 梁加固方案
根據設計圖紙已建好的原結構Revit模型,運用本加固模塊實現了加固結構的快速建模,加固前后效果如圖13a,13b所示。與未使用本加固模塊采用直接建模的方式兩者區別如下:
(1)直接建模需創建所需族構件,對于建模人員專業性要求較高。使用本抗震加固模塊無需用戶手動建模,只需考慮加固族構件參數即可生成相應的族文件。
(2)直接建模需手動將族文件載入項目文件,再根據不同構件的實際情況手動調整參數進行定位布置。使用本抗震加固模塊則無需考慮手動調整,輸出相應定位參數即可實現構件一鍵生成,大大提高了用戶的建模效率。
(3)采用直接建模的方式,用戶在后期根據設計圖紙變更模型時修改費時費力,特別是鋼筋部分,由于Revit鋼筋布置功能尚完善后期變更更顯繁瑣,不利于推進實際工程。使用本模塊則可以達到隨改隨用的效果。

圖13 某小學加固前后效果圖
本文圍繞傳統既有建筑抗震加固技術,通過Revit API函數結合C#語言,開發了基于Revit平臺的既有建筑抗震加固BIM模塊。該模塊包含了增大截面法、外包型鋼法、粘貼鋼板法以及碳纖維加固法等常用的傳統抗震加固技術,并集成了錨栓快速建模功能。在構件和結構層面的成功應用表明,本文所開發的模塊能夠較為快速地開展既有建筑抗震加固的BIM建模,為既有建筑抗震加固正向設計和全過程管理提供了重要工具。