(中国建筑第二工程局有限公司,北京 100000)
【摘要】本文提出了工程中基于Autodesk Revit平台复杂构建模型建立的实用流程,借助于Dynamo可视化编程平台编制的信息化脚本,用以解决Revit软件在工程建模中的一些短板问题,从而提高工程建模效率和模型精确度。
【关键词】 BIM;Dynamo;参数化设计
0 前言
建筑信息模型技术(BIM技术)在我国经历了由概念导入到理论研究和初步应用,再至快速发展及深度应用的递进式发展。近年来,国家政策层面也明确提出支持并发展BIM技术。在各具特色的BIM软件平台中,Autodesk Revit平台有着数据兼容、构建参数化、模型信息化的特点,其也成为目前一款主流的BIM软件平台。但是Revit软件自身在异形复杂构建的建模中存在有不足之处,异形构建的精确建模几乎都离不开Revit API二次开发的协助。而Dynamo是一款开源的三维可视化编程软件,目前已经完全整合入Revit软件,可以有效地充分利用Revit API的强大功能。Dynamo能够帮助我们方便而直观地编写信息化脚本文件,操控软件程序的各种行为,得以实现快速建模、参数化设计或批量处理模型信息等操作。
1 Dynamo信息化脚本概述
1.1 可视化编程
Dynamo是一个可视化编程程序,且完全开源,能作为独立的“沙箱”模式操作,但更广泛的是作为插件整合在其他建模软件中运行。有编程经验的工程师可以利用其自行编制节点包,脚本支持各类主流编程语言,尤其贴近目前比较热门的Python语言;不善于编程的工程师,也无需畏惧编程的语言障碍,只要初步了解编程逻辑的基本知识,就可以通过Dynamo可视化编程的功能轻松编写所需的信息化脚本、创建脚本节点包或研究算法解决工程实际问题。作为Revit的好助手,Dynamo可以辅助进行数据信息分析处理和复杂异形构建的设计建模,弥补Revit管理数据信息与处理复杂模型方面的不足之处,两者的完美结合,得以在Revit平台中将BIM技术更为灵活地应用。
1.2 参数化设计
三维设计中的参数化建模方法主要是基于结构生成历程的方法,是将传统工程设计转化为通过编写为函数或数据整合,进而调整条件参数再经计算得到工程成果的设计过程,实现设计过程的自动化。参数化设计的基础是设计依据的数据,在保证数据的真实、及时和完整性的前提下,可以实现数据信息的解构和重构以及因数据的连接而带来的业务协同。参数化设计可以大幅提高模型的生成和修改的速度,在工程项目的相似设计方面具有较大的应用价值。Dynamo程序中有明确的输入输出节点,这些节点相互关联,控制着所编制脚本的逻辑关系和处理结果,基于其可视化的特点,使参数在逻辑关系之下的表现简单明了。
1.3 基于Dynamo信息化脚本设计的优势
依托于Revit软件平台,Dynamo程序的信息化脚本设计能力突出,主要体现在以下几个方面:
1)通过Dynamo程序信息化脚本的协助,建模过程中不仅能实现相关构件的快速自动生成,还能帮助从平面图纸到三维模型的信息提取与快速创建。
2)首次完成参数化族库和信息化脚本文件的创建后,再面临同样类型或类似的项目时,可以用快速完成建模作业,短时间内可能就完成高精度模型的建模工作。
3)利用Dynamo信息化脚本创建的模型能够将数据更有效的传递,让我们更加直观、更容易接受数据,继而作全面的分析的同时能精确的找到解决复杂节点的途径。
4)Dynamo信息化脚本的应用还能够帮助统计工程信息,并以表格或二维图的传统形式输出,也可用于平台间的协同作业。
2.基于Dynamo脚本创建复杂模型实例
核电工程作为大型工业项目,其复杂性不言而喻,项目土建工程中有大量异形构件需要精确建模。本文结合太平岭核电项目,介绍项目中预应力钢束建模的实例,以编程的思维逻辑,参数化地提升异形构建的建立效率,展示Dynamo信息化脚本设计在异形构件上的运用。该项目反应堆厂房的预应力钢束,分为水平钢束和垂直钢束,其结构都较为复杂,传统施工图中是以平面图结合立面展开图的形式来表达设计意图的,而Revit的建模界面只有平、立和剖面视图,对于弧形或不规则图形的展开图无法直接创建信息化模型。
2.1 信息化脚本编程思维
虽然利用Dynamo可视化编程不需要掌握编程语言,但是为了达到高效精准的目标,还是要具备清晰的基本编程思维:
2.1.1 数据的关联与处理
预应力钢束分为水平和垂直两种方向,其施工图均包括平面图和立面展开图,其中水平预应力钢束还附有“预应力钢束标高值”。结合这些施工图设计资料,不难发现空间构成复杂的预应力钢束,其数据均蕴含在钢束标高文件内,表格中除了按照角度均分的节点数据外,管束上所有的拐点数据都很详实。
图1:预应力钢束局部立面展开图 图2:预应力钢束标高汇总表
数据关系理清之后,首要做的就是将数据提取出来,工程中是将数据汇入Excel中做初步筛选处理。之所以选用Excel,不单是因为它强大的表格数据处理能力,更重要的是其与Dynamo之间有成熟的“ImportExportExcel to Dynamo”节点包搭建桥梁,数据的关联非常便捷。
2.1.2 信息化脚本设计步骤
经过以上准备工作,Dynamo已经接收了庞大的数据,然而Excel对数据的初步处理是简单而低效的。首先,为了追求建模的准确度和高效率要求,尚需要在Dynamo中对这些节点数据作进一步的分组和定位,为后续工作做充分的准备。
接下来,通过曲线编程的节点,可以将这些同组归类的“点”生成不封闭的“曲线”,这些“曲线”也就是预应力钢束的迹线。
最后,将钢束的截面尺寸等参数化信息加入脚本文件,就可以创建出实体模型。不同号段钢束的创建方法是完全一样的,只需要代入不同的数据组,就能完成所有钢束的建模工作。
在串“点”成“线”、再由“线”和 “面”创“体”的逻辑下,即可完成预应力钢束信息化脚本的编辑工作。在这个参数化模型创建过程中,除应用参数变量输入节点之外,还涉及了坐标变换节点、函数转换节点和图形处理节点。
图3:Dynamo脚本节点组
通过上述操作,利用“Dynamo播放器”运行脚本文件,即可在Revit软件中便捷的生成预应力钢束的模型,全程参数化录入,仅需人工处理部分数据,近似于一键创建模型。这种利用脚本参数化建模的优势是:1)在发现数据错误需要修改时,避免了重复建模的繁琐过程,便捷性在复杂构建修改上体现得尤为显著;2)在类似工程项目的建模时,可以直接调用或略微修改信息化脚本,将新的数据录入后,即可得到新的模型,将信息重构的灵活性发挥到极致。
2.1.3 参数化设计的优化
任何设计都不是完美的,上述利用Dynamo信息化脚本的建模应用亦是如此,所幸的是,基于引入的参数化设计理念,在需要优化设计时,可以后台编辑修改脚本文件,完善即有功能或加入更多规则,递归新的算法。这样的优化可以在不改变既定原则的基础上,根据工程需求,以树状结构充实算法,使原有Dynamo信息化脚本的功能不断增强,从而达到反馈需求的目的。
以预应力钢束建模为例,水平钢束的建模脚本并不适用与垂直钢束的建模,不能直接引用,然而二者之间有很多共通之处,核心算法都是“点→线”“线+面→体”。在确定原则之后,修改即有Dynamo脚本,将水平钢束的约束条件调整为适合垂直钢束的算法,新的Dynamo脚本即可应用于垂直预应力钢束模型的创建工作。
图4:垂直钢束模型 图5:部分水平钢束模型
2.2 脚本-模型交互与扩展应用
在Dynamo程序的可视化界面中也可以看到的一系列图形,有时候这些是以Dynamo的数据格式存在的,与Revit中的图形数据是有所区别的,所以需要以合适的方式对二者进行数据交互。交互的实现途径分为:“符号导入”、“形状映射”和“族映射”三种。其中,“符号导入”和形状映射一般用于结构单一而规整的模型,载入Revit文件后无法更改其图形信息,在管理和后期应用上都较为不便,实际运用中也存在种种弊端。“族映射”的方式需要借助族模板作为数据载体,传递Dynamo脚本文件中图形数据信息,可以展现族的特点,是较为理想的交互方式。
结合该工程项目,由上述方法创建的预应力钢束的模型,还需要不断扩充新的参数,以满足更高层次的设计施工需要,贴近构建所包含的实际信息数据。比如,在基本实体模型创建完成后,若需要再加入材质、钢束壁厚等参数条件,只需要在信息化脚本文件中增补新的Dynamo参数化节点,就可以达到所需要求,模型精细等级可以不断增加。Dynamo信息化脚本在实际工程中,可以结合基本模型参数,传递信息关联性,力求数字化搭建构建模型,参数化展示构建应用。
3 结束语
基于Revit平台的BIM技术在建设工程领域内的应用是一次重大的变革,在多类工程项目中已经发展到了较为成熟的阶段。Dynamo作为 Revit平台下独特的可视化参数编程工具,可独立编制和运行信息化脚本文件,脚本对Revit平台的补充,让工程师在不具备编程能力的条件下,在信息化脚本中控制调试变量数据以创建复杂构建模型,有效弥补了Revit平台在工程应用过程中复杂模型创建的效率以及精确性难题。
本文结合工程实例,以异形构建模型的创建为切入点,阐述了可视化编程工具Dynamo编制信息化脚本应用于Revit复杂构建建模的过程,以及参数化调整异形构建的控制节点,分析了应用参数化设计的可行性与优越性。这种结合脚本建模设计运用的本质是数据结构,这一过程有力保证了数据和模型的真实和完整性,利于信息的解构和重构以及数据关联中的协同作业。
参考文献:
[1] 孙晓峰 魏力恺 季宏 《从 CAAD 沿革看 BIM 与参数化设计》 建筑学报 2014;
[2] 何关培 王轶群 应宇垦 《BIM总论》 中国建筑工业出版社 2011。