基于Grasshopper的自动排砖方法研究

2021-03-09 02:17左杰白琦琦张勃
建筑技艺 2021年12期
关键词:饰面插件墙面

左杰 白琦琦 张勃

随着智能程序算法在各行业的广泛应用,计算机程序可以通过算法生成结果,提高设计师工作的准确性与效率。块材饰面是影响建筑整体美观的重要因素,在建筑工程中,基层结构铺贴块状装饰面层的做法多用于建筑的外墙面、室内地面以及天花顶篷等部位[1]。本文探讨基于Rhino平台的Grasshopper插件在块材排砖设计生成中的应用,旨在开发一款自动排砖插件,以期提升设计师的工作效率和工程的精准度,呈现直观的排砖方案。

目前主流的排砖方案是设计师使用CAD人工绘制排砖图,不仅耗费时间与精力,也会出现考虑不周的情况。本研究的目标及意义为:1)利用算法精细计算块材数量,直接输出块材编号,并将碎砖及整砖分开统计,旨在快速准确地计算材料用量,减少材料损耗,提升工程精准度;2)减少设计师繁重的重复性工作,建立自动排砖参数模型,方便快捷地生成优化方案,有效提升设计人员的工作效率;3)以三维排砖模型展现工程实体,借助Grasshopper编写算法模型后,可以在Rhino平台看到最终成果,并通过修改参数直接改变结果。研究最终在实际项目中应用,从而验证该插件的可行性。

1 自动排砖设计生成原理

本研究基于Rhino和Grasshopper平台,开发一款用于自动排布块状板材的插件。设计人员只需提供项目平面,插件在归纳传统排砖经验及影响因素的基础上,将其转译为计算机语言,自动生成排砖方案(图1)。

1.1 自动排砖设计的影响因素

常见排砖方式主要有以下几种:对缝拼贴、错缝拼贴、人字拼贴、六角砖拼贴(图2)。通过局部面砖变化,突出空间的重点部位也是常见的设计方式。例如,卫生间淋浴头空间的墙面饰面砖类型有别于其他墙面,划分区域的同时还能起到丰富空间的作用。

在实际施工过程中,影响最终排砖效果的因素有很多,主要有以下三点。

(1)整齐美观:内墙排砖时非整块的面砖应尽量使用在房间阴角处以及不明显的部位,地砖与墙砖砖缝最好对齐[2]。

(2)节约成本:地面砖起铺点一般为门中点或室内一角,比较各起铺点的排砖结果,以减少碎砖数量为基本原则。

(3)减少误差:在实际的铺砖过程中需考虑底层砂浆以及两砖之间灰缝的厚度,而CAD绘图是在墙面的原始尺寸上进行排砖,没有考虑砂浆及灰缝的厚度,因此会与最终的施工结果产生偏差。利用参数化工具可以更加精准地统计材料用量,严格控制最终的施工结果。

1.2 逻辑转译

在总结自动排砖影响因素的基础上,将其转译为算法语言,借助Rhino和Grasshopper平台自动生成排砖技术路线(图3)。

(1)为保证铺砖效果的美观性,地面起铺点应尽量设置在门所在的墙面。如图4所示,起铺点A相对于起铺点B,整砖多铺设在视线能观察到的位置,排砖效果整齐美观。

(2)研究以碎砖少为原则,算法生成的起铺点位置不断变化,同时计算排砖方案的材料数量,算法在碎砖数达到最小值时,停止运算产生结果。

(3)将灰缝及砂浆尺寸编写到算法中,减少设计初期材料统计与最终使用数量的误差,同时调节碎砖尺寸。如图5所示,两个方案的面砖规格均为300mm×300mm,在a图中,没有计算灰缝尺寸,并产生了300mm×45mm的碎砖;在b图中,在300mm×300mm的面砖尺寸上增加灰缝尺寸,最终利用6mm的灰缝消解了碎砖。因此,将砂浆及灰缝厚度提前编写在程序中,在此基础上进行铺砖,可以调整碎砖尺寸大小,使墙面规整。

(4)Grasshopper中Galapagos运算器的主要功能是通过遗传算法设置运算器Fitness端口的极值,遍历Genome端的输入值,查找极值状态下Genome端对应的参数。在此次研究中,笔者基于Galapagos的算法逻辑,以Seam电池组为基础,将Gene Pool控制Seam的起铺点不断移动。如果顶点(即起铺点)移动产生的结果能满足Fitness大小值的设定,则该结果将会逐代演化出更优的近似解,算法模型循环往复,遍历Gene Pool中的数值,直到得出理想结果。

1.3 信息提取

(1)平面排砖范围

平面排砖范围可直接在Rhino中绘制,也可以将CAD图纸导入Rhino。平面范围是一条完整闭合的曲线(图6),门与窗的位置可用单线表示(其中门为必要条件,窗为非必要条件)(图7)。

(2)立面信息

确定房间的平面范围后,输入房高、门窗高度等信息,生成房间立面框架。

(3)砂浆尺寸

根据铺贴方法的不同,砂浆厚度也不同,主要分为两种情况:1)墙面不进行找平,直接将水泥砂浆涂到瓷砖背部进行上墙粘贴,这种方法水泥砂浆较厚,一般为20~30mm[2];2)先找平后贴砖,这种方法为薄贴法,背涂厚度一般为5~10mm。灰缝宽度一般为5mm,可在4~6mm之间变化。

2 程序编写

2.1 平面排砖生成

(1)在Grasshopper中导入平面信息,借助Vipers插件拾取平面和门窗曲线,统一方向,向内偏移的砂浆层厚度曲线即为排砖范围(以下简称Curve1)(图8)。

(2)将Curve1重新参数化转化为[0,1]的区间。通过遗传算法的基因池数据,获得[0,1]范围内的值,输入Evaluate Curve电池组Parameter端,即可控制曲线的起始点(即平面起铺点)(图9)。提取平面的UV值(即户型的长宽尺寸),用相关公式分别计算UV两个方向的铺砖数量n1、n2,结果取Ceiling函数(向上舍入)。

其中,L为墙的长度、H为墙的高度、l为饰面砖长度、h为饰面砖高度、w为灰缝宽度。

(3)以起铺点为原点,建立矩形面砖方阵,向X、Y轴分别生成n1、n2个矩形,矩形方阵以起铺点为中心进行旋转复制,与Curve1相交(图10),生成排砖结果(图11)。

(4)Dispatch命令以饰面砖面积为分配原则,统计碎砖与整砖数量。

(5)Gene Pool连接遗传算法电池Genome端,碎砖数量连接Fitness端,将电池组Fitness设为Minimize(即碎砖数量最少)。为使碎砖满足Fitness大小值的设定,Genome端连接的Gene Pool数据不断变化。算法运算期间,排砖起始点在Curve1的[0,1]区间内运动,饰面砖的排布随起铺点的运动而变化,碎砖数量最少时为排砖设计的最优解。

2.2 立面排砖生成

立面排砖步骤如下:1)平面排砖方案生成后,Line SDL运算器生成立面墙面及门窗(图12);2)Partition List命令控制立面竖向分割间距,即饰面砖宽度(图13);3)Divide Distance命令按距等分生成横向分割(图14);4)用Dispatch命令将门、窗所在的墙面分离,与面砖进行布尔运算。此处Dispatch运算器的调度标准(Dispatch Pattern)代表门窗的曲线是否与Curve1产生交点,是为1,否为0,由此可以将门窗所在的墙面分离,进行单独运算。布尔运算后生成立面排砖方案(图15);5)计算面砖的面积信息需将线框生成面,通过线框将墙面分割成面砖,使用Split Brep命令分割(图16),运算速度较快;6)Dispatch命令分别统计碎砖与整砖数量,并对面砖进行编号。Unroll Brep命令将3D排砖方案展开为2D,可以后期导出(此处须有Lunch Box插件)。用Define Linear Dimension命令对面砖尺寸进行标注,最终通过Grasshopper中的Panel面板导出Excel表格,其中包含编号、碎砖与整砖数量的信息(图17,18)。

2.3 成果输出

整个算法编写完成后用Cluster命令将电池组打包,将其命名为“自动排砖”,便于Grasshopper的封装插件使用。该电池组只需在左侧输入相应数据,右侧即可输出统计表格、三维方案、二维方案以及标注信息。算法对电脑配置以及软件熟练度都要求很低,方便使用与传播。Grasshopper生成的统计表格可以存为多种文件格式,算法生成的排砖方案也可以由Rhino导出为dwg等格式(图19)。

1 逻辑框架图

2 常见排砖方式

3 自动排砖技术路线

4 不同起铺点排砖对比图

5 有无灰缝排砖对比图

6 地面铺装范围7 门与窗的位置用单线表示

8 在Grasshopper 中得到排砖范围9 控制曲线的起始点

3 应用实例与展望

3.1 案例应用与结论

本研究基于Rhino 和Grasshopper 平台,梳理出一个可视化编程软件取代人工进行排砖设计的新思路。然而计算机模拟的排砖结果是否可行,还需要实践验证。

以北京市海淀区一栋正在装修的别墅为实验对象,将厨房作为排砖目标。将房间平面图导入Rhino,依次拾取所需信息后开始运算,并生成最终方案(图20)与统计表格(表1)。对比计算机自动生成的排砖图与现场施工图发现,计算机绘制的排砖方案与现场施工方案差别较小。程序模拟的各墙面排砖方案与实际施工中使用的面砖数量相同,且碎砖尺寸差别不大。因此,该程序绘制的排砖图可以指导后期施工。

表1 一层厨房算法模拟排砖方案与现场施工图对比

然而本研究仍存在不足之处。例如,实际施工中的窗户周围也需要排布面砖,此处面砖尺寸与墙的厚度以及窗户安装位置有关,而在算法中没有考虑到窗户周围的铺砖,因此会造成预先统计数量与实际整体使用面砖数量的偏差。实践证明,此研究提高了设计师的工作效率与准确性,可指导实际项目的现场施工,节约了人力资源,避免了资源浪费。同时,此算法易于操作,可实现度高。

3.2 后续展望

本研究基于数字化技术生成了计算机模拟排砖成果,将繁琐的人工计算转化为简洁明了的计算机程序,用于指导设计与施工中块材类饰面的排砖实践。但限于资料与笔者的能力,不足之处在所难免,此研究仍有优化的空间,具体内容如下:1)算法中可以考虑特殊部位的面砖裁切,如马桶、地漏位置的裁切。但由于地漏形式过多,面砖的切割方式需要根据水流角度以及地漏样式进行相应的变化,所以现阶段无法深入研究;2)铺装材料的变化,即面砖的设计可根据家具摆放等因素生成相应的排砖方案,在学习结优秀室内设计方案的基础上,总结其设计思维。例如,浴室中淋浴头所在的墙面饰面砖类型有别于其他墙面,用于空间区别;个别墙面设带有花色的瓷砖,丰富空间。而这些设计语言可以通过归纳总结,提取并组织为计算机逻辑语言,补充到程序中;3)搭建Rhino和Grasshopper平台面砖模型库,面砖花纹、尺寸、样式等可以直接在数据库中选择,提高效率与美观度;4)在模块化设计以及装配式设计中拓展算法的应用。

4 结语

本研究在对室内块材排砖方式进行研究的基础上,通过数字化技术节约排砖设计的时间与成本,提高排砖质量。同时,三维模拟排砖可以直接反映竣工后的真实状况,并且准确地统计用砖数量以及碎砖的编号与尺寸,为后期施工提供更为精确的指导。另外,Rhino平台近年来在建筑学领域已得到广泛的应用,因此该自动排砖插件的可行性高并值得推广。

10 以起铺点为中心旋转复制11 生成排砖结果

12 生成立面墙面及门窗13 控制竖向饰面砖宽度14 生成等距横向分割15 生成立面排砖方案

16 通过线框将墙面分割生成面砖

17 将3D 排砖方案展开为2D

18 对面砖尺寸进行标注

19 输出成果

20 生成厨房的排砖方案

图表来源

1-20 作者自绘

表1 作者自绘

猜你喜欢
饰面插件墙面
二苯碳酰二肼法检测人造板饰面材料用胶粘剂中六价铬的研究
用好插件浏览器标签页管理更轻松
冷暖——老旧小区改造,改变的不止是墙面
金属饰面樱桃灯具
一种陶瓷质环保生态透水砖
请个浏览器插件全能管家
开关的美丽衣裳
基于jQUerY的自定义插件开发
浅谈外墙饰面砖粘贴质量控制
促进物理思维训练的好题