畢天平 趙小偉
(沈陽建筑大學(xué)管理學(xué)院,沈陽 110168)
近年來,隨著社會(huì)的不斷發(fā)展,科學(xué)技術(shù)在國內(nèi)建筑行業(yè)的應(yīng)用越來越成熟。雖然目前的BIM軟件越來越專業(yè)化、精細(xì)化,但由于這些軟件往往是針對(duì)市場環(huán)境所開發(fā),就會(huì)造成特定使用功能的減弱[1]。然而裝配式建筑的發(fā)展受制于建筑信息化發(fā)展,建筑信息化的發(fā)展將依賴于BIM的發(fā)展[2]。裝配式建筑與傳統(tǒng)建造方式的區(qū)別在于預(yù)制構(gòu)件的工廠生產(chǎn)和現(xiàn)場安裝,所以預(yù)制構(gòu)件的設(shè)計(jì)生產(chǎn)水平很大程度直接決定了裝配式建筑的發(fā)展水平[3],通過BIM軟件的二次開發(fā)解決預(yù)制構(gòu)件的智能化應(yīng)用是裝配式建筑信息化發(fā)展的重要推動(dòng)力。
本次開發(fā)所需的條件有Visual Studio 2015、Autodesk Revit 2018、Revit SDK(Software Development Kit)等,是基于Revit的開發(fā)。由于現(xiàn)今建筑業(yè)信息化的普及,Revit建模高效、快速、便捷的優(yōu)勢使其逐漸取代了傳統(tǒng)的CAD建模。許多設(shè)計(jì)院也正在推行正向設(shè)計(jì),但由于Revit缺乏智能創(chuàng)建、智能拆分預(yù)制板的功能,所以為了適應(yīng)建筑業(yè)主流發(fā)展,選擇基于Revit進(jìn)行二次開發(fā),通過創(chuàng)建動(dòng)態(tài)鏈接庫,將VS中編輯的程序載入到Revit中,便于接下來預(yù)制板的智能創(chuàng)建和拆分[4]。
該軟件的開發(fā)主要引用Revit API自行開發(fā)項(xiàng)目所需功能,滿足工作需求,實(shí)現(xiàn)預(yù)制板的智能創(chuàng)建與拆分,保證裝配式建筑構(gòu)件生產(chǎn)的高效性,通過搭建Revit二次開發(fā)環(huán)境[5],為預(yù)制板的智能創(chuàng)建、拆分奠定操作基礎(chǔ)。
由于目前市場上預(yù)制板拆分軟件都有一定程度的不足,無法全面完成預(yù)制板的智能拆分,也無法完成后續(xù)預(yù)制板結(jié)構(gòu)(桁架、鋼筋、吊點(diǎn)、吊環(huán)等)的布置,Revit API便成為打通各款軟件實(shí)現(xiàn)數(shù)據(jù)交互的重要工具,它能夠自動(dòng)分析BIM模型信息等幾乎所有Revit操作[6]。Revit API提供了功能豐富且可以被C#調(diào)用的接口,通過Visual Studio等集成開發(fā)環(huán)境可以滿足預(yù)制構(gòu)件的深化[7]。圖1為基于Revit的預(yù)制板BIM智能創(chuàng)建與拆分軟件的開發(fā)思路。
圖1 軟件開發(fā)思路圖Fig.1 The software development roadmap
預(yù)制板智能創(chuàng)建與拆分軟件開發(fā)的流程主要包括:可行性分析、架構(gòu)設(shè)計(jì)、編寫代碼、注冊(cè)加載、調(diào)試等步驟[8]。首先對(duì)項(xiàng)目進(jìn)行需求分析,主要是為了在裝配式建筑中實(shí)現(xiàn)預(yù)制板的智能創(chuàng)建和拆分,通過參數(shù)化設(shè)置能更好地實(shí)現(xiàn)施工過程中批量拆分,再對(duì)拆分后的預(yù)制板進(jìn)行結(jié)構(gòu)(吊點(diǎn)、吊環(huán)、桁架、鋼筋及凹槽)布置,快速地將預(yù)制板布置到工程框架中,以此加快裝配式建筑工程的設(shè)計(jì)效率[9-10]。
Revit API調(diào)用類庫是以External Application(外部應(yīng)用)的形式來實(shí)現(xiàn),生成動(dòng)態(tài)鏈接庫文件載入到Revit中,來創(chuàng)建和設(shè)計(jì)與Revit界面一致的工作面板,一個(gè)外部應(yīng)用可以包含多個(gè)外部命令,Revit插件的調(diào)用須通過.addin文件來完成[11]。圖2為開發(fā)完成的軟件功能面板。
圖2 軟件功能面板Fig.2 The software function panel
2.1.1 預(yù)制板智能創(chuàng)建與合并
預(yù)制板的智能創(chuàng)建主要是為實(shí)現(xiàn)快捷高效地生產(chǎn)參數(shù)化構(gòu)件,省去繪圖過程中重新調(diào)參的步驟。目前Revit只是能夠創(chuàng)建普通的板,不具備復(fù)雜的參數(shù)化創(chuàng)建,基于Revit智能創(chuàng)建環(huán)境要求能根據(jù)項(xiàng)目特點(diǎn)需要自動(dòng)匹配參數(shù)創(chuàng)建預(yù)制板。此外,還可以在框架墻、梁、柱上直接創(chuàng)建整塊板,然后使整塊預(yù)制板與框架梁、柱合并,也就表明預(yù)制板參數(shù)相同的情況下能夠智能地實(shí)現(xiàn)Revit中預(yù)制板與其他預(yù)制構(gòu)件的合并,間接地達(dá)到板的整體拆分效果。此次參數(shù)化創(chuàng)建的板主要有預(yù)應(yīng)力混凝土疊合板、鋼筋桁架疊合板、無肋底板疊合板(多種)及預(yù)應(yīng)力雙T疊合板四種類型[12]。圖3為預(yù)制板創(chuàng)建的部分源代碼,參數(shù)化創(chuàng)建的板為20*15。
圖3 Revit二次開發(fā)代碼Fig.3 Secondary development code of Revit
圖4為預(yù)制板與梁、柱的合并后效果圖。
圖4 預(yù)制板創(chuàng)建Fig.4 Precast slab creation
2.1.2 板幾何造型一鍵成型
預(yù)制板智能創(chuàng)建完成后,選擇需要布置結(jié)構(gòu)構(gòu)件的板,該軟件智能調(diào)用后臺(tái)數(shù)據(jù)庫,可參數(shù)化設(shè)置構(gòu)件,只需點(diǎn)擊相應(yīng)的結(jié)構(gòu)構(gòu)件(吊點(diǎn)、吊環(huán)、桁架、鋼筋等)進(jìn)行添加,一鍵應(yīng)用即可。根據(jù)建筑工程需要,選擇參數(shù)化設(shè)置的桁架、吊點(diǎn)、吊環(huán)、鋼筋在預(yù)制板上布置,鋼筋可以在數(shù)據(jù)庫中進(jìn)行各類型號(hào)鋼筋的整合,將工程中常用的鋼筋進(jìn)行添加,在軟件操作界面可實(shí)現(xiàn)鋼筋的一步成型。圖5為布置幾何造型功能界面圖。
圖5 布置幾何造型Fig.5 Layout geometry
預(yù)制板智能拆分主要是使構(gòu)件標(biāo)準(zhǔn)、尺寸精確、減少現(xiàn)場施工作業(yè)[13]。此外,還可將特殊四邊形預(yù)制板分割成規(guī)則的矩形板,再根據(jù)需求拆分成各類參數(shù)化預(yù)制板,極大地避免了材料浪費(fèi)。根據(jù)工程所需的不同構(gòu)件,對(duì)預(yù)制板進(jìn)行參數(shù)化設(shè)置,將整塊板拆分成滿足不同工程的單一構(gòu)件,批量生成預(yù)制板,拆分后的預(yù)制板具有小型化、輕量化的特點(diǎn)[14]。首先,在Revit中選擇預(yù)制板,分析板的形狀是否是特殊四邊形,若是特殊四邊形板應(yīng)優(yōu)先規(guī)則化處理,若板的形狀為矩形板,即可開始對(duì)預(yù)制板進(jìn)行拆分,可以根據(jù)工程需要選擇沿板跨度方向或者板寬度方向,輸入板拆分的間距就可以進(jìn)行拆分。
預(yù)制板的拆分算法:分析預(yù)制板的形狀,對(duì)特殊四邊形板進(jìn)行最大化規(guī)則處理,處理完成后再進(jìn)行預(yù)制板的拆分。預(yù)制板模型在Revit中進(jìn)行拆分時(shí),可以將板跨、板寬轉(zhuǎn)換為坐標(biāo)軸上的封閉區(qū)域[15],預(yù)制板的四個(gè)板角對(duì)應(yīng)坐標(biāo)軸的四個(gè)坐標(biāo),如圖6所示,圖中X軸對(duì)應(yīng)板跨度方向,Y軸對(duì)應(yīng)板寬度方向。
圖6 特殊四邊形板Fig.6 Special quadrilateral plate
2.2.1 板規(guī)則化處理
拆分過程中,軟件通過板跨、板寬的夾角判斷出是否為規(guī)則的矩形板,夾角不等于90°,將會(huì)對(duì)板進(jìn)行處理,沿著特殊四邊形板的頂點(diǎn)向平行邊做垂直線,選取最大區(qū)域范圍的板,極大地節(jié)約了原材料,圖7為規(guī)則化處理完成圖。
圖7 板規(guī)則化處理圖Fig.7 Plate regularization processing diagram
2.2.2 沿X軸方向進(jìn)行拆分
(1)整體板拆分,具體拆分公式如下:
式中:n1為拆分板的數(shù)量;a為拆分板間距;(x2-x1)為未拆分前的板跨;L1為拆分后板的跨度(實(shí)際為拆分后的板放置在框架墻、梁的跨度)。
圖8 為沿X軸拆分示意圖1。
圖8 X軸拆分示意圖1Fig.8 X-axis splitting diagram 1
(2)舍掉部分多余預(yù)制板后,進(jìn)行拆分,舍掉長度為a0(0≤a0≤x2-x1)(從x1?x2方向進(jìn)行舍掉),具體拆分公式如下:
式中:n2為拆分板的數(shù)量;a為拆分板間距;a0為預(yù)制板舍掉的部分;(x2-x1-a0)為未拆分前的板跨;L2為拆分后板的跨度(實(shí)際為拆分后的板放置在框架墻、梁的跨度)。
圖9為沿X軸拆分示意圖2。
圖9 X軸拆分示意圖2Fig.9 X-axis splitting diagram 2
2.2.3 沿Y軸方向進(jìn)行拆分
(1)整體板拆分,具體拆分公式如下:
式中:m1為拆分板的數(shù)量;b為拆分板間距;(y2-y1)為未拆分前的板寬;W1為拆分后板的寬度(實(shí)際為拆分后的板放置在框架墻、梁的寬度)。
圖10 為沿Y軸拆分示意圖1。
圖10 Y軸拆分示意圖1 Fig.10 Y-axis splitting diagram
(2)舍掉部分多余預(yù)制板后,進(jìn)行拆分,舍掉長度為b0(0≤b0≤y2-y1)(從y1?y2方向進(jìn)行舍掉),具體拆分公式如下:式中:m2為拆分板的數(shù)量;b為拆分板間距;b0為預(yù)制板舍掉的部分;(y2-y1-b0)為未拆分前的板寬;W2為拆分后板的寬度(實(shí)際為拆分后的板放置在框架墻、梁的寬度)。
圖11為沿Y軸拆分示意圖2。
圖11 Y軸拆分示意圖2Fig.11 Y-axis splitting diagram 2
Revit中預(yù)制板自定義拆分參數(shù)設(shè)置及拆分后效果圖如圖12所示。
圖12 預(yù)制板拆分效果圖Fig.12 Split effect drawing of precast slab
相較于傳統(tǒng)預(yù)制板設(shè)計(jì)過程中預(yù)制板繪制復(fù)雜、無法拆分等劣勢,預(yù)制板智能創(chuàng)建與拆分軟件的研發(fā)解決了板參數(shù)化創(chuàng)建,可以智能化匹配預(yù)制板所需的構(gòu)件,并根據(jù)工程需要對(duì)預(yù)制板進(jìn)行規(guī)則化拆分,以此滿足生產(chǎn)需求,極大地節(jié)約了生產(chǎn)時(shí)間,提高了生產(chǎn)效率。表1為預(yù)制板智能創(chuàng)建與拆分軟件應(yīng)用前后的對(duì)比。
表1 軟件應(yīng)用前對(duì)比Table 1 Comparison before and after software application
在裝配式建筑工程項(xiàng)目中,對(duì)預(yù)制板的設(shè)計(jì)使用基于Revit的BIM智能開發(fā)軟件。項(xiàng)目采用Revit建模技術(shù)對(duì)預(yù)制板進(jìn)行三維可視化剖析,其中預(yù)制板的創(chuàng)建合并、智能拆分均是在Revit二次開發(fā)技術(shù)條件下進(jìn)行的。
預(yù)制板的前期設(shè)計(jì)是在Revit智能創(chuàng)建界面進(jìn)行布置的,直接根據(jù)裝配式工程的需要,參數(shù)化設(shè)置創(chuàng)建預(yù)制板,節(jié)約了設(shè)計(jì)時(shí)間,提高了預(yù)制板布置效率。根據(jù)項(xiàng)目中工程框架的尺寸,在預(yù)制板BIM智能拆分環(huán)境下,使用預(yù)制板的拆分功能對(duì)創(chuàng)建完成的預(yù)制板進(jìn)行拆分,輸入拆分間距就可以批量獲得預(yù)制板,對(duì)預(yù)制板進(jìn)行結(jié)構(gòu)(鋼筋、桁架、吊點(diǎn)、吊環(huán)及凹槽等)布置,以此滿足工程項(xiàng)目中的預(yù)制板真正需求。將設(shè)計(jì)完成的預(yù)制板的圖紙根據(jù)預(yù)制板布置圖和預(yù)制板結(jié)構(gòu)圖分別完成出圖,并交付預(yù)制構(gòu)件生產(chǎn)廠商。圖13為在工廠中完成拆分生產(chǎn)的鋼筋桁架預(yù)制樓承板。
圖13 鋼筋桁架預(yù)制樓承板Fig.13 The precast floor bearing plate with steel truss
裝配式建筑工程預(yù)制板是批量生產(chǎn)的,不同的單位采購不同的預(yù)制構(gòu)件,只需依照工程要求進(jìn)行設(shè)計(jì)即可。設(shè)計(jì)院將預(yù)制板的圖紙交付給預(yù)制工廠,根據(jù)圖紙要求采用流水線生產(chǎn),在預(yù)制板的指定位置切割,接著分別布置幾何造型(桁架、凹槽、配筋、吊點(diǎn)及吊環(huán)等)。對(duì)加工批量生產(chǎn)的預(yù)制板,應(yīng)由專業(yè)的質(zhì)檢人員對(duì)板進(jìn)行檢查,避免由于失誤造成切割或者結(jié)構(gòu)布置達(dá)不到要求。
基于BIM技術(shù)自主研發(fā)裝配式建筑工程中預(yù)制板在Revit里的智能創(chuàng)建與拆分,為其余預(yù)制構(gòu)件的智能創(chuàng)建和拆分提供了借鑒。智能創(chuàng)建與拆分技術(shù)的實(shí)現(xiàn),使預(yù)制板的深化達(dá)到了相輔相成的結(jié)果。從Revit的開源性和規(guī)范性出發(fā),進(jìn)行科學(xué)的開發(fā)是可行的。該項(xiàng)技術(shù)主要是通過Revit API這一開放型程序接口,實(shí)現(xiàn)了C#編程語言對(duì)Revit軟件的開發(fā)利用,解決了工程項(xiàng)目中預(yù)制板深化復(fù)雜的難題,同時(shí)提高了預(yù)制板的設(shè)計(jì)水平,降低了設(shè)計(jì)的難度,提高了預(yù)制板的設(shè)計(jì)效率?;赗evit的預(yù)制板BIM智能創(chuàng)建與拆分軟件的開發(fā)為裝配式建筑工程中預(yù)制構(gòu)件的智能化發(fā)展提供了堅(jiān)實(shí)的基礎(chǔ),更有助于工業(yè)化生產(chǎn),提高了建筑工程的集成化程度,能更好地引領(lǐng)建筑業(yè)走向更高水平。