李影 程火焰 丁浩 屈鋒
(湖南科技大學(xué)土木工程學(xué)院,湘潭 411201)
2020 年發(fā)布的“十四五”建筑業(yè)發(fā)展規(guī)劃中提出,需要大力推廣裝配式建筑,建立智能建造與新型建筑工業(yè)化協(xié)同發(fā)展的政策和產(chǎn)業(yè)體系,使裝配式建筑在新建建筑中的比例達(dá)到30%以上。
BIM 技術(shù)迅速普及的同時(shí),一些弊端也暴露出來,如由于模型精度低在工程全生命周期的實(shí)際參與度不高,高精度模型的建模效率低,國內(nèi)模型標(biāo)準(zhǔn)不統(tǒng)一,BIM 模型建筑信息不能得到充分應(yīng)用等。國內(nèi)的Revit二次開發(fā)以橄欖山軟件為基礎(chǔ),功能包括批量創(chuàng)建樓層、軸網(wǎng)、墻和梁等構(gòu)件,提供了建筑、結(jié)構(gòu)精細(xì)化翻模功能,基于此,開發(fā)了預(yù)制構(gòu)件模型的族庫管理[1]、工程量計(jì)算[2]。在設(shè)計(jì)方面,主要體現(xiàn)在預(yù)制構(gòu)件深化設(shè)計(jì)上,如預(yù)制構(gòu)件的拆分設(shè)計(jì)[3];剪力墻、疊合板的深化設(shè)計(jì)[4,5];配筋率的優(yōu)化等[6]。為滿足更多設(shè)計(jì)要求,基于IFC 標(biāo)準(zhǔn)研究Revit 與PKPM、ANSYS、MIDAS、ABAQUS 結(jié)構(gòu)分析軟件轉(zhuǎn)換接口[7-10]。
為解決裝配式建筑設(shè)計(jì)工作復(fù)雜、設(shè)計(jì)效率低、設(shè)計(jì)過程智能化程度低、模型信息利用不充分等問題,本文通過分析現(xiàn)階段裝配式設(shè)計(jì)方法和BIM 技術(shù)的特點(diǎn),將BIM 技術(shù)應(yīng)用到裝配式結(jié)構(gòu)設(shè)計(jì)中,開發(fā)了預(yù)制構(gòu)件族庫及參數(shù)化建模插件。
C#語言可以實(shí)現(xiàn)與Revit API 函數(shù)之間的數(shù)據(jù)交互,在VS 中通過抽取調(diào)用所需要的Revit API 函數(shù)編寫程序代碼,以此在Revit 中實(shí)現(xiàn)預(yù)期功能。在使用Dynamo 可視化編程工具進(jìn)行參數(shù)化建模時(shí),需要人工輸入?yún)?shù)并使用Dynamo 進(jìn)行交互時(shí)可能導(dǎo)致Revit 建模軟件的運(yùn)行速度變慢。特別是在處理復(fù)雜工程情況下,這會(huì)影響工作效率[11]。
因此, 本文以Revit2020 為結(jié)構(gòu)建模平臺(tái),利用Revit API 進(jìn)行二次開發(fā)時(shí),需要基于.NETFramework4.5 及以上編程環(huán)境進(jìn)行編譯和調(diào)試,故選擇微軟公司提供的VisualStudio2019,并以可讀性以及可編譯性更好的C#作為編程語言,采用外部命令(IExternal Command)的方式開發(fā)結(jié)構(gòu)模型轉(zhuǎn)換接口。在模型轉(zhuǎn)換接口開發(fā)之前,需要搭建開發(fā)環(huán)境,詳細(xì)的流程如圖1 所示。本文對(duì)預(yù)制構(gòu)件族模型的建模精度需達(dá)到LOD300。
圖1 Revit 二次開發(fā)流程圖
各項(xiàng)目間裝配式建筑信息的共享通過預(yù)制構(gòu)件族庫來實(shí)現(xiàn),族庫的作用主要體現(xiàn)在為BIM 設(shè)計(jì)師在設(shè)計(jì)過程中實(shí)現(xiàn)標(biāo)準(zhǔn)化、規(guī)范化的設(shè)計(jì)。本文的預(yù)制構(gòu)件族庫由三個(gè)功能組成,分別是預(yù)制構(gòu)件入庫功能、預(yù)制構(gòu)件預(yù)覽功能、預(yù)制構(gòu)件加載功能。預(yù)制構(gòu)件庫模塊技術(shù)路線為:預(yù)制構(gòu)件分類→預(yù)制構(gòu)件入庫→預(yù)制構(gòu)件預(yù)覽→預(yù)制構(gòu)件加載。
本文的預(yù)制構(gòu)件按系統(tǒng)分為結(jié)構(gòu)系統(tǒng)和圍護(hù)系統(tǒng),其中結(jié)構(gòu)系統(tǒng)可分為豎向構(gòu)件和水平構(gòu)件,圍護(hù)系統(tǒng)分為外墻圍護(hù)構(gòu)件和內(nèi)墻圍護(hù)構(gòu)件,預(yù)制構(gòu)件族的創(chuàng)建過程可分為以下五個(gè)步驟:
(1)選擇相應(yīng)類型的族樣板;
(2)用拉伸、融合、旋轉(zhuǎn)、放樣、融合、放樣、融合、空心形狀指令按照設(shè)計(jì)進(jìn)行建模;
(3)對(duì)“族”尺寸參數(shù)及參數(shù)之間的空間邏輯關(guān)系進(jìn)行設(shè)置;
(4)對(duì)“族”的其他屬性進(jìn)行設(shè)置;
(5)將“族”載入項(xiàng)目中進(jìn)行測試。
本文所建立的預(yù)制構(gòu)件族模型分類如表1 所示。
表1 預(yù)制構(gòu)件分類
預(yù)制構(gòu)件入庫即將族模型保存在程序中設(shè)置好的路徑文件夾中,為不占用計(jì)算機(jī)運(yùn)行內(nèi)存,路徑設(shè)置為計(jì)算機(jī)D 盤下的族庫文件夾,再根據(jù)預(yù)制構(gòu)件分類建立子文件夾,如圖2 所示,將各預(yù)制構(gòu)件族模型按類別存放于對(duì)應(yīng)子文件夾中,以此實(shí)現(xiàn)預(yù)制構(gòu)件族文件的入庫。
圖2 預(yù)制構(gòu)件族入庫
預(yù)制構(gòu)件預(yù)覽主要為設(shè)計(jì)師提供無需加載族模型就可看到模型的三維圖功能,方便設(shè)計(jì)師選擇族,避免錯(cuò)誤選擇預(yù)制構(gòu)件,減少項(xiàng)目占用內(nèi)存。預(yù)制構(gòu)件族的三維預(yù)覽圖在窗臺(tái)加載時(shí)通過鏈接地址加載至族庫界面,構(gòu)件預(yù)覽功能實(shí)現(xiàn)流程如下:程序查詢對(duì)應(yīng)類別文件夾下“.rfa”格式文件,程序按族名稱和預(yù)覽圖羅列于族庫界面,程序關(guān)鍵代碼如圖3 所示,程序功能實(shí)現(xiàn)如圖4 所示。
圖4 構(gòu)件預(yù)覽界面
族庫平臺(tái)最重要的功能在于將預(yù)制構(gòu)件族模型載入到項(xiàng)目中,設(shè)計(jì)師在族庫平臺(tái)中找到需要的預(yù)制構(gòu)件族模型后,點(diǎn)擊載入項(xiàng)目,即可在項(xiàng)目中使用該族。平臺(tái)識(shí)別并載入到項(xiàng)目指令后,平臺(tái)查詢該族本地資源庫的路徑地址,然后再將其傳遞給事務(wù),最后執(zhí)行載入命令,程序關(guān)鍵代碼如圖5 所示,程序功能實(shí)現(xiàn)如圖6 所示。
圖5 構(gòu)件加載功能程序語言
圖6 預(yù)制構(gòu)件族載入
本文所涉及到的參數(shù)化建模程序包含建筑模型生成軸網(wǎng)、柱、梁功能、建筑墻附著結(jié)構(gòu)梁功能、建筑墻荷載信息統(tǒng)計(jì)功能這五項(xiàng)功能,分開用Add-In Manager 插件進(jìn)行使用比較繁瑣,因此在Revit 中新建“結(jié)構(gòu)建?!边x項(xiàng)卡,并將上述五個(gè)功能通過按鈕鏈接程序集,如圖7 所示。
圖7 參數(shù)化建模界面
(1)設(shè)計(jì)師單擊“生成軸網(wǎng)”按鈕,提示所用軸網(wǎng)的族類型及軸網(wǎng)所放置的標(biāo)高,將按鈕值傳至系統(tǒng),系統(tǒng)讀取所選標(biāo)高的墻體的線信息,并存儲(chǔ)于集合中,將命令傳遞給事務(wù),程序遍歷模型中所有墻模型,然后執(zhí)行生成軸網(wǎng)的命令;
(2)設(shè)計(jì)師單擊“生成柱”按鈕,提示所用柱的族類型及柱所放置的標(biāo)高,柱頂標(biāo)高默認(rèn)為上層結(jié)構(gòu)標(biāo)高,將按鈕值傳至系統(tǒng),程序讀取該標(biāo)高處軸網(wǎng)的所有交點(diǎn)并收集,將命令傳遞給事務(wù),程序執(zhí)行柱生成命令;
(3)識(shí)別視圖中的軸網(wǎng),結(jié)合Revit 中梁建模的方法,并結(jié)合結(jié)構(gòu)設(shè)計(jì)原則判斷梁尺寸,選擇建模標(biāo)高及族類型,完成梁自動(dòng)生成過程。梁生成的具體流程與柱相似;
(4)設(shè)計(jì)師單擊“墻齊梁底”按鈕,框選所需齊梁底的墻,將按鈕值傳至系統(tǒng),系統(tǒng)通過讀取該標(biāo)高處梁的高度信息并收集,將墻的頂標(biāo)高減去梁高,程序傳遞給事務(wù),執(zhí)行修改標(biāo)高命令;
(5)Revit 墻模型在進(jìn)行門窗創(chuàng)建后軟件會(huì)自動(dòng)計(jì)算開洞后墻的體積,如圖8 所示,提出以拾取建筑墻體積參數(shù)的方式與結(jié)構(gòu)荷載系數(shù)相結(jié)合導(dǎo)出線荷載的方法,計(jì)算公式見式(1)。
圖8 墻體積
程序收集墻的體積和長度信息,并通過墻的材質(zhì),根據(jù)計(jì)算輸入荷載系數(shù),自動(dòng)計(jì)算所有建筑墻的線荷載。具體實(shí)現(xiàn)的流程是:設(shè)計(jì)師單擊“線荷載統(tǒng)計(jì)”按鈕,提示輸入線荷載系數(shù),系統(tǒng)收集所有墻的ID、體積、長度參數(shù),然后傳遞給事務(wù),最后執(zhí)行計(jì)算命令并設(shè)置excel 導(dǎo)出的路徑。
某教學(xué)樓總建筑面積為15 268.67m2,為地下一層、地上四層的裝配式混凝土框架結(jié)構(gòu),裝配式預(yù)制構(gòu)件主要采用預(yù)制圍護(hù)墻、鋼筋桁架疊合樓板。本工程使用Revit2020 軟件結(jié)合預(yù)制構(gòu)件庫,建立建筑部分的模型,如圖9 所示。
圖9 Revit 建筑模型
建筑模型建立完成后,采用本文開發(fā)的參數(shù)化建模程序結(jié)合預(yù)制族庫建立結(jié)構(gòu)部分的模型,主要包括生成軸網(wǎng)、生成柱、生成梁及墻齊梁底四部分參數(shù)化建模如圖10(a)~(d)所示。
圖10 參數(shù)化建模圖
在建筑模型中的建筑墻附著于結(jié)構(gòu)梁底后,選擇線荷載統(tǒng)計(jì)功能,設(shè)置墻的容重和導(dǎo)出路徑,程序會(huì)自動(dòng)計(jì)算每片墻的線荷載,并導(dǎo)出excel 文件,墻的容重設(shè)置為18KN/m3,通過在Revit 中查詢構(gòu)件ID 所需墻的線荷載,如圖11 ~圖12 所示。
圖11 模型線荷載導(dǎo)出
圖12 墻線荷載查找
通過參數(shù)化建??傻贸鲰?xiàng)目的結(jié)構(gòu)模型,如圖13所示,由結(jié)構(gòu)參數(shù)化建??傻贸觯鄬?duì)于傳統(tǒng)建模,參數(shù)化建模效率高,節(jié)省了大量的建模時(shí)間,設(shè)計(jì)初期即可實(shí)現(xiàn)預(yù)制柱、預(yù)制梁的選擇。
圖13 Revit 結(jié)構(gòu)模型
本文根據(jù)相關(guān)規(guī)范及圖集建立標(biāo)準(zhǔn)化的預(yù)制構(gòu)件族模型,在Revit 中進(jìn)行裝配式建筑模型的建立時(shí),可以直接調(diào)用族庫中的預(yù)制構(gòu)件進(jìn)行建模,以此提高裝配式建筑建模的標(biāo)準(zhǔn)化。結(jié)果表明:
(1)針對(duì)結(jié)構(gòu)模型建模,通過開發(fā)參數(shù)化建模的三個(gè)程序,實(shí)現(xiàn)由建筑模型到軸網(wǎng),再由軸網(wǎng)生成結(jié)構(gòu)模型的柱、梁,達(dá)到了參數(shù)化建結(jié)構(gòu)模型的目的;
(2)通過參數(shù)化建模實(shí)現(xiàn)了裝配式建筑結(jié)構(gòu)模型的快速建模和 “一模多用”的理念;
(3)基于參數(shù)化建模開發(fā)的建筑墻齊梁底及建筑墻線荷載信息統(tǒng)計(jì)程序能實(shí)現(xiàn)建筑結(jié)構(gòu)模型自動(dòng)調(diào)整優(yōu)化,為結(jié)構(gòu)計(jì)算提供便捷。