基于Revit+Dynamo的桥梁垫石自动布置应用研究

2022-12-29 08:30张新元
交通科技 2022年6期
关键词:坐标值盖梁互通

张新元

(中交第二航务工程局有限公司设计研究院 武汉 430400)

在高速公路互通立交桥梁结构中,垫石作为承接桥梁上部结构和下部结构的构件,具有重要意义。垫石不仅可以将桥梁上部结构的受力较均匀地传递到下部结构,同时可以通过调节垫石高度来实现桥梁上部结构和下部结构在施工过程中的安装精度。

目前,BIM技术已经广泛应用于桥梁工程,主流的桥梁BIM建模软件有Autodesk Revit+Dynamo、Bentley Open Bridge Modeler及Dassautlt Catia。由于Autodesk平台具有交通行业影响力较高,软件普及率较高,学习成本较低等优势[1],因此,国内外许多学者和单位基于Autodesk Revit+Dynamo进行桥梁正向设计应用及快速建模研究,其中聂伟等[2]利用Revit+Dynamo总结出一套互通桥梁BIM正向设计建模方法和流程,包括自动创建桥梁中心线,采用Revit建立互通桥梁桩基、承台、墩身、盖梁、支座、垫石、上部结构等族库模型,利用Dynamo自动完成互通桥梁的创建;李东运[3]、佘宇深[4]和朱子翔等[5]研究创建桥梁下部结构模型最小构件单元,包括盖梁挡块、垫石等,通过逻辑算法关联支座、挡块等参数,将最小单元进行组合拼装成一个大构件,其次,通过可见性参数实现大构件在项目中拆分,最后,通过Dynamo自动放置模型,完成桥梁的创建。

以上学者针对桥梁BIM技术的研究均能实现桥梁的快速模型搭建。然而,对于垫石的布置方法,其中聂伟等提出的垫石自动放置通过确定一个垫石坐标并根据垫石间距完成,但是其并未针对桥梁不同设计形式进行具体分析;李运东和朱子翔等将垫石模型内嵌到桥墩模型中,通过设置可见性来关联垫石在项目中的可见与否,这种方法对BIM人员的建模和逻辑水平要求较高。

本文依托某高速互通桥梁项目,针对桥梁的3种不同设计形式,拟采用Revit+Dynamo对垫石的自动布置方法进行研究,探索出垫石自动布置方法和流程,以提高桥梁建模效率和准确性。

1 垫石建模与自动布置方法

通过Revit创建参数化垫石族模型,利用Dynamo可视化编程,可实现垫石沿着线路按照实际位置进行自动布置,有效地解决构件布置问题,提高模型的准确性。

1.1 数据准备

首先,获取设计线路数据。根据设计文件中的桥梁曲线要素数据,利用Civil 3D,按照1 m的采样频率,输出桥梁设计线点数据Excel表(包含桩号、东距、北距和高程值),由于线路数据获取的方法比较通用,本文将不在此赘述。

其次,获取桥梁设计数据。根据桥梁设计资料中的桥墩一般构造图,整理得到垫石尺寸信息及位置关系Excel表(包含墩台号、桩号、垫石沿线路前进方向距离、设计线到最外侧垫石距离、垫石总数、垫石间距、坡度、盖梁设计高程等)。

上述数据作为垫石自动布置的基础,通过Dynamo读取相关数据,可实现在Revit中自动生成垫石模型。

1.2 垫石参数化建模

垫石参数化模型采用“公制常规模型”族样板进行创建,项目单位的坡度采用“%”,长度单位采用“mm”。垫石以底部中心为建模基准点,通过设置参照平面尺寸约束,将垫石外轮廓与参照平面进行对齐并锁定,利用“拉伸”命令,实现垫石参数化模型制作。垫石主要控制参数包含长度,宽度、高度及坡度i,垫石参数化族的主要参数见图1。

图1 垫石参数化族(单位:mm)

2 垫石自动布置原理

垫石自动布置的关键点在于需在Dynamo程序中计算出每个垫石在盖梁上的相对平面位置坐标值和竖向位置上的高程值。其中垫石的平面位置坐标值可根据桥墩在特定桩号下的法向方向偏距和切线方向偏距来共同确定,垫石的竖向位置可根据盖梁的设计高程、垫石间的水平间距、盖梁横坡等参数计算得到。当垫石点位坐标确定后,再利用Family Instance.By Point节点自动完成垫石参数化模型按坐标点的放置,垫石自动布置原理图见图2。

下面将针对互通桥梁3种不同设计情形的垫石自动布置方法进行描述。

2.1 整体式桥梁

整体式桥梁是互通桥梁的主要形式,一般情况下,设计线与脊线分界点重合。然而,在互通桥梁分流处,也存在设计线与脊线分界点不重合的情况。下面针对整体式桥梁这2种情形的垫石自动布置进行描述。

2.1.1设计线与脊线分界点重合

在设计线与脊线分界点重合情况下,整体式桥梁盖梁布置图见图3。

L-盖梁长度,cm;Lr-盖梁最右侧到设计线距离,cm;dk2-最右侧垫石中心到盖梁边的距离,cm;n2-前排垫石个数;d-前排垫石间距,cm;w2-前排垫石到盖梁设计线的法向间距,cm。

盖梁上的各垫石坐标值,可在Dynamo中通过数学计算方法求出,方法如下。

首先,利用Dynamo读取线路数据生成设计线路;然后,根据桥墩所在的里程桩号和线路起始桩号,通过Curve.PlaneAtSegmentLength和Geometry.IntersectAll 2个节点来自动获取该桩号下的O点坐标值(X、Y、高程),其中O点坐标系以该桩号对应的坐标点为基准点,法向方向为X轴,切向方向为Y轴,Z轴向上。其次,通过该桩号沿设计线路方向的法向向量Plane.Normal和Vector.ZAxis进行叉积Vector.Cross,可以得到桩号对应的切向向量;再次,分别计算出右下侧垫石和左下侧垫石平面位置坐标,然后通过Line.ByStartPointEndPoint和Curve.PointAtParameter 2个节点,自动得到每个垫石平面位置坐标值;最后,采用Python script程序分别算出各个垫石的高程值。计算过程中长度单位均应换算以m计。

右下侧垫石平面位置坐标值计算方法如下。

X右下=O.X-Vector法向.X*w2/100+Vector切向.X*(Lr-dk2)/100

Y右下=O.Y-Vector法向.Y*w2/100+Vector切向.Y*(Lr-dk2)/100

左下侧垫石平面位置坐标值计算方法如下。

X左下= X右下+ Vector切向.X*n2*d/100

Y左下= Y右下+ Vector切向.Y*n2*d/100

得到垫石最右侧和最左侧2个点坐标点后,再根据Line.ByStartPointEndPoint和Curve.PointAtParameter,可自动获取直线上的n2个等分点坐标。

各个垫石对应的高程可按照左侧和右侧分别计算得到,方法如下。

最右侧垫石个数=math.ceiling((Lr-dk2)/d)

最左侧垫石个数=n2+1-最右侧垫石个数

通过Python script计算出高程值。其中程序输入端参数为5个,分别为垫石个数num、横坡slope、盖梁基准点设计高程值ele、垫石间距jianju,以及最外侧垫石到设计线距离len;输出结果为各个垫石对应的高程值el,程序计算方法如下。

for i in range(int(num)):

str=(len-i*jianju)

ele1=str*slope/100

el=ele±ele1(左侧为负,右侧为正)

listout.append(el)

因此,根据上述计算,利用Dynamo自动算出每排各个垫石的点位坐标,再利用FamilyInstance.ByPoint和FamilyInstance.SetRotation节点完成垫石模型的自动布置。

2.1.2设计线与脊线分界点不重合

在设计线与脊线分界点不重合情况下,整体式桥梁盖梁布置图见图4。

图4 整体式桥梁盖梁布置图2(尺寸单位:dm)

对于此种情况,可按脊线分界点将垫石划分为在脊线左侧和在脊线右侧2种情况,利用上述桥梁垫石计算方法分别按脊线左、右侧运行2次,完成垫石自动布置。此情况下,左侧垫石总数为脊线分界点左侧垫石个数,设计高程为设计线与盖梁交点处高程;右侧垫石总数为脊线分界点右侧垫石个数,设计高程为脊线与盖梁交点处高程。

2.2 分离式桥梁

对于分离式桥梁,垫石位于设计线一侧,垫石的坐标计算方法与整体式桥梁的计算方法略有区别,下面将针对左幅和右幅桥梁分别进行描述。

2.2.1左幅桥梁

左幅桥梁盖梁布置图见图5。

L-盖梁长度,cm;Lr-盖梁最右侧到设计线距离,cm;dk2-最右侧垫石中心到盖梁边的距离,cm;n2-前排垫石个数;d-前排垫石间距,cm;w2-前排垫石到盖梁设计线的法向间距,cm;D-盖梁最右侧到设计线距离,cm。

盖梁上各垫石坐标值可在Dynamo中通过数学计算方法求出,方法如下。

首先,利用Dynamo读取线路数据生成设计线路;然后,根据桥墩所在的里程桩号和线路起始桩号,通过Curve.PlaneAtSegmentLength和Geometry.IntersectAll 2个节点来自动获取该桩号下的O点坐标值(X、Y、高程),同时,需要用到Geometry.Translate节点,使O点沿切向方向做平移运算,将坐标O换算到盖梁设计线O’点处,平移距离为Lr+D。其中O’点坐标系以该桩号对应的坐标点为基准点,法向方向为X轴,切向方向为Y轴,Z轴向上。其次,通过该桩号沿设计线路方向的法向向量Plane.Normal和Vector.ZAxis进行叉积Vector.Cross,可以得到桩号对应的切向向量;再次,分别算出右下侧垫石和左下侧垫石平面位置坐标,然后通过Line.ByStartPointEndPoint和Curve.PointAtParameter 2个节点,可以自动得到每个垫石平面位置坐标值;最后,采用Python script程序分别算出各个垫石的高程值。计算过程中长度单位均应换算以m计。

右下侧垫石平面位置坐标值计算方法如下。

X右下=O’.X-Vector法向.X*w2/100+Vector切向.X*(Lr-dk4)/100

Y右下=O’.Y-Vector法向.Y*w2/100+Vector切向.Y*(Lr-dk4)/100

左下侧垫石平面位置坐标值计算方法如下。

X左下=X右下+ Vector切向.X*n2*d/100

Y左下=Y右下+ Vector切向.Y*n2*d/100

确定最右侧和最左侧2个点坐标点,再根据Line.ByStartPointEndPoint和Curve.PointAtParameter自动获取直线上的等分点坐标。

垫石对应的高程按照左侧和右侧分别计算,方法同整体式桥梁。

2.2.2右幅桥梁

右幅桥梁盖梁布置图见图6。

图6 右幅桥梁盖梁布置图

盖梁上的垫石的水平位置坐标值和高程值计算方法与左幅桥梁垫石计算方法相同,其中各里程桩号下的O点坐标值(X、Y、高程)需要用到Geometry.Translate节点,使O点沿切向方向做平移运算,将坐标O换算到盖梁设计线O’点处,平移距离为L-Lr+D。

至此,针对互通桥梁的不同设计情况,采用Dynamo编程来实现垫石点位自动计算和自动放置,达到了垫石快速准确生成的目的。

3 桥梁垫石自动布置应用

3.1 工程简介

某互通桥梁由1座左线桥,1座右线桥和13个匝道桥组成。本文以左线桥、右线桥,以及A匝道桥为例,进行垫石自动布置具体描述。某互通桥梁BIM模型见图7。

图7 某互通桥梁BIM模型

3.1.1A匝道

A匝道为整体式桥梁,起止里程为AK0+180.238-AK0+756.784,全长576.546 m。本文以A匝道前2联为例,上部结构采用3×26 m+2×25 m预应力混凝土先简支后连续T梁,下部结构采用桩柱式墩+系梁+盖梁。A匝道垫石参数见表1。

表1 A匝道垫石参数表

通过Dynamo读取表1数据和线路数据,可自动布置A匝道垫石,A匝道垫石自动布置见图8。

图8 A匝道垫石自动布置

3.1.2左线桥梁

左线为分离式左幅桥梁,起止里程为K5+419.244-K7+910,全长2 490.756 m。本文以左线第一联为例,上部结构采用3×31.7 m预应力混凝土(后张)简支连续T梁,下部结构采用桩柱式墩+盖梁,左线垫石参数见表2。通过Dynamo读取表2数据和线路数据,可自动布置左线垫石,左线垫石自动布置图见图9。

表2 左线垫石参数表

图9 左线垫石自动布置图

3.1.3右线桥梁

右线为分离式右幅桥梁,起止里程为K5+403-K6+335,全长932 m。本文以右线第一联为例,上部结构采用5×30 m预应力混凝土(后张)简支变连续T梁,下部结构采用桩柱式墩+盖梁,右线垫石参数见表3。通过Dynamo读取表3数据和线路数据,可自动布置右线垫石,右线垫石自动布置图见图10。

表3 右线垫石参数表

图10 右线垫石自动布置图

3.2 拓展应用

3.2.1支座自动生成

支座采用“公制常规模型”族创建,建模基准点为支座底面中心。通常,支座布置在垫石顶面,通过Dynamo程序计算出垫石的坐标,支座的坐标确定只需将垫石的高度值加上即可算出支座的坐标。通过应用同一套垫石程序,即可实现垫石和支座的自动布置。

3.2.2T梁自动布置

T梁采用“结构框架-梁和支撑”族创建,单跨T梁的首尾定位点为相邻前后一跨垫石的坐标点,可考虑将前一跨垫石坐标和后一跨垫石坐标进行两两分组,再通过Line.ByStartPointEndPoint和StructuralFraming.BeamByCurve节点完成T梁的自动布置,T梁自动布置图见图11。

图11 T梁自动布置图

4 结论

互通桥梁垫石自动布置,需要根据设计路线、桥梁的具体设计形式和垫石参数化模型,应用Dynamo程序,按照设计意图,快速实现垫石自动布置。通过研究得出以下结论。

1)基于Dynamo可适应不同桥梁互通设计形式,完成垫石坐标自动计算,通过参数驱动并快速完成垫石自动布置,该方法可有效提升模型精度和效率。

2)基于Dynamo的垫石自动布置,可以衍生到支座和梁板的自动生成和布置,实现一套程序多构件使用,提高了其应用价值。

3)相较于垫石的传统下部结构建模和布置方法,该方法只需要建立单个构件模型即可,大大降低建模人员对下部结构族模型的嵌套搭建要求。

本文根据3种互通桥梁设计形式,完成了垫石的自动布置。然而,对于主线桥和匝道桥连接处的斜交情况,本文暂未考虑,后续将针对斜交工况进行改进,以满足实际生产应用。

猜你喜欢
坐标值盖梁互通
整体最小二乘法坐标转换在河道测量中的应用
大悬臂双柱预应力盖梁设计的影响因素分析
桥梁预制拼装盖梁结构设计与施工研究
桥梁多柱式盖梁设计与工程实例
编读互通
中日ETF互通“活水来”
探讨Excel2007与ArcGis10.0结合提取小班四至界限的坐标值
宜毕高速陈贝屯互通立交桥
面向VDC组网的VXLAN控制面互通方案探讨
桥梁盖梁计算探讨