《营造法式》中规定,将材划分为八等,以材广的十五分之一作为份值,所有构件的尺寸均可以用份值来衡量或者用相关联的构件去计算。每一个补间铺作的间广为125份,若采用单补间则心间广为250份,双补间则为375份,且每一铺作还可以增减25份(但450份的间广仅能适用于心间,且正面次梢间及进深方向的间广不得大于375份[3]17);而柱高不逾间之广,且自250份起每25份递增;而檐柱生起的计算要复杂得多,心间两柱不生起,自心间向两边逐步升高5份[3]19(注:《营造法式大木作研究》第19页,“过去曾认为实例生起大于《法式》者较多,那实在是由于将生起的尺寸当作固定不变的数字引起的误解。现在折成材份……”);心间的柱高值则用来计算柱脚的侧脚,心间两柱不侧脚,自心间向两边每柱偏移心间柱高值的千分之十(侧面檐柱则为千分之八,至角则两个方向均偏移)。
在GH里,可以将补间数编制为一个数据输入器,若为单补间则对外输出250,若为双补间则对外输出375。同时,将补间增减量编制为另一个数据输入器,可以对外选择性地输出25、0或-25这三种数据。以上两个输入器通过一个简单的计算器就可以实现对间广的控制:若为单补间,则间广为250+增减量*2;若为双补间,则间广为375+增减量*3。再将此数据与选择的份值相乘便可以得到开间的准确尺寸。同时,对檐柱进行编号,用公式筛选出需要侧脚及生起的柱头序号,对每个特定序号的柱头分别进行生起,并对其柱脚分别进行侧脚。即使开间进深的间数发生变化,公式也依然可以计算出需要侧脚及生起的柱头,并相应的赋予其侧脚的位移量和生起的高度值。
在铺作分槽层,身内槽铺作出跳总数里外俱匀且与外檐铺作里跳数相等,外檐出跳总数会影响里跳每一跳的长度,外跳长度则不变:出跳总数小于等于三,里外跳长30份;出跳总数大于三,里跳第一跳长28份,第二跳及以上长26份[3]73。故编制出跳生成器时,需对总跳数以及该跳所处的跳数进行判断,来决定该出跳的长究竟是30份、28份还是26份。同时在转角铺作,还需要“以斜长加之”,即不能简单地把栱臂加长到原来的根号二倍,而是将栱的跳臂加长到一定长度,使得跳臂加上一半的跳头、一半的跳心,其总长为原长的根号二倍。如此才可以保证角华栱的跳心与正面、侧面华栱跳心分别对齐。编制程序时仅需要列出一个代数方程,便能得出符合要求的华栱、昂,以及角华栱、角昂。
因本研究尚处基础阶段,对于屋架层仅涉及到基本的梁檩槫的架构,以及根据进深算出基本举高及举折做法,未涉及到攀间的情况,略表遗憾。
(“茶或咖啡”为其公众号之前的名字)
若按照传统解决方式手动地搭建这些构件,一则容易出错,二则一栋建筑对应一个模型,建筑规格稍有不同就必须对模型进行修改、重做。这与《营造法式》的编修理念是相违背的。因为它的出发点,正是通过设计模数化和构件标准化来减少工作量并且尽量减少人的主观因素造成的错误。如今施工技术和生产技术大为进步,可以用编制好的程序进行运算,从而生成模型,避免重复性的手动搭建。
为便于对数据进行分类,参数化模型内部的算法器分为了三类:数据输入器,计算器,生成器。每一个算法器都是由内部的算法电池组成的。在连接完成并调试后,进行封包处理,留出输入端口及输出端口,注明算法器的名称。
二、怎么才能让程序可读?
“屋架层做的最仓促,有些地方没搞明白,这就叫WIP吧(Work-in-Progress)。没有哪个程序是完美的,都是带着一堆bug上马,然后打补丁,出新版本。只有暴雪游戏一如既往的完美。”
#阅读别人的代码,总会有一种智商被压制的感觉。
#就好像下围棋,段数差的大了,高手可以一人虐好几个彩笔,彩笔们苦苦思考,读不懂这路数。
#好在,围棋可以复盘,代码可以写注释。
#写注释hin重要!
#自己回头看,有时也怀疑这段代码是不是亲生的。
屋架层
因屋架层各构件关联甚多,需要整体考虑,所以编制时不便拆分,合并编制。封包的生成器如下图所示。
檐栿。将前后檐柱的柱头相连就可以得到檐栿的定位线,稍加调整即可生成檐栿。需要注意的是前后两列檐柱的首末柱头不需要生成檐栿,其上要做阳马(即角梁)。左右两列檐柱出去首末柱头,其余与檐栿相搭接生成丁栿。檐栿之上还有其余各栿,只不过命名方式为X椽栿,X为其跨度以所跨椽数计算,如两椽栿(即平梁),四椽栿等。檐栿以上的各栿都需要根据举折的屋面曲线来判断其位置,因为它们要承担所有的槫子。
角梁。凡角梁之长,大角梁自下平槫至下架檐柱头,子角梁随飞檐头外至小连檐下,斜至柱心。如下图所示。
大角梁的上端定位点,为两向下平槫的轴线交点;下端定位点,为角柱头之上,外向45度方向出跳角由昂之上,两向素方轴线交点。
槫。殿堂式的槫,径21份或30份。槫的位置需要根据举折计算,同时槫的长度需要根据屋架形式决定。以下平槫长度为基准,四阿顶自下平槫逐槫加倍缩短,自150份起(依次缩短150份,300份,450份,以此类推);厦两头造则是下平槫以上的所有槫都固定缩短150份。然后进行出际,出际量根据进深数及椽数增多而增多。脊槫还要根据情况增长,这些都可以用公式求出 。如下图所示。
椽。殿堂式的椽,径10份。通过连接槫上等分的点来生成椽,并“令一间当心”,即正立面的中轴线上不能是椽,而必须是两列椽之间的空隙。如下图所示。
檐。椽至下架即加长出檐。(前面这句话的意思是:椽至下架的意思,就是加长出檐,把出檐的端头继续延长。)檐出要根据椽径计算而得。椽径6份,檐出70份;椽径10份,檐出90份。檐椽上还要加方形的飞椽,长度为檐出长度的0.6倍。如下图所示。
蜀柱。殿堂式的蜀柱,径22.5份(一材半),长随举势。底部安置在檐栿以及以上各栿的两端头之上,顶部连接槫。因此它的长度是不确定的,根据举折来计算得出,随进深数的变化而变化。如下图所示。
举折。举折分为两部分,先举后折。举屋之法:前后橑檐枋心距离的三分之一作为举高,是脊槫上皮距橑檐枋背的高度。折屋之法:脊槫上皮连线橑檐枋背的中线,其下一槫向下移动举高的十分之一,然后继续连线橑檐枋背的中线,然后再将其下一槫向下移动举高的十分之一的一半,然后再连线再向下移动以此类推。
参考文献:
[1]申杰.基于Grasshopper的绿色建筑技术分析方法应用研究[D].广州:华南理工大学.2012,28~29.
[2]徐卫国.参数化设计与算法生形[J].世界建筑,2011,06:110-111.
[3]陈明达.营造法式大木作研究[M].北京:文物出版社,1981.
[4]李诫著.营造法式[M].浙江人民美术出版社,2013.
[5]刘小虎,冰河,潘浩,戴陈军.《营造法原》参数化——基于算法语言的参数化自生成建筑模型[J].新建筑,2012,01:16-20.
[6]张十庆.古代建筑的尺度构成探析(一)——唐代建筑的尺度构成及其比较[J].古建园林技术,1991,02:30-33.
[7]张十庆.古代建筑的尺度构成探析(二)——辽代建筑的尺度构成及其比较[J].古建园林技术,1991,03:42-45.
[8]张十庆.古代建筑的尺度构成探析(三)——宋代建筑的尺度构成及其比较[J].古建园林技术,1991,04:11-13.
[9]张十庆.古代建筑生产的制度与技术——宋《营造法式》与日本《延喜木工寮式》的比较[J].华中建筑,1992,03:48-52+8.
[10]王其亨.宋《营造法式》石作制度辨析[J].古建园林技术,1993,02:16-23+14.
[11]乔迅翔.《营造法式》功限、料例的形式构成研究[J].自然科学史研究,2007,04:523-536.
[12]张十庆.保国寺大殿的材栔形式及其与《营造法式》的比较[J].中国建筑史论汇刊,2013,01:36-51.
[13]张十庆.《营造法式》材比例的形式与特点——传统数理背景下的古代建筑技术分析[J].建筑史,2013,00:9-14.
[14]乔迅翔.《营造法式》大木作功限研究[A].建筑历史与理论第十辑(首届中国建筑史学全国青年学者优秀学术论文评选获奖论文集)[C].:,2009:17.
[15]杜启明.宋《营造法式》大木作设计模数论[J].古建园林技术,1999,04:39-47.
[16]张十庆.《营造法式》八棱模式与应县木塔的尺度设计[J].建筑史,2009,02:1-9.
[17]王婉,谢步瀛.古建筑保护中参数化建模及仿真系统的研究.[J].华中科技大学学报(城市科学版),2008,3:121-123+135.
[18]谭洁,汪梦林,王建华.参数化设计在古建筑保护中的应用研究——以清代官式建筑为例.[J].四川建筑科学研究,2010,3:266-268.
[19]郝志桃,李昌华,王东.基于Generative Component的中国古建筑参数化设计.[J].计算机辅助工程,2010,4:102-104.
[20]王茹,孙卫新,张祥.明清古建筑构件参数化信息模型实现技术研究.[J].西安建筑科技大学学报(自然科学版),2013,4:479-486.
[21]刘小虎,冰河,潘浩,戴陈军.《营造法原》参数化——基于算法语言的参数化自生成建筑模型[J].新建筑,2012,1:16-20.
[22]麻鹏,赵卫东.中国古建筑的参数化设计研究[J].重庆科技学院学报(自然科学版),2009,6:94-97.
[23]沈源,常清华.迭代算法:中国古建屋顶曲线的生成机制[J].世界建筑,2013,9:110-115+138.
[24]王贵祥,刘畅,段智钧.中国古代木构建筑比例与尺度研究[M].北京:中国建筑工业出版社.2011.
[25]陈明达.《营造法式》辞解[M].天津:天津大学出版社.2010.
[26]袁烽,Panagiotis Michalatos,张立名,李修然,柴华.反转檐椽[J].城市环境设计,2014,(Z2):230-231.
[27]陈睿莹.从模数化到模块化设计[J].艺术与设计(理论),2012,(12):128-129.
[28]李天华.殿堂型古建筑木结构试验及力学性能研究[D].长安大学,2010.
[29]张十庆.古代建筑的设计技术及其比较──试论从《营造法式》至《工程做法》建筑设计技术的演变和发展[J].华中建筑,1999,(04):92-98.
[30]包瑞清.参数模型构建[EB/OL].http://www.mubentech.com/LessonsDownloadPreviewCompress/GrasshopperpreviewPD-B.pdf,2013.
[31]Santiago Calatrava Valls. Zur Faltbarkeit von Fachwerken [D]. Swiss FederalInstitute of Technology Zurich, 1981.
以上内容来自一只瘦笔(ID:penispen1988)
在此我想谈谈自己用过之后的的感想
首先和王曦前辈交流中,他也表明这个研究仍处于基础阶段
后期还需要做很多工作
因为生成的都是实体,运算时间需要几分钟是难免的
还有就是程序集成在一个大的运算器里
改一个参数,整个程序都要重新运行一次
原作者表示后面打算把这个程序分成几部分
每一部分独立运行
那样效率会高很多
确实如此
因为有时候我可能只想做一朵斗拱或者只想做柱网那一部分
一个大的程序适应性不高
如果拆分成几个独立的部分
想必适用性会高很多
另外
我向前辈反映了一个椽条的问题
插件做出来的椽条是这样的
而从《古建筑测绘》一书中的山东曲阜孔林享殿梁架仰视图可以看出
只有角落处的椽条才是成发散性的
正脊下来的椽条一般是垂直于屋檐的
也就是应该是这样
不过毕竟插件是在基础阶段
几分钟的时间可以给搭一个大概的框架也十分不错了
而且像很多细节已经做得很好
比如斗拱的起跳、是否加昂
比如柱子的收分、生起
再比如屋架的举折关系等等
相信后面会优化得更好更完善
放一张bake出去的侧面图:
如有兴趣进一步了解者,可查阅原作者在知网的文章:
《营造法式》参数化——殿堂式大木作的算法生形:
http://kns.cnki.net/kcms/detail/detail.aspx?filename=HZJZ201612010&dbcode=CJFD&dbname=CJFD2016&v=&uid=WEEvREcwSlJHSldRa1Fhb09jMjVzQmJoN3F3UWcrL3RNZEVibXBCSmdEMD0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4IQMovwHtwkF4VYPoHbKxJw!!
一类殿堂式大木作的算法生形研究:
http://kns.cnki.net/kcms/detail/detail.aspx?filename=1017166449.nh&dbcode=CMFD&dbname=CMFD2017&v=
感谢建筑小蝈蝈授权分享
欢迎关注他们的微信公众号
微信号:ArchiGG
666666
太高深了
中医说西医那一套没意思
好厉害
这也太帅了
是犀牛吗
电池可以发给我嘛
用的什么工具。