南方古建筑翼角的做法:参数建模与实物建造过程 |
您所在的位置:网站首页 › 建筑卡通画的做法 › 南方古建筑翼角的做法:参数建模与实物建造过程 |
立脚飞椽 立脚飞椽望板 弯楣檐 弯摘檐板 4. 参数驱动的模型调整 5. 实物建造过程(照片) 6. 总结 ===================== 1. 概述 这个项目的主要工作内容是建立中国南方(主要是江浙地区)古建筑的翼角结构的参数化三维模型,通过调整给定的参数可以使模型尺寸发生变化,迅速得到合理的结构关系。 由于江浙地区古建筑样式丰富,差异较大,主要依据如下两部专著中所述的做法开展: 姚乘祖,张志刚. 营造法原. 中国建筑工业出版社,1986 过汉泉. 古建筑木工. 中国建筑工业出版社,2004 所用的翼角结构部件名称也沿用上述两部著作中的记述。部分结构细节来自于实地调研结果,与上述两部书中所述有少许出入。 三维建模使用的软件是SolidWorks,所建模型可以在SolidWorks 2007版及高级版本上打开编辑或修改参数。 调整参数的用户界面基于VisualBasic for Application(简称VBA)开发。其实绝大部分工作不需要编程,做这个界面只是为了方便参数集中调整。 由于参数系列暂存在Excel文档中,模型的使用需要调用Excel软件的相关功能,计算机系统中应安装有Excel 2003或高级版本。 2. 江浙地区古建筑翼角的设计参数 ■ 参数系列 参数系列包括两类: 1.直接参数:可以直接给定的参数,如界深; 2.间接参数:通过其他参数经由某种比例或加减等计算关系得到的参数,如飞椽平出长度。 翼角模型中,直接参数定义了23个,间接参数定义了65个,共计88个参数。这些参数并非全部需要由用户来指定,很多文献中没有记载的次要参数是自动计算出来大致合理的值。有些间接参数甚至没有确定的名称,只有数字模型中自动生成的代号。 直接参数主要有如下一些: 表1 直接参数表 参数名 1 界深 2 檐柱高 3 r提栈 4 廊桁直径 5 老戗露头长 6 老戗头宽 7 老戗底弧高 8 老戗头高 9 老戗背高 10 嫩戗底弧高 11 摔网椽高 12 弯里口木缩进 13 望板厚 14 立脚飞椽露头 15 嫩戗背弧高 16 弯摘檐板高 17 弯里口木厚 18 弯楣檐高 19 摔网椽半径 20 摔网椽端距 21 摔网椽露头 22 立脚飞椽厚 23 立脚飞椽宽 Solidworks里的参数定义界面如下图所示: ■ 主要参数的定义 1.平面参数 平面上的主要参数如下图所示: 平面主要有四个主要参数:界深、提栈、摔网椽平出和飞椽平出。其中界深和提栈(屋面角度的正切值,图中未表示出来)是直接参数,另外两个是间接参数。 摔网椽平出的计算公式如下: 摔网椽平出= 界深/(2*sqr(1+提栈2)) 飞椽平出的计算公式如下: 飞椽平出= 摔网椽平出/2 两个间接参数的值根据公式计算得到,公式由用户定义,也可以根据具体需要修改公式,得到所需的尺寸比例关系。 参数方程式的编辑界面如下图所示: 2.侧立面参数 侧立面参数如下图所示: 侧立面包含一个直接参数和一个间接参数,直接参数为檐柱高,间接参数为步柱升高(与檐柱的高度差)。 步柱升高的计算公式如下: 步柱升高= 提栈* 界深 3.斜立面参数 斜立面参数主要用于确定老戗头的露出长度(实长),因为在斜立面上标注比较方便。廊桁直径也在斜立面标出。两个参数都是直接参数。 4.老戗截面参数 老戗大端截面参数如下图所示: 老戗大端截面由5个参数确定,其中4个为直接参数,一个(侧面内收角度)被定义为固定参数。固定参数也可以修改,作用和直接参数一样,只是不出现在参数列表中。 3. 参数化三维模型 ■ 柱与桁 柱与桁在翼角结构设计中的作用提供一个基本的位置参照,因此按照主要参数建立了廊柱、步柱和廊桁的模型,包括下面的柱础和地面的一部分,以提示翼角结构在整屋中的位置。其余结构均未建出,以免模型过于复杂影响效率。 因老戗要落在两根廊桁的交叉处,所以廊桁的尺寸对老戗的安放位置是有影响的,因此为廊桁直径设置了一个直接参数。 ■ 老戗 老戗靠近步柱一端内收,尺寸变小。建模时使用三个截面生成老戗的实体,其中给出尺寸标注的截面为老戗与两根廊桁接触部位的截面,另外两个截面使用等距方式获得。 老戗截面定义如下图所示: 图中可以看出,老戗的位置是搭在两根廊桁交叉处的,因此该处的截面底弧与两根廊桁上皮相切,如下图所示。 ■ 嫩戗 嫩戗在老戗端头定位,其长度依据平面图确定,上挑角度与老戗相同,底弧与背弧高度由两个直接参数给出。嫩戗的细部结构(如下部的猢狲面)做法多样,这类以装饰性为主的结构在模型中皆简单表示,或省略。嫩戗端部在最后要被弯摘檐板切除,形成尖角。 ■ 摔网椽 摔网椽建模的关键是椽首分位线(椽首的连线)的确定,具体方法是先确定分位线的两端点,然后在正立面和平面图上分别绘出分位线的投影形态,最后合成三维空间中的分位线。水平面上的分位线投影是在平面图上定义好的,可以直接引用,即:平面图上的分位线投影如果发生变化,会导致水平3D分位线形态发生变化。 相邻的摔网椽首在分位线上呈等距分布,其中靠近老戗的第一根摔网椽首与老戗的距离要比其他邻距要小。由于分位线的一端在老戗的垂直中截面上,且老戗有一定厚度,因此即使分位线完全等分也会使第一根摔网椽与老戗靠得过近。为解决这个问题,在分位线靠近老戗的一侧增加了一段长度,设置一个间接参数用于调整第一根摔网椽与老戗之间的距离。这个参数默认值为老戗宽度的三分之一。 摔网椽尾端分位线定在老戗侧面的一条直线上,其长度设置为间接参数,默认值为老戗长度的五分之一,可以调整。如下图所示。 依次连接每根摔网椽的首尾端,可以得到摔网椽的方向线,这是摔网椽建模的关键。 戗山木安放在廊桁上方。 依据摔网椽方向线依次放样产生各摔网椽结构,如下图所示。 摔网椽截面如下图所示。 截面定义了两个直接参数:摔网椽半径和摔网椽高。 摔网椽顶视图和正立面视图如下图所示,椽尾侧切面垂直于地面。 ▼摔网椽顶视图(各椽分开) ▼摔网椽正立面视图(各椽分开) 摔网椽仰视图(各椽分开)如下图所示。 ■ 摔网椽望板 摔网椽望板铺设在摔网椽顶面,与椽背的削平面贴紧,如下图所示。 摔网椽望板的厚度和椽端从望板下的露头长度设置了两个直接参数。 ■ 高里口木 高里口木用于定位立脚飞椽,缺口的位置和形态是建模的关键,其底部紧贴摔网椽望板外端,上部在安放立脚飞椽后削平铺望板。 高里口木垂直立于摔网椽望板上,缺口切出前的形态如下图所示。 切出缺口后的形态如下图所示。 安放立脚飞椽后的高里口木。 上部削平后的高里口木如下图所示。 ■ 立脚飞椽 立脚飞椽是翼角部位最有特色的结构,也是最复杂的。 立脚飞椽的底部落在摔网椽望板上,两侧面与地面垂直,由高里口木的缺口定位,端部连接曲线与弯楣檐和弯摘檐板汇合。因此建模时先做出端部曲线,然后配合高里口木做出每一根椽的模型。 端部曲线的做法如下图所示: 上图中,蓝色曲线为立脚飞椽端部连接曲线,它是由两条平面投影曲线合成的(图中的绿色曲线)。 立脚飞椽是一种扭曲的形态,如下图所示: 数字建模时,用首尾两个截面形态放样得到立脚飞椽的三维结构。两个截面形态一个在摔网椽望板上,另一个在与端部曲线相切且垂直与地面的平面上,如下图绿色的两个线框所示。两个截面都是平行四边形。 通过两截面放样得到立脚飞椽模型。 所有立脚飞椽在垂直和水平两个方向上的厚度均相同,如下图所示。 两个方向的厚度尺寸(立脚飞椽宽、立脚飞椽厚)分别在两个截面形态中以直接参数的形式给出。 ■ 立脚飞椽望板、弯楣檐、弯摘檐板 立脚飞椽望板(透明显示)紧贴立脚飞椽上皮铺设。弯楣檐依据立脚飞椽端部曲线放样得到,弯摘檐板(透明显示)依据立脚飞椽端部曲线垂直拉伸得到。 4. 参数驱动的模型调整功能实现 “参数驱动”的含义是,通过修改模型尺寸参数直接使模型发生变化。修改参数的基本方式有两种,一是在参数(直接或间接参数)的方程式定义列表中修改,该列表包含所有标注过的参数,如下图所示: 由于翼角模型参数比较多,定义的名称也比较随意,如果从方程式列表中无法确认某个参数具体指代什么,则可以到参数定义的草图或特征中修改,其界面如下图所示(修改“界深”参数): 为了方便脱离SolidWorks软件修改参数(建筑设计工作者不一定熟悉该软件的用法),可以把参数导出到Excel表格中,修改完成后再重新导入Solidworks。 首先使用“系列零件设计表”把所需的参数记录下来: 自动生成的Excel参数表如下: 该参数表中可以添加新行,并填写上修改后的尺寸。每一个新行相当于一个新的模型,以“新配置”的形式与原始模型保持在同一个模型文档中。这个功能本来是用于批量化记录保存形状相同但尺寸不一的机械零件(如各种长度和直径的螺钉螺母),对结构相同但尺寸不一的建筑结构也同样适用。 为了方便观察参数和生成新配置,制作了一个用户界面,如下图所示: 打开软件后,界面出现。点击“参数提取”按钮,所定义的参数及其当前值会列在下方列表栏中。修改后可以自动生成新的配置。 不过这种批量修改参数的方式还需要手工调整模型来配合。因为翼角模型结构复杂,参数众多,参数调整时模型重建不稳定,需要手工调整才能得到合理的结构。这是平台软件Solidworks自身的不足。 5. 实物建造过程(照片) 项目过程中,刚好我办公室楼下的人工湖边在盖一个六角亭,我用手机全程拍照记录了下来。 ▼我错过了搭架子的过程,老戗、嫩戗、摔网椽都搭好了,高里口木也竖起来了,右侧亭顶的摔网椽望板也铺好一半了。 ▼这一侧的亭顶的摔网椽只在中间放了一根,是用来撑高里口木的。高里口木是最关键的部件,计算复杂,做工精度要求高,应该是由专门的工艺师傅做好拿过来的。 ▼摔网椽望板快铺好了,拿锯子的那个人正在把摔网椽端头多余的部分锯掉,摔网椽的端部要露出一部分来,但并不是与高里口木平齐的。 ▼这个似乎是戗山木,不太能确定。如果是戗山木的话,应该是一端高一端低,不过看第二个图,中间那根摔网椽是架在一个坡形木头上,所以戗山木做成等高的也合理。 ▼弯楣檐先做好,它的形态很重要,是给立脚飞椽定位用的。立脚飞椽中间的一根已经做好了,弯楣檐一端钉在它背上,另一端钉在嫩戗背上。 ▼立脚飞椽搭好后的样子 ▼远侧的立脚飞椽已搭好,近侧还没搭。 ▼这算藻井吧 ▼事先做好的立脚飞椽。古建所的专家看了我这幅照片非常不满,说:柱础怎么能立在石头的接缝上?而且还是三块石头的接缝上!火眼金睛。 ▼左边的伙计在搭飞椽,中间的伙计把飞椽端部锯平(跟弯楣檐平齐,因为外貌要挂弯摘檐板),右边的伙计在铺立脚飞椽望板。 ▼左边这伙计正在用斧头把高里口木的高出立脚飞椽的部分砍掉,否则上面的望板铺不平(右边的伙计正在铺望板)。 ▼这一扇砍光了,又去砍另一扇。中间右侧那一扇的高里口木还没砍,比较一下。 ▼屋顶快齐活了,立脚飞椽端部都锯好了,亭顶也立起来了,望板也开始铺了。下雨了,歇会儿。 ▼事先做好的弯摘檐板。 ▼弯摘檐板钉在立脚飞椽端部。 ▼钉立脚飞椽望板。望板钉好后,木工部分告一段落,后面该泥瓦工登场了。 6. 总结 这是一个巨大的项目中的一个小模块,属应邀之作。 以前做过一些古建筑的数字化研究,也编写过不少古建筑建模程序(用的是Rhino,不是Solidworks),但是接这个项目时已经退出江湖好几年了,古建筑里那些复杂的结构已经淡忘了不少。所以项目的实施过程差不多是个重新学习的过程。 有几点感想: 1)两部参考书起了重要作用,但是它们读起来很吃力。《营造法原》成书于清代晚期,作者是香山帮掌门,《古建筑木工》基本是工匠角度的经验叙述。两部书都不是我们熟悉的现代教材式著作,读懂它们需要耐心,把它们变成数字模型需要更多的耐心,把它们变成软件则需要耐心的平方。 2)因为写过类似的程序,所以这个项目找上了我,但实际上编程工作只有10%不到,也仅仅是个界面而已,大头还是手工建模和参数定义、方程式定义。 3)让甲方最高兴的是,他们不用费心跟我解释那一堆晦涩的古建筑术语,因为我都了解。如果他们找了一个编程高手(很容易找到)但不懂古建筑,那可是真的要头大了。我觉得他们一点也不喜欢给外行上课。 4)即使不需要多少编程,这个建模工作也不轻松,因为不仅要把古建筑构件的设计规则100%吃透,还要把它们变成数字模型中的参数和数学公式。如果只是建一个模型还好办,问题是要让用户随意调整参数获得他们想要的(并且是符合规则的)翼角形态。其中的参数设计工作要好好动脑子。读那两部文献可以发现,里面有些规则并不是完全确定性的,还需要补充一些“潜规则”。这些潜规则可能是由建筑木匠们在实际制作中自行掌握的,但我没干过建筑木匠,所以我必须琢磨猜测这些潜规则可能是什么。建模中的很多间接参数都是这么来的。 5)不失一般性,中国古代的很多艺术和工艺技术可能都有着类似的明确而规范(甚至可以说僵硬)的套路,但绝大多数并没有留下诸如《营造法式》、《营造法原》、《工程做法则例》之类官方编纂的典籍。这些套路都是以“潜规则”的方式口耳相传下来,后人只能从他们的作品中归纳摸索,然后让这些潜规则重见天日,辅助后世设计师。 6)看着六角亭的几个工人熟练的施工动作,再对比文献中的记叙,几乎分毫不差。不禁感慨:典籍对文化传承的作用真是太关键了! 7)那些没有留下典籍的文化瑰宝,我们有能力把它们的“典籍”(曾经的潜规则)重构出来吗?某种程度上,非遗传承人就是一部沉默的典籍,但他们所拥有的知识资产的传播方式还是太原始了,效率和保真度都不乐观。非遗可以是原生态的,但传承和教育手段则需要改良并跟上时代。非遗是个结构复杂的客体,并非所有部分都排斥现代技术。 感谢关注创意之代码。返回搜狐,查看更多 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |