朱子翔 胡耀星 钱思凡 顾若凡
(1. 浙江交工集团股份有限公司,杭州 310051;2. 浙江数智交院科技股份有限公司,杭州 310030)
随着我国数字化建设的发展,公路工程建设行业也不断尝试进行着数字化转型,BIM 技术作为数字化建设过程中的一项新技术,在公路行业桥梁工程中开始应用。目前在桥梁工程中BIM 技术的应用并没有取得预想的效果,主要原因在于目前主流的BIM 建模软件Autodesk Revit 主要用于房建模型的创建[1],对于公路行业桥梁模型的创建存在一定的短板,经常造成模型精度不够、建模速度跟不上施工进度等问题,因此造成BIM 技术的应用满足不了实际施工需求。
目前国内外对于Revit 桥梁参数化建模有一定的研究。例如:刘笃兴等[2]对现浇连续箱梁参数化建模进行研究,提出了根据桥梁中心线放置箱梁截面轮廓,利用各截面轮廓连接放样生成连续箱梁的建模思路。仇朝珍等[3]利用Dynamo 进行桥梁建模,提出了“积木法”建模思路和墩台扇形布设法。张胜超等[4]对预制箱梁的参数化建模进行研究,提出了用“自适应常规模型”族创建预制箱梁模型,并用Dynamo 进行构件放置的建模思路。
虽然Dynamo 桥梁参数化建模技术的研究有很多,但主要还是针对现浇连续梁、预制简支梁的参数化建模,对于预制连续梁桥的建模技术研究的相关文献资料较少。因此探索研究一种全新的基于Revit 的预制连续梁桥参数化快速精细建模技术对于BIM 技术能否在公路工程行业桥梁工程中取得理想的应用效果具有重要意义。
Revit 传统建模方法是将CAD 平面底图导入到Revit 中作为参照依据,然后根据底图位置手动将桥梁下部结构各类构件(桩基、系梁、立柱、盖梁、承台、桥台和支座垫石等)放至到相应位置,并调整对应的参数。上部结构模型的创建在下部结构模型完成后根据支座垫石的位置放置预制梁板,并调整每片梁的参数,梁板模型完成后再进行横隔板、湿接缝和墩顶现浇等现浇构件模型创建,最后再进行桥面铺装、防撞护栏、伸缩缝和钢遮板等附属工程模型的创建。
传统方法在建模过程中存在内在软件弊端和外在人为因素弊端,这些弊端严重影响建模的精细度和效率。
(1)软件自身弊端
首先,Revit 作为一款在房屋建筑行业广泛使用的BIM 建模软件,对于公路行业桥梁工程这类线性工程的建模并不适用,存在一定的弊端,主要表现在以下方面:
第一、Revit 中虽然有坐标系,但软件建模过程中不支持直接通过输入坐标进行定位。因此对于桥梁工程这类需要准确定位的模型在构件位置确定上一定的困难;
第二、软件自身存在一个半径为16km 的建模范围,当模型超出这个范围区域时,模型的显示精度就会降低,会出现模型变形的情况,如图1 所示,不利于精细化建模;
图1 模型变形
第三、当采用CAD 底图导入的形式进行位置定位时存在两个问题,一是CAD 图中有绝对坐标信息时,导入的CAD 一般都会超出Revit 的建模区域范围。
其次,是如果将CAD 中的绝对坐标信息删除后导入Revit 中一般都处在项目原点的位置,在各专业模型协同组合的过程中就需要手动进行模型位置调整,影响模型精度和准确性。
(2)手工建模弊端
一个项目的桥梁构件少则上千个,多则上万个,手工建模需要对每个构件进行人工摆放调整,经常造成现场相关节点已经开始施工而BIM 还没有建完,BIM 建模进度跟不上施工进度的现象,给人产生“事后BIM”的印象。手工建模在模型细节处理上也存在很大的困难,对于模型精度要求高,手工建模在细节上容易出现错缝等误差,会导致数据不准确的问题,如图2 所示。
由此可见,预制连续梁桥传统建模方法存在很大的问题,亟需探索研究一种能够快速精细化建模的建模方法。
Dynamo 的出现使Revit 在预制连续梁桥中参数化快速精细建模成为可能,利用可视化编程的优势,将Dynamo 自带封包的节点或用Python 编写简单的代码调用Revit API自定义节点通过逻辑连接形成一个程序。同时Dynamo 还能和Excel 有效结合,事先通过Excel整理各个构件的位置、尺寸、材质等信息,Dynamo 程序可以读取表格中的数据信息将相应的构件放置在相应位置,并自动调整构件尺寸,同时赋予一些材质、WBS 等施工应用所需的信息。
利用Dynamo 进行建模相比传统手工建模有以下优势:
(1)利用程序实现计算机自动建模,极大的减少了工作人员的建模工作量,同时程序自动建模能比手工建模减少约80%的建模时间;
(2)通过Excel 数据调整各个构件的属性信息,使模型更具可控性,图纸信息修改时通过修改Excel 数据,利用程序重新生成模型,做到真正意义上的参数化建模;
(3)程序通过Excel 数据生成的模型,位置、尺寸等更准确,做到了精细化建模。
本文通过分析Revit 软件的建模机制,结合预制连续梁桥的施工流程,研究探索了一套基于Revit 的预制连续梁桥参数化快速精细化建模方法,建模整体思路流程如图3 所示。
图3 预制连续梁桥参数化快速精细建模流程
2.2.1 桥梁构件Excel 数据表编制
桥梁构件分为下部结构、上部结构和附属结构,从设计图纸中获取相关构件的数据信息,如图4(a)~(b)所示。
图4 桥梁构件数据信息
(1)下部结构Excel 数据表包括以下数据信息:
桥梁路线设计线点数据(1m 一个点,点坐标、高程信息);
桥梁桩位坐标,桩基立柱的直径、长度、标高,系梁的尺寸、桩间距、标高等信息;
盖梁尺寸、横坡i、标高、类型等信息;
桥台横坡i、尺寸等信息;
下部结构WBS(分部分项)编码信息。
(2)上部结构Excel 数据表包括以下数据信息:
梁的横坡i、设计高程、尺寸、首尾夹角、悬臂值等信息;
梁的WBS(分部分项)编码信息。
(3)附属结构Excel 数据表包括以下数据信息:
桥面铺装厚度、横坡i 等信息;
垫石支座类型、尺寸等信息;
伸缩缝类型、尺寸、横坡i 等信息;
附属结构WBS(分部分项)编码信息。
2.2.2 桥梁构件参数化族创建
桥梁构件均采用“公制常规模型[5]”族样板进行创建,其中梁板族构件采用嵌套族的形式,将常规模型嵌套进入“公制结构框架-梁和支撑[6,7]”族中。在一座桥中族参数需要频繁调整的采用“实例参数”,不需要调整的采用“类型参数”[8]。对于构件类型的变化,在参数设置中采用“是/否”的参数类型,结合if 函数进行构件类型的参数化设置,系梁根据施工工艺将族创建成“哑铃型”,如图5 所示。桥梁构件参数设置情况如图6 所示。
图5 系梁模型
图6 参数化预制小箱梁参数设置
桥梁构件模型的类型根据桥梁WBS 分类进行最小构件单元的创建。比如桥台,根据WBS 分类可以将桥台拆分为台帽、耳背墙、挡块和垫石等,在建模过程中为配合每个构件与WBS 编码的挂接,需要根据WBS 对每个最小构件单元进行建模,然后将最小构件单元组合拼成一个大构件,但这样的建模方式通过程序实现复杂,且各个最小构件单元之间的衔接精度无法保证。因此在桥台这类构件族创建的过程中将各个最小构件单元整合在一起创建,然后通过可见性参数实现大构件在项目中拆分成各个小构件,如图7 所示。
图7 参数控制桥台构件拆分
通过参数控制的方式在项目中将大构件拆分成最小组成构件单元比在项目中将最小构件单元组合拼接成大构件的方式实现难度更低、模型精度也更高。
2.2.3 编写Dynamo 自动建模程序
为确保程序运行效率,根据桥梁施工流程,将建模程序分三部分进行:下部结构建模、上部结构建模、附属结构建模[9],建模流程根据实际施工流程自下而上依次建模。
下部结构建模首先通过Dynamo 读取Excel 表格数据信息,将读取的桩位坐标数据用Dynamo 统一扣除一个固定值(即坐标扣减值),将图纸中的绝对坐标转换成相对坐标,并在Dynamo 中生成点,使坐标点都在Revit 软件的建模范围内,然后用FamilyInstance.ByPoint[10]节点将桩基族放置在相应的点坐标位置上,最后用节点Element.SetParameterByName[11,12]将Excel中桩基的尺寸、高程、材质等数据赋予给对应的桩基族,以此实现通过程序来快速调整构件参数,而立柱的建模思路与方式与桩基相同。使用该方法能有效的解决Revit 软件精准定位困难的弊端,利用相对坐标(坐标扣减)的思路避免传统手工建模导入CAD 超出软件自身建模范围使模型现实精度降低的问题,保障了精细化建模,同时各专业模型的相对坐标都是唯一的,也避免了专业协同时还需要挪动模型的问题。桩基立柱Dynamo 快速建模程序节点如图8 所示。
图8 桩基立柱Dynamo 快速建模程序节点
系梁、盖梁、桥台的建模则是根据相应墩的桩位坐标自动算出墩中点的坐标,并放置对应构件,由于Revit 中构件是基于内置的坐标系正向放置,而一般桥梁的路线走向与坐标系坐标轴存在一定角度,因此需要将放置的构件旋转一定角度,在Dynamo 程序中通过每个墩桩位坐标点形成向量,用节点Vector.AngleAboutAxis 自动计算每个墩的向量与X 轴的夹角,然后运用FamilyInstance.SetRotation[13]节点将系梁等构件绕Z 轴旋转相应的角度,再通过程序自动调整构件的尺寸,使系梁等每个构件都能保证尺寸准确无误并放置在正确位置和角度,由于盖梁、桥台需要进行构件的拆分,因此在程序中要比系梁多调整一个实现构件拆分的可见性参数。系梁等构件Dynamo 快速建模程序节点如图9 所示。
图9 系梁等构件Dynamo 快速建模程序节点
上部结构梁的生成利用Dynamo 程序自动拾取每个墩的支座垫石构件,然后墩与墩之间的支座垫石生成一条线,再用程序拾取垫石与垫石之间的线生成梁,通过读取Excel 表格数据自动调整每片梁的标高和尺寸数据,使梁放置在正确的标高位置上,如图10 所示。
图10 Dynamo 程序自动放置梁板
湿接缝、墩顶现浇等现浇部分的模型创建是预制连续梁桥建模中的难点,为解决Dynamo 程序对现浇部分的快速精细建模,放弃常规自动放置构件的思路,采用面与面之间自动生成实体的形式进行现浇部分的模型创建。
先用Dynamo 程序识别梁与梁之间的面,用节点Surface.PerimeterCurves 将拾取的面转换成Curve 曲线,再将Curve 曲线转换成PolyCurve 曲线,利用Solid.ByLoft 节点在横截面封闭曲线之间放样创建实体。最后用Springs.FamilyInstance.ByGeometry 节点在Revit中生成常规模型,Dynamo 生成现浇部分模型程序节点如图11 所示。
图11 现浇部分模型Dynamo 程序节点(部分)
通过面与面生成实体的形式创建现浇部分模型,模型与模型之间的贴合度更精准,避免了放置构件导致模型与模型之间存在的细微错缝等误差,提高了模型的精细度,通过Dynamo 程序生成现浇部分模型效果如图12 所示。
图12 程序生成现浇部分模型(白色)
附属结构的模型创建与下部结构和上部结构模型的创建方式类似。其中桥面铺装和防撞护栏通过将前期准备好的桥梁中心线点数据用Dynamo 生成拟合曲线,然后将桥面铺装和防撞护栏的界面轮廓沿着拟合的路线曲线放样生成实体模型,而伸缩缝、交安设施等则利用程序根据表格数据放置在对应位置并调整好参数尺寸即可,最终生成完整的桥梁模型效果如图13所示。
图13 Dynamo 程序生成的完整桥梁模型
某高速公路项目路线全长10.7km,双向六车道标准高速公路设计,设计速度100km/h,桥梁宽度33m,全线设置主线桥梁7 座,枢纽式互通立交1 处,一般互通式立交2 处,全线桥梁共计33 座,桥梁总长10 073.51m。桥梁桩基共计1 275 根、立柱984 根、系梁206 个、盖梁300 个和预制梁板1 885 片。
对于传统建模方式,需要将所有桥梁构件进行一一建模,在实际项目建模过程中,梁板这类复杂的构件一个熟练的建模人员完成一片梁板的模型创建至少需要30 分钟,整个项目光梁板的建模就需要至少1 885*30=56 550 分钟=942.5 小时,按照每天工作8 小时计算需要大约118 天,桥梁构件手工拼装成一座完整桥梁需要1 ~2 天,全线33 座桥需要约33 ~66 天。该项目纯手工创建桥梁模型保守预计最快需要至少约118+33=151 天,即5 个月时间,很难在项目施工前完成所有模型的创建。
考虑到项目时间紧,为了让BIM 的价值最大化,采用参数化快速精细建模。不需要对每个构件都进行建模,只需分类将同类型的构件创建一个参数化族即可。创建一个参数化梁板族只需要1 ~2 天,通过参数调整实现尺寸变化。相当于花费1 ~2 天时间就实现了1 885 片预制梁板构件的创建,桥梁所有参数化构件的建模一共花费约5 天时间。利用Dynamo 程序生成一座完整的桥梁模型,从数据整理到模型创建一座桥需要0.5 ~0.7 天,33 座桥一共花费21 天左右。采用参数化快速精细建模方法后,一个人完成全线所有桥梁模型只需要不到1 个月时间。通过实际项目的运用,证明该方法的使用能大大减少建模时间,从预估一个人手工建模最短用时5 个月,到实际花费1 个月时间,节省了建模时间至少4 个月,缩短约80%的时间,且模型精度也有大幅度提高。
根据预制连续梁桥的施工流程,分析Revit 软件建模原理,结合传统桥梁建模方式,对基于Revit 的预制连续梁桥参数化快速精细建模技术进行了研究和应用,编写出一套完整的通用性强、操作方便、高效快捷、精细标准化的预制连续梁桥参数化快速精细建模方法。
此方法结合分析了大量现有的Revit 参数化桥梁建模方法和思路,并在此基础上进行了创新改进,此方法具有如下创新点:
(1)通用性强
此方法有别于现有的仅针对单一类型梁的桥梁建模,能够适用于所有预制连续梁的桥梁建模,包括预制T 梁、预制箱梁、预制空心板梁等不同类型的梁。
(2)灵活性高
此方法主要针对预制连续梁桥的快速建模,但也适用于预制简支梁桥,在程序运行过程中去掉生成墩顶现浇的程序节点即可用于预制简支梁桥的快速建模,方法更灵活变通。
(3)流程简单
运用“积木法”的思路创建桥梁模型,需要清楚计算知道每个构件的准确位置以及各构件之间的相对关系,“积木”构件越多,需要计算的过程越多、逻辑性越强,操作流程上就越繁琐,此方法运用“面生体”的思路创建现浇湿接缝和墩顶现浇,除去了湿接缝和墩顶现浇的“积木”构件放置的计算过程及构件参数化族的创建,减少了整个建模流程中的计算过程和逻辑关系,使整体建模操作流程更简单。此方法的研究和应用解决了Revit 在桥梁建模上建模难度大、效率低、误差大、精度无法保证等问题,尤其是对湿接缝、墩顶现浇等现浇部分快速精细建模提供了建模思路,同时对其他类型桥梁的参数化快速精细建模提供了参考价值。