异形曲面空间结构参数化设计
2023-08-03张杰茗
王 荃,张杰茗
(1.安徽省城市综合设计研究院有限公司,安徽 合肥 230001;2.中水淮河规划设计研究有限公司,安徽 合肥 230601)
随着建筑造型越来越多样化,复杂曲面造型的建筑也深受建筑师和大众的喜爱。由于建筑外表面变化多样,也给结构工程师带来了新的挑战。异形曲面空间结构的建模相当复杂,有些曲面结构甚至无法用传统建模思路完成建模工作。项目开始阶段,建筑外表皮会因为各种因素频繁调整。即便采用传统结构建模思路建出模型,当建筑外表皮改动,结构模型也需要重新建模。如果多次修改,重新建模的工作量巨大,甚至影响整个项目进度。
在建模过程中,为了避免这样重复的工作量,将工业设计中的参数化技术引入到建筑结构设计中。这项技术的优点是当建筑曲面发生变化,结构构件会根据新的建筑曲面自行调整。除此之外,结构参数化技术可以将一些结构几何尺寸进行参数化,甚至可以结合力学参数进行结构找形,通过这些参数实时调整结构模型,能够及时对建筑造型的合理性进行评判。
本研究介绍了不规则曲面网壳、网架和桁架的参数化建模,阐述了异形空间结构参数化建模思路,对不规则多重曲面的网架结构快速参数建模给出详细的过程。
1 结构设计参数化平台
目前结构设计参数化的软件平台有Grasshopper和Gama 等。Grasshopper 是犀牛软件中的一个插件,其特点是可视化的编程,并将各种程序封装在不同的运算器中,这些运算器大部分都有输入和输出两种端口。大部分结构设计人员不具备编写程序能力,在这个软件中,设计人员只要根据自己的需求选出运算器,再将这些运算器像搭积木一样连接起来,就可以构建一套建模程序。这一过程完全可视化,运算器之间用线条连接,设计人员可以很清晰地看到各模块之间的数据关系,尤其是在复杂的结构模型中,这种关系更容易被掌握[1]。Gama 是国内的YJK 软件开发的参数化平台,Gama 和Grasshopper相似,也具备可视化和模块化特点,但是更好地融合了YJK 软件结构计算功能。
2 结构参数化建模
在建筑方案前期阶段,建筑的造型还未定论,建筑师通常会列出多种建筑方案进行比选,结构工程师需要对各建筑方案的结构可行性进行评判,并针对方案不合理的地方提出结构建议,甚至让建筑方案结合力学形态调整。此时结构工程师需要给建筑师予以及时的反馈。因此此阶段结构计算需要更高的效率,不需要过高的计算精度,可在Grasshopper 内应用结构专业插件进行计算,快速得到计算结果,及时对方案的结构可行性验证。
2.1 单个曲面的空间结构建模
空间结构常用的结构形式有网架、网壳以及管桁架,为此在Grasshopper 参数化平台中分别编写了网架建模程序、网壳建模程序和管桁架建模程序。利用这些建模程序,首先可以根据建筑完成面生成结构控制面,且建筑外表皮与结构控制面的距离可调整;其次可以根据结构控制面自动生成网架、网壳和管桁架的线模,且结构网格平面尺寸以及竖向高度可以根据需求调整,图1 为任意单个曲面的三种结构形式的建模程序。
图1 不同结构形式的Grasshopper 程序图
2.2 多重曲面的空间结构建模
以上是基于单个曲面的一些结构建模方法,但是对于多个曲面组合的平面,此方法就不适用,为此专门针对组合曲面的网架结构编写了一套快速建模的程序。复杂的自由曲面网架一般从建筑模型入手,而往往由于造型和功能需求建筑模型并非由简单几何形式组成。除了常见的点Point、直线Line、曲线Curve、曲面Surface,有时还会遇到实体Brep(多重曲面)、网格Mesh、细分物件SubD、点云Points、网格线Lines 等各种几何形式,但网架最终需要的是由直线组合成的双层网格线。因此,建模前需要分清不同几何形式以及互相之间的转化关系,Grasshopper 中大多数形式之间有电池可直接转化或通过简单逻辑处理转化。本文主要通过将其他几何形式转化为网格Mesh 后再处理生成网架,建模思路与流程如下:
输入几何面(surface、Brep、Subd、lines…)→转化为Mesh →重建生成QuadMesh(网格边缘作为上弦杆输出)→Mesh 单块Faces 中心点投影至下弦面作为下弦节点→连接Faces 角点与下弦节点(输出腹杆)→连接相邻下弦节点(输出下弦杆)。
图2 为一个多重曲面按上述建模思路在Grasshopper 参数化平台中生成的网架结构线模。
图2 网架结构线模图
3 结构参数化计算与优化
3.1 定义构件属性
在异形空间结构设计中,定义构件属性也是至关重要的环节。结构线模完成之后,还需要对杆件定义材料属性、截面尺寸及荷载等信息。可以通过GH 中的GeomgymIFC 运算器给杆件定义这些信息,并将这些信息存储在参数化模型中[2]。该运算器还可以将模型转换为IFC 格式,可以将这些信息无损导入到专业的结构计算软件中,快速进入结构计算模块。在建筑方案前期阶段,建筑师会提出多个比选方案,结构工程师必须对多个结构方案进行对比计算,利用这项技术,无需多次重复定义杆件材料、截面和荷载等信息,使结构试算的工作效率得到明显的提升[3]。
3.2 参数化计算
在异形空间结构的设计过程中,参数化计算主要有以下三种方式:
(1)先利用参数化平台建立线模型,采用数据库方式将参数化模型导入通用结构计算软件中,再进行下一步计算;还可以通过结构计算软件提供的API 接口,获得更高的转换效率和准确性,减少在结构计算软件中调整参数的步骤。
(2)参数化平台中也内置了几款有限元计算插件,这些插件由第三方开发,可以直接在平台内部直接进行计算。这种方式的优点是数据不会因为转换而缺失,使计算效率得到明显的提高;缺点是这种有限元计算插件的计算精度较低,且后处理能力较弱。因为在建筑方案阶段更注重的是及时反馈,所以在这一阶段可以采用这种方式计算。Grasshopper 中常见的有限元计算插件如Millipede、Karamba 和ParaStaad,只有ParaStaad 支持国家规范的相关条文验算;Millipede 和Karamba 更像是通用分析软件,有Python 语言基础的设计人员可以编写运算器来实现按国标计算。
(3)如果在YJK 的Gama 参数化平台上建立模型,那么可以直接利用YJK 强大的结构计算功能。这种方式更符合国内的设计习惯,也降低了结构设计师的学习门槛,更容易推广。目前Gama 的功能一直在不断完善,相信会得到越来越多的结构工程师的青睐。
3.3 结构参数化优化
把有限元计算软件与优化算法进行结合,将模型的一些需要调整的参数设为一个变量参数,并设置好限制条件,优化程序根据每一次的计算结果,给模型变量参数反复赋值,通过多次迭代计算得到最优的计算结果,这个过程称为结构参数化优化[4]。
某体育馆屋盖为圆形,直径60m,结构布置方式采用环向桁架和径向桁架。为了使环向桁架处在径向最优的位置,需要利用Grasshopper 软件中的Galapagos模块。这个模块有两个输入端,分别是Fitness 端与Genome 端(以下简称F 端和G 端)。模块内有两种优化算法,分别遗传算法和退火算法[5],在F 端输入控制的条件,通过对输入的G 端值的反复迭代计算,最终得到控制极值条件下相对应的G 端参数[6]。
为了确保屋盖的平面外刚度,在F 端输入屋盖的竖向位移的最小极值,将G 端的参数设置为环向桁架的半径,采用遗传算法,计算出竖向位移最小情况下的环向桁架半径,优化求解过程如图3。
图3 优化求解过程图
通过优化计算后,以最小竖向位移为目标值对应的环向桁架半径由中心到外侧分别为3350mm、6650mm、9950mm、14950mm、19950mm、24950mm、30000mm。模型经优化计算后的竖向位移得到一个最优值,能充分利用钢材,降低成本。优化的过程完全由计算机完成,如果人工试算,可能需要数十倍时间,还未必能达到最优解。
目前JYK 的Gama 也在Grasshopper 中有数据接口插件,可以做到数据实时联动,结合两个软件的各自的优势,让参数化计算应用于更多的项目。Gama中可以按中国规范的指标进行遗传算法和退火算法,对结构方案进行优化,减少了大量重复的人工步骤。
4 结论
(1)参数化设计解决了异形空间结构建模困难的问题,减少了因方案修改导致大量的重复操作,让设计人员有更多时间思考结构概念设计,提升了异形空间结构的设计效率。
(2)建立通用的结构建模程序,能根据异形的建筑曲面快速生成网架、网壳和管桁架,将经常需要调整的结构参数进行参数化,这些参数可以根据实际的项目条件适当修改,就可以应用于一个全新的项目。
(3)参数化建模完成后,可以再采用Grasshopper 内部的有限元计算插件进行简单的力学分析,对前期的结构方案的合理性予以验证。同时可以采用遗传算法或退火算法对结构进行参数化优化。对于施工图阶段计算,可以采用SAP2000、Midas 以及YJK 等结构计算软件