Dynamo在曲面幕墙建模中的应用研究
2020-11-06吴开兴马文妙苗雪菲
吴开兴 马文妙 苗雪菲
摘 要:随着社会的不断发展和进步,人民对生活水平的追求、审美也随之提高。而独特新颖多变的幕墙越来越符合人们的建筑审美。传统方案不能简单快速地解决此类设计。文章叙述了曲面幕墙建模时面临的问题,结合具体项目案例,利用Dynamo完成了曲面幕墙的结构设计,并且对生成的曲面进行了幕墙网格划分等工作。结果表明,Dynamo可视化编程和参数化建模的逻辑思维大大提高了幕墙模型的生成和修改速度,同时填补了Dynamo在曲面建筑幕墙研究方面的空缺。
关键词:Dynamo;Revit;参数化建模;曲面幕墙
中图分类号:TU17;TU247 文献标识码:A 文章编号:2096-4706(2020)13-0127-04
Abstract:With the continuous development and progress of society,the peoples pursuit of a high standard of living and aesthetic appreciation have also increased. The unique,novel and changeable curtain wall is more and more in line with peoples architectural aesthetics. However,traditional solutions cannot solve such designs simply and quickly. In this paper,the problems faced in modeling of curved curtain walls are described. Combined with specific project cases,the structural design of curved curtain walls is completed using Dynamo,and the generated surface is meshed by curtain wall. The results show that the logical thinking of Dynamo visual programming and parametric modeling greatly improves the speed of the generation and modification of curtain wall models,and at the same time fills the gap of Dynamo in the study of curved building curtain walls.
Keywords:Dynamo;Revit;parametric modeling;curved curtain wall
0 引 言
近年來,随着国家经济发展和社会进步,造型独特的建筑日益增多,人们对建筑装饰效果的要求也越来越高,具有现代抽象感与外观新颖感的曲面幕墙的出现深受大家的欢迎与喜爱。而它的造型独特等优点却成为了施工者的难点,在曲面幕墙的建模方面可能会面临几个问题:
(1)传统的二维图纸难以体现曲面幕墙的具体真实效果。
(2)施工者往往缺乏曲面幕墙设计的知识经验,并不理解设计者的构想是什么,需耗费大量的时间与精力去和设计者沟通。
(3)如果想对幕墙的某个部分进行修改时,那么便要推翻之前所建好的部分重新开始,导致了人力、财力资源的浪费。
Revit软件是专门为建筑工程领域开发的建筑信息模型(Building Information Modeling,BIM)软件,其解决了上述问题。但Revit应用也有一定的局限性,主要体现在复杂线形、异形曲面等建筑建模方面上存在建模繁琐、效率低下等劣势,而身为Revit的插件,Dynamo可视化编程的出现,解决这一难题。目前,Dynamo在公路、桥梁等[1,2]方面的应用有了一定的研究,但Dynamo在针对于曲面幕墙工程中的应用尚处于初级阶段。本文主要针对我校一餐厅建筑物外墙进行了设计研究,解决设计中遇到的以上难题。
1 概述
1.1 Dynamo概述
Dynamo[3]作为Revit软件的参数化设计建模插件运行,为Revit的使用者开创了更多元的应用模式,可以实现Revit自身无法实现的功能,其功能丰富且强大。在实际工作中,人们可以遵循一定的流程,不断地根据上一步的结果和某些条件来进行下一步的操作。而Dynamo中的节点及其组织方式,就是总结了这些内在的逻辑规则来设计的。每个节点都有自己的基本功能,用户通过对不同的节点进行排布和组织,来完成特定的目标任务。若具有一定的逻辑知识,即使没有编程经验的人,根据对问题的分析及思考,也能想出一套通过目标节点的输入、处理、输出功能和算法的解决方案来处理相对应的问题。
Dynamo的出现是为了方便建筑师实现参数化编程,但是,当用到一定的深度后,会发现节点太多,整理起来非常不便,且有些功能无法通过节点实现。而Dynamo中的Python节点不光可以扩展Dynamo的功能,还可以使用几行简洁的代码替换许多节点。Python节点是可视化编程环境中的脚本接口,可以在库中的Core>Scripting下找到Python节点。作为一种灵活的编程脚本语言,Python不仅可以实现节点功能,还可以引入第三方函数,从而大大提高参数化设计的便利性。
1.2 参数化设计概述
21世纪是信息时代,信息技术的发展给建筑行业带来了革命性的发展:由手工绘图到CAD图纸,再到当前的BIM技术。建筑工程的各参与方都在追求高效、可行、便捷的方案来实现自己的目的,参数化的理念随之诞生并越来越深入人心,应用也越来越广阔。
何谓参数化?参数化[4,5]就是指对象与对象之间相互关联的内在逻辑关系,当其中一个对象的参数发生变化时,与之关联的对象亦会发生相应的变化,也就是说可以通过数值、公式或逻辑语言来改变对象属性,实现对象的可控变化来满足需求,比人工建模的模糊调整更准确、更符合逻辑。参数化建模可以在设计阶段通过参数调整实现多种方案的对比,也可以方便、快捷地实现后期方案更改阶段。参数化建模不仅能够打破传统设计方法的限制,并且可以大大提高模型的生成和修改速度,提高了工作效率。
2 Dynamo在曲面幕墙的应用
2.1 项目概况
该项目为本校一餐厅建筑物,该建筑地上三层,层高5.1 m,结构总高度15.8 m,建筑面积10 870.07 m2。由于建筑一层和二层的曲面幕墙的长度不同,所以对曲面幕墙分为两部分进行参数化建模。
2.2 项目分析
本文主要是根据其原始设计图纸利用Dynamo对曲面幕墙进行详细建模,建筑的其他部分在Revit中实现。其幕墙的整体由曲线组成,曲线的形状主要由四个不同半径的圆弧组合而成,如图1(a)所示。由于两层曲面幕墙的长度不同,所以所建立的每层曲线也不同,如图1(b)所示。
2.3 参数化建模
2.3.1 Revit建模过程
(1)分别在标高1、标高2楼层平面上利用“模型线”画出曲面幕墙底部的轮廓线,以及在标高3楼层平面画出二层曲面幕墙顶部的轮廓线。这些轮廓线方便后期被Dynamo拾取线使用。
(2)新建一个族,选择“自适应公制常规模型”样板,创建相应尺寸的自适应四边形嵌板,为空间曲面进行网格划分做准备。
2.3.2 Dynamo建模过程
2.3.2.1 一层曲面幕墙的建模
建模思路如下:
曲面幕墙建模的思路大致分为:拾取在Revit中建立的模型线图元,选择图元的指定参数的点,根据点生成线,线生成面的原理,最终生成曲面;创建UV点阵面,可通过控制UV参数的数值改变点阵面上点的密集程度,然后对点阵面上的点按组划分;自适应幕墙嵌板与划分的点一一附着。
在Dynamo中操作主要分为以下5个部分,分别对应图2的part1~5。
第1部分:这一部分仅包含两个节点。第一个节点:Select Model Element,用于选择模型结构中使用的元素类别;第二个节点:Element.Geometry,使用第一个节点的输出作为输入,通过这个节点获取与该对象关联的所有几何图形作为输出。如图2中的part1所示,该部分提供了对模型线元素的访问。
第2部分:由两组节点组成。首先是对参数进行定义;然后是使用前一组的参数作为Curve.PointAtParameter节点的输入,这样便能获取指定参数处模型线上的点,然后放在一个列表中,如图2的part2。
第3部分:與第2部分类似,这部分由两组节点组成。根据第2部分生成的点,使用NurbsCurve.ByPoints节点生成NurbsCurve。基于前面所创建的NurbsCurve,使用Surface.ByLoft放样生成平面。通过这个平面创建UV点阵面,利用Dynamo中的Number Slider滑块节点将UV参数的数值添加到可视化编程接口中,通过添加可控参数,用户可以根据实际情况对UV网格进行调整。
第4部分:该部分只用到了一个节点,便是Python Script。Dynamo中的Python Script节点,可以通过Python语言的输入,来实现对数据更高效、更精简的处理。即利用Python Script实现点阵曲面所有的点按4个一组进行划分,程序代码如下:
Import clr
clr. AddReference(‘ProtoGeometry)
from Autodesk.DesignScript.Geometry import *
#该节点的输入内容将存储为IN变量中的一个列表。
dataEnteringNode =IN
data=IN[0]#将输入的数据赋予到变量data中
result=list()#创建一个用以装载结果的空列表
for i in range(len(data)-1):#遍历每条线
current_ line=data[i]#当前的线
next_ line=data[i+1]#下一条线
for k in range(len(current_line)-1):#获取线上的每一个点
node=list()#嵌板点组
#将点按4个为一组划分
node. append(current_ line[k])
node. append(current_ line[k+1])
node. append(next_ line[k+1])
node. append(next_ line[k])
result. append(node)
#将输出内容指定给OUT变量。
OUT=result
第5部分:仅有一组节点。利用自适应构件的自适应能力,将在Revit中建立的自适应四边形幕墙嵌板作为familyType输入AdaptiveComponent.ByPoints节点中,使嵌板一一附着在一组4个的点阵上,曲面幕墙便生成了。
图3为一层曲面幕墙的最终模型。
2.3.2.2 二层曲面幕墙的建模
二层曲面幕墙与一层的相比,多出一个半径为19 700.0 mm一段圆弧所形成的曲面,具体的建模流程参考一层曲面幕墙的建模。
2.3.2.3 其他部分的建模
该建筑除幕墙建模以外的部分,比如墙、窗户、门、柱等构件类型在Revit软件中搭建,最终该建筑的整体模型效果图如图4所示。
3 建模分析
对该高校建筑物项目来说,整个建模过程基于Dynamo及Revit软件,通过在Dynamo中不同节点的排布在Revit中建立了曲面幕墙的模型,实现了模型的参数化创建。以下是对建筑的建模思路以及使用Dynamo+Revit优势的阐述。
(1)该工程是通过Dynamo+Revit相结合来实现的,二者相辅相成,其优势则显现了出来,主要体现在以下几点:1)在Dynamo拾取了Revit中建立的模型线,也可拾取Revit中的其他元素。并且可以浏览可输入格式的文件,具有强大的信息交互、传递及管理功能。2)在Dynamo利用自身节点可驱动在Revit中生成曲面幕墙模型,两者的数据相关联。3)通过Dynamo建立曲面幕墙模型,保存该模型的Dynamo逻辑算法的文件,并且可以多次通过文件修改模型,不需要重新建立模型。而且修改相关的参数,便能驱动Revit生成新的模型,大幅度提高了建模的效率。另一方面,可以逐渐积累各种逻辑算法模块,这便于在其他后续项目中继续使用。
(2)在Dynamo工作界面中调用了大量的Dynamo节点,节点连接看似繁琐,但梳理清需求,明确输出结果,就能够形成一个完整的思路和方法。本文曲面幕墙的建立就是根据Dynamo中“点线面体”的思想来实现的。其过程为:1)获取指定参数处模型线的点。2)使用点生成曲线的节点生成曲线。3)采用线生成面的節点放样生成曲面。4)将在Revit中建立的自适应嵌板族附着在曲面上便生成了曲面幕墙的三维模型。Dynamo中点线面体的节点划分如表1所示。
4 结 论
本文基于Dynamo的参数化和可视化程序结合的实施方法,对曲面幕墙的建立及应用展开了探索,解决了曲面幕墙造型新颖却建模困难等问题,具备多次修改无需重复建立模型的优势,有效地提高了建模的效率,为曲面建筑幕墙的设计提供了一种新的思路。相信在不远的将来,Dynamo独特的逻辑规则会应用到更广泛的工程领域中。
参考文献:
[1] 王茹,权超超.公路立交BIM参数化快速精确建模方法研究 [J].图学学报,2019,40(4):766-770.
[2] 杜一丛,王亮.基于BIM参数化在桥梁工程设计阶段应用初探 [J].建筑结构,2019,49(S2):972-978.
[3] 吴生海,刘陕南,刘永哓,等.基于Dynamo可视化编程建模的BIM技术应用与分析 [J].工业建筑,2018,48(2):35-38+15.
[4] 李海峰.基于Revit参数化设计在实际项目中的应用 [D].江西:南昌大学,2019.
[5] 杨勇.BIM技术在异形GRC幕墙工程中的应用 [D].济南:山东建筑大学,2018.
作者简介:吴开兴(1962—),男,汉族,陕西澄城人,教授,硕士,研究方向:智能信息处理;马文妙(1994—),女,汉族,河北保定人,硕士研究生,研究方向:三维信息处理;苗雪菲(1995—),女,汉族,河北武安人,硕士研究生,研究方向:信息系统。