左杰 白琦琦 張勃
隨著智能程序算法在各行業(yè)的廣泛應(yīng)用,計(jì)算機(jī)程序可以通過算法生成結(jié)果,提高設(shè)計(jì)師工作的準(zhǔn)確性與效率。塊材飾面是影響建筑整體美觀的重要因素,在建筑工程中,基層結(jié)構(gòu)鋪貼塊狀裝飾面層的做法多用于建筑的外墻面、室內(nèi)地面以及天花頂篷等部位[1]。本文探討基于Rhino平臺(tái)的Grasshopper插件在塊材排磚設(shè)計(jì)生成中的應(yīng)用,旨在開發(fā)一款自動(dòng)排磚插件,以期提升設(shè)計(jì)師的工作效率和工程的精準(zhǔn)度,呈現(xiàn)直觀的排磚方案。
目前主流的排磚方案是設(shè)計(jì)師使用CAD人工繪制排磚圖,不僅耗費(fèi)時(shí)間與精力,也會(huì)出現(xiàn)考慮不周的情況。本研究的目標(biāo)及意義為:1)利用算法精細(xì)計(jì)算塊材數(shù)量,直接輸出塊材編號(hào),并將碎磚及整磚分開統(tǒng)計(jì),旨在快速準(zhǔn)確地計(jì)算材料用量,減少材料損耗,提升工程精準(zhǔn)度;2)減少設(shè)計(jì)師繁重的重復(fù)性工作,建立自動(dòng)排磚參數(shù)模型,方便快捷地生成優(yōu)化方案,有效提升設(shè)計(jì)人員的工作效率;3)以三維排磚模型展現(xiàn)工程實(shí)體,借助Grasshopper編寫算法模型后,可以在Rhino平臺(tái)看到最終成果,并通過修改參數(shù)直接改變結(jié)果。研究最終在實(shí)際項(xiàng)目中應(yīng)用,從而驗(yàn)證該插件的可行性。
本研究基于Rhino和Grasshopper平臺(tái),開發(fā)一款用于自動(dòng)排布?jí)K狀板材的插件。設(shè)計(jì)人員只需提供項(xiàng)目平面,插件在歸納傳統(tǒng)排磚經(jīng)驗(yàn)及影響因素的基礎(chǔ)上,將其轉(zhuǎn)譯為計(jì)算機(jī)語(yǔ)言,自動(dòng)生成排磚方案(圖1)。
常見排磚方式主要有以下幾種:對(duì)縫拼貼、錯(cuò)縫拼貼、人字拼貼、六角磚拼貼(圖2)。通過局部面磚變化,突出空間的重點(diǎn)部位也是常見的設(shè)計(jì)方式。例如,衛(wèi)生間淋浴頭空間的墻面飾面磚類型有別于其他墻面,劃分區(qū)域的同時(shí)還能起到豐富空間的作用。
在實(shí)際施工過程中,影響最終排磚效果的因素有很多,主要有以下三點(diǎn)。
(1)整齊美觀:內(nèi)墻排磚時(shí)非整塊的面磚應(yīng)盡量使用在房間陰角處以及不明顯的部位,地磚與墻磚磚縫最好對(duì)齊[2]。
(2)節(jié)約成本:地面磚起鋪點(diǎn)一般為門中點(diǎn)或室內(nèi)一角,比較各起鋪點(diǎn)的排磚結(jié)果,以減少碎磚數(shù)量為基本原則。
(3)減少誤差:在實(shí)際的鋪磚過程中需考慮底層砂漿以及兩磚之間灰縫的厚度,而CAD繪圖是在墻面的原始尺寸上進(jìn)行排磚,沒有考慮砂漿及灰縫的厚度,因此會(huì)與最終的施工結(jié)果產(chǎn)生偏差。利用參數(shù)化工具可以更加精準(zhǔn)地統(tǒng)計(jì)材料用量,嚴(yán)格控制最終的施工結(jié)果。
在總結(jié)自動(dòng)排磚影響因素的基礎(chǔ)上,將其轉(zhuǎn)譯為算法語(yǔ)言,借助Rhino和Grasshopper平臺(tái)自動(dòng)生成排磚技術(shù)路線(圖3)。
(1)為保證鋪磚效果的美觀性,地面起鋪點(diǎn)應(yīng)盡量設(shè)置在門所在的墻面。如圖4所示,起鋪點(diǎn)A相對(duì)于起鋪點(diǎn)B,整磚多鋪設(shè)在視線能觀察到的位置,排磚效果整齊美觀。
(2)研究以碎磚少為原則,算法生成的起鋪點(diǎn)位置不斷變化,同時(shí)計(jì)算排磚方案的材料數(shù)量,算法在碎磚數(shù)達(dá)到最小值時(shí),停止運(yùn)算產(chǎn)生結(jié)果。
(3)將灰縫及砂漿尺寸編寫到算法中,減少設(shè)計(jì)初期材料統(tǒng)計(jì)與最終使用數(shù)量的誤差,同時(shí)調(diào)節(jié)碎磚尺寸。如圖5所示,兩個(gè)方案的面磚規(guī)格均為300mm×300mm,在a圖中,沒有計(jì)算灰縫尺寸,并產(chǎn)生了300mm×45mm的碎磚;在b圖中,在300mm×300mm的面磚尺寸上增加灰縫尺寸,最終利用6mm的灰縫消解了碎磚。因此,將砂漿及灰縫厚度提前編寫在程序中,在此基礎(chǔ)上進(jìn)行鋪磚,可以調(diào)整碎磚尺寸大小,使墻面規(guī)整。
(4)Grasshopper中Galapagos運(yùn)算器的主要功能是通過遺傳算法設(shè)置運(yùn)算器Fitness端口的極值,遍歷Genome端的輸入值,查找極值狀態(tài)下Genome端對(duì)應(yīng)的參數(shù)。在此次研究中,筆者基于Galapagos的算法邏輯,以Seam電池組為基礎(chǔ),將Gene Pool控制Seam的起鋪點(diǎn)不斷移動(dòng)。如果頂點(diǎn)(即起鋪點(diǎn))移動(dòng)產(chǎn)生的結(jié)果能滿足Fitness大小值的設(shè)定,則該結(jié)果將會(huì)逐代演化出更優(yōu)的近似解,算法模型循環(huán)往復(fù),遍歷Gene Pool中的數(shù)值,直到得出理想結(jié)果。
(1)平面排磚范圍
平面排磚范圍可直接在Rhino中繪制,也可以將CAD圖紙導(dǎo)入Rhino。平面范圍是一條完整閉合的曲線(圖6),門與窗的位置可用單線表示(其中門為必要條件,窗為非必要條件)(圖7)。
(2)立面信息
確定房間的平面范圍后,輸入房高、門窗高度等信息,生成房間立面框架。
(3)砂漿尺寸
根據(jù)鋪貼方法的不同,砂漿厚度也不同,主要分為兩種情況:1)墻面不進(jìn)行找平,直接將水泥砂漿涂到瓷磚背部進(jìn)行上墻粘貼,這種方法水泥砂漿較厚,一般為20~30mm[2];2)先找平后貼磚,這種方法為薄貼法,背涂厚度一般為5~10mm?;铱p寬度一般為5mm,可在4~6mm之間變化。
(1)在Grasshopper中導(dǎo)入平面信息,借助Vipers插件拾取平面和門窗曲線,統(tǒng)一方向,向內(nèi)偏移的砂漿層厚度曲線即為排磚范圍(以下簡(jiǎn)稱Curve1)(圖8)。
(2)將Curve1重新參數(shù)化轉(zhuǎn)化為[0,1]的區(qū)間。通過遺傳算法的基因池?cái)?shù)據(jù),獲得[0,1]范圍內(nèi)的值,輸入Evaluate Curve電池組Parameter端,即可控制曲線的起始點(diǎn)(即平面起鋪點(diǎn))(圖9)。提取平面的UV值(即戶型的長(zhǎng)寬尺寸),用相關(guān)公式分別計(jì)算UV兩個(gè)方向的鋪磚數(shù)量n1、n2,結(jié)果取Ceiling函數(shù)(向上舍入)。
其中,L為墻的長(zhǎng)度、H為墻的高度、l為飾面磚長(zhǎng)度、h為飾面磚高度、w為灰縫寬度。
(3)以起鋪點(diǎn)為原點(diǎn),建立矩形面磚方陣,向X、Y軸分別生成n1、n2個(gè)矩形,矩形方陣以起鋪點(diǎn)為中心進(jìn)行旋轉(zhuǎn)復(fù)制,與Curve1相交(圖10),生成排磚結(jié)果(圖11)。
(4)Dispatch命令以飾面磚面積為分配原則,統(tǒng)計(jì)碎磚與整磚數(shù)量。
(5)Gene Pool連接遺傳算法電池Genome端,碎磚數(shù)量連接Fitness端,將電池組Fitness設(shè)為Minimize(即碎磚數(shù)量最少)。為使碎磚滿足Fitness大小值的設(shè)定,Genome端連接的Gene Pool數(shù)據(jù)不斷變化。算法運(yùn)算期間,排磚起始點(diǎn)在Curve1的[0,1]區(qū)間內(nèi)運(yùn)動(dòng),飾面磚的排布隨起鋪點(diǎn)的運(yùn)動(dòng)而變化,碎磚數(shù)量最少時(shí)為排磚設(shè)計(jì)的最優(yōu)解。
立面排磚步驟如下:1)平面排磚方案生成后,Line SDL運(yùn)算器生成立面墻面及門窗(圖12);2)Partition List命令控制立面豎向分割間距,即飾面磚寬度(圖13);3)Divide Distance命令按距等分生成橫向分割(圖14);4)用Dispatch命令將門、窗所在的墻面分離,與面磚進(jìn)行布爾運(yùn)算。此處Dispatch運(yùn)算器的調(diào)度標(biāo)準(zhǔn)(Dispatch Pattern)代表門窗的曲線是否與Curve1產(chǎn)生交點(diǎn),是為1,否為0,由此可以將門窗所在的墻面分離,進(jìn)行單獨(dú)運(yùn)算。布爾運(yùn)算后生成立面排磚方案(圖15);5)計(jì)算面磚的面積信息需將線框生成面,通過線框?qū)γ娣指畛擅娲u,使用Split Brep命令分割(圖16),運(yùn)算速度較快;6)Dispatch命令分別統(tǒng)計(jì)碎磚與整磚數(shù)量,并對(duì)面磚進(jìn)行編號(hào)。Unroll Brep命令將3D排磚方案展開為2D,可以后期導(dǎo)出(此處須有Lunch Box插件)。用Define Linear Dimension命令對(duì)面磚尺寸進(jìn)行標(biāo)注,最終通過Grasshopper中的Panel面板導(dǎo)出Excel表格,其中包含編號(hào)、碎磚與整磚數(shù)量的信息(圖17,18)。
整個(gè)算法編寫完成后用Cluster命令將電池組打包,將其命名為“自動(dòng)排磚”,便于Grasshopper的封裝插件使用。該電池組只需在左側(cè)輸入相應(yīng)數(shù)據(jù),右側(cè)即可輸出統(tǒng)計(jì)表格、三維方案、二維方案以及標(biāo)注信息。算法對(duì)電腦配置以及軟件熟練度都要求很低,方便使用與傳播。Grasshopper生成的統(tǒng)計(jì)表格可以存為多種文件格式,算法生成的排磚方案也可以由Rhino導(dǎo)出為dwg等格式(圖19)。
1 邏輯框架圖
2 常見排磚方式
3 自動(dòng)排磚技術(shù)路線
4 不同起鋪點(diǎn)排磚對(duì)比圖
5 有無灰縫排磚對(duì)比圖
6 地面鋪裝范圍7 門與窗的位置用單線表示
8 在Grasshopper 中得到排磚范圍9 控制曲線的起始點(diǎn)
本研究基于Rhino 和Grasshopper 平臺(tái),梳理出一個(gè)可視化編程軟件取代人工進(jìn)行排磚設(shè)計(jì)的新思路。然而計(jì)算機(jī)模擬的排磚結(jié)果是否可行,還需要實(shí)踐驗(yàn)證。
以北京市海淀區(qū)一棟正在裝修的別墅為實(shí)驗(yàn)對(duì)象,將廚房作為排磚目標(biāo)。將房間平面圖導(dǎo)入Rhino,依次拾取所需信息后開始運(yùn)算,并生成最終方案(圖20)與統(tǒng)計(jì)表格(表1)。對(duì)比計(jì)算機(jī)自動(dòng)生成的排磚圖與現(xiàn)場(chǎng)施工圖發(fā)現(xiàn),計(jì)算機(jī)繪制的排磚方案與現(xiàn)場(chǎng)施工方案差別較小。程序模擬的各墻面排磚方案與實(shí)際施工中使用的面磚數(shù)量相同,且碎磚尺寸差別不大。因此,該程序繪制的排磚圖可以指導(dǎo)后期施工。
表1 一層廚房算法模擬排磚方案與現(xiàn)場(chǎng)施工圖對(duì)比
然而本研究仍存在不足之處。例如,實(shí)際施工中的窗戶周圍也需要排布面磚,此處面磚尺寸與墻的厚度以及窗戶安裝位置有關(guān),而在算法中沒有考慮到窗戶周圍的鋪磚,因此會(huì)造成預(yù)先統(tǒng)計(jì)數(shù)量與實(shí)際整體使用面磚數(shù)量的偏差。實(shí)踐證明,此研究提高了設(shè)計(jì)師的工作效率與準(zhǔn)確性,可指導(dǎo)實(shí)際項(xiàng)目的現(xiàn)場(chǎng)施工,節(jié)約了人力資源,避免了資源浪費(fèi)。同時(shí),此算法易于操作,可實(shí)現(xiàn)度高。
本研究基于數(shù)字化技術(shù)生成了計(jì)算機(jī)模擬排磚成果,將繁瑣的人工計(jì)算轉(zhuǎn)化為簡(jiǎn)潔明了的計(jì)算機(jī)程序,用于指導(dǎo)設(shè)計(jì)與施工中塊材類飾面的排磚實(shí)踐。但限于資料與筆者的能力,不足之處在所難免,此研究仍有優(yōu)化的空間,具體內(nèi)容如下:1)算法中可以考慮特殊部位的面磚裁切,如馬桶、地漏位置的裁切。但由于地漏形式過多,面磚的切割方式需要根據(jù)水流角度以及地漏樣式進(jìn)行相應(yīng)的變化,所以現(xiàn)階段無法深入研究;2)鋪裝材料的變化,即面磚的設(shè)計(jì)可根據(jù)家具擺放等因素生成相應(yīng)的排磚方案,在學(xué)習(xí)結(jié)優(yōu)秀室內(nèi)設(shè)計(jì)方案的基礎(chǔ)上,總結(jié)其設(shè)計(jì)思維。例如,浴室中淋浴頭所在的墻面飾面磚類型有別于其他墻面,用于空間區(qū)別;個(gè)別墻面設(shè)帶有花色的瓷磚,豐富空間。而這些設(shè)計(jì)語(yǔ)言可以通過歸納總結(jié),提取并組織為計(jì)算機(jī)邏輯語(yǔ)言,補(bǔ)充到程序中;3)搭建Rhino和Grasshopper平臺(tái)面磚模型庫(kù),面磚花紋、尺寸、樣式等可以直接在數(shù)據(jù)庫(kù)中選擇,提高效率與美觀度;4)在模塊化設(shè)計(jì)以及裝配式設(shè)計(jì)中拓展算法的應(yīng)用。
本研究在對(duì)室內(nèi)塊材排磚方式進(jìn)行研究的基礎(chǔ)上,通過數(shù)字化技術(shù)節(jié)約排磚設(shè)計(jì)的時(shí)間與成本,提高排磚質(zhì)量。同時(shí),三維模擬排磚可以直接反映竣工后的真實(shí)狀況,并且準(zhǔn)確地統(tǒng)計(jì)用磚數(shù)量以及碎磚的編號(hào)與尺寸,為后期施工提供更為精確的指導(dǎo)。另外,Rhino平臺(tái)近年來在建筑學(xué)領(lǐng)域已得到廣泛的應(yīng)用,因此該自動(dòng)排磚插件的可行性高并值得推廣。
10 以起鋪點(diǎn)為中心旋轉(zhuǎn)復(fù)制11 生成排磚結(jié)果
12 生成立面墻面及門窗13 控制豎向飾面磚寬度14 生成等距橫向分割15 生成立面排磚方案
16 通過線框?qū)γ娣指钌擅娲u
17 將3D 排磚方案展開為2D
18 對(duì)面磚尺寸進(jìn)行標(biāo)注
19 輸出成果
20 生成廚房的排磚方案
圖表來源
1-20 作者自繪
表1 作者自繪