考虑预埋槽道的盾构隧道参数化BIM设计研究
2022-07-11齐成龙
齐成龙
中国铁路设计集团有限公司,天津 300308
接触网作为动力供给线,以往多采用后植螺栓的方法安装。该方法存在材质易腐蚀、人工机械打孔造成管片不可逆损伤、施工效率低下、环境污染严重等问题。预埋槽道技术可解决这些问题,地铁项目一般采用全环预埋的方式设置槽道。但是由于结构尺寸大,铁路盾构隧道全环预埋槽道会造成巨大浪费,因此一般采用局部块体预埋的方式。
众多学者开展了以管片排布为核心的盾构隧道BIM 设计方面的研究,并取得丰硕成果。陈曦等[1]基于Revit 软件开发Dynamo 插件,实现区间隧道管片全过程自动拼装。崔晓[2]使用Dynamo 开发可视化脚本程序,在脚本当中进行Revit族文件引用、坐标系旋转,最终自动生成符合线路曲线特征并满足错缝拼装要求的大直径盾构隧道BIM 模型。王晓东等[3]新建Reivt管片族,通过三个自适应参照点实现对管片环空间位置和旋转角度的绑定,完成管片批量BIM设计。
既有研究成果在一定程度上实现了盾构管片三维空间排布设计,但普遍存在自动化程度不足等缺陷,且不适用于局部块体预埋槽道的大直径盾构隧道[4-8]。本文基于 Dassault 平台 CAA 架构开发盾构管片空间排布程序,与Dassault 平台的基础建模功能相结合,实现局部块体预埋槽道的区间盾构隧道BIM 正向设计。
1 盾构隧道参数化BIM设计流程
盾构隧道参数化BIM 设计分为通用管片环BIM建模、管片定位骨架设计、管片环BIM 模型的批量实例化三步。
1.1 通用管片环BIM建模
充分利用Dassault 平台的复杂几何造型功能及其参数化设计优势,创建盾构隧道通用管片环BIM 模型。利用knowledge pattern、rule 等知识工程工具以及EKL 参数化脚本语言,有效解决复杂曲面、孔洞等建模问题。
根据三类管片块的环向分布规律,使用Dassault软件action 知识工程工具,通过EKL 脚本语言命令InstantiateTemplate(),以分块模板类型编号、沿环向起止边界角度为输入参数,快速完成各分块BIM 建模,形成通用楔形盾构管片环参数化BIM模型。
1.2 管片定位骨架设计
基于Dassault平台CAA架构开发盾构管片空间排布程序。该程序的用户交互界面见图1。
图1 程序的用户交互界面
创建盾构管片定位骨架BIM 模型前,需要准备程序输入参数,包括平面左线、隧道理论中心线、断链表、输入数据表等。由于纵向螺栓将管片沿环向均匀划分成若干区域,各区域是相邻管片环相对转动的基本角度单元。输入数据表描述了管片环各块体与环向分区的相对关系,以及基本设计参数。
用户在交互界面的SelectInputSet和SelectOutputSet选择框位置手动选择输入数据和输出结果的几何图形集,并完成其他参数设置后,批量创建管片定位骨架坐标系BIM模型。运行结束后,程序在输出的几何图形集中创建子集OrdinaryAxisGS、SlotEmbeddedAxisGS,分别存储普通管片环、预埋槽道环的定位骨架坐标系BIM模型。
1.3 管片环BIM模型的批量实例化
使用 Dassault 平台中的 Assembly Pattern 功能,分别选择上述程序生成的用于存储定位骨架坐标系BIM模型的几何图形集,以及管片环BIM 模板,自动完成管片环BIM模型的批量实例化。
2 管片空间排布程序
基于Dassault平台CAA架构开发盾构管片空间排布程序,通过用户交互模块、数据存储模块和骨架设计模块实现其功能。用户交互模块用于创建工具条和用户交互窗口;数据存储模块用于输入和输出数据、管片环位置姿态数据的存储和表达;骨架设计模块实现最优管片环位置姿态的筛选功能,并批量创建骨架坐标系模型。以下依次介绍各模块的关键开发技术。
2.1 用户交互模块
管片空间排布程序运行时需要用户手动选择用于存储输入、输出数据的几何图形集以及初始管片定位骨架坐标系,这些都属于用户与程序之间交互的功能范畴。交互界面模块的开发分为创建工具按钮和创建用户交互窗口两部分。
2.1.1 创建工具按钮并与骨架批量建模命令关联
工具条采用Add-in 的方式添加,为了将骨架批量建模功能嵌入到零件设计模块,Add-in 必须首先重载CATIPrtCfgAddin接口的函数。再通过CATAfrCommand Header::CATCreateCommandHeader()成员函数使添加的工具条与骨架批量建模命令关联,以实现在已有零件设计模块中添加按钮,用户点击按钮,即可激活骨架坐标系批量建模命令。
2.1.2 在骨架批量建模命令中嵌入用户交互窗口
首先创建用户交互窗口Dialog 文件,该文件与骨架批量建模命令所在文件相互独立。在骨架批量建模命令文件中,通过对CATMmrPanelStateCmd 类的派生,重载GiveMyPanel()方法,使包含骨架批量建模命令的派生类与Dialog文件关联。对话流程操作是通过重载BuildGraph()方法实现的。
BuildGraph()方法通过命令状态和代理两个关键元素来实现用户在界面中的交互响应[9]。代理的作用是将用户在界面中的交互转化为一种参数输入。本程序使用了 CATDialogAgent、CATPathElementAgent、CATFeatureImportAgent 三种代理,分别用于捕获几何图形集、对象路径和坐标系模型。以代理为核心的命令状态转换流程见图2。
图2 命令状态转换流程
2.2 数据存储模块
2.2.1 管片环的相对旋转角度
理论上讲,在没有任何约束的情况下0 ~360°任何一个角度都可以作为管片环的相对旋转角度,但在实际工程中管片环相对旋转角度需要满足以下四个层级的约束:①相邻管片环的纵向螺栓孔须对齐;②管片须错缝拼接,因为通缝时整体刚度小于错缝,破坏时迅速失稳[10];③封顶块须出现在下方区域,避免封顶块朝下的不利工况[11];④预埋槽道块须位于管片环的正上方。
2.2.2 管片环的旋转位置
为了清晰表达当前管片相对于前一环的旋转位置,以及当前环的绝对旋转位置,建立用于表达管片环旋转姿态的xoy绝对坐标系和x′oy′参考坐标系,见图3。其中:A1—A7,B1—B2,K 分别是管片环的块体编号。A2,A6 为预埋槽道块,纵向螺栓沿环向将管片划分为28个区域。可以看出,管片在环向被等间距的纵向螺栓孔分割,相邻纵向螺栓构成的环向分区代表了最小相对旋转范围。相邻管片环之间的旋转角度只能是该环向分区的整数倍。本程序采用该最小分区的整数倍表征管片之间的相对旋转角度。
图3 绝对坐标系与参考坐标系之间的关系
纵向定位螺栓将盾构管片沿环向划分出n个分区,x′oy′参考坐标系的ox′轴指向正上方,各分区与ox′、oy′轴的相对位置不变。
2.2.3 存储方式
本程序读取表格后,使用TunnelInputClass 类存储xoy绝对坐标系与x′oy′参考坐标系重合时管片环的相对旋转角度序列、管片环下方限制区域、各块体的初始和结束分区的编号等数据。
使用结构体类型的对象TunnelSegmentResultStruct存储每环管片的排布结果。具体包括管片环编号及里程、管片环中心与隧道理论中心线的距离、管片相对于前一环沿顺时针方向的旋转角度(以分区数目的整数倍表达)、当前环K 块所在的分区编号、当前环正上方的块体编号、当前管片是否预埋槽道。
2.3 骨架设计模块
2.3.1 生成管片环相对旋转角度序列
使用GenRotateAreaAvailable()函数,考虑四层约束条件,生成当前管片环相对于前一环的旋转角度序列。本函数的执行流程见图4。
图4 GenRotateAreaAvailable()函数的执行流程
2.3.2 从相对旋转角度序列中筛选最优值
如图5所示,管片环为楔形几何体,假设在其初始端面、前进端面各有一个定位骨架坐标系。这些定位骨架坐标系的x轴指向封顶块,z轴垂直于初始端面或前进端面。管片i+1 相对于管片i的转角可从相对旋转角度序列中选择,围绕初始端面坐标系o1x1y1z1的z1轴旋转,得到与每个相对旋转角度对应的前进端面坐标系o2x2y2z2,生成的每个前进端面坐标系原点都是一个试算点。
图5 相邻管片环未发生相对旋转时端面坐标系示意
管片i+1 初始端面坐标系o3x3y3z3的原点与所有可能的前进端面坐标系o4x4y4z4的原点(也就是试算点)构成一个圆锥形(图6)。从所有可能的试算点中选择最靠近隧道理论中心线的一个,其对应的相对旋转角度就是管片环i+1相对于管片环i的最优旋转角度。
图6 初始端面坐标系、隧道理论中心线与试算点几何关系示意
2.3.3 根据最优旋转角度生成管片定位骨架
已知管片i,确定i+1 及后续各管片的位置需要两个关键步骤:①将管片i+1 的初始端面坐标系o3x3y3z3绕z3轴旋转;②建立每个管片环初始端面坐标系与前进端面坐标系的相互关系。
1)坐标系绕z3轴旋转
分别通过 GetOrigin()、GetDirections()成员函数获取坐标系的原点和方向向量,将其作为输入参数。调用构造函数生成CATMathLine 线对象,将其作为旋转轴,生成CATMathTransformation 空间变换对象。调用该对象的成员函数ApplyToAxis()完成CATMathAxis类型坐标系的旋转操作。
2)从初始端面坐标系生成前进端面坐标系
如图7所示,根据楔形量w和管片环外径d确定楔形角度θ。将初始端面坐标系x3o3z3先绕y轴顺时针旋转θ度,然后沿z轴平移标准幅宽s,再绕y轴顺时针旋转θ,得到前进端面坐标系x4o4z4。
图7 管片径向剖面
3 工程应用
广湛(广州—湛江)高速铁路湛江湾海底隧道为250 km/h 双线盾构隧道,全长8.5 km,位于湛江市区,最大埋深约31 m。出于精细化设计和信息化建设管理需求,对该隧道开展BIM设计。
纵向螺栓将管片划分为28 个环向分区。10 个块体与分区的关系见表1。第4列“是否预埋”中“1”表示当前块体为预埋槽道块,否则是常规块体。
表1 10个块体与分区的关系
使用Dassault 软件创建盾构管片环精细化BIM 模型,每个管片环所包含的封顶块、标准块、邻接块三种块体模型见图8。
图8 每个管片环的三种块体模型
以隧道理论中心线、空间左线为输入条件,读入数据表,开展管片定位坐标系批量建模,继而使用Assembly Pattern 功能,完成管片环模型实例化,在Dassault平台实现区间盾构隧道BIM设计。
每个预埋槽道环包含4 号、8 号两个预埋槽道块(参见表1)。BIM 设计成果见图9。其中预埋槽道块用紫色标识,各管片环错缝拼接,预埋槽道环按预定间距沿纵向布置。对于每一个预埋槽道环,可以保证其两个预埋槽道块中的一个位于正上方,从而满足接触网等四电设施的基础预埋要求。
图9 广湛高速铁路湛江湾海底隧道BIM模型
4 结论
针对盾构管片三维空间BIM 设计存在的自动化程度不足、不适用于局部块体预埋槽道的大直径盾构隧道等问题,本文基于Dassault 平台CAA 架构开发管片空间排布程序,实现了考虑局部块体预埋槽道的区间盾构隧道BIM设计。
本程序包含用户交互、数据存储和骨架设计三个重要模块。用户交互模块通过Add-in 和代理机制创建工具条及用户交互窗口。数据存储模块以纵向定位螺栓的环向分区为基准,建立xoy绝对坐标系和x′oy′参考坐标系,存储和表达管片环的位置及姿态数据。骨架设计模块考虑多层次约束条件,计算管片环的相对旋转角度序列,以端面坐标系原点最接近隧道理论中心线为原则,筛选出最优的管片环相对旋转角度,批量创建管片定位骨架坐标系模型。
使用Dassault 平台的模型实例化等功能,并结合本程序,成功实现了广湛高速铁路湛江湾海底隧道BIM设计。