薛建英,閻 超,孟繁敏,寧 澎
(中北大學(xué) 理學(xué)院,山西 太原 030051)
隨著我國城市化的發(fā)展,越來越多且越建越高的建筑物在城市拔地而起,其工程結(jié)構(gòu)以鋼筋混凝土框架或剪力墻結(jié)構(gòu)為主,鋼筋工程是鋼筋混凝土結(jié)構(gòu)施工的關(guān)鍵環(huán)節(jié),也是工程質(zhì)量控制及工程量計算的重點(diǎn)和難點(diǎn). 在目前的工程施工和質(zhì)量控制過程中,鋼筋工程以施工圖紙與圖集結(jié)合算量軟件為主、 人工復(fù)核為輔的方式進(jìn)行施工現(xiàn)場的下料、 安裝和驗(yàn)收等. 雖然在算量軟件基礎(chǔ)上大大提升了鋼筋用量的統(tǒng)計效率,但仍需要人工進(jìn)行手動翻樣,依舊存在大量的錯誤需要進(jìn)行核算修改,且無法解決鋼筋翻樣錯誤及鋼筋切割過程中的錯切、 重切造成的浪費(fèi),導(dǎo)致鋼筋的損耗率居高不下. 同時由于工程中設(shè)計變更的不可避免,鋼筋用量及下料尺寸無法及時修改,造成鋼筋浪費(fèi)嚴(yán)重.
在BIM軟件參數(shù)化引擎下建立參數(shù)化3D鋼筋實(shí)體,實(shí)現(xiàn)自動配筋、 鋼筋用量統(tǒng)計以及下料優(yōu)化等功能,不僅可以將人工從復(fù)雜的翻模和大量的計算中解放出來,同時可以實(shí)現(xiàn)一處更新處處更新的鋼筋管理功能. 此外還可以利用鋼筋模型的可視化指導(dǎo)現(xiàn)場鋼筋工程,實(shí)現(xiàn)真正意義上的“所見即所得”. 三維數(shù)字化管理下的鋼筋施工及驗(yàn)收在鋼筋工程滿足規(guī)范的要求下盡可能提高鋼筋利用率,對于整個工程降本提質(zhì)具有顯著的意義. 目前建筑業(yè)主流的BIM軟件如Revit系列及Tekla等軟件均具有鋼筋布置的功能,但軟件功能側(cè)重于設(shè)計階段,且軟件表現(xiàn)方式與我國平法表現(xiàn)方式及工程量計算規(guī)則不一致,阻礙了此類軟件在鋼筋施工過程中的應(yīng)用與發(fā)展.
我國《建筑業(yè)發(fā)展“十三五”規(guī)劃》[1]中提出要加快推進(jìn)BIM技術(shù)全生命周期內(nèi)的集成應(yīng)用,支持基于具有自主知識產(chǎn)權(quán)三維圖形平臺的國產(chǎn)BIM軟件的研發(fā)和推廣使用. 張琨等[2]針對傳統(tǒng)鋼筋工程中作業(yè)效率低下的問題,提出了一種基于BIM的鋼筋集約化加工作業(yè)方式,有效提高了作業(yè)效率、 降低了鋼筋損耗; 姚剛等[3]針對復(fù)雜鋼筋節(jié)點(diǎn)的安裝,利用BIM三維可視化提出了一種鋼筋安裝的優(yōu)化方法,實(shí)現(xiàn)了三維交底,避免了對繁瑣節(jié)點(diǎn)的理解差異; 邵艷麗等[4]針對鋼筋建模及用量統(tǒng)計問題,利用Revit接口的開放性,完成了鋼筋用量的分類統(tǒng)計,擴(kuò)展了Revit鋼筋明細(xì)表統(tǒng)計功能. 連立川[5]和漏家俊[6]等針對鋼筋下料優(yōu)化問題,提出了基于BIM的線型規(guī)劃下料方法,大大提高了鋼筋利用率,避免了資源浪費(fèi).
Pratoom W等[7]將傳統(tǒng)方法和BIM軟件中獲得的鋼筋數(shù)量進(jìn)行比較,發(fā)現(xiàn)基于BIM獲取的鋼筋數(shù)量優(yōu)于傳統(tǒng)方法; Song 等[8]針對鋼筋在設(shè)計階段的用量統(tǒng)計問題,基于BIM施工組織開發(fā)出一種RAAP插件,實(shí)現(xiàn)了在初始設(shè)計階段建立合理的鋼筋數(shù)量估算程序.
本文從工程施工中鋼筋工程的質(zhì)量及成本把控措施出發(fā),利用Revit軟件高度開放性、 兼容性等特點(diǎn),通過其中內(nèi)置的函數(shù)和調(diào)用方法,以C#語言開發(fā)的插件實(shí)現(xiàn)Revit中滿足我國鋼筋圖集、 規(guī)范[9]的配筋和包含三維信息的鋼筋文件的輸出,并在Visual Studio 2017(VS)軟件中調(diào)用MATLAB中編譯完成的遺傳-爬山混合算法.dll函數(shù)文件對鋼筋下料進(jìn)行優(yōu)化,進(jìn)一步實(shí)現(xiàn)在移動瀏覽器中的快速重建,為實(shí)際工程中BIM技術(shù)支持下的鋼筋工程應(yīng)用提供了一種新的技術(shù)方法.
本文以某學(xué)校綜合樓為例進(jìn)行三維鋼筋建模及優(yōu)化過程闡述. 該工程為多層框架-剪力墻結(jié)構(gòu),地上3層,局部2層,建筑總面積4 285.30 m2,首層高 4.50 m,2~3層高4.20 m,建筑總高度14.40 m,耐火等級二級,屋面防水等級II級,抗震設(shè)防烈度為8度,設(shè)計使用年限為50年. 該工程無配筋的三維結(jié)構(gòu)模型如圖 1 所示.
圖 1 學(xué)校綜合樓整體無鋼筋結(jié)構(gòu)模型Fig.1 Overall steel-free structural model of the school complex building
在Revit軟件建模過程中,由于鋼筋是基于混凝土構(gòu)件的附屬族構(gòu)件,因此,BIM鋼筋3D模型建立需要在已存在的混凝土結(jié)構(gòu)上進(jìn)行. BIM模型的建立還需綜合考慮設(shè)計意圖、 模型精度要求、 構(gòu)件圖紙命名規(guī)則等,根據(jù)施工應(yīng)用精度需求進(jìn)一步深化設(shè)計. 本文的自動配筋3D鋼筋模型建立方法主要有兩大用途,其一是統(tǒng)計各種規(guī)格鋼筋用量用于算法優(yōu)化下料; 其二是用作幾何文件輸出對象,用于后期瀏覽器中三維技術(shù)交底,輔助完成鋼筋工程質(zhì)量驗(yàn)收等.
首先,在Revit 2016中繪制該綜合樓結(jié)構(gòu)主體,然后利用VS編譯好的插件進(jìn)行配筋管理. 由于在Revit 3D View中無法準(zhǔn)確定位鋼筋間距保護(hù)層厚度且還需要識別配筋主體混凝土構(gòu)件,故整個配筋需在樓層平面視圖中完成,否則彈出“找不到鋼筋的主體”錯誤提示,如圖 2 所示.
圖 2 錯誤提示Fig.2 Error message
Revit軟件為軟件愛好者設(shè)置了一個開放的API用以提高完善其軟件功能. 本文所述的插件主要在框架.NET Framework4.6.1的Visual Studio 2017中編譯完成,通過調(diào)用Revit API和Revit UIAPI數(shù)據(jù)庫中的方法函數(shù)和編譯好的MATLAB.DLL文件進(jìn)行混合編程完成.
由于鋼筋工程配筋由混凝土強(qiáng)度、 保護(hù)層厚度、 彎鉤設(shè)置、 連接方式、 鋼筋級別、 所采用的鋼筋圖集規(guī)范等各種參數(shù)共同決定,故在配筋時需要對相關(guān)參數(shù)設(shè)置進(jìn)行調(diào)整. 本插件默認(rèn)采用16G101圖集,山西省工程量計算規(guī)則規(guī)定的鋼筋損耗,鋼筋根數(shù)計算規(guī)則向上取整+1,直徑6~14 mm鋼筋采用綁扎連接方式,16~32 mm柱墻鋼筋采用電渣壓力焊,其余構(gòu)件鋼筋采用直螺紋套筒連接. 本插件開發(fā)環(huán)境為: Revit 2016、 Visual Studio 2017和Revit SDK. 由于Revit本身是國外軟件,其內(nèi)置數(shù)據(jù)庫與國內(nèi)軟件有一定程度上的差異,其一,模型內(nèi)部默認(rèn)長度單位為ft,而國內(nèi)常用mm; 其二,梁板柱剪切計算規(guī)則不同,模型內(nèi)置剪切為板剪切梁、 梁剪切柱,與國內(nèi)剪切規(guī)則相反. 在編譯本插件時,首先將剪切規(guī)則修改為柱剪切梁、 梁剪切板; 其次將輸出單位進(jìn)行轉(zhuǎn)換. 具體操作界面如圖 3~圖 5 所示.
該插件可以完成結(jié)構(gòu)柱、 梁和板的配筋布置和鋼筋總量的匯總統(tǒng)計. 其中對于標(biāo)準(zhǔn)柱構(gòu)件的配筋主要通過角部縱筋、 長邊縱筋、 短邊縱筋定位以及添加相應(yīng)的箍筋; 對于異形柱而言則由全部縱筋、 箍筋1、 箍筋2、 拉筋來定位鋼筋. 不論標(biāo)準(zhǔn)柱還是異形柱,其定位原則都是基于Origin值的局部坐標(biāo)系,再通過Transform矩陣值還原到全局坐標(biāo)系上. 梁和板的配筋過程雖和柱有一定差異,但也大體相同. 通過插件完成的該綜合樓配筋如圖 6 所示.
圖 3 自動配筋插件面板設(shè)置Fig.3 Automatic reinforcement plug-in panel settings
圖 4 鋼筋保護(hù)層厚度設(shè)置Fig.4 Reinforcement protection layer thickness settings
圖 5 鋼筋彎鉤設(shè)置Fig.5 Steel bar hook setting
圖 6 學(xué)校綜合樓整體鋼筋結(jié)構(gòu)模型Fig.6 The overall steel structure model of the school complex building
隨著算法的不斷發(fā)展和創(chuàng)新,相對于傳統(tǒng)算法,智能化算法在解決較為繁瑣的問題上有著巨大的優(yōu)勢. 在搜索最優(yōu)解的應(yīng)用方面,遺傳算法已成為最廣泛使用的算法之一. 遺傳算法主要包括實(shí)數(shù)編碼,初始種群確定,適應(yīng)值計算,遺傳操作和停止操作等過程. 與傳統(tǒng)的搜索算法相比,它擁有較強(qiáng)的魯棒性和適應(yīng)性,但也存在小范圍的搜索性較弱、 變異概率選擇不確定等缺點(diǎn). 目前各國學(xué)者針對遺傳算法的不足,將遺傳算法與其它高質(zhì)量算法相結(jié)合,使用混合算法來求最優(yōu)解已成為一個新方向.
爬山算法是一種局部搜索能力較強(qiáng)的算法,首先隨機(jī)選取一個解作為初始解,然后在其鄰域范圍內(nèi)再隨機(jī)選取一個解,通過計算兩個解對應(yīng)函數(shù)的函數(shù)值來分析哪一個函數(shù)解更優(yōu),從而得到一個更優(yōu)解. 以此類推,直到附近鄰域范圍內(nèi)無法產(chǎn)生更優(yōu)解,停止運(yùn)算.
遺傳-爬山混合算法有效結(jié)合了遺傳算法的全局搜索能力和爬山算法的局部搜索能力,具有更良好的使用性能[10]. 為了實(shí)現(xiàn)該算法的結(jié)合,在遺傳算法操作步驟中,產(chǎn)生種群后對每一個個體先進(jìn)行一次爬山操作,然后再進(jìn)行遺傳算法的后續(xù)操作. 遺傳-爬山算法流程如圖 7 所示.
圖 7 混合算法運(yùn)行流程Fig.7 Hybrid algorithm running process
為了驗(yàn)證上述混合算法求解的優(yōu)越性,現(xiàn)針對工程鋼筋下料用量的優(yōu)化問題進(jìn)行遺傳-爬山混合算法計算,以綜合樓工程BIM模型導(dǎo)出的鋼筋用量為例,見表 1.
表 1 某教學(xué)樓鋼筋工程用量Tab.1 Reinforcement engineering consumption of a teaching building
鋼筋切割的問題可以歸結(jié)為數(shù)學(xué)問題,即建立如下用于切割鋼筋的數(shù)學(xué)模型.
(1)
式中: [ ]為取整函數(shù).
(2)
(3)
(4)
式中:L為鋼筋原料長度;a為鋼筋需求長度;b為鋼筋下料根數(shù);m(j,i)為第i種鋼筋切割選擇根數(shù);x為下料方法使用次數(shù).
適應(yīng)度函數(shù)通常選取優(yōu)化的目標(biāo)函數(shù),本文將初始種群大小設(shè)為60,交叉概率設(shè)為0.9,變異概率設(shè)為0.06,爬山算法迭代次數(shù)設(shè)為10,最終迭代次數(shù)設(shè)為100,所建立的鋼筋配料模型中的目標(biāo)函數(shù)設(shè)為遺傳-爬山算法中的適應(yīng)值函數(shù).
(5)
現(xiàn)選取鋼筋用量較大的Φ10鋼筋進(jìn)行求解驗(yàn)證. 通過BIM模型確定該工程Φ10用量為 272根 1.2 m鋼筋、 2 567根2.4 m鋼筋、 1 387根3.5 m鋼筋、 434根 5 m 鋼筋、 2 318根6 m鋼筋、 1 659根 7.5 m鋼筋. 結(jié)合實(shí)際施工現(xiàn)場條件,鋼筋原材料選擇了較為常用的每根12 m長的材料,經(jīng)計算,使用遺傳算法解得最后鋼筋最優(yōu)下料為3 605根,用時35.98 s. 使用混合算法解得最優(yōu)下料為3 494根,用時23.64 s,具體下料明細(xì)見表 2. 利用該結(jié)果進(jìn)行工程下料,材料損耗最低.
表 2 鋼筋下料明細(xì)表Tab.2 Reinforcement cut list
因此,在傳統(tǒng)的遺傳算法中加入爬山算法的操作,很好地結(jié)合了遺傳算法良好的全局搜索能力與爬山算法良好的局部搜索能力,使得遺傳-爬山算法具有較快的收斂速度和較強(qiáng)的局部搜索能力,算法鋼筋用量收斂曲線如圖 8 所示.
圖 8 算法鋼筋用量收斂曲線對比圖Fig.8 Algorithm steel bar consumption convergence curve comparison chart
BIM推廣應(yīng)用以來,國內(nèi)外研究學(xué)者雖然開發(fā)了一些用于BIM信息集成的服務(wù)器平臺,但大多基于C/S(Client/Server )架構(gòu). 此架構(gòu)由于需要安裝和使用特定的軟件程序,對信息交互有著很大程度的制約,在大范圍信息交互方面更加顯現(xiàn)出其局限性. 而B/S(Browser/Server)架構(gòu)的運(yùn)算加載主要集中在服務(wù)器上,故其對前端軟硬件要求較低、 維護(hù)升級也較為便利,同時兼容性也更好[11].
隨著5G時代的到來,移動端電子產(chǎn)品的功能和性能越來越優(yōu)越. 在實(shí)際工程中,人們不可能將圖紙電腦時刻帶在身邊,那么將現(xiàn)代人出門必備的電子產(chǎn)品手機(jī)作為媒介,通過手機(jī)瀏覽器來瀏覽工程信息、 查看三維模型、 進(jìn)行三維技術(shù)交底,將進(jìn)一步拓展BIM應(yīng)用范圍及施工的便利性. 本文通過將配筋完成后的模型輸出為OBJ,MTL格式(如圖 9 所示),在JetBrains WebStorm 2017添加相應(yīng)的Trackball Controls,Sim,DDS Loader等軌道控件來實(shí)現(xiàn)在WEB端中的縮放、 旋轉(zhuǎn)等操作,最終將該格式輸出到WEB端(如圖 10 所示).
圖 9 輸出格式部分代碼Fig.9 Output format part code
圖 10 WEB端鋼筋模型Fig.10 WEB port rebar model
通過輸出到移動端的可視化三維視圖,可幫助施工人員更好地解讀工程信息,把握施工細(xì)節(jié),消除施工中的不確定性和不可預(yù)見性,更直觀地對施工工人進(jìn)行技術(shù)交底,更便捷地管理把控施工質(zhì)量和降低施工風(fēng)險.
本文通過開發(fā)的配筋插件以及調(diào)用MATLAB中遺傳-爬山混合算法,實(shí)現(xiàn)了基于OBJ、 MTL中間轉(zhuǎn)換格式的3D鋼筋模型在WEB中的重建,主要解決了以下幾個問題:
1) 利用VS開發(fā)的插件將Revit模型進(jìn)行自動配筋,實(shí)現(xiàn)了基于我國工程規(guī)范及抗震要求的保護(hù)層厚度及彎鉤、 箍筋等設(shè)置. 通過與實(shí)際工程相比較,該插件完成的配筋可以滿足規(guī)范要求,為后期的WEB端鋼筋模型提供了真實(shí)有效的3D模型基礎(chǔ).
2) 利用遺傳-爬山算法對工程中鋼筋切割問題進(jìn)行了優(yōu)化處理,提出的算法準(zhǔn)確性高. 該方法對于一般工程的下料問題皆適用,可以從鋼筋源頭提高其利用率,為企業(yè)降本提質(zhì).
3) 利用WEB端將前期處理后的BIM配筋模型進(jìn)行輸出,通過三維模型交底可以有效解決施工技術(shù)交底的不徹底性、 消除交底過程產(chǎn)生的歧義性.