基于.NET的铁路站场路基边坡附属工程数量计算软件设计与实现
2023-09-20杨文成乔俊飞张小虎
霍 磊,杨文成,郑 玢,乔俊飞,张小虎
(中铁工程设计咨询集团有限公司,北京 100073)
铁路站场路基边坡具有整体规模大、设计原则复杂、设计标准较多、工程投资在整体项目投资中占比较高的特点[1-2]。尤其是复杂山区的铁路项目,地形地质条件差,边坡防护设施设计尤为复杂,整体附属工程数量多且不具备一定的统计规律性,人工计算需要耗费大量的人力及时间。因此,在工期较为紧张的设计阶段,能够快速准确地对边坡附属工程量以满足专业间协同需求的格式计算和输出是有必要的[3]。
当前,针对铁路站场路基边坡附属工程数量的计算方法通常是依靠人工量取边坡长度信息后对其判断处理,手动计算后整理输出。而铁路站场路基横断面具有坡面多、分级多及坡率多等特点,此外,需要统计的材料类别繁多,如植草、空心砖、客土、骨架镶边、骨架踏步、沥青麻筋等[4-6]。进行边坡附属工程数量计算时,需要人工量取横断面中每一面坡每个等级的边坡长度,并根据边坡填土高度判断采用何种设备及防护措施,手动填入相应的表格进行计算,计算出各自的工程量后,调整格式进行资料提取。该方法整体效率低,对于断面多且密的项目极易产生误差甚至错误。
综上,本文基于VB.NET程序框架,对AutoCAD进行了二次开发,研发一套铁路站场路基边坡附属工程数量计算软件(简称:本文软件)。实现了站场路基边坡信息自动提取和快速计算,可输出符合专业间协同需求的工程数量成果文件。
1 软件开发思路
本文以铁路站场路基边坡信息快速提取为切入点,通过自动化处理铁路站场路基横断面图,在AutoCAD中提供全面而高效的边坡附属工程数量快速计算的解决方案。软件开发思路如图1所示。
图1 软件开发思路
(1)路基边坡信息提取:利用特征识别技术,从横断面图中准确提取出路基边坡的关键信息,包括断面里程、边坡几何特征等,并以数据库格式存储。
(2)数量计算及整理:内置边坡附属工程数量计算方法,基于提取的数据信息进行自动化计算,并以规范化、协同化的格式存储。
(3)用户界面设计:封装提取及计算过程,设计用户界面,提供简单直观的操作流程和交互方式,使用户能够自定义计算方法以满足项目实际需求。
2 软件设计
2.1 路基边坡信息提取
某铁路站场中心位置路基横断面如图2所示,图中,里程信息为“DK29+480”。本文软件根据横断面图中独有的文字属性、颜色属性及含有“DK”字符串等特征,进行内容提取并存储至数据库中;同时,根据路基边坡独有的直线属性、颜色属性及坡度属性等特征,提取其顶点坐标等基础信息,并基于基础信息计算边坡长度、坡度及方向等几何信息,存储至数据库中。
图2 站场路基横断面
2.2 工程数量计算及整理
路基边坡防护种类繁多,包括骨架镶边、植草、紫穗槐、客土、碎石垫层、挖槽土及土工格栅等。依据铁路工程建设通用参考图《铁路路基边坡防护(一般地区)图号通路(2015)4401-1》确定部分计算指标[7],相关计算指标及算法如表1所示。表中,S为路基边坡面积,单位:m2;L为路基边坡长度,单位:m。
表1 工程数量指标及计算方法
计算后对计算结果进行整理,以规范化、满足专业协同需求的格式进行存储和输出,从而为项目提供详尽、精确的工程数量与规格信息。
2.3 交互界面设计
受设计阶段、铁路标准及所处地区等条件的影响,铁路站场路基边坡附属工程的设计及相应的计算指标有所不同[8]。因此,在计算过程中用户需要根据项目实际,实时修改计算指标、特征参数等。本文软件交互界面设计如图3所示。
图3 软件交互界面
交互界面的内容包括输入端、输出端及启动项,用户可根据项目实际,在输入端对计算指标进行自定义,运行完毕后,计算结果将在输出端显示,同时可导出满足专业间协同需求的成果文件。
3 功能及实现
3.1 信息提取与存储
获取每个路基断面的边坡长度并与里程信息相对应是信息提取及存储功能的关键。铁路站场路基横断面图纸中,每个里程的横断面图形包含了大量的图形、文字等元素,将这些元素按照特征属性筛选并提取出路基边坡信息的步骤如下。
(1)以图形类型、颜色特征为筛选条件,过滤、删除图形元素中的文字、地面线及股道等元素,仅保留路基体外边线,如图4所示,此时图形中的元素类型仅包含多段线元素,并且整个路基边线为一个整体。
图4 第1次过滤筛选后图形包含元素
(2)将路基边线元素打断,使得路基边坡变为独立的直线元素;再以坡度作为筛选条件,过滤掉其他直线,此时模型空间中的元素仅包含路基边坡元素,如图5所示,灰色部分表示被筛除的元素。
图5 第2次过滤筛选后图形包含元素
(3)在模型空间分别提取边坡直线元素的起/终点坐标存入数组作为过程参数,并利用坐标信息计算边坡长度、边坡坡度及边坡方向,再次存入数组并删除过程参数,将计算结果与里程对应,并排序后存入数据库中。
通过以上步骤可实现从包含复杂元素的路基横断面图中按照里程顺序提取并存储边坡信息的功能,为之后边坡附属工程数量计算提供准确的计算参数,从而代替人工量取工作,更大程度地消除偶然误差造成的影响。
3.2 多级边坡识别计算
在复杂山区铁路的设计过程中,高填方路基与深挖方路堑工况较为普遍,路基边坡往往需要分级设置,在边坡信息的提取过程中需要将同一坡面不同等级的边坡长度进行累加计算,本文软件将同一坡面不同等级的边坡长度自动识别并进行累加计算。存在多级边坡的横断面如图6所示,经过过滤筛选后,图面注释及地面线等无关元素已筛除,左侧坡面为两级边坡,右侧坡面为单级边坡。
图6 含多级边坡的横断面示例
图6中,不同坡面端点间距最短为D,即路基表面的宽度;属于同一坡面的相邻边坡端点间最小间距为d,即边坡平台的宽度。依据文献[9]《铁路车站及枢纽设计规范》(TB 10099-2017),边坡平台宽度不大于路基顶面宽度。基于这一理论,多级边坡识别计算步骤如下。
(1)根据铁路站场路基设计原则预先设定最小间距d的值,作为判定基准。
(2)分别计算各相邻独立边坡直线端点间的最小距离,将其与d进行比较,若最大距离不大于d,则将两个独立边坡直线判定为同一坡面,同时对长度进行累加,否则判定为不同的坡面。
(3)将路基边坡信息存入数组,并将计算结果与里程对应,排序后存入数据库中。
3.3 成果文件生成
不同阶段、不同标准项目路基边坡附属工程设计原则通常不一致[10-12],各数量类型计算指标也不同,为避免对源代码的反复修改,须满足软件用户对计算指标、筛选类等输入端参数的自定义修改需求,其主要的实现步骤如下。
(1)应用VB.NET程序框架下的窗体功能对用户界面进行排版设计,主要包含输入端、输出端、运行按钮及标签注释等。
(2)在运行按钮内写入编写的代码,包含提取方法、数量计算方法及导出协同格式数据库的方法等。
(3)将代码中内置的各类路基边坡附属工程数量计算指标参数,连接到窗体界面输入端建立的输入文本框中进行显示。
(4)在代码中将各分段内路基边坡附属工程数量的计算结果求和,求和结果连接到输出端建立的输出文本框中进行显示。
(5)生成解决方案,以.exe格式保存。
用户需要根据界面注释进行环境配置,将站场路基横断面图纸文件与软件保存至预先设置好的路径之下,打开软件设置相应的计算指标等参数,运行软件即可进行全过程计算,最终导出的数量成果协同格式文件如表2所示,该文件格式符合铁路站场专业与其他专业的协同需求[13-15]。
表2 数量成果协同格式文件示意
4 结束语
本文设计的铁路站场路基边坡附属工程数量计算软件基于AutoCAD软件二次开发,利用路基边坡信息提取、多级边坡识别计算、通用界面设计及封装等技术,实现了对站场路基边坡附属工程数量的快速计算和输出,输出成果格式符合站场专业与接口专业的协同需求。通过在多个铁路项目实际生产过程中的应用验证表明,本文软件可大幅度降低设计人员的工作量,减轻了人为误差的影响,提高了设计精度和效率,具有较强的工程实用性。