苗雨軒 姜 峰
(大連理工大學建設工程學部,遼寧 大連 116024)
BIM(Building Information Modeling)技術是一種以三維數字科技技術為基礎,可應用于工程設計、施工、運營、管理等全生命周期的工具,因其具有可視化、協調性、信息化、可出圖性、參數化性等特點,在提高生產效率、管理精細化、節約成本和縮短工期等方面發揮著重要作用[1]。Revit系列軟件是專為建筑信息模型(BIM)構建的,集建筑、結構、水暖電等專業設計于一體,能有效避免數據傳遞過程中的丟失和錯誤,因此近年來備受工程設計人員青睞,然而目前對Revit進行的二次開發大多集中于上部結構。結構基礎作為建筑結構的重要組成部分,相關參數化研究寥寥,而且現有Revit菜單欄里的基礎板塊也僅能生成簡單模型,缺乏計算校核功能模塊,無法直接配置鋼筋;且其操作需逐步進行,繁瑣又易出錯。
本文將根據已有研究成果[2,3],以較常用的獨立基礎、條形基礎及樁基礎為代表分別進行模型生成、參數修改、計算校核及配筋插件設計,從而在Revit中形成專門的“結構基礎”設計板塊,可實現其建模、計算、配筋的一體化設計,提高基礎工程設計效率。
本文基于Visual Studio 2019平臺,使用C#語言,通過API接口對獨立基礎、條形基礎以及樁基礎的模型生成、參數修改、計算校核、配筋等功能進行擴展(見圖1)。其相關流程如下[3-5]:
1)在Visual Studio 2019內創建相關C#類庫項目。
2)為項目添加引用(如RevitAPI.dll,RevitAPIUI.dll等)。
3)在程序頂部添加命名空間(如Autodesk.Revit.UI,Autodesk.Revit.DB等)。
4)為程序添加屬性(如Transaction等)。
5)實現IExternalCommand接口,重載Execute函數,通過外部命令擴展Revit功能。
6)實現IExternalApplication接口,重載OnStartup和OnShutdown函數,通過外部應用擴展Revit功能。
7)注冊插件,可實現Revit啟動時擴展功能的自動調用。

1)選擇合適的族樣板文件。Revit為用戶提供了多種手動創建族文件的族樣板,用戶可根據族文件的特點選擇具有相關功能的樣板進行創建。如獨立基礎及樁基礎在項目中“依點布置”,因此選擇“公制結構基礎”族樣板;而條形基礎在項目中“依線布置”,因此選擇“基于線的公制常規模型”族樣板。
2)創建參照面。
3)尺寸標注,添加實例參數。
4)選擇合適的創建命令。Revit為用戶提供了拉伸、融合、旋轉、放樣等多種操作命令,用戶在勾勒輪廓時需與參照面一一鎖定。
5)保存族文件至相關文件夾中。
Revit API中提供LoadFamily(String)方法可以將指定路徑中的族文件載入到項目瀏覽器;同時提供NewFamilyInstance方法可以生成新的族實例。需注意的是NewFamilyInstance方法下有多個重載,載入不同類型的基礎族文件時所用重載不同,如獨立基礎、樁基礎采用第一形參為XYZ location的重載,而條形基礎采用第一形參為Curve的重載。同時,在項目中添加窗體類可方便用戶操作和選擇,如圖2~圖4所示。


實際工程項目中,基礎的截面尺寸受自身特定因素的影響往往與族文件最初設置的截面尺寸不同,這就需要對已載入的結構基礎實例進行參數修改。在Revit自帶的屬性框中可以對選中的同類型基礎實例同時進行參數修改,但其存在兩個問題:一是在屬性框中的參數標簽名稱并不能給用戶明確直觀的指向,在此直接進行參數修改容易混亂;二是當在此對批量同類型基礎參數修改時操作較復雜,只能逐個點選要修改的基礎而不能一次性框選,因為一旦框選進軸線等其他非基礎元素,屬性框將無法完成參數修改。為解決上述兩個問題,需設計結構基礎參數修改插件。
基礎參數修改程序基本思路為:遍歷項目里選中的全部元素,將其中的基礎實例放入一個集合中;判斷集合中的基礎實例類型是否相同,不同類型的基礎不可以同時修改參數;將集合中的基礎類型名稱傳入窗體類顯示相關窗體面板;用戶輸入要修改的參數值點擊“修改”按鈕將寫入數據傳入主程序;主程序將接收的參數值用Parameter.Set()方法賦給相應位置的參數,其中注意公英制尺寸間的轉換。
依據《建筑地基基礎設計規范》《混凝土結構設計規范》《建筑樁基技術規范》,可分別確定獨立基礎、條形基礎及樁基礎的計算校核內容,如獨立基礎需進行構造、埋深、高寬比、偏心距校核,地基、局部受壓、受沖切、受剪承載力計算及抗彎計算;條形基礎需進行構造、埋深、基底寬度、基礎深度校核及地基承載力、最不利截面抗剪承載力及彎矩的計算[6];樁基礎需進行樁頂豎向作用效應,單樁豎向承載力,基樁豎向承載力,承臺受彎、受沖切、受剪計算[7]。
因為從Revit項目中僅能提取基礎的截面尺寸參數,要完成上述計算校核的內容,還需要用戶手動輸入部分數據信息,因此我們應首先依據計算內容設置參數輸入窗體,同時在主程序中通過實例化窗體類來獲取由窗體屬性傳遞的用戶輸入數據。依據規范對相應數據進行計算校核后,得出的結果文本應再通過窗體界面反饋給用戶,可用RichTextBox控件承載主程序中得到的結果文本。
特別地,對于僅在底板進行配筋的基礎形式,如墻下鋼筋混凝土條形基礎,其受力鋼筋的計算結果可依據每米板寬內鋼筋截面面積表,結合程序冒泡排序的方法,直接由程序給出最優方案,從而可在最大程度上實現基礎配筋設計的自動化。
結合工程項目具體情況(鋼筋牌號及混凝土強度等級),基礎計算校核插件可算得其鋼筋配置量As,從而據此選擇符合規范要求的合適直徑、間距的鋼筋[8]進行繪制。這里涉及的鋼筋主要含受力筋、分布筋、方形箍筋及螺旋箍筋。我們可用Revit API中的Rebar.CreateFromCurves()方法來繪制直線型鋼筋;用Rebar.CreateFromRebarShape()方法繪制圓樁螺旋箍筋,其中的RebarShape參數需從Revit系統文件里載入螺旋箍筋的線型模型編輯使用[2]。
鋼筋生成插件可實現依據用戶輸入的配筋信息在選中基礎上批量生成鋼筋的功能,但倘若用戶因失誤導致輸入的配筋信息有誤,則本次選中基礎上生成的鋼筋需全部刪除重新生成。依據Revit軟件中現存的功能,則需將該部分基礎上的鋼筋逐一選中刪除(需避免框選進軸線等其他非鋼筋元素),這樣操作十分麻煩。因此在基礎鋼筋配置插件中設置刪除功能,可將因輸入錯誤配筋信息而生成的鋼筋批量刪除。該功能實現的主要思路為:匯集項目文件中全部鋼筋元素,對這些鋼筋元素逐一進行驗證,倘若其宿主元素為選中的基礎之一,則刪除該鋼筋。
某市一中學教學樓為磚混結構,其縱橫墻共同承重,采用墻下鋼筋混凝土條形基礎形式。基礎選用的混凝土強度等級為C25,鋼筋級別為HPB300,受力筋保護層厚度為40 mm,室外基礎埋深為1.6 m,室內基礎埋深2.2 m。
建筑場地工程地質條件為:第①層為雜填土,厚1.0 m,容重為17 kN/m3;第②層為粉質黏土,厚5.0 m,容重為18.7 kN/m3;第③層為黏土,厚4.0 m,容重為18.0 kN/m3。基底持力層為第②層粉質黏土(IL=0.5,e=0.75),地基承載力特征值fak值為162.5 kPa。計算時基礎與覆土平均容重取20 kN/m3,基底以下土容重為18.7 kN/m3,基底以上土平均容重為17.63 kN/m3。
在該項目中外縱墻0.49 m厚,承受上部豎向荷載Fk=230.9 kN/m;山墻0.49 m厚,Fk=272.1 kN/m;內縱墻0.37 m厚,Fk=301.1 kN/m;內橫墻0.24 m厚,Fk=194.3 kN/m,暫不考慮水平荷載及彎矩影響。
啟動Revit軟件,新建項目;依據項目的平面圖繪制結構基礎的軸網;確定該項目基礎形式后,在基礎面板中找到條形基礎“模型生成”按鈕批量載入一種條基,這里選用板式坡形條基,其初始尺寸均為族文件尺寸,如圖5所示。

對各條基依次進行計算校核,調整不符合要求的條基尺寸,得到項目模型如圖6所示。因對各條基進行計算校核時操作過程類似,僅以山墻下條基為例展示。
選中山墻下條基輸入相關參數(如圖7所示)后,得到圖8所示反饋結果:條基的基底寬度L1不滿足要求,將其從1 800 mm改至1 900 mm;基礎臺階外延寬度不滿足要求,將基礎頂面寬度L2由500 mm改至800 mm;同時為滿足坡形條基坡度要求,將H2由200 mm改至150 mm。上述修改過程可通過選中該條基實例點“條形基礎—參數修改”按鈕完成,進而再次進行計算校核,得到反饋界面如圖9所示,此時各項內容均滿足要求。當計算校核不合格時需不斷調整截面尺寸重新計算校核,直至反饋的各項指標均合格為止。



據條基“計算校核”插件反饋的配筋信息(如圖9所示)進行鋼筋參數輸入(如圖10所示),可分別繪制縱橫向條基的鋼筋。墻下條形基礎板內鋼筋分沿寬度方向的受力鋼筋和沿長度方向的分布鋼筋,由于墻下條形基礎不是單根獨立存在的,條基間總會存在拐角交叉、丁字交叉或十字交叉,因此其鋼筋不能全部通長布置,分布鋼筋在條基交叉部分自動截斷,并與同向受力鋼筋的搭接長度為150 mm。該配筋插件可為多條條基同時配筋,三維視圖如圖11所示。



本文介紹了Revit插件設計的基本流程,同時通過Revit API接口實現了獨立基礎、條形基礎及樁基礎三種結構基礎形式在Revit軟件中的模型生成、參數修改、計算校核及配筋等功能,方便用戶依據項目特點快速選擇相應基礎形式進行一體化設計,提高了基礎工程的設計、生產效率。本項研究為BIM技術在基礎結構設計上的應用作了有益的探索,同時也為其他建筑結構形式基于Revit的二次開發提供了新思路。