?

基于C#的預制構件庫與參數化建模的二次開發

2023-12-28 11:36李影程火焰丁浩屈鋒
土木建筑工程信息技術 2023年6期
關鍵詞:族庫預制構件標高

李影 程火焰 丁浩 屈鋒

(湖南科技大學土木工程學院,湘潭 411201)

引言

2020 年發布的“十四五”建筑業發展規劃中提出,需要大力推廣裝配式建筑,建立智能建造與新型建筑工業化協同發展的政策和產業體系,使裝配式建筑在新建建筑中的比例達到30%以上。

BIM 技術迅速普及的同時,一些弊端也暴露出來,如由于模型精度低在工程全生命周期的實際參與度不高,高精度模型的建模效率低,國內模型標準不統一,BIM 模型建筑信息不能得到充分應用等。國內的Revit二次開發以橄欖山軟件為基礎,功能包括批量創建樓層、軸網、墻和梁等構件,提供了建筑、結構精細化翻模功能,基于此,開發了預制構件模型的族庫管理[1]、工程量計算[2]。在設計方面,主要體現在預制構件深化設計上,如預制構件的拆分設計[3];剪力墻、疊合板的深化設計[4,5];配筋率的優化等[6]。為滿足更多設計要求,基于IFC 標準研究Revit 與PKPM、ANSYS、MIDAS、ABAQUS 結構分析軟件轉換接口[7-10]。

為解決裝配式建筑設計工作復雜、設計效率低、設計過程智能化程度低、模型信息利用不充分等問題,本文通過分析現階段裝配式設計方法和BIM 技術的特點,將BIM 技術應用到裝配式結構設計中,開發了預制構件族庫及參數化建模插件。

1 基于C#的二次開發研究

C#語言可以實現與Revit API 函數之間的數據交互,在VS 中通過抽取調用所需要的Revit API 函數編寫程序代碼,以此在Revit 中實現預期功能。在使用Dynamo 可視化編程工具進行參數化建模時,需要人工輸入參數并使用Dynamo 進行交互時可能導致Revit 建模軟件的運行速度變慢。特別是在處理復雜工程情況下,這會影響工作效率[11]。

因此, 本文以Revit2020 為結構建模平臺,利用Revit API 進行二次開發時,需要基于.NETFramework4.5 及以上編程環境進行編譯和調試,故選擇微軟公司提供的VisualStudio2019,并以可讀性以及可編譯性更好的C#作為編程語言,采用外部命令(IExternal Command)的方式開發結構模型轉換接口。在模型轉換接口開發之前,需要搭建開發環境,詳細的流程如圖1 所示。本文對預制構件族模型的建模精度需達到LOD300。

圖1 Revit 二次開發流程圖

2 預制構件庫模塊開發

各項目間裝配式建筑信息的共享通過預制構件族庫來實現,族庫的作用主要體現在為BIM 設計師在設計過程中實現標準化、規范化的設計。本文的預制構件族庫由三個功能組成,分別是預制構件入庫功能、預制構件預覽功能、預制構件加載功能。預制構件庫模塊技術路線為:預制構件分類→預制構件入庫→預制構件預覽→預制構件加載。

本文的預制構件按系統分為結構系統和圍護系統,其中結構系統可分為豎向構件和水平構件,圍護系統分為外墻圍護構件和內墻圍護構件,預制構件族的創建過程可分為以下五個步驟:

(1)選擇相應類型的族樣板;

(2)用拉伸、融合、旋轉、放樣、融合、放樣、融合、空心形狀指令按照設計進行建模;

(3)對“族”尺寸參數及參數之間的空間邏輯關系進行設置;

(4)對“族”的其他屬性進行設置;

(5)將“族”載入項目中進行測試。

本文所建立的預制構件族模型分類如表1 所示。

表1 預制構件分類

預制構件入庫即將族模型保存在程序中設置好的路徑文件夾中,為不占用計算機運行內存,路徑設置為計算機D 盤下的族庫文件夾,再根據預制構件分類建立子文件夾,如圖2 所示,將各預制構件族模型按類別存放于對應子文件夾中,以此實現預制構件族文件的入庫。

圖2 預制構件族入庫

預制構件預覽主要為設計師提供無需加載族模型就可看到模型的三維圖功能,方便設計師選擇族,避免錯誤選擇預制構件,減少項目占用內存。預制構件族的三維預覽圖在窗臺加載時通過鏈接地址加載至族庫界面,構件預覽功能實現流程如下:程序查詢對應類別文件夾下“.rfa”格式文件,程序按族名稱和預覽圖羅列于族庫界面,程序關鍵代碼如圖3 所示,程序功能實現如圖4 所示。

圖4 構件預覽界面

族庫平臺最重要的功能在于將預制構件族模型載入到項目中,設計師在族庫平臺中找到需要的預制構件族模型后,點擊載入項目,即可在項目中使用該族。平臺識別并載入到項目指令后,平臺查詢該族本地資源庫的路徑地址,然后再將其傳遞給事務,最后執行載入命令,程序關鍵代碼如圖5 所示,程序功能實現如圖6 所示。

圖5 構件加載功能程序語言

圖6 預制構件族載入

3 參數化建模模塊開發

本文所涉及到的參數化建模程序包含建筑模型生成軸網、柱、梁功能、建筑墻附著結構梁功能、建筑墻荷載信息統計功能這五項功能,分開用Add-In Manager 插件進行使用比較繁瑣,因此在Revit 中新建“結構建?!边x項卡,并將上述五個功能通過按鈕鏈接程序集,如圖7 所示。

圖7 參數化建模界面

(1)設計師單擊“生成軸網”按鈕,提示所用軸網的族類型及軸網所放置的標高,將按鈕值傳至系統,系統讀取所選標高的墻體的線信息,并存儲于集合中,將命令傳遞給事務,程序遍歷模型中所有墻模型,然后執行生成軸網的命令;

(2)設計師單擊“生成柱”按鈕,提示所用柱的族類型及柱所放置的標高,柱頂標高默認為上層結構標高,將按鈕值傳至系統,程序讀取該標高處軸網的所有交點并收集,將命令傳遞給事務,程序執行柱生成命令;

(3)識別視圖中的軸網,結合Revit 中梁建模的方法,并結合結構設計原則判斷梁尺寸,選擇建模標高及族類型,完成梁自動生成過程。梁生成的具體流程與柱相似;

(4)設計師單擊“墻齊梁底”按鈕,框選所需齊梁底的墻,將按鈕值傳至系統,系統通過讀取該標高處梁的高度信息并收集,將墻的頂標高減去梁高,程序傳遞給事務,執行修改標高命令;

(5)Revit 墻模型在進行門窗創建后軟件會自動計算開洞后墻的體積,如圖8 所示,提出以拾取建筑墻體積參數的方式與結構荷載系數相結合導出線荷載的方法,計算公式見式(1)。

圖8 墻體積

程序收集墻的體積和長度信息,并通過墻的材質,根據計算輸入荷載系數,自動計算所有建筑墻的線荷載。具體實現的流程是:設計師單擊“線荷載統計”按鈕,提示輸入線荷載系數,系統收集所有墻的ID、體積、長度參數,然后傳遞給事務,最后執行計算命令并設置excel 導出的路徑。

4 應用實例

4.1 工程概況

某教學樓總建筑面積為15 268.67m2,為地下一層、地上四層的裝配式混凝土框架結構,裝配式預制構件主要采用預制圍護墻、鋼筋桁架疊合樓板。本工程使用Revit2020 軟件結合預制構件庫,建立建筑部分的模型,如圖9 所示。

圖9 Revit 建筑模型

4.2 裝配式構件模型的創建

建筑模型建立完成后,采用本文開發的參數化建模程序結合預制族庫建立結構部分的模型,主要包括生成軸網、生成柱、生成梁及墻齊梁底四部分參數化建模如圖10(a)~(d)所示。

圖10 參數化建模圖

在建筑模型中的建筑墻附著于結構梁底后,選擇線荷載統計功能,設置墻的容重和導出路徑,程序會自動計算每片墻的線荷載,并導出excel 文件,墻的容重設置為18KN/m3,通過在Revit 中查詢構件ID 所需墻的線荷載,如圖11 ~圖12 所示。

圖11 模型線荷載導出

圖12 墻線荷載查找

通過參數化建??傻贸鲰椖康慕Y構模型,如圖13所示,由結構參數化建??傻贸?,相對于傳統建模,參數化建模效率高,節省了大量的建模時間,設計初期即可實現預制柱、預制梁的選擇。

圖13 Revit 結構模型

5 結論

本文根據相關規范及圖集建立標準化的預制構件族模型,在Revit 中進行裝配式建筑模型的建立時,可以直接調用族庫中的預制構件進行建模,以此提高裝配式建筑建模的標準化。結果表明:

(1)針對結構模型建模,通過開發參數化建模的三個程序,實現由建筑模型到軸網,再由軸網生成結構模型的柱、梁,達到了參數化建結構模型的目的;

(2)通過參數化建模實現了裝配式建筑結構模型的快速建模和 “一模多用”的理念;

(3)基于參數化建模開發的建筑墻齊梁底及建筑墻線荷載信息統計程序能實現建筑結構模型自動調整優化,為結構計算提供便捷。

猜你喜歡
族庫預制構件標高
書記講黨史 “亮”出新標高
混凝土預制構件外觀質量提升探討
對裝配式建筑預制構件施工技術研究
面向云服務平臺的Revit族庫管理系統研究
軌頂風道預制構件力學性能加載試驗研究
BIM技術在地鐵機電設備裝配式施工的應用
辦公樓樓面裝飾標高控制流程及注意事項
BIM技術在大跨度斜拉橋設計中的應用
BIM技術在PC預制構件工廠建設和運營中的應用
軌道交通工程Revit族庫系統設計與開發
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合