汪 勇,付 豪
(重庆市设计院,重庆市400039)
Dynamo 是一款图形化的编程插件,在0.7 版本以后实现独立操作,先期版本只能支持Revit,在2019年后开始同步兼容Civil3D。截止本文撰写时,Dynamo 最新版本已经升级至2.0,软件稳定性较前期都有较大提升。Dynamo 通过前期封装功能性节点,使设计师可轻松实现简单的可视化编程,设计师根据自身需求选取不同节点,创建三维模型或其他自动化计算程序。这些功能在Revit 或者传统AutoCAD上几乎是不能实现的。更为重要的是,Dynamo 可视化编程技术门槛较低,不懂编程的土木工程设计师也能在BIM(Civil3D/Revit)环境中快速地进行模型设计。Dynamo 的源代码Github 上托管,并建立开源讨论社区,整个软件由大家共同维护,集众家所长,快速成长和完善。Dynamo 作为插件可以在Revit2013/Civil3D2020 或更高的版本上运行。而且,在需要时,Dynamo 也可独立运行,只是独立运行时,Dynamo 与其他软件关联性的节点无法生效[1]。Dynamo 程序界面如图1 所示。
图1 Dyna mo 程序界面
“可视化编程”即只需设计师梳理一定的逻辑方法,通过连接事先封装好带有指定功能的节点,轻松创建出满足设计要求的算法或程序。通过节点的输入、计算、输出的基本思路即可解决遇到的问题。该方法最大的亮点在于不需要设计师浪费大量的时间成本去学习计算机语言,只是通过掌握各节点的基本作用就能快速构建自己的逻辑链条,享受高速发展的计算机技术带来的设计便利。
它是通过计算式设计方法和可视化编程语言,针对某个问题在工作界面里连接预先封装好带有特定功能的节点,如图2 所示,设置一套循序渐进的程序流(算法),通过输入、处理和输出的基本逻辑解决问题[2]。
图2 节点输入与输出逻辑
当Dynamo 作为Revit 插件运行时,Revit 和Dynamo 共享项目原点,Dynamo 读取到Revit 构建后会将Revit 族加载到自身的操作空间内,并根据一定的逻辑指导加载的族生成设计的三维几何模型,并将成果同步映射到Revit 软件环境中,完成参数化建模流程。Dynamo 只保存参数化设计逻辑流程,再次使用时,只需将Dynamo 和Revit 关联,就能在短时间内指导Revit 生成设计模型,整个协同工作流程如图3 所示。当Dynamo 作为Civil3D 的插件运行时,Dynamo读取Civil3D 内的部件,通过一定的逻辑指导部件生成相应的几何体,整体过程与Dynamo 在Revit 下运行的原理一致,此处不再赘述。
图3 Dyna mo 与Re vit 交互流程
本文通过一个实际例子,分别从桥梁中心线生成,桥墩桥台的建模与放置,桥梁上部结构的生成,来展示Dynamo 在Revit 平台下的数字设计效果及技术路线。
桥梁的线路中心线,我们一般直接从AutoCAD Civil 3D 中导入Revit,其中常规的空间曲线进Revit的方式有两种。
(1)方法1:通过C3D 的数据报告功能,输出道路中心点报告。运用Excel 对输出的点数据进行处理,通过每一个点坐标都同时减去第一个点坐标的值,形成数值相对较小的相对点坐标系统。再通过Dynamo的Data.ImportExcel 节点直接读取Excel 相对坐标文件,生成线路中心线,最后通过节点ModelCurve.By-Curve 输出中心线进入Revit,完成软件数据交互。如图4 所示。
图4 从Exce l 读取中心线
(2)方法2:通过直接把C3D 里的桥梁中心线转化为带有高程的样条曲线后,将该段曲线另存为一个全新的DWG 文档,在Revit 里直接导入该文档,通过Dynamo 的Select Model Element 节点直接读取导入的CAD 图元,即可完成数据交互。如图5 所示。
图5 中心线转化模型线
拾取中心线后,我们通常需要建立上部结构轮廓,通过轮廓与导入的桥梁中心线,共同放样生成桥梁的上部结构,如图6 所示。由于Dynamo 的特殊性与梁的几何特性,我们选择在Revit 中利用公制常规模型进行上部结构轮廓的绘制。载入轮廓后,利用Dynamo 中的Solid.ByLofe 节点,与之前导入的中心线,共同完成桥梁上部结构的放样。由于大部分结构中间都存在空心部分,所以我们一般会用到Solid.Difference 节点,对整个图形求几何差积,完成构建的空心剪切,如图7 所示。
图6 上部结构放样
图7 上部结构空心剪切
桥墩与桥台,我们需要在Revit 里对其完成常规建族,由于桥墩与桥台结构特点,我们选择公制柱常规模板对其进行建立。建立过程比较简单,主要为拉伸与放样方法,此处就不再赘述。
桥墩与桥台建立完成后,我们在Dynamo 中运用Family Type 节点,载入桥墩族与桥台族。并通过拾取点的办法精确放置墩台于指定位置,如图8 所示。
桥墩与桥台放置到指定位置后,我们需要对其做矢量旋转,这里选择用的Dynamo 的Vector.Angle-WithVector 节点。该处夹角一般为路线前进方向与Y坐标的夹角α。完成旋转后,由于桥台的方向正反方相互对应,其中一个桥台还需手动再旋转180°,如图9 所示。
图8 桥台与桥墩族的选择
图9 图元矢量旋转
至此,漂亮的连续梁桥模型就建立完毕。最后,我们再使用ImportInstance.ByGeometry 节点,把生成的图元输出到Revit 中,完成整体Dynamo 图元到Revit图元的转换,如图10 所示。全工程不需要设计师了解任何的程序语言,通过现有的自带节点,即可完成相对复杂的工程构筑物的建模工作。Dynamo 出现对于BIM 技术真正的落地,有非常大的推动作用。
图10 Re vit 成桥模型
对此连续梁项目,笔者采用参数化与可视化程序结合的实施方法对其进行编程建模:利用Dynamo 完成了桥梁中心线导入、桥梁上部结构的建立,利用传统Revit 建立桥墩与桥台模型并通过Dynamo 对建立的墩台族进行准确放置。两软件分别择其长,协同、快速的建立桥梁模型,两种软件的建模方式对比见表1。
表1 Re vit 与Dyna mo 建模对比
Dynamo 除作为Revit 的插件外,还能独立完成轻量级的景观桥快速建模。
景观桥一般由拱梁、上桁架、拉杆、横梁、桥面板组成。
首先定位出3 个点,通过Arc.ByThreePoints 节点,完成首单侧拱梁曲线的绘制,如图11 所示。再通过对称与放样完成两侧拱梁结构的放样。
图11 拱梁线形生成
使用简单的Python 脚本,在拱梁上指定位置定位指定点,直接用Cylinder.ByPointsRadius 节点,实现对两点连接并放样,完成拱梁上部桁架结构的建模,如图12 所示。
图12 上部桁架生成
桥面板与横梁均采用节点Surface.Thicken 通过平面拉伸生成,此处不在赘述。桥梁拉杆通过与桁架相同的办法,定位出点,点与横梁形成线,最后通过Cylinder.ByPointsRadius 节点,放样形成拉杆结构,如图13 所示。
图13 Dyna mo 景观桥成型
至此,我们仅使用Dynamo 就完成了该景观桥的建模工作。作为插件的Dynamo 本身也有其独立完整性。如有需要,我们也可结合Revit 进行联动,完成大型复杂构件的建模工作。
计算式设计的基础在于脚本的创建。设计师按自身需求,选择程序预先封装好的节点拼装出自己的程序。这种方法节约了设计师学习编程的时间,降低了软件使用门槛。但因计算仅基于Dynamo 静态节点,代码处理不同数据的能力也因此被削弱。为弥补该类不足,Dynamo 还开放了用户自定义节点,允许设计师自行通过Python 脚本语言创建自定义节点。熟悉编程的设计师往往通过写代码定义出有针对性的节点,高效地解决设计中遇到的难题,避免因原生节点计算力不足,导致思维逻辑不得不绕“远路”的办法。
近年来,随着计算机、树脂材料、工业制作等专业的不断发展,与土木工程相结合的跨界运用不断涌现,3D 打印技术无疑是众多应用中的一个亮点。有的3D 打印机甚至可以直接打印结构构件或小型建筑。该方法地出现极大地提高了生产效率,提升建筑设计的适应性以及拓展性。这在技术上是一个质地飞跃,极大影响到建筑设计思维。3D 打印技术的兴起以数控技术为依托,改变了以前建筑只能手工堆砌的状态。时代的发展对传统设计行业提出了更高的要求,程序设计,不但可以丰富设计师的设计手段,更可有效地实现对机器设备地控制,从而完成与新技术地结合,实现智慧建造。
由于Dynamo 本身使用开源的方式进行开发与维护,使得设计师可以根据自身需求,将Dynamo 进行定制化开发,并移植到需要的软件中。当开发者发现Dynamo 主程序本身存在Bug 或有更优化的处理逻辑也可直接Pull Request 向Dynamo 根项目发起代码更新请求。此外,Autodesk 公司还推出了更稳定,兼容性更好,界面设计更优秀的Dynamo Studio,该软件进行收费许可,对稳定性看重的大型企业可以考虑这种商业版。该项目组表示基础版本的Dynamo 会持续开源状态,并长期免费提供下载。通过这种可交互式的开发模式,设计师感受到了来自软件厂商的平等沟通,为Dynamo 的发展攒下了不少的好感。这也使得Dynamo 版本快速地迭代更新,软件本身不断地完善。
在整个建模过程中,Dynamo 可视化程序算法的预定义功能节点的复杂连接看似繁杂,但用户只需梳理好建模的逻辑思路,并将思路转化为一步步的逻辑程序,即可创建复杂的空间曲面形体[3]。
本文将计算式设计、可视化编程与桥梁工程相结合,将这种新的设计方式引入到BIM 桥梁设计中,并取得了一些初步成果。
与西方发达国家相比,我国BIM 技术研究起步相对较晚[4],但现今信息化已逐渐成为我国土建行业的主流与热点,也是未来的发展方向。在复杂造型建筑结构的设计施工中,Dynamo 等参数化设计软件将发挥越来越重要的作用[3]。