苗雨軒 姜 峰
(大連理工大學建設(shè)工程學部,遼寧 大連 116024)
BIM(Building Information Modeling)技術(shù)是一種以三維數(shù)字科技技術(shù)為基礎(chǔ),可應(yīng)用于工程設(shè)計、施工、運營、管理等全生命周期的工具,因其具有可視化、協(xié)調(diào)性、信息化、可出圖性、參數(shù)化性等特點,在提高生產(chǎn)效率、管理精細化、節(jié)約成本和縮短工期等方面發(fā)揮著重要作用[1]。Revit系列軟件是專為建筑信息模型(BIM)構(gòu)建的,集建筑、結(jié)構(gòu)、水暖電等專業(yè)設(shè)計于一體,能有效避免數(shù)據(jù)傳遞過程中的丟失和錯誤,因此近年來備受工程設(shè)計人員青睞,然而目前對Revit進行的二次開發(fā)大多集中于上部結(jié)構(gòu)。結(jié)構(gòu)基礎(chǔ)作為建筑結(jié)構(gòu)的重要組成部分,相關(guān)參數(shù)化研究寥寥,而且現(xiàn)有Revit菜單欄里的基礎(chǔ)板塊也僅能生成簡單模型,缺乏計算校核功能模塊,無法直接配置鋼筋;且其操作需逐步進行,繁瑣又易出錯。
本文將根據(jù)已有研究成果[2,3],以較常用的獨立基礎(chǔ)、條形基礎(chǔ)及樁基礎(chǔ)為代表分別進行模型生成、參數(shù)修改、計算校核及配筋插件設(shè)計,從而在Revit中形成專門的“結(jié)構(gòu)基礎(chǔ)”設(shè)計板塊,可實現(xiàn)其建模、計算、配筋的一體化設(shè)計,提高基礎(chǔ)工程設(shè)計效率。
本文基于Visual Studio 2019平臺,使用C#語言,通過API接口對獨立基礎(chǔ)、條形基礎(chǔ)以及樁基礎(chǔ)的模型生成、參數(shù)修改、計算校核、配筋等功能進行擴展(見圖1)。其相關(guān)流程如下[3-5]:
1)在Visual Studio 2019內(nèi)創(chuàng)建相關(guān)C#類庫項目。
2)為項目添加引用(如RevitAPI.dll,RevitAPIUI.dll等)。
3)在程序頂部添加命名空間(如Autodesk.Revit.UI,Autodesk.Revit.DB等)。
4)為程序添加屬性(如Transaction等)。
5)實現(xiàn)IExternalCommand接口,重載Execute函數(shù),通過外部命令擴展Revit功能。
6)實現(xiàn)IExternalApplication接口,重載OnStartup和OnShutdown函數(shù),通過外部應(yīng)用擴展Revit功能。
7)注冊插件,可實現(xiàn)Revit啟動時擴展功能的自動調(diào)用。
1)選擇合適的族樣板文件。Revit為用戶提供了多種手動創(chuàng)建族文件的族樣板,用戶可根據(jù)族文件的特點選擇具有相關(guān)功能的樣板進行創(chuàng)建。如獨立基礎(chǔ)及樁基礎(chǔ)在項目中“依點布置”,因此選擇“公制結(jié)構(gòu)基礎(chǔ)”族樣板;而條形基礎(chǔ)在項目中“依線布置”,因此選擇“基于線的公制常規(guī)模型”族樣板。
2)創(chuàng)建參照面。
3)尺寸標注,添加實例參數(shù)。
4)選擇合適的創(chuàng)建命令。Revit為用戶提供了拉伸、融合、旋轉(zhuǎn)、放樣等多種操作命令,用戶在勾勒輪廓時需與參照面一一鎖定。
5)保存族文件至相關(guān)文件夾中。
Revit API中提供LoadFamily(String)方法可以將指定路徑中的族文件載入到項目瀏覽器;同時提供NewFamilyInstance方法可以生成新的族實例。需注意的是NewFamilyInstance方法下有多個重載,載入不同類型的基礎(chǔ)族文件時所用重載不同,如獨立基礎(chǔ)、樁基礎(chǔ)采用第一形參為XYZ location的重載,而條形基礎(chǔ)采用第一形參為Curve的重載。同時,在項目中添加窗體類可方便用戶操作和選擇,如圖2~圖4所示。
實際工程項目中,基礎(chǔ)的截面尺寸受自身特定因素的影響往往與族文件最初設(shè)置的截面尺寸不同,這就需要對已載入的結(jié)構(gòu)基礎(chǔ)實例進行參數(shù)修改。在Revit自帶的屬性框中可以對選中的同類型基礎(chǔ)實例同時進行參數(shù)修改,但其存在兩個問題:一是在屬性框中的參數(shù)標簽名稱并不能給用戶明確直觀的指向,在此直接進行參數(shù)修改容易混亂;二是當在此對批量同類型基礎(chǔ)參數(shù)修改時操作較復(fù)雜,只能逐個點選要修改的基礎(chǔ)而不能一次性框選,因為一旦框選進軸線等其他非基礎(chǔ)元素,屬性框?qū)o法完成參數(shù)修改。為解決上述兩個問題,需設(shè)計結(jié)構(gòu)基礎(chǔ)參數(shù)修改插件。
基礎(chǔ)參數(shù)修改程序基本思路為:遍歷項目里選中的全部元素,將其中的基礎(chǔ)實例放入一個集合中;判斷集合中的基礎(chǔ)實例類型是否相同,不同類型的基礎(chǔ)不可以同時修改參數(shù);將集合中的基礎(chǔ)類型名稱傳入窗體類顯示相關(guān)窗體面板;用戶輸入要修改的參數(shù)值點擊“修改”按鈕將寫入數(shù)據(jù)傳入主程序;主程序?qū)⒔邮盏膮?shù)值用Parameter.Set()方法賦給相應(yīng)位置的參數(shù),其中注意公英制尺寸間的轉(zhuǎn)換。
依據(jù)《建筑地基基礎(chǔ)設(shè)計規(guī)范》《混凝土結(jié)構(gòu)設(shè)計規(guī)范》《建筑樁基技術(shù)規(guī)范》,可分別確定獨立基礎(chǔ)、條形基礎(chǔ)及樁基礎(chǔ)的計算校核內(nèi)容,如獨立基礎(chǔ)需進行構(gòu)造、埋深、高寬比、偏心距校核,地基、局部受壓、受沖切、受剪承載力計算及抗彎計算;條形基礎(chǔ)需進行構(gòu)造、埋深、基底寬度、基礎(chǔ)深度校核及地基承載力、最不利截面抗剪承載力及彎矩的計算[6];樁基礎(chǔ)需進行樁頂豎向作用效應(yīng),單樁豎向承載力,基樁豎向承載力,承臺受彎、受沖切、受剪計算[7]。
因為從Revit項目中僅能提取基礎(chǔ)的截面尺寸參數(shù),要完成上述計算校核的內(nèi)容,還需要用戶手動輸入部分數(shù)據(jù)信息,因此我們應(yīng)首先依據(jù)計算內(nèi)容設(shè)置參數(shù)輸入窗體,同時在主程序中通過實例化窗體類來獲取由窗體屬性傳遞的用戶輸入數(shù)據(jù)。依據(jù)規(guī)范對相應(yīng)數(shù)據(jù)進行計算校核后,得出的結(jié)果文本應(yīng)再通過窗體界面反饋給用戶,可用RichTextBox控件承載主程序中得到的結(jié)果文本。
特別地,對于僅在底板進行配筋的基礎(chǔ)形式,如墻下鋼筋混凝土條形基礎(chǔ),其受力鋼筋的計算結(jié)果可依據(jù)每米板寬內(nèi)鋼筋截面面積表,結(jié)合程序冒泡排序的方法,直接由程序給出最優(yōu)方案,從而可在最大程度上實現(xiàn)基礎(chǔ)配筋設(shè)計的自動化。
結(jié)合工程項目具體情況(鋼筋牌號及混凝土強度等級),基礎(chǔ)計算校核插件可算得其鋼筋配置量As,從而據(jù)此選擇符合規(guī)范要求的合適直徑、間距的鋼筋[8]進行繪制。這里涉及的鋼筋主要含受力筋、分布筋、方形箍筋及螺旋箍筋。我們可用Revit API中的Rebar.CreateFromCurves()方法來繪制直線型鋼筋;用Rebar.CreateFromRebarShape()方法繪制圓樁螺旋箍筋,其中的RebarShape參數(shù)需從Revit系統(tǒng)文件里載入螺旋箍筋的線型模型編輯使用[2]。
鋼筋生成插件可實現(xiàn)依據(jù)用戶輸入的配筋信息在選中基礎(chǔ)上批量生成鋼筋的功能,但倘若用戶因失誤導(dǎo)致輸入的配筋信息有誤,則本次選中基礎(chǔ)上生成的鋼筋需全部刪除重新生成。依據(jù)Revit軟件中現(xiàn)存的功能,則需將該部分基礎(chǔ)上的鋼筋逐一選中刪除(需避免框選進軸線等其他非鋼筋元素),這樣操作十分麻煩。因此在基礎(chǔ)鋼筋配置插件中設(shè)置刪除功能,可將因輸入錯誤配筋信息而生成的鋼筋批量刪除。該功能實現(xiàn)的主要思路為:匯集項目文件中全部鋼筋元素,對這些鋼筋元素逐一進行驗證,倘若其宿主元素為選中的基礎(chǔ)之一,則刪除該鋼筋。
某市一中學教學樓為磚混結(jié)構(gòu),其縱橫墻共同承重,采用墻下鋼筋混凝土條形基礎(chǔ)形式?;A(chǔ)選用的混凝土強度等級為C25,鋼筋級別為HPB300,受力筋保護層厚度為40 mm,室外基礎(chǔ)埋深為1.6 m,室內(nèi)基礎(chǔ)埋深2.2 m。
建筑場地工程地質(zhì)條件為:第①層為雜填土,厚1.0 m,容重為17 kN/m3;第②層為粉質(zhì)黏土,厚5.0 m,容重為18.7 kN/m3;第③層為黏土,厚4.0 m,容重為18.0 kN/m3。基底持力層為第②層粉質(zhì)黏土(IL=0.5,e=0.75),地基承載力特征值fak值為162.5 kPa。計算時基礎(chǔ)與覆土平均容重取20 kN/m3,基底以下土容重為18.7 kN/m3,基底以上土平均容重為17.63 kN/m3。
在該項目中外縱墻0.49 m厚,承受上部豎向荷載Fk=230.9 kN/m;山墻0.49 m厚,F(xiàn)k=272.1 kN/m;內(nèi)縱墻0.37 m厚,F(xiàn)k=301.1 kN/m;內(nèi)橫墻0.24 m厚,F(xiàn)k=194.3 kN/m,暫不考慮水平荷載及彎矩影響。
啟動Revit軟件,新建項目;依據(jù)項目的平面圖繪制結(jié)構(gòu)基礎(chǔ)的軸網(wǎng);確定該項目基礎(chǔ)形式后,在基礎(chǔ)面板中找到條形基礎(chǔ)“模型生成”按鈕批量載入一種條基,這里選用板式坡形條基,其初始尺寸均為族文件尺寸,如圖5所示。
對各條基依次進行計算校核,調(diào)整不符合要求的條基尺寸,得到項目模型如圖6所示。因?qū)Ω鳁l基進行計算校核時操作過程類似,僅以山墻下條基為例展示。
選中山墻下條基輸入相關(guān)參數(shù)(如圖7所示)后,得到圖8所示反饋結(jié)果:條基的基底寬度L1不滿足要求,將其從1 800 mm改至1 900 mm;基礎(chǔ)臺階外延寬度不滿足要求,將基礎(chǔ)頂面寬度L2由500 mm改至800 mm;同時為滿足坡形條基坡度要求,將H2由200 mm改至150 mm。上述修改過程可通過選中該條基實例點“條形基礎(chǔ)—參數(shù)修改”按鈕完成,進而再次進行計算校核,得到反饋界面如圖9所示,此時各項內(nèi)容均滿足要求。當計算校核不合格時需不斷調(diào)整截面尺寸重新計算校核,直至反饋的各項指標均合格為止。
據(jù)條基“計算校核”插件反饋的配筋信息(如圖9所示)進行鋼筋參數(shù)輸入(如圖10所示),可分別繪制縱橫向條基的鋼筋。墻下條形基礎(chǔ)板內(nèi)鋼筋分沿寬度方向的受力鋼筋和沿長度方向的分布鋼筋,由于墻下條形基礎(chǔ)不是單根獨立存在的,條基間總會存在拐角交叉、丁字交叉或十字交叉,因此其鋼筋不能全部通長布置,分布鋼筋在條基交叉部分自動截斷,并與同向受力鋼筋的搭接長度為150 mm。該配筋插件可為多條條基同時配筋,三維視圖如圖11所示。
本文介紹了Revit插件設(shè)計的基本流程,同時通過Revit API接口實現(xiàn)了獨立基礎(chǔ)、條形基礎(chǔ)及樁基礎(chǔ)三種結(jié)構(gòu)基礎(chǔ)形式在Revit軟件中的模型生成、參數(shù)修改、計算校核及配筋等功能,方便用戶依據(jù)項目特點快速選擇相應(yīng)基礎(chǔ)形式進行一體化設(shè)計,提高了基礎(chǔ)工程的設(shè)計、生產(chǎn)效率。本項研究為BIM技術(shù)在基礎(chǔ)結(jié)構(gòu)設(shè)計上的應(yīng)用作了有益的探索,同時也為其他建筑結(jié)構(gòu)形式基于Revit的二次開發(fā)提供了新思路。