基于Revit-Dynamo的坑底加固自动计算及绘图研究郑涵滨

(整期优先)网络出版时间:2019-11-12
/ 3

基于Revit-Dynamo的坑底加固自动计算及绘图研究郑涵滨

郑涵滨1田永泽2

郑涵滨1田永泽2

1.上海斯涵福信息科技有限公司上海200000

2.新疆昱天建设工程项目管理有限公司乌鲁木齐830000

摘要:本文以实际工程项目为例,为解决设计过程中的实际痛点,以Dynamo为算法语言,Revit作为三维布尔运算器,研究坑底加固自己计算及绘图的可行性,并且自主编写开发程序,成功实现了研究的目的,并且成功将此程序推广应用到其他类似设计项目之中。

关键词:BIM,Revit,Dynamo,坑底加固,自动计算

1.概述

1.1BIM与Revit

BIM是近年来在国内外工程领域内都比较火热的技术,虽然其基本概念由CharlesM.Eastman[1]等人于上世纪70年代提出,但受限于当时的硬件限制,此概念一直未被推广。直到本世纪初,由欧特克公司的发表了名为“BuildingInformationModeling”的白皮书[2],BIM的概念才开始推广到各软件厂商之中,广泛研究应用开来。

Revit是软件AutodeskRevit的简称,是欧特克(Autodesk)公司的BIM三维建模软件产品。Revit是目前市场上,应用较多,入门门槛较低的一款BIM软件。Revit作为欧特克公司的核心BIM产品之一,在全世界各类工程项目的BIM应用和研究中,都占据了重要的位置。

1.2Dynamo与Python

Dynamo的官方定义是Community-driven,Opensourcegraphicalprogrammingfordesign[3](即社区主导型的专为(建筑)设计而生的开源图形设计程序)。DynamoForRevit通过将Revit里的功能模块做成相应的可视化节点,实实在在的将设计(算法)与建模功能分离,让设计师只需在简单的学习下,自己编织算法,串联建模功能,产生参数化设计的效果,将Revit更好的运用到设计中去。

Dynamo还提供了Python脚本的接口,让设计师可以更加自由的发挥思路,借由目前非常实用的编程语言Python来解决复杂算法的设计,以实现更加复杂的逻辑操作,能够更加自由和灵活的控制建模过程。而Python语言正是目前大热的科学技术:大数据技术与AI技术领域内,应用最广泛的编程语言。

1.3现阶段设计行业的问题

由于当前国内建筑项目周期短,前期考虑不周全,功能需求更新速度快的特点,设计师重复修改图纸的现象相当普遍。我国大多数大型设计院内,设计师的受教育程度都相当高,主要由硕士与博士群体构成。原本设计师的工作应当着重在研究和设计之上,但这种重复修改图纸的事情,却占用了他们70%以上的工作时间,严重影响了经受过高等教育的设计师们的价值体现,对企业与设计师本人,甚至社会来说,都是一种极大的浪费。既然无法从源头(周期短变化快)上解决问题,那就只好在如何快速的解决无意义重复劳动上下文章了。

重复劳动必然有其内在规律,而有规律的事情,就有条件将其程序化,体现计算机自动化的价值了。也正因如此,Revit(BIM)与Dynamo在设计领域内才有了巨大的用武之地。

2.坑底加固自动计算及绘图研究

2.1本项目的由来

某全球大型家具家居用品企业在国内某市的大型商场的设计过程中,由于上部建筑功能变化问题,导致基坑底部集水井与电梯井的位置不断发生变化,增减近疏的变化非常多。每次变化,都需要重新对坑底深井的加固作出对应的调整。由于项目体量大,工作范围大,每次的调整都相应带来巨大的修改工作量,加上部分深井的位置相对接近且深度较深,根据规范来设计深坑底板与加固时,存在三维形状令设计师难以假想的问题,进而导致设计师花费了更多的精力在图纸修改的过程中,令人苦不堪言。

因此,设计院在思考是否存在可以利用BIM技术,根据上部图纸变化以及相应规范原则进行自动设计的可能性。

考虑到上述工作的重复性劳动较多,但规则较为单一,加上本问题的一大难点是三维形状的难以假想问题,所以基于BIM技术进行三维设计,结合Revit和Dynamo进行参数化编程设计,正好契合应对本项目的所有问题,是具有实现其功能需求的可能的。

2.2程序设计思路

2.2.1程序设计原则

(1)编写程序的应用范围应该是可延展性的,兼容以后的所有项目,不能仅为本设计项目服务;

(2)尽可能减少设计人员工作量,加大计算机自动完成工作的比例;

(3)遵循规范,选取必要的默认值,但同时也可开放让设计师根据不同项目,自由定义;

(4)让设计师使用简单易上手。

程序设计原则的主要问题在于原则(1)。作为基坑项目的设计应用,设计条件受上部建筑信息的影响,而由于各家设计院分工的问题,上部建筑信息的来源(图纸)存在有各家设计院不用绘图规范的问题。所以在使用上部建筑信息时,既然无法统一各家设计院的绘图规范,就需要程序使用者对数据源进行规范化。这样做不仅可以确保输入项的准确性,同时可以通过简单的比对工作,对上部建筑图纸的绘图错误进行初步检查与复核。

2.2.2程序设计时的其他考虑

当前Dynamo的版本号已进入2.0时代,早起的1.0版本存在延续的可能性已经不长,加上Revit版本每年一版更新的速度,2017以后版本的Revit才支持Dynamo2.0,因此,本此软件编程将以2017版Revit和Dynamo2.0作为基础环境进行设计编程。

另外软件与硬件是相辅相成的存在,Dynamo作为一款已经广泛应用的软件工具,同样其性能也会收到硬件的约束。设计院的工作软硬件,由于成本问题,一般更新速度都不会很快,因此尽可能满足当前软硬件需求,也是程序设计时的重点考虑内容之一。所以需要在设计程序时,将控制程序步骤(步骤越多,实用性越差;但步骤越短,单次计算硬件需求越高)和硬件性能匹配起来,必要时,通过中间成果输出来确保程序因系统或硬件问题出错时,尽可能降低反复计算的工作量,提供使用者的使用效率。

2.3程序设计

2.3.1数据源格式统一

由于数据源是dwg格式的CAD文件,考虑到各家设计院的出图标准并不一致,因此第一步即是将dwg文件进行数据规范化,创建格式统一的图层,将我们所需要的线段信息保留到对应的图层中去。在规范化图形数据后,删去不需要的内容(避免占用系统资源),使用DATAEXTRACTION指令,将点、线、标注文字等数据,按照固定的格式输出成excel文件。

图2.1DATAEXTRACTION指令部分输出界面

图2.2DATAEXTRACTION指令输出成果界面

2.3.2创建下沉板

(1)创建下沉板边界条件,即承台。

图2.3承台创建

通过图2.3的承台创建路径,完成承台模型的搭建:通过识别闭合曲线确定承台的大小和位置,通过读取承台标识的厚度标注来确定承台构件的厚度,并且移动到对应的标高上。

(2)创建下沉板相关构件

图2.4下沉板创建

通过设定放坡角度,下沉板外扩范围等参数,计算下沉板起坡位置,并延伸到底板。在通过斜坡延伸面与承台的交线位置,判断承台是否需要根据规范同步下沉。需要下沉则将承台下沉,并重新计算斜坡延伸面。最终将计算好的几何面组合起来,生成对应的下沉板相关族。

图2.5截图部分的下沉板三维仰视图

通过这一步计算可以看到,当集水井电梯井分布密集并且较深的情况下,就会出现光靠人脑无法想象的三维场景。这对设计师的空间思维能力是种巨大的挑战,并且会浪费大量的劳动力。而依靠BIM软件(Revit),让计算机进行三维绘图,不仅计算速度相较于人工而言很快,展示效果也是明显直观的。

(3)布尔运算去除重复体量

图2.6三维图形布尔运算

通过上述节点进行布尔运算,可以得到图2.7的合成结果。

图2.7三维图形布尔运算结果(三维仰视)

对比图2.5的结果,效果十分明显,将斜坡交线全面勾勒了出来。如此即已计算得出坑底加固的范围及对应的顶标高了。

2.3.3桩心计算

本项目采用旋喷桩加固,即加固的实体可以认为是一个个单圆心柱体。

图2.8单圆圆心计算

图2.9单圆圆心点阵计算结果

通过取出坑底加固范围,设定好桩心距之后,用图2.8的节点进行单圆圆心定位计算,可以得到如图2.9般的单圆圆心点阵的结果,将此结果作为中间结果输出,形成由xy坐标数值组成的csv文件。

图2.10桩顶标高计算

通过与之前生成的实体面再次进行布尔运算,取得加固桩顶的标高,与平面坐标组合成三维坐标,输出成三维点阵数据的中间成果。

图2.11桩类型归类算法

最后,设定好桩径等必要参数后,根据设计院给出的归类方案,编写图2.11的桩类型归类算法,通过此节点计算得到最终的桩定位和顶标高。由于本项目体量特别庞大,直接生成三维实体桩会占用大量的计算机资源,然而考虑本项目的最终目标成果是dwg格式的桩布置图,因此在输出的时候,采用了一种迂回的方式,直接生成cad中的圆单元生成指令簇,只需要不太大系统资源,即可完成cad绘图工作。同时也保留并冻结了直接生成Revit实例的节点段,在日后遇到小型项目或硬件性能大幅提升后,只需要打开冻结的节点段,也可以直接生成三维实例族成果。

3.结论

(1)通过Revit和Dynamo的组合,可以从计算入手,自动完成建模与绘图工作,解决大量需要设计师重复劳动的问题。并且,Revit与Dynamo的组合,对于类似PC构件码放的问题有着先天性质的应用优势。

(2)三维计算需要有强大的硬件性能做基础,在硬件性能不足时,需要考虑增加工作流程,产生中间结果,降低大量三维计算对硬件的需求与消耗。

(3)Dynamo作为可视化的编程工具,比令人乏味的命令行模式,可以使代码的编写更加简单和有趣。只要逻辑正确,仅仅需要掌握一点语言基础就可以好好的使用起Dynamo了。设计师的逻辑能力不成问题,而Dynamo的工作可以使用Python语言,作为一款目前非常流行的编程语言,个人认为设计师群体有必要进行学习,并且只要设计师愿意学习一下Python语言,对其日后的工作将会起到非常有用的帮助。

(4)专业性高,泛用性小的软件工具,一般软件厂商没有大的意愿会去花精力去制作产品,因此在专业性高的应用需求,往往只有设计师本人体会最深,最优意愿去解决。而这正是Revit与Dynamo的产品优势之一。

参考文献:

[1]Eastman,Charles;Fisher,David;Lafue,Gilles;Lividini,Joseph;Stoker,Douglas;Yessios,Christos.AnOutlineoftheBuildingDescriptionSystem.InstituteofPhysicalPlanning,Carnegie-MellonUniversity,September1974.

[2]SanRafael.BuildingInformationModeling.CA,Autodesk,Inc.laiserin.com.2002.

[3]DynamoBIM(http://dynamobim.org/)