“转自:结构设计-公众号“
在桥梁工程中,预应力混凝土连续箱梁为最常见的桥梁上部结构形式,本工程利用设计院提供道路和桥梁平面图与纵断面图纸数据,采用Grasshopper创建桥梁中心线,使用CAD图纸箱梁截面,通过Grasshopper编写节点电池联动桥梁中心线与箱梁截面,调整参数确定不同里程截面形状进行模型创建,流程如图。
1.创建箱梁中心线 预应力砼连续梁中心线是一条三维空间曲线,首先根据图纸的平曲线位数据表和纵断面设计图中的数据,计算出道路中心线各桩号里程的坐标,Grasshopper利用这些里程的坐标创建道路中心线,再根据道路中心线求出箱梁中心线。 以项目线路圆曲线上R110-R113预应力混凝土连续箱梁为例。首先使用测量员软件录入项目平曲线位数据表和纵断面设计图中的数据,求出圆曲线的缓圆点、曲中点和圆缓点的坐标,利用这三个点的坐标创建圆曲线道路中心线,再根据道路中心线创建箱梁中心线。
2.导入CAD截面 在Grasshopper软件中,箱梁模型生成原理为将箱梁截面轮廓线按照其所在的里程放置在对应的箱梁中心线上,通过每个截面的轮廓线确定截面形状,然后进行扫略生成箱梁外轮廓实体和内箱室实体,利用外轮廓实体和内箱室实体进行实体差集运算生成箱梁设计实体模型。 第一步导入箱梁截面轮廓图。利用Rhino导入R110-R113箱梁CAD截面轮廓图,图纸默认导入到Rhino平面视图中。
3.计算箱梁各截面轮廓线和中心线的交点 首先,根据图纸求出箱梁各截面轮廓线所在的里程。R110的桩号里程为K0+343.000,伸缩缝宽度为0.06m,R110-R113箱梁起点里程为343.030;箱梁实心段长度为1.5m,则箱梁空心段起点里程为344.53,以此类推,求出整个连续箱梁所有截面变化处的里程。
其次,根据箱梁截面轮廓线的里程求出截面轮廓线和箱梁三维中心线的交点。 箱梁中心线是一条三维曲线,线路里程是二维平面上中心线上距离的表达,所以需要将三维的箱梁中心线投影到XY平面上,得到一条箱梁二维平面投影曲线。 创建平面投影曲线的方法为首先获得圆曲线的起点和终点坐标,将两个点的Z方向坐标值改为零即可创建对应在XY平面上的点坐标,再以此两点坐标偏移一段距离即可创建四个点,以这四个点创建XY平面;接着将三维中心线投影到该平面上。
根据上面的求出的箱梁截面轮廓线里程找出在平面投影曲线的对应的点,在这些点处创建一条垂直于XY平面的直线,该直线和箱梁三维中心线相交,得到的交点就是各个箱梁截面轮廓线应该放置的位置,也就是箱梁截面轮廓线和箱梁三维中心线的交点。
4.对齐导入的箱梁设计截面轮廓线 箱梁截面轮廓分为实心段和空心段,下面分别介绍实心段和空心段轮廓线放置到箱梁中心线对应位置的流程。 实心段只包含一条闭合轮廓线,只需将轮廓线移动到设计位置即可。首先选择箱梁设计截面轮廓线,将轮廓线从平面上转到立面上,即在XZ平面旋转90度;设计截面轮廓线已标出道路设计中心线中心线和轮廓线的交点,以该点为基点将轮廓线移动到箱梁三维中心线上对应的位置。
求出该截面轮廓线对应交点的切线,将截面轮廓线旋转到和该切线方向相同的位置。通过查看图纸上给出的截面轮廓线和中心线的夹角,将轮廓线根据这个夹角转到指定设计位置。
空心段包含10个箱室,内部箱室加上外部轮廓,闭合的截面轮廓线有11个,如果还是采用上面的方法移动的设计值位置,使用的电池程序将会非常多,而且都是重复的流程,所以为了使减少电池的使用,采用C#节点电池,编写一段程序,把11个轮廓线存储到一个集合中,在集合中使用代码遍历来拿出每一条闭合的轮廓线,这样11条轮廓线就可以依次移动箱梁中心线的设计位置。剩下的流程和上面移动实心段轮廓线的流程一致,这里不再赘述。下面是将11条轮廓线存储到集合并且进行遍历的代码:
private void RunScript(object x, ref object A) { Curve c = x as Curve; List curves.Add(c); foreach(var item in curves) { A = item; } }
轮廓线移动到中心线设计位置电池程序 5.创建箱梁实体模型 通过箱梁中心线和箱梁截面轮廓线分别创建箱梁外轮廓实体和内箱室实体,通过外轮廓实体和内箱室实体进行差集运算实现设计箱梁实体模型。箱梁外轮廓实体的生成需要首先选择箱梁中心线和两个截面轮廓线,利用扫略功能先生成曲面,然后利用加盖功能生成实体。 箱梁内箱室共有10个箱室,一跨箱梁每个箱室都有4个截面轮廓线,所以首先需要将每个箱室的4个截面轮廓线添加到一个列表中,利用这个列表存储的轮廓线和箱梁中心线利用扫略功能先生成曲面,然后利用加盖功能生成实体,剩下的内箱室实体依次类推全部完成内箱室实体的创建。
最后利用软件实体差集剪切功能把外轮廓实体和内箱室实体进行差集运算,得到和设计图纸一致的三维实体实体模型。
箱梁模型创建全部程序
本文通过探索Grasshopper在预应力砼连续箱梁参数化快速建模中的应用思路,并通过工程案例落地应用,详细描述了连续箱梁参数化建模思路与方法。利用测量员软件计算道路和箱梁中心线数据,保证了桥梁中心线准确与易用,通过Grasshopper编写箱梁生成节点程序,达到了箱梁模型快速生成的目标,还可以通过数据更新快速修改模型,实现了参数化建模的效果。
桥梁工程其他构件例如防撞护栏、支座、盖梁、桥墩、承台和桩基等构件以及道路铺装层也可以通过Grasshopper开发程序实现整个桥梁参数化建模的效果。Grasshopper建模与传统Revit建模方法相比,弥补了Revit对异形曲面支持差的缺点,通过数据驱动创建模型,大大提升了建模效率,为道路和桥梁工程BIM技术应用提供了有力的工具。
The End
来源:犀牛参数化云平台,作者田路路,如有侵权请联系我们。
转自:结构设计-公众号
公众号:MyStructure
“转自:结构设计-公众号”公众号,致力于推广建筑结构新理论、新技术、新工艺、新材料及大量工程实例,介绍建筑结构知识和行业资讯,搭建一个建筑结构行业交流的平台。