王鐘箐,胡 強,路 峻
(成都大學 建筑與土木工程學院,四川 成都 610106)
亭子是中國傳統建筑的一個重要類別,其用于園林建設中,始于南北朝及隋唐時期,于唐宋期間得到了廣泛的應用,直至明清,更是得到了長足的發展.在今天仿古園林中,亭子于山水間與自然環境相融合,是園林設計必不可少的有機組成部分.
亭子雖然體量不大,但由于外觀造型極其豐富多變,在設計和繪制時,不同建筑形式的亭子之間缺乏互通性,需要單獨設計和繪制,導致工作量較大,效率低下.為了提高工作效率,避免重復勞動,使用參數化設計是很好的解決方法.目前已有不少對古建筑進行參數化設計的研究成果.石紅超等[1]基于《營造法原》對江浙地區抬梁式構架進行了參數化模型的系統設計;陳曉衛[2]以《營造法式》為基礎,利用參數化平臺Grasshopper對殿堂式大木作建立了參數化模型;劉小虎[3]基于Processing平臺對《營造法原》進行了參數化模擬;陳慶軍[4]基于Revit軟件,選取應縣木塔,以“族”為基礎進行古建筑參數化建模技術分析;王茹[5-6]探討了基于BIM的古建筑構件參數化模型的構建方法;Jia Jing[7]基于BIM和GIS技術,以晉汾地區古建筑為例,創建了古建筑參數化建筑信息模型;Jungdae Park[8]利用Revit軟件,提出了并行式的韓國傳統住宅Han-ok參數化設計方法;Kim Jeonghyun[9]、DongSeob Yi等[10]針對韓國傳統房屋的屋頂進行了參數化設計.
縱觀已有古建筑參數化設計的研究成果,主要包括兩個方面.一是依托各種軟件平臺,進行古建筑整體構架的參數化設計;二是針對古建筑木構架的組成構件進行分析與參數化設計.在我國,有關古建筑構造的理論著作,包括宋《營造法式》、清工部《工程做法》,《營造法原》等,對中國古建筑的木構體系進行了技術規定和描述,但園林建筑的通則和權衡,包括亭子,歷來的法式、則例中都沒有明確規定[11].清工部《工程做法》中僅二十二卷、二十三卷對四角攢尖方亭和六柱圓亭列舉了構件尺寸,并無其余類型亭的做法規定.已有的參數化設計成果也很少涉及亭子的內容,僅羅翔[12]使用Revit族模型探討了攢尖亭的參數化建模,但只涉及了單檐攢尖亭,且并未對亭子的權衡規律有所表達.
本文整理提煉了相關文集資料中有關亭子建筑的尺寸權衡規則,尋找不同建筑形式的亭子之間在木構架構造上的“通用法則”,利用可視化編程平臺Dynamo和Revit軟件,將權衡規則轉化為計算機程序算法,實現不同建筑形式的單重檐亭子木構架,只需少量基本參數的設定便生成最終模型的參數化設計,為亭子建筑設計的通用性提供參考,極大減輕設計工作的繁重性和重復性.
所謂建筑的參數化設計,是在建筑設計中將核心要素設置為基本變量,將其他相關要素看作是基本變量的函數,利用函數關系建立模型,通過改變基本變量從而獲得不同的設計結果.實現參數化設計的最直接目的即是時間成本的節約,無需逐一設計或建模,通過改變相關參數的設置便能得到不同的設計結果.
參數化設計的關鍵,是尋求邏輯關系和算法規則.中國古建筑在木構架的組織上,有著嚴格的模數關系,現存的文法書籍通過大量的數字描述來對空間架構進行表達,處處體現著數學的函數關系,這吻合了參數化設計的關鍵要求.對建筑構件尺寸和空間架構關系的數字描寫,不但能構架出古建筑的獨特外形,更是為找尋其中的架構規律奠定了基礎.因此中國古建筑使用參數化設計是可行且便利的.
本文利用Dynamo可視化編程平臺來實現參數化設計.Dynamo是一個基于Revit軟件的可視化編程平臺,可以讓使用者通過定義程序節點和流程,進行參數化的方案設計和自動化建模與模型管理等工作.
可視化編程,使用者不需逐行編寫程序代碼,而是利用圖形化的界面創建程序內容.在Dynamo中提供了一系列的節點,每一個節點代表著一個計算機程序,使用者根據需要調用相應節點,再將節點之間使用導線按照邏輯關系進行連接,形成可視化程序,經過程序運行得到程序結果.Dynamo使用參數設計和數據驅動的過程來生成潛在的幾何形狀,不必手動為每個模型創建模型.
亭子的平面形式十分豐富多變,常見的包括多角亭(包括三角形、四角形、五角形、六角形、八角形)、圓亭和異形亭(如扇形、十字形等)等.最常見的基本構造形式為四角、六角、八角和圓形.本文的研究對象為四角亭、六角亭、八角亭.
中國古建筑的屋頂形式主要有廡殿頂、歇山頂、懸山頂、硬山頂和攢尖頂等類別.亭子的屋頂形式主要是攢尖頂.攢尖頂的特點是屋頂沒有正脊,各屋面相交的垂脊在頂部匯為一點,形成尖頂.為了滿足攢尖屋頂的造型和功能需求,亭子的下部支撐木構架形成了異于其余屋頂建筑的構造特征.
攢尖亭一般有單檐亭和重檐亭的做法,重檐亭根據下部檐柱的圈數,又分為雙圍柱重檐亭和單圍柱重檐亭.最基本的木構架通常以檐檁為界,由下部構架和上部構架兩部分組成.
下部構架由檐柱、額枋、角云、檐墊板、檐檁等組成.上部構架包括長短趴梁(抹角梁)、交金墩、金檁、角梁、由戧和雷公柱等構件.
需要強調的構架特征是承上啟下的關鍵構件——趴梁.由于攢尖屋頂逐步向中心收縮,為了支撐縮小的上部構架,本設計采用長短趴梁來承擔.在攢尖建筑的進深方向,將長趴梁擱置在檐檁上;沿面闊方向在長趴梁上放置短趴梁,由此形成支撐金檁及其他上部構件的構造.
在攢尖亭的木構架中,各構件隨著攢尖亭平面形狀的改變而變化,需要找到不同形式亭子的構造“通用性”.才能順利實現參數化設計.此處以單檐亭說明不同建筑形式亭構造的通用性.
(1)攢尖亭平面為正多邊形,在確定亭子的角面數N與檐柱徑D后,其面闊K、進深S以及各構件的定位點坐標均可轉化為多邊形角面數N與檐柱徑D的函數.面闊進深表示如圖1所示.

圖1 亭子的面闊與進深
(2)無論攢尖亭的角面數N如何改變,其絕大多數構件數量,包括豎向構件(如檐柱)、橫向構件(枋板檁等)、斜向構件(角梁由戧等)與角面數相同.
(3)長短趴梁較為特殊,數量不隨角面數N的改變而改變,始終各為兩根.其在四角、六角、八角亭木構架中的位置始終處于離多邊形中心的距離為四分之一進深處.如圖2所示.

圖2 長短趴梁位置示意圖
清工部《工程做法》第二十二卷是四角攢尖方亭大木做法,二十三卷為六柱園亭大木做法,規定了檐柱、箍頭檐枋等幾十種構件的尺寸規定.梁思成先生編訂的《營造算例》第三章“大木雜式做法”中可見四脊攢尖方亭、六角亭、八角亭、園亭的尺寸規定.
通過具體的數字語言描述,對比可知攢尖亭在尺寸權衡上的規律與變化.如四脊攢尖方亭“柱按見方十分之八,徑按高十一分之一”;六角亭“柱高按每面尺寸十分之十五,徑同方亭法”;八角亭“柱高按每面尺寸十分之十六,徑同方亭法”.僅柱高的規定,不同形制的亭柱對應不同的高度比例系數.但同時,不同形制的亭子有著相同的基本元素,即面闊(每面尺寸)和檐柱徑.分析其他構件尺寸,大都基于這兩者進行數學計算,如六角亭“面對面面闊以每面尺寸用五七八歸除即是”,“步架按面對面尺寸均分”,尺寸確定甚至進行了迭代計算.正是這種基于基本元素的數學關系,雖然《工程做法》等沒有明確規定攢尖亭的權衡規則,卻可以通過這樣的數學關系進行推算,找出木構架的共同規律,具備必須的邏輯關系和算法規則,進行參數化設計.
以《工程做法》、《營造算例》為基礎,結合現代古建筑研究的書籍,如《清式營造則例》[13]、《工程做法注釋》[14]、《中國古建筑木作營造技術》[15]、《中國明清建筑木作營造詮釋》[16]等文獻資料,將其中關于攢尖亭木構架主要構件的尺寸規則進行了梳理和提煉,得到表1所示的權衡表.
從表1數據可知,攢尖亭木構架設計首先需確定亭子的面闊尺寸,即建筑的體量大小.由此推及柱高和檐柱徑D,并以檐柱徑D作為基本參數.其次,木構架構件通過檐柱徑D建立了函數關系和計算規則,且面闊與柱高比例、各構件尺寸并非固定不變,而是隨著亭子的體量大小、平面形狀需要有所調整.

表1 攢尖亭木構架構件尺寸權衡表
本研究選取Dynamo編程平臺,結合Revit軟件實現參數化設計.設計思路是在Dynamo中,根據運算規則確定每個構件的定位點形成定位點模型,這些定位點實現參數化可控,包括運算范圍的調整.同時在Revit中創建參數化自適應構件并導入Dynamo,由Dynamo點模型定位并控制,聽從參數的驅動,生成最終模型.具體思路見圖3所示.

圖3 攢尖亭參數化設計思路
Revit的自適應構件,是通過創建自適應點,捕捉自適應點后生成的幾何圖形,將根據自適應點的變化而適應性變化.
攢尖亭木構架中的額枋、檐墊板、檐檁、金檁等大部分構件.其構件特征是外觀呈線形,截面尺寸由檐柱徑D的函數關系確定,具體的長度由實際情況確定.
在Revit中創建的自適應構件,其截面尺寸可實現基于檐柱徑D進行參數化可控,具體長度則由導入Dynamo點模型后的定位點確定.自適應構件載入項目后,自適應點適配構件的定位點,因而無論構件的定位點位置如何變化,都可驅動自適應構件自動適應變化.圖4所示為參數化自適應檐檁構件,1,2點為檐檁的自適應點,D為檐檁直徑.

圖4 自適應檐檁構件
Dynamo承擔算法定位的功能,通過Dynamo的程序節點與邏輯連線,將攢尖亭木構架構件的尺寸權衡翻譯成算法規則和函數關系,進行計算并生成模型.
在定位點模型創建過程中,涉及到的尺寸參數包括四類:
基本參數:面闊K,檐柱徑D,亭子角面數N;
整體參數:檐柱高H,步架L,出檐Y;
比例系數:檐柱高與面闊的比例系數A1,檐柱高與檐柱徑的比例系數A2
定位參數:各構件尺寸di,水平偏移距離li, 垂直偏移距離hi,構件旋轉角度αi…….
為了最終由基本參數控制整體架構,在模型參數設計中,需將涉及到的其他參數都轉化為基本參數的函數變量.基本參數與其他參數之間的函數關系如式(1)所示:
f(K,D,N)=g(H,L,Y,A1,A2,di,li,hi,αi)i=1,2,3……
(1)
式中:K=亭面闊,D=檐柱徑,N=亭角面數,L=亭步架,H=檐柱高,Y=亭木構架出檐,A1=檐柱高與面闊的比例系數H/K,A2=檐柱高與檐柱徑的比例系數H/D,di=構件i尺寸,li=構件i相對水平偏移距離,hi=構件i相對垂直偏移距離,αi=構件i相對旋轉角度.
首先需要確定基本參數檐柱徑D和亭子邊數N,同時實現尺寸范圍的可調整性,如四角亭的A1系數選擇0.8-1.1,六角亭為1.5-2,八角亭則為1.8-2.5.繼而利用Dynamo的節點程序和邏輯連線運行尺寸規則和定位算法,生成攢尖亭的定位點模型.
具體的設計流程如圖5所示.

圖5 攢尖亭定位點模型設計流程圖
此定位點模型只需確定要生成的攢尖亭角面數,手動輸入檐柱徑D數值,且選擇恰當的比例系數值,然后運行程序,相應的模型便生成.如圖6(a)所示單檐六角攢尖亭定位點模型參數為角面數N為6,檐柱徑D等于200 mm,A1比例系數為1.5,A2比例系數為13.圖5(b)所示重檐四角雙圍柱攢尖亭定位點模型參數為角面數N=4,檐柱徑D=250 mm,A1比例系數選擇為0.8,A2比例系數為12.

圖6 攢尖亭定位點模型
將Revit軟件創建的參數化自適應構件導入到Dynamo定位點模型中,自適應點匹配各定位點.運行程序后,在Revit工作空間中生成相應的攢尖亭木構架模型.所有構件都由Dynamo程序控制,可創建四、六、八角以及單檐和重檐單圍柱與雙圍柱的組合亭,且亭子的體量大小,構件尺寸皆可根據需要進行調整.最終木構架模型如圖7所示(參數如表2所示).

表2 單檐攢尖亭木構架模型參數化設計參數

圖7 攢尖亭參數化設計結果
“以形求律,以律演算”,本研究遵循從“形”(建筑外形)中尋找 “律”(尺寸權衡),繼而進行“算”(參數設計)的原則,從《清工部工程做法》、《營造算例》、《清式營造則例》、《工程做法詮釋》、《中國古建筑木作營造技術》等文獻書籍中,整理提煉了有關亭子的尺寸權衡規則,揭示出不同形狀的亭子木構架構造的通用性,設置亭子平面邊數N和檐柱徑D作為基本參數,將亭子木構架設計所需各尺寸按照權衡規則,轉化為基本參數的函數變量.在此基礎上,利用Dynamo可視化編程平臺和Revit軟件,創建參數化的定位點模型和自適應構件,二者結合生成攢尖亭的木構架模型.此模型可快速生成四角、六角、八角亭和單檐、重檐的任意組合構架,且實現了體量比例、尺寸大小等參數的范圍可控性,極大程度地提高了設計效率.
由于古建筑本身的多樣性及繁復性,本參數化設計方法未將有斗栱的亭子包含在內.若依據此方法進行設計,可將斗口作為控制各構件的基本參數.
此設計思路也可以擴展到其他屋頂形式的大木作中,如廡殿頂、歇山頂等,關鍵在于找到其中的構造規律及權衡規則.