在桥梁工程中,预应力混凝土连续箱梁为最常见的桥梁上部结构形式,本工程利用设计院提供道路和桥梁平面图与纵断面图纸数据,采用 Grasshopper 创建桥梁中心线,使用 CAD 图纸箱梁截面,通过 Grasshopper 编写节点电池联动桥梁中心线与箱梁截面,调整参数确定不同里程截面形状进行模型创建,流程如图 。 1. 创建箱梁中心线
1. 创建箱梁中心线
以项目线路圆曲线上 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 ,以此类推,求出整个连续箱梁所有截面变化处的里程。
其次,根据箱梁截面轮廓线的里程求出截面轮廓线和箱梁三维中心线的交点。
创建平面投影曲线的方法为首先获得圆曲线的起点和终点坐标,将两个点的 Z 方向坐标值改为零即可创建对应在 XY 平面上的点坐标,再以此两点坐标偏移一段距离即可创建四个点,以这四个点创建 XY 平面;接着将三维中心线投影到该平面上。
根据上面的求出的箱梁截面轮廓线里程找出在平面投影曲线的对应的点,在这些点处创建一条垂直于 XY 平面的直线,该直线和箱梁三维中心线相交,得到的交点就是各个箱梁截面轮廓线应该放置的位置,也就是箱梁截面轮廓线和箱梁三维中心线的交点。
4. 对齐导入的箱梁设计截面轮廓线
箱梁截面轮廓分为实心段和空心段,下面分别介绍实心段和空心段轮廓线放置到箱梁中心线对应位置的流程。
实心段只包含一条闭合轮廓线,只需将轮廓线移动到设计位置即可。首先选择箱梁设计截面轮廓线,将轮廓线从平面上转到立面上,即在 XZ 平面旋转 90 度;设计截面轮廓线已标出道路设计中心线中心线和轮廓线的交点,以该点为基点将轮廓线移动到箱梁三维中心线上对应的位置。
求出该截面轮廓线对应交点的切线,将截面轮廓线旋转到和该切线方向相同的位置。通过 查看图纸上给出的截面轮廓线和中心线的夹角,将轮廓线根据这个夹角转到指定设计位置。
空心段包含 10 个箱室,内部箱室加上外部轮廓,闭合的截面轮廓线有 11 个,如果还是采用上面的方法移动的设计值位置,使用的电池程序将会非常多,而且都是重复的流程,所以为了使减少电池的使用,采用 C# 节点电池,编写一段程序,把 11 个轮廓线存储到一个集合中,在集合中使用代码遍历来拿出每一条闭合的轮廓线,这样 11 条轮廓线就可以依次移动箱梁中心线的设计位置。剩下的流程和上面移动实心段轮廓线的流程一致,这里不再赘述。 下面是将 11 条轮廓线存储到集合并且进行遍历的代码:
5. 创建箱梁实体模型
通过箱梁中心线和箱梁截面轮廓线分别创建箱梁外轮廓实体和内箱室实体,通过外轮廓实体和内箱室实体进行差集运算实现设计箱梁实体模型。 箱梁外轮廓实体的生成需要首先选择箱梁中心线和两个截面轮廓线,利用扫略功能先生成曲面,然后利用加盖功能生成实体。
箱梁内箱室共有 10 个箱室,一跨箱梁每个箱室都有 4 个截面轮廓线,所以首先需要将每个箱室的 4 个截面轮廓线添加到一个列表中,利用这个列表存储的轮廓线和箱梁中心线利用扫略功能先生成曲面,然后利用加盖功能生成实体,剩下的内箱室实体依次类推全部完成内箱室实体的创建。
最后利用软件实体差集剪切功能把外轮廓实体和内箱室实体进行差集运算,得到和设计图纸一致的三维实体实体模型。
箱梁模型创建全部程序
本文通过探索 Grasshopper 在预应力砼连续箱梁参数化快速建模中的应用思路,并通过工程案例落地应用,详细描述了连续箱梁参数化建模思路与方法。利用测量员软件计算道路和箱梁中心线数据,保证了桥梁中心线准确与易用,通过 Grasshopper 编写箱梁生成节点程序,达到了箱梁模型快速生成的目标,还可以通过数据更新快速修改模型,实现了参数化建模的效果。
桥梁工程其他构件例如防撞护栏、支座、盖梁、桥墩、承台和桩基等构件以及道路铺装层也可以通过 Grasshopper 开发程序实现整个桥梁参数化建模的效果。 Grasshopper 建模与传统 Revit 建模方法相比,弥补了 Revit 对异形曲面支持差的缺点,通过数据驱动创建模型,大大提升了建模效率,为道路和桥梁工程 BIM 技术应用提供了有力的工具。