基于Dynamo可视化编程的攒尖亭参数化设计

2021-05-21 02:45王钟箐
关键词:亭子古建筑构件

王钟箐,胡 强,路 峻

(成都大学 建筑与土木工程学院,四川 成都 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软件,将权衡规则转化为计算机程序算法,实现不同建筑形式的单重檐亭子木构架,只需少量基本参数的设定便生成最终模型的参数化设计,为亭子建筑设计的通用性提供参考,极大减轻设计工作的繁重性和重复性.

1 参数化设计和Dynamo可视化编程平台

所谓建筑的参数化设计,是在建筑设计中将核心要素设置为基本变量,将其他相关要素看作是基本变量的函数,利用函数关系建立模型,通过改变基本变量从而获得不同的设计结果.实现参数化设计的最直接目的即是时间成本的节约,无需逐一设计或建模,通过改变相关参数的设置便能得到不同的设计结果.

参数化设计的关键,是寻求逻辑关系和算法规则.中国古建筑在木构架的组织上,有着严格的模数关系,现存的文法书籍通过大量的数字描述来对空间架构进行表达,处处体现着数学的函数关系,这吻合了参数化设计的关键要求.对建筑构件尺寸和空间架构关系的数字描写,不但能构架出古建筑的独特外形,更是为找寻其中的架构规律奠定了基础.因此中国古建筑使用参数化设计是可行且便利的.

本文利用Dynamo可视化编程平台来实现参数化设计.Dynamo是一个基于Revit软件的可视化编程平台,可以让使用者通过定义程序节点和流程,进行参数化的方案设计和自动化建模与模型管理等工作.

可视化编程,使用者不需逐行编写程序代码,而是利用图形化的界面创建程序内容.在Dynamo中提供了一系列的节点,每一个节点代表着一个计算机程序,使用者根据需要调用相应节点,再将节点之间使用导线按照逻辑关系进行连接,形成可视化程序,经过程序运行得到程序结果.Dynamo使用参数设计和数据驱动的过程来生成潜在的几何形状,不必手动为每个模型创建模型.

2 亭子的木构架法则与权衡规则

亭子的平面形式十分丰富多变,常见的包括多角亭(包括三角形、四角形、五角形、六角形、八角形)、圆亭和异形亭(如扇形、十字形等)等.最常见的基本构造形式为四角、六角、八角和圆形.本文的研究对象为四角亭、六角亭、八角亭.

2.1 亭子木构架通用法则

中国古建筑的屋顶形式主要有庑殿顶、歇山顶、悬山顶、硬山顶和攒尖顶等类别.亭子的屋顶形式主要是攒尖顶.攒尖顶的特点是屋顶没有正脊,各屋面相交的垂脊在顶部汇为一点,形成尖顶.为了满足攒尖屋顶的造型和功能需求,亭子的下部支撑木构架形成了异于其余屋顶建筑的构造特征.

攒尖亭一般有单檐亭和重檐亭的做法,重檐亭根据下部檐柱的圈数,又分为双围柱重檐亭和单围柱重檐亭.最基本的木构架通常以檐檩为界,由下部构架和上部构架两部分组成.

下部构架由檐柱、额枋、角云、檐垫板、檐檩等组成.上部构架包括长短趴梁(抹角梁)、交金墩、金檩、角梁、由戗和雷公柱等构件.

需要强调的构架特征是承上启下的关键构件——趴梁.由于攒尖屋顶逐步向中心收缩,为了支撑缩小的上部构架,本设计采用长短趴梁来承担.在攒尖建筑的进深方向,将长趴梁搁置在檐檩上;沿面阔方向在长趴梁上放置短趴梁,由此形成支撑金檩及其他上部构件的构造.

在攒尖亭的木构架中,各构件随着攒尖亭平面形状的改变而变化,需要找到不同形式亭子的构造“通用性”.才能顺利实现参数化设计.此处以单檐亭说明不同建筑形式亭构造的通用性.

(1)攒尖亭平面为正多边形,在确定亭子的角面数N与檐柱径D后,其面阔K、进深S以及各构件的定位点坐标均可转化为多边形角面数N与檐柱径D的函数.面阔进深表示如图1所示.

图1 亭子的面阔与进深

(2)无论攒尖亭的角面数N如何改变,其绝大多数构件数量,包括竖向构件(如檐柱)、横向构件(枋板檩等)、斜向构件(角梁由戗等)与角面数相同.

(3)长短趴梁较为特殊,数量不随角面数N的改变而改变,始终各为两根.其在四角、六角、八角亭木构架中的位置始终处于离多边形中心的距离为四分之一进深处.如图2所示.

图2 长短趴梁位置示意图

2.2 攒尖亭的权衡规则

清工部《工程做法》第二十二卷是四角攒尖方亭大木做法,二十三卷为六柱园亭大木做法,规定了檐柱、箍头檐枋等几十种构件的尺寸规定.梁思成先生编订的《营造算例》第三章“大木杂式做法”中可见四脊攒尖方亭、六角亭、八角亭、园亭的尺寸规定.

通过具体的数字语言描述,对比可知攒尖亭在尺寸权衡上的规律与变化.如四脊攒尖方亭“柱按见方十分之八,径按高十一分之一”;六角亭“柱高按每面尺寸十分之十五,径同方亭法”;八角亭“柱高按每面尺寸十分之十六,径同方亭法”.仅柱高的规定,不同形制的亭柱对应不同的高度比例系数.但同时,不同形制的亭子有着相同的基本元素,即面阔(每面尺寸)和檐柱径.分析其他构件尺寸,大都基于这两者进行数学计算,如六角亭“面对面面阔以每面尺寸用五七八归除即是”,“步架按面对面尺寸均分”,尺寸确定甚至进行了迭代计算.正是这种基于基本元素的数学关系,虽然《工程做法》等没有明确规定攒尖亭的权衡规则,却可以通过这样的数学关系进行推算,找出木构架的共同规律,具备必须的逻辑关系和算法规则,进行参数化设计.

以《工程做法》、《营造算例》为基础,结合现代古建筑研究的书籍,如《清式营造则例》[13]、《工程做法注释》[14]、《中国古建筑木作营造技术》[15]、《中国明清建筑木作营造诠释》[16]等文献资料,将其中关于攒尖亭木构架主要构件的尺寸规则进行了梳理和提炼,得到表1所示的权衡表.

从表1数据可知,攒尖亭木构架设计首先需确定亭子的面阔尺寸,即建筑的体量大小.由此推及柱高和檐柱径D,并以檐柱径D作为基本参数.其次,木构架构件通过檐柱径D建立了函数关系和计算规则,且面阔与柱高比例、各构件尺寸并非固定不变,而是随着亭子的体量大小、平面形状需要有所调整.

表1 攒尖亭木构架构件尺寸权衡表

3 攒尖亭木构架的参数化设计

本研究选取Dynamo编程平台,结合Revit软件实现参数化设计.设计思路是在Dynamo中,根据运算规则确定每个构件的定位点形成定位点模型,这些定位点实现参数化可控,包括运算范围的调整.同时在Revit中创建参数化自适应构件并导入Dynamo,由Dynamo点模型定位并控制,听从参数的驱动,生成最终模型.具体思路见图3所示.

图3 攒尖亭参数化设计思路

3.1 Revit创建参数化自适应构件

Revit的自适应构件,是通过创建自适应点,捕捉自适应点后生成的几何图形,将根据自适应点的变化而适应性变化.

攒尖亭木构架中的额枋、檐垫板、檐檩、金檩等大部分构件.其构件特征是外观呈线形,截面尺寸由檐柱径D的函数关系确定,具体的长度由实际情况确定.

在Revit中创建的自适应构件,其截面尺寸可实现基于檐柱径D进行参数化可控,具体长度则由导入Dynamo点模型后的定位点确定.自适应构件载入项目后,自适应点适配构件的定位点,因而无论构件的定位点位置如何变化,都可驱动自适应构件自动适应变化.图4所示为参数化自适应檐檩构件,1,2点为檐檩的自适应点,D为檐檩直径.

图4 自适应檐檩构件

3.2 Dynamo创建定位点模型

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 攒尖亭定位点模型

3.3 攒尖亭木构架模型生成

将Revit软件创建的参数化自适应构件导入到Dynamo定位点模型中,自适应点匹配各定位点.运行程序后,在Revit工作空间中生成相应的攒尖亭木构架模型.所有构件都由Dynamo程序控制,可创建四、六、八角以及单檐和重檐单围柱与双围柱的组合亭,且亭子的体量大小,构件尺寸皆可根据需要进行调整.最终木构架模型如图7所示(参数如表2所示).

表2 单檐攒尖亭木构架模型参数化设计参数

图7 攒尖亭参数化设计结果

4 结语

“以形求律,以律演算”,本研究遵循从“形”(建筑外形)中寻找 “律”(尺寸权衡),继而进行“算”(参数设计)的原则,从《清工部工程做法》、《营造算例》、《清式营造则例》、《工程做法诠释》、《中国古建筑木作营造技术》等文献书籍中,整理提炼了有关亭子的尺寸权衡规则,揭示出不同形状的亭子木构架构造的通用性,设置亭子平面边数N和檐柱径D作为基本参数,将亭子木构架设计所需各尺寸按照权衡规则,转化为基本参数的函数变量.在此基础上,利用Dynamo可视化编程平台和Revit软件,创建参数化的定位点模型和自适应构件,二者结合生成攒尖亭的木构架模型.此模型可快速生成四角、六角、八角亭和单檐、重檐的任意组合构架,且实现了体量比例、尺寸大小等参数的范围可控性,极大程度地提高了设计效率.

由于古建筑本身的多样性及繁复性,本参数化设计方法未将有斗栱的亭子包含在内.若依据此方法进行设计,可将斗口作为控制各构件的基本参数.

此设计思路也可以扩展到其他屋顶形式的大木作中,如庑殿顶、歇山顶等,关键在于找到其中的构造规律及权衡规则.

猜你喜欢
亭子古建筑构件
古建筑木结构保护技术在现代园林工程中的应用探讨
大树亭子
钢筋混凝土构件裂缝控制
传统文物古建筑的保护与恢复研究
现代建筑设计与古建筑设计的融合
超级头脑训练营(1)
把“亭子”随身携带
中国古建筑
去菜市口
基于构件的软件工程技术与理论方法探讨