Research on Visual Programming for Bridge and Tunnel Engineering Based on Dynamo
-
摘要: 本研究介绍了Dynamo可视化编程在桥隧工程中的应用方法,重点展示了Dynamo在桥隧结构的参数化建模、钢筋生成、分析与优化,以及桥隧数据提取与管理中的作用。研究首先论述了桥隧工程的重要性及其复杂性,并探讨了BIM技术在桥隧工程中的应用现状与挑战。接着,详细介绍了Dynamo可视化编程的特点与优势。最后,通过梁式桥和盾构隧道等典型桥隧设计问题,演示了Dynamo在Revit模型自动化生成、修改与分析中的应用,以及在桥隧数据的高效提取与管理方面的能力。Abstract: This study explores the application methods of Dynamo visual programming in bridge and tunnel engineering. It demonstrates how Dynamo facilitates engineers in the parametric modeling of bridge and tunnel structures, rebar generation, analysis, optimization, and the extraction and management of bridge and tunnel data. The paper begins by discussing the significance and complexity of bridge and tunnel engineering, as well as the applications and challenges of BIM technology in this domain. It then elaborates on the features and advantages of Dynamo visual programming. Finally, the study uses typical bridge and tunnel design issues, such as beam bridges and shield tunnels, to illustrate how Dynamo can automate the creation, modification, and analysis of Revit models, and how it can be used to extract and manage bridge and tunnel data effectively.
-
Keywords:
- BIM /
- Dynamo /
- Bridge /
- Tunnel /
- Visual Programming
-
引言
桥隧工程是交通基础设施建设中的重要组成部分,它们在连接城市、促进区域发展、提升交通运输效率方面发挥着重要作用。
近年来,国内外学者已经开展了大量的BIM技术在桥隧工程中的应用研究,取得了一些成果和经验。Dynamo是一个基于可视化编程语言的计算式设计平台,可以让设计师通过拖拽和连接预定义的功能节点来创建自己的算法和工具,实现对Revit模型的自动化生成、修改和分析。
桥梁工程方面,王茹等[1]认为Dynamo可视化编程插件能够有效解决复杂结构的参数化建模问题,提高模型的精确度和效率。曹炳勇等[2]针对钢混组合梁的正向设计需求,采用多尺度BIM建模方法,建立了不同精细度的钢混组合梁模型,并实现了模型之间的自动转换。韩继宗[3]认为,Dynamo软件具备参数化建模复杂结构的能力,能够实现与Revit的信息互联和双向操作。郭衡等[4]结合常泰长江项目,针对大规模复杂型体钢结构沉井研究探索了一整套BIM建模方法,实现了沉井结构的精细化参数化建模。何祥平等[5]以连徐高铁新沂河特大桥为例,提出了一种基于Revit软件的高铁连续梁桥参数化建模方法,实现了桥梁结构的快速生成和修改。李庶安等[6]认为Revit在复杂形体、三维曲线曲面建模方面具有局限性,通过Dynamo插件能够弥补这些缺陷,实现桥梁缓和曲面的精准建模。
隧道工程方面,曹建涛等[7]利用Revit+Dynamo+Excel,提出山岭隧道衬砌结构BIM建模方案,实现模型数据化和程序化。李中元等[8]利用Revit和Dynamo实现长螺旋隧道BIM模型创建,为山地公路隧道BIM技术实现提供经验借鉴。李德军等[9]利用Revit建立宁波平风岭隧道BIM模型,提出隧道BIM建模标准和构件族库建立方法,阐述了山岭隧道BIM建模过程。李晓军等[10]基于Revit提出山岭隧道BIM建模分解与参数化方法,实现老营隧道多尺度可复用模型单元自动拼接。张恺韬[11]通过软件实践探究BIM在隧道工程中的应用,建立山岭隧道参数化建模程序提高效率,实现盾构管片自动生成,并将参数化技术应用于实际工程。Alsahly等[12]利用BIM概念生成隧道信息模型,自动提取有限元仿真所需信息,进行隧道施工有限元分析,通过案例验证了该BIM到有限元工作流程的效用。
尽管国内外学者已经在桥隧工程的BIM应用方面做了很多探索和尝试,但仍然存在一些问题和不足。如Revit软件基于三维路线的定位功能较弱,对参数化构件的批量修改过程较为复杂且工作量较大,对于参数化异形构件族和钢筋模型的创建较为复杂繁琐。因此,需要进一步研究如何利用Dynamo可视化编程插件来优化桥隧工程的BIM建模过程,提高模型的质量和效率。
1. Dynamo在桥梁工程中的应用
梁式桥是桥梁工程中一种普遍使用的桥型,其特点是上部结构由T梁或箱梁组成,下部结构由墩和台组成,梁与墩之间通过支座连接。梁式桥的结构相对简单,但是在建模过程中仍然存在一些难点,比如,如何快速创建参数化异形桥墩,如何根据结构几何形状生成钢筋等。本节将介绍如何利用Dynamo可视化编程的方法,实现梁式桥的参数化建模和钢筋生成。
1.1 桥梁工程Dynamo设计思路及实现步骤
在Dynamo中,可以利用其可视化编程的特点,实现梁式桥的参数化建模和钢筋生成。具体的设计思路如图 1所示。
(1)使用Dynamo内置节点函数,读取Excel路线表格中的数据,包括里程、坐标、高程及曲线半径等信息,然后根据这些数据,生成路线的几何线;
(2)基于路线的几何线,在Dynamo中创建复杂下部结构的几何模型,包括墩柱和基础,转换为Revit中的BIM模型元素,并将其与路线的几何线进行关联,使得下部结构能够随着路线的变化而自动调整位置和方向;
(3)将Revit中创建好的上部结构族模型,使用Dynamo内置节点函数加载进来,进行放置;
(4)基于前期创建的上下部结构的几何线,在Dynamo中使用python语言编写脚本,调用Revit软件API,将Dynamo中的几何线转化为Revit中的钢筋。
根据上述设计思路,具体的实现步骤如下:
第一步:读取Excel路线表格数据。在Dynamo中使用“File Path”节点指定Excel文件路径,然后使用“Excel.ReadFromFile”节点读取Excel文件内容,并使用“List.GetItemAtIndex”节点提取出里程、坐标、高程及曲线半径等数据;
第二步:生成路线几何线。在Dynamo中使用“PolyCurve.ByPoints”节点根据坐标和高程数据生成平面曲线,使用“Curve.ParameterAtPoint”节点根据里程数据获取曲线上的点,使用“Vector.XY”节点获取点的切向量,使用“Vector.ZAxis”节点获取点的法向量,使用“Plane.ByOriginNormal”节点根据点和法向量生成平面,并使用“Geometry.Transform”节点根据平面和切向量对平面曲线进行旋转和平移变换,从而生成空间曲线;
第三步:创建下部结构几何模型。在Dynamo中使用“Geometry.Translate”节点根据路线几何线和墩柱高度数据生成墩柱顶点,使用“Solid.ByLoft”节点根据墩柱顶点和墩柱底点生成墩柱几何体,使用“Geometry.Intersect”节点根据墩柱几何体和基础高度数据生成基础顶点,并使用“Solid.ByLoft”节点根据基础顶点和基础底点生成基础几何体,生成花瓶墩如图 2所示;
第四步:放置上部结构族模型。在Dynamo中使用“Family Types”节点加载Revit中创建好的上部结构族模型,箱梁族如图 3所示,使用“Geometry.Translate”节点根据路线几何线和梁高度数据生成梁放置点,使用“FamilyInstance.ByPoint”节点根据梁放置点和上部结构族模型生成梁族实例,使用“Element.GetLocation”节点获取梁族实例的位置,使用“Vector.XY”节点获取梁族实例的切向量,使用“Vector.ZAxis”节点获取梁族实例的法向量,使用“Plane.ByOriginNormal”节点根据梁族实例的位置和法向量生成平面,并使用“Element.SetRotation”节点根据平面和切向量对梁族实例进行旋转变换,使得梁族实例与路线几何线对齐,放置后的模型如图 4所示;
第五步:生成钢筋模型。在Dynamo中使用python语言编写脚本,调用Revit软件API,将Dynamo中的上下部结构的几何线转化为Revit中的钢筋,并根据钢筋设计参数,如钢筋直径、间距、弯折角度等,生成钢筋模型,将其与上下部结构进行关联,使得钢筋能够随着上下部结构的变化而自动调整位置和方向,创建的钢筋模型如图 5所示,Dynamo钢筋创建脚本如图 6所示。
1.2 桥梁工程Dynamo应用效果分析
梁式桥Dynamo参数化建模的应用,基于路线读取和参数化族,实现了路线对结构的驱动以及结构的参数化建模,提高了模型的灵活性和可定制性。将Dynamo生成的几何信息转化为Revit中的BIM模型元素,包括桥梁下部异形构件和钢筋等,实现了参数化模型与信息模型的有效集成。通过Dynamo的可视化编程完成自动化工作流的构建,提高了模型的自动化生成效率,常规T梁、非变截面箱梁桥梁的施工期BIM建模方式每公里通常需要12工日左右,基于参数化建模的方式可缩短到5个工日以内(不含程序编写时间,程序可复用)。
2. Dynamo在隧道工程中的应用
隧道工程盾构隧道的管片形式复杂多变,盾构隧道管片设计需要多视图表达。三维绘图可以最大程度还原盾构管片的精确几何形体,但其建模过程更为复杂繁琐。为解决以上问题,采用参数化设计的思路。
2.1 隧道工程Dynamo设计思路及实现步骤
Dynamo中,可以利用其可视化编程的特点,实现盾构隧道的参数化建模,设计思路如图 7所示。
(1)通过读取Excel中的线路数据,包括里程、坐标、高程等,在Dynamo中生成线路中心线的几何线;
(2)在线路中心线上,根据管片长度进行等分,获取管片中心点。以中心点为圆心,根据管片内外径绘制圆,获得管片放置区域;
(3)在放置区域内,根据管片类型和数量,计算管片的中心角。以中心角划分圆,获取管片端点和中点;
(4)将Revit中的自适应管片族加载入Dynamo,将端点和中点按顺序关联到自适应管片的自适应点,放置自适应管片;
(5)管片随中心线和端点变化实现自动化放置和转角过渡。
根据上述设计思路,具体实现步骤如下:
(1)确定隧道线路中心线。线路中心线可以通过导入CAD文件或者读取路线关键参数在Dynamo中生成;
(2)按照管片长度划分线路中心线。在线路中心线上,根据管片长度进行划分,获取管片中心点。用Curve.PointsAtChordLengthFromPoint节点,将路线中心线起点和管片长度作为输入,节点将按照管片尺寸生成路线中心线上的一系列点;
(3)画出每个断面上的管片放置区域。以中心点为圆心,根据管片内外径绘制圆,获得管片放置区域。项目组使用circle.ByPlaneRadius节点,输入划分点及半径长度,得到管片内外径的圆形轮廓,如图 8所示;
(4)确定每个断面上每个管片的位置和方向。项目组使用Math.Divide节点,以管片中心角度为分子,圆形角度360°为分母,相除后得到管片尺寸比例;使用Curve.SplitByParameter节点,将管片内外径圆和管片尺寸比例作为参数输入,输出每个管片横断面上的边界线,最后将管片边界线作为参数输入,获取到管片的端点和中点,即管片边界点;
(5)放置自适应管片族。为了快速自动化地放置每个断面上的每个管片,并实现转弯处的管片完美过渡,项目组使用Revit中的自适应族功能。使用AdaptiveComponent.ByPoints节点,将管片端点放入列表和自适应管片族作为参数输入,在线路中心线上按照点位放置自适应管片,自适应管片族如图 9所示,放置管片后创建的模型如图 10所示。
2.2 隧道工程Dynamo应用效果分析
盾构隧道Dynamo参数化建模的应用,基于路线读取和自适应参数化族,实现了路线对隧道管片结构的驱动以及管片的自动布置和过渡,提高了模型的灵活性和可定制性。通过参数化建模,精确生成盾构管片的三维模型,避免了二维设计的近似误差;通过Dynamo实现自动化工作流,盾构隧道的施工期BIM常规建模方式每公里隧道通常需要14工日左右,基于参数化建模的方式可缩短到6工日以内(不含程序编写时间,程序可复用)。同时,得益于参数化过程可完整记录和呈现设计过程,便于设计结果的检查和复核,且该方法可推广应用到其他类型的下穿工程,具有很强的普适性。
3. 结语
本研究展示了Dynamo如何帮助工程师进行桥隧结构的参数化建模、钢筋生成、分析和优化,以及桥隧数据的提取和管理等。梁式桥的Dynamo应用中,基于Dynamo与Revit的联合应用,将Dynamo生成的几何信息转化为Revit中的BIM模型元素,创建了包括桥梁下部异形桥墩和钢筋在内的实体构件,实现了参数化模型与信息模型的有效集成;盾构隧道的Dynamo应用中,利用自适应族实现了管片的自动化过渡,并且精确生成三维参数化模型,避免了传统二维设计的偏差;两者均提高了参数化建模的灵活性和可定制性,实现了参数化模型与BIM模型的高效集成,并且完整保留了参数化设计过程,有利于设计结果的检查和优化。综上所述,Dynamo打通了桥隧设计和BIM之间的鸿沟,实现了桥隧工程的智能化设计和建模,极大地拓展了BIM在桥隧工程中的应用范围和深度,是推进桥隧工程数字化建设的重要手段。
-
[1] 王茹, 权超超. 公路立交BIM参数化快速精确建模方法研究[J]. 图学学报, 2019, 40(04): 766-770. [2] 曹炳勇, 施新欣, 陈莎莎, 等. 钢混组合梁多尺度BIM正向设计研究[J]. 重庆交通大学学报(自然科学版), 2022, 41(11): 72-80. [3] 韩继宗. 基于Dynamo的参数化设计研究[J]. 居业, 2019(12): 36+38. [4] 郭衡, 傅战工, 谭国宏, 等. 常泰长江大桥主塔沉井结构BIM正向设计应用[J]. 铁道标准设计, 2021, 65(11): 170-174. [5] 何祥平, 王浩, 郜辉, 等. 高铁连续梁桥BIM参数化建模及其工程应用[J]. 哈尔滨工程大学学报, 2022, 43(3): 311-317. [6] 李庶安, 王喆, 孔晨光, 等. Dynamo在桥梁缓和曲线段建模应用研究[J]. 公路交通科技(应用技术版), 2019, 15(04): 165-167. [7] 曹建涛, 王磊, 许泽琪, 等. 山岭隧道衬砌结构BIM建模方法研究与应用[J]. 公路, 2020, 65(08): 386-389. [8] 李中元, 程熙竣. Revit+Dynamo在螺旋隧道参数化建模中的研究与应用[J]. 土木建筑工程信息技术, 2022, 14(03): 110-115. DOI: 10.16670/j.cnki.cn11-5823/tu.2022.03.15 [9] 李德军, 张清照, 潘青. BIM在大跨度城市山岭隧道中的应用研究[J]. 现代隧道技术, 2020, 57(S): 70-77. [10] 李晓军, 田吟雪, 唐立, 等. 山岭隧道结构BIM多尺度建模与自适应拼接方法及工程应用[J]. 中国公路学报 2019, 32(2): 126-134. [11] 张恺韬. 基于BIM技术的隧道参数化建模与应用研究[D]. 成都: 西南交通大学, 2018. [12] ALSAHLY A, HEGEMANNF, KNIGM, et al. Integrated BIM – to – FEM approach in mechanized tunneling[J]. Geomechanics and tunnelling, 2020, 13(2): 212-220.
-
期刊类型引用(2)
1. 陈珂,段未珣. 预制小箱梁钢筋参数化建模及下料优化方法. 土木建筑工程信息技术. 2025(01): 10-15 . 本站查看
2. 贾冉冉,曾敏,严晶晶,郭培栋,杜雪松,柏华军. 基于三维边线的现浇箱梁自适应建模技术研究. 铁道标准设计. 2025(03): 182-188+206 . 百度学术
其他类型引用(0)