王 荃,張杰茗
(1.安徽省城市綜合設(shè)計(jì)研究院有限公司,安徽 合肥 230001;2.中水淮河規(guī)劃設(shè)計(jì)研究有限公司,安徽 合肥 230601)
隨著建筑造型越來(lái)越多樣化,復(fù)雜曲面造型的建筑也深受建筑師和大眾的喜愛(ài)。由于建筑外表面變化多樣,也給結(jié)構(gòu)工程師帶來(lái)了新的挑戰(zhàn)。異形曲面空間結(jié)構(gòu)的建模相當(dāng)復(fù)雜,有些曲面結(jié)構(gòu)甚至無(wú)法用傳統(tǒng)建模思路完成建模工作。項(xiàng)目開(kāi)始階段,建筑外表皮會(huì)因?yàn)楦鞣N因素頻繁調(diào)整。即便采用傳統(tǒng)結(jié)構(gòu)建模思路建出模型,當(dāng)建筑外表皮改動(dòng),結(jié)構(gòu)模型也需要重新建模。如果多次修改,重新建模的工作量巨大,甚至影響整個(gè)項(xiàng)目進(jìn)度。
在建模過(guò)程中,為了避免這樣重復(fù)的工作量,將工業(yè)設(shè)計(jì)中的參數(shù)化技術(shù)引入到建筑結(jié)構(gòu)設(shè)計(jì)中。這項(xiàng)技術(shù)的優(yōu)點(diǎn)是當(dāng)建筑曲面發(fā)生變化,結(jié)構(gòu)構(gòu)件會(huì)根據(jù)新的建筑曲面自行調(diào)整。除此之外,結(jié)構(gòu)參數(shù)化技術(shù)可以將一些結(jié)構(gòu)幾何尺寸進(jìn)行參數(shù)化,甚至可以結(jié)合力學(xué)參數(shù)進(jìn)行結(jié)構(gòu)找形,通過(guò)這些參數(shù)實(shí)時(shí)調(diào)整結(jié)構(gòu)模型,能夠及時(shí)對(duì)建筑造型的合理性進(jìn)行評(píng)判。
本研究介紹了不規(guī)則曲面網(wǎng)殼、網(wǎng)架和桁架的參數(shù)化建模,闡述了異形空間結(jié)構(gòu)參數(shù)化建模思路,對(duì)不規(guī)則多重曲面的網(wǎng)架結(jié)構(gòu)快速參數(shù)建模給出詳細(xì)的過(guò)程。
目前結(jié)構(gòu)設(shè)計(jì)參數(shù)化的軟件平臺(tái)有Grasshopper和Gama 等。Grasshopper 是犀牛軟件中的一個(gè)插件,其特點(diǎn)是可視化的編程,并將各種程序封裝在不同的運(yùn)算器中,這些運(yùn)算器大部分都有輸入和輸出兩種端口。大部分結(jié)構(gòu)設(shè)計(jì)人員不具備編寫程序能力,在這個(gè)軟件中,設(shè)計(jì)人員只要根據(jù)自己的需求選出運(yùn)算器,再將這些運(yùn)算器像搭積木一樣連接起來(lái),就可以構(gòu)建一套建模程序。這一過(guò)程完全可視化,運(yùn)算器之間用線條連接,設(shè)計(jì)人員可以很清晰地看到各模塊之間的數(shù)據(jù)關(guān)系,尤其是在復(fù)雜的結(jié)構(gòu)模型中,這種關(guān)系更容易被掌握[1]。Gama 是國(guó)內(nèi)的YJK 軟件開(kāi)發(fā)的參數(shù)化平臺(tái),Gama 和Grasshopper相似,也具備可視化和模塊化特點(diǎn),但是更好地融合了YJK 軟件結(jié)構(gòu)計(jì)算功能。
在建筑方案前期階段,建筑的造型還未定論,建筑師通常會(huì)列出多種建筑方案進(jìn)行比選,結(jié)構(gòu)工程師需要對(duì)各建筑方案的結(jié)構(gòu)可行性進(jìn)行評(píng)判,并針對(duì)方案不合理的地方提出結(jié)構(gòu)建議,甚至讓建筑方案結(jié)合力學(xué)形態(tài)調(diào)整。此時(shí)結(jié)構(gòu)工程師需要給建筑師予以及時(shí)的反饋。因此此階段結(jié)構(gòu)計(jì)算需要更高的效率,不需要過(guò)高的計(jì)算精度,可在Grasshopper 內(nèi)應(yīng)用結(jié)構(gòu)專業(yè)插件進(jìn)行計(jì)算,快速得到計(jì)算結(jié)果,及時(shí)對(duì)方案的結(jié)構(gòu)可行性驗(yàn)證。
空間結(jié)構(gòu)常用的結(jié)構(gòu)形式有網(wǎng)架、網(wǎng)殼以及管桁架,為此在Grasshopper 參數(shù)化平臺(tái)中分別編寫了網(wǎng)架建模程序、網(wǎng)殼建模程序和管桁架建模程序。利用這些建模程序,首先可以根據(jù)建筑完成面生成結(jié)構(gòu)控制面,且建筑外表皮與結(jié)構(gòu)控制面的距離可調(diào)整;其次可以根據(jù)結(jié)構(gòu)控制面自動(dòng)生成網(wǎng)架、網(wǎng)殼和管桁架的線模,且結(jié)構(gòu)網(wǎng)格平面尺寸以及豎向高度可以根據(jù)需求調(diào)整,圖1 為任意單個(gè)曲面的三種結(jié)構(gòu)形式的建模程序。
圖1 不同結(jié)構(gòu)形式的Grasshopper 程序圖
以上是基于單個(gè)曲面的一些結(jié)構(gòu)建模方法,但是對(duì)于多個(gè)曲面組合的平面,此方法就不適用,為此專門針對(duì)組合曲面的網(wǎng)架結(jié)構(gòu)編寫了一套快速建模的程序。復(fù)雜的自由曲面網(wǎng)架一般從建筑模型入手,而往往由于造型和功能需求建筑模型并非由簡(jiǎn)單幾何形式組成。除了常見(jiàn)的點(diǎn)Point、直線Line、曲線Curve、曲面Surface,有時(shí)還會(huì)遇到實(shí)體Brep(多重曲面)、網(wǎng)格Mesh、細(xì)分物件SubD、點(diǎn)云Points、網(wǎng)格線Lines 等各種幾何形式,但網(wǎng)架最終需要的是由直線組合成的雙層網(wǎng)格線。因此,建模前需要分清不同幾何形式以及互相之間的轉(zhuǎn)化關(guān)系,Grasshopper 中大多數(shù)形式之間有電池可直接轉(zhuǎn)化或通過(guò)簡(jiǎn)單邏輯處理轉(zhuǎn)化。本文主要通過(guò)將其他幾何形式轉(zhuǎn)化為網(wǎng)格Mesh 后再處理生成網(wǎng)架,建模思路與流程如下:
輸入幾何面(surface、Brep、Subd、lines…)→轉(zhuǎn)化為Mesh →重建生成QuadMesh(網(wǎng)格邊緣作為上弦桿輸出)→Mesh 單塊Faces 中心點(diǎn)投影至下弦面作為下弦節(jié)點(diǎn)→連接Faces 角點(diǎn)與下弦節(jié)點(diǎn)(輸出腹桿)→連接相鄰下弦節(jié)點(diǎn)(輸出下弦桿)。
圖2 為一個(gè)多重曲面按上述建模思路在Grasshopper 參數(shù)化平臺(tái)中生成的網(wǎng)架結(jié)構(gòu)線模。
圖2 網(wǎng)架結(jié)構(gòu)線模圖
在異形空間結(jié)構(gòu)設(shè)計(jì)中,定義構(gòu)件屬性也是至關(guān)重要的環(huán)節(jié)。結(jié)構(gòu)線模完成之后,還需要對(duì)桿件定義材料屬性、截面尺寸及荷載等信息??梢酝ㄟ^(guò)GH 中的GeomgymIFC 運(yùn)算器給桿件定義這些信息,并將這些信息存儲(chǔ)在參數(shù)化模型中[2]。該運(yùn)算器還可以將模型轉(zhuǎn)換為IFC 格式,可以將這些信息無(wú)損導(dǎo)入到專業(yè)的結(jié)構(gòu)計(jì)算軟件中,快速進(jìn)入結(jié)構(gòu)計(jì)算模塊。在建筑方案前期階段,建筑師會(huì)提出多個(gè)比選方案,結(jié)構(gòu)工程師必須對(duì)多個(gè)結(jié)構(gòu)方案進(jìn)行對(duì)比計(jì)算,利用這項(xiàng)技術(shù),無(wú)需多次重復(fù)定義桿件材料、截面和荷載等信息,使結(jié)構(gòu)試算的工作效率得到明顯的提升[3]。
在異形空間結(jié)構(gòu)的設(shè)計(jì)過(guò)程中,參數(shù)化計(jì)算主要有以下三種方式:
(1)先利用參數(shù)化平臺(tái)建立線模型,采用數(shù)據(jù)庫(kù)方式將參數(shù)化模型導(dǎo)入通用結(jié)構(gòu)計(jì)算軟件中,再進(jìn)行下一步計(jì)算;還可以通過(guò)結(jié)構(gòu)計(jì)算軟件提供的API 接口,獲得更高的轉(zhuǎn)換效率和準(zhǔn)確性,減少在結(jié)構(gòu)計(jì)算軟件中調(diào)整參數(shù)的步驟。
(2)參數(shù)化平臺(tái)中也內(nèi)置了幾款有限元計(jì)算插件,這些插件由第三方開(kāi)發(fā),可以直接在平臺(tái)內(nèi)部直接進(jìn)行計(jì)算。這種方式的優(yōu)點(diǎn)是數(shù)據(jù)不會(huì)因?yàn)檗D(zhuǎn)換而缺失,使計(jì)算效率得到明顯的提高;缺點(diǎn)是這種有限元計(jì)算插件的計(jì)算精度較低,且后處理能力較弱。因?yàn)樵诮ㄖ桨鸽A段更注重的是及時(shí)反饋,所以在這一階段可以采用這種方式計(jì)算。Grasshopper 中常見(jiàn)的有限元計(jì)算插件如Millipede、Karamba 和ParaStaad,只有ParaStaad 支持國(guó)家規(guī)范的相關(guān)條文驗(yàn)算;Millipede 和Karamba 更像是通用分析軟件,有Python 語(yǔ)言基礎(chǔ)的設(shè)計(jì)人員可以編寫運(yùn)算器來(lái)實(shí)現(xiàn)按國(guó)標(biāo)計(jì)算。
(3)如果在YJK 的Gama 參數(shù)化平臺(tái)上建立模型,那么可以直接利用YJK 強(qiáng)大的結(jié)構(gòu)計(jì)算功能。這種方式更符合國(guó)內(nèi)的設(shè)計(jì)習(xí)慣,也降低了結(jié)構(gòu)設(shè)計(jì)師的學(xué)習(xí)門檻,更容易推廣。目前Gama 的功能一直在不斷完善,相信會(huì)得到越來(lái)越多的結(jié)構(gòu)工程師的青睞。
把有限元計(jì)算軟件與優(yōu)化算法進(jìn)行結(jié)合,將模型的一些需要調(diào)整的參數(shù)設(shè)為一個(gè)變量參數(shù),并設(shè)置好限制條件,優(yōu)化程序根據(jù)每一次的計(jì)算結(jié)果,給模型變量參數(shù)反復(fù)賦值,通過(guò)多次迭代計(jì)算得到最優(yōu)的計(jì)算結(jié)果,這個(gè)過(guò)程稱為結(jié)構(gòu)參數(shù)化優(yōu)化[4]。
某體育館屋蓋為圓形,直徑60m,結(jié)構(gòu)布置方式采用環(huán)向桁架和徑向桁架。為了使環(huán)向桁架處在徑向最優(yōu)的位置,需要利用Grasshopper 軟件中的Galapagos模塊。這個(gè)模塊有兩個(gè)輸入端,分別是Fitness 端與Genome 端(以下簡(jiǎn)稱F 端和G 端)。模塊內(nèi)有兩種優(yōu)化算法,分別遺傳算法和退火算法[5],在F 端輸入控制的條件,通過(guò)對(duì)輸入的G 端值的反復(fù)迭代計(jì)算,最終得到控制極值條件下相對(duì)應(yīng)的G 端參數(shù)[6]。
為了確保屋蓋的平面外剛度,在F 端輸入屋蓋的豎向位移的最小極值,將G 端的參數(shù)設(shè)置為環(huán)向桁架的半徑,采用遺傳算法,計(jì)算出豎向位移最小情況下的環(huán)向桁架半徑,優(yōu)化求解過(guò)程如圖3。
圖3 優(yōu)化求解過(guò)程圖
通過(guò)優(yōu)化計(jì)算后,以最小豎向位移為目標(biāo)值對(duì)應(yīng)的環(huán)向桁架半徑由中心到外側(cè)分別為3350mm、6650mm、9950mm、14950mm、19950mm、24950mm、30000mm。模型經(jīng)優(yōu)化計(jì)算后的豎向位移得到一個(gè)最優(yōu)值,能充分利用鋼材,降低成本。優(yōu)化的過(guò)程完全由計(jì)算機(jī)完成,如果人工試算,可能需要數(shù)十倍時(shí)間,還未必能達(dá)到最優(yōu)解。
目前JYK 的Gama 也在Grasshopper 中有數(shù)據(jù)接口插件,可以做到數(shù)據(jù)實(shí)時(shí)聯(lián)動(dòng),結(jié)合兩個(gè)軟件的各自的優(yōu)勢(shì),讓參數(shù)化計(jì)算應(yīng)用于更多的項(xiàng)目。Gama中可以按中國(guó)規(guī)范的指標(biāo)進(jìn)行遺傳算法和退火算法,對(duì)結(jié)構(gòu)方案進(jìn)行優(yōu)化,減少了大量重復(fù)的人工步驟。
(1)參數(shù)化設(shè)計(jì)解決了異形空間結(jié)構(gòu)建模困難的問(wèn)題,減少了因方案修改導(dǎo)致大量的重復(fù)操作,讓設(shè)計(jì)人員有更多時(shí)間思考結(jié)構(gòu)概念設(shè)計(jì),提升了異形空間結(jié)構(gòu)的設(shè)計(jì)效率。
(2)建立通用的結(jié)構(gòu)建模程序,能根據(jù)異形的建筑曲面快速生成網(wǎng)架、網(wǎng)殼和管桁架,將經(jīng)常需要調(diào)整的結(jié)構(gòu)參數(shù)進(jìn)行參數(shù)化,這些參數(shù)可以根據(jù)實(shí)際的項(xiàng)目條件適當(dāng)修改,就可以應(yīng)用于一個(gè)全新的項(xiàng)目。
(3)參數(shù)化建模完成后,可以再采用Grasshopper 內(nèi)部的有限元計(jì)算插件進(jìn)行簡(jiǎn)單的力學(xué)分析,對(duì)前期的結(jié)構(gòu)方案的合理性予以驗(yàn)證。同時(shí)可以采用遺傳算法或退火算法對(duì)結(jié)構(gòu)進(jìn)行參數(shù)化優(yōu)化。對(duì)于施工圖階段計(jì)算,可以采用SAP2000、Midas 以及YJK 等結(jié)構(gòu)計(jì)算軟件