
Dynamo在曲面幕墙建模中的应用研究.docx
13页Dynamo在曲面幕墙建模中的应用研究 吴开兴 马文妙 苗雪菲摘 要:随着社会的不断发展和进步,人民对生活水平的追求、审美也随之提高而独特新颖多变的幕墙越来越符合人们的建筑审美传统方案不能简单快速地解决此类设计文章叙述了曲面幕墙建模时面临的问题,结合具体项目案例,利用Dynamo完成了曲面幕墙的结构设计,并且对生成的曲面进行了幕墙网格划分等工作结果表明,Dynamo可视化编程和参数化建模的逻辑思维大大提高了幕墙模型的生成和修改速度,同时填补了Dynamo在曲面建筑幕墙研究方面的空缺关键词:Dynamo;Revit;参数化建模;曲面幕墙:TU17;TU247 :A :2096-4706(2020)13-0127-04Abstract: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 wall0 引 言近年來,随着国家经济发展和社会进步,造型独特的建筑日益增多,人们对建筑装饰效果的要求也越来越高,具有现代抽象感与外观新颖感的曲面幕墙的出现深受大家的欢迎与喜爱。
而它的造型独特等优点却成为了施工者的难点,在曲面幕墙的建模方面可能会面临几个问题:(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 ScriptDynamo中的Python Script节点,可以通过Python语言的输入,来实现对数据更高效、更精简的处理即利用Python Script实现点阵曲面所有的点按4个一组进行划分,程序代码如下:Import clrclr. AddReference(‘ProtoGeometry)from Autodesk.DesignScript.Geometry import *#该节点的输入内容将存储为IN变量中的一个列表dataEnteringNode =INdata=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相结合来实现的,二者相辅相成,其优势。












