陈炯伟 李付伟
(中铁大桥局集团第一工程有限公司,河南 郑州 450000)
随着科技的进步,社会的发展,近年来桥梁建设尤其长距离桥梁建设越来越多。 与此同时,施工机械也在不断发展,使得施工进度越来越快,这就要求施工测量人员有高效率数据处理能力, 计算结果质量高, 以确保施工质量。 大部分桥梁施工坐标是通过EXCEL 编制公式计算或用卡西欧fx-5800P 编写坐标计算程序,效率低,数据质量得不到保证[1]。 笔者结合多年的施工经验,研究了一种断面定义算法, 并利用C++开发环境开发了一套桥梁坐标计算软件,在施工中应用高效而准确。
平曲线最基本的线型元素是圆曲线和缓和曲线,在线路坐标计算中每个施工测量人员必须掌握线型元素知识,它是计算的核心[2]。 在本软件中用最基本的线型计算参数和计算公式作为数学模型。
(1)切线角公式
β 为缓和曲线长l 所对应的中心角。
(2)缓和曲线角公式
(3)缓和曲线的参数方程
β=180°/π×L/R(L=βπR/180°),弧长公式中β 为圆心角。 △X=sinβ×R,△Y=(1-cosβ)×R,C=弦长,X=X1+cos(α±β/2)×C,Y=Y1+sin(α±β/2)×C,β 代表偏角,即弧上任一点所对的圆心角。 β/2 是所谓的偏角(弦长与切线的夹角)。△X、△Y 代表增量值,X、Y 代表准备求的坐标,X1、Y1 代表起算点坐标值,α 代表起算点的方位角,R 代表曲线半径。
式中,X0、Y0为起点坐标,L 为里程差,C 为切线方位角。
C++语言支持面向对象的程序设计, 与C 相比提供了更好的类型检查机制, 提供了更好的结构化程序设计技术[3];C++语言与其他面向对象的程序设计语言相比,最重要的优点是程序的执行效率高;C++可以最充分地利用面向对象编程(OOP)的优势。 OOP 可以用模块化方法进行编程,从而避免每次从头开始。 构件还可以扩展,通过继承生成具有新功能的新构件。 软件利用了C++面向对象强大的语法功能类,类中的数据具有隐藏性,类还具有封装性,也具有代码的重用性,定义类有利于代码的有效管理,而且C++语法简单易用,开发效率高[4]。 在代码编写中定义了data 类和Qxcalculate 类, 所有的成员变量和方法都在该类中实现。 开发平台选用Visual C++6.0 功能强大的可视化软件开发工具。
本软件中模块:文件管理模块,曲线参数输入模块,数据录入模块,计算模块。
为了更有效地处理数据,设计出好的算法,编写出结构清晰而且效率高的程序,必须研究数据的特性、数据间的相互关系及其对应的存储表示, 并利用这些特性和关系设计出相应的算法和程序, 好的算法, 使程序效率较高。
本程序定义数据结构如下:
(1)曲线参数:public struct Pqxcs。
(2)孔跨定义:public struct Qlccs。
(3)断面定义:public struct ZzzwDuanMianCs。
(4)数组(Array)。
软件开发的数据录入中数据格式的验证采用语言中的正则表达式, 正则表达式是一种高效的数据匹配验证方法,可对录入的数据进行有效性验证。 正则表达式是一种文本模式,包括普通字符(例如a 到z 之间的字母)和特殊字符(称为“元字符”)。 模式描述在搜索文本时要匹配一个或多个字符串。
软件中正则表达式的验证代码:
//正则表达式1
//正则表达式2
软件计算坐标的主要算法: 本软件主要采用断面定义法来计算桥梁下部结构坐标(钻孔桩,承台,墩身),将同种桩型断面定义为一种编号。 首先计算设计线路中心线坐标X、Y,再计算参考线中线(待求点位所在中线)坐标X、Y。 在施工中实际情况是,有些设计线路中线与线路中线不重合(如双线设计)。 本软件所有参数为设计线路参数,并在计算过程中设有线间距输入对话框,线路中线在设计线路左(右)侧,线间距输入正(负)距离,软件会自动判读归算到计算点的参考中心线上。 考虑到有缓和曲线的线路计算中坐标精度问题, 算法采用在第二缓和曲线计算先通过第一缓和曲线的起点坐标(X,Y),起点方位角(C)计算交点(JD)坐标(X,Y),再通过交点坐标(X,Y),转角(β),切线长(T)计算第二缓和曲线终点坐标(X,Y)和方位角(C),然后通过里程(K)反推计算中线坐标(X,Y),这样计算得到的中线坐标精度非常高。 其主要函数定义代码如下。
第二缓和曲线坐标计算函数实现代码如下:
圆曲线坐标计算函数实现代码如下:
通过编辑计算点距中线(中心点)的横向偏距Hoff,纵向偏距Voff,断面编号来计算坐标。 本软件考虑到在实际工程桥梁设计中参考线与线路中心线有任意夹角(一般设计90°)的情况,在算法当中定义了墩切线计算,可计算实际任意角的参考切线方位角, 使得软件在计算中具有通用性。 实现代码如下:
计算公式:先设一标志量,fangweizb。 如果Voff>0,则
具体包括软件启动封面设计,软件框架设计,按钮设计,面板设计,菜单设计,标签设计,图标设计,滚动条及状态栏设计,安装过程设计。
以实际工程项目中一段数据为实例进行计算, 平曲线参数如下。
孔跨定义文件,钻孔桩,承台,墩身断面定义文件可通过EXCEL 编辑,计算结果如下。
?
软件通过实际施工中项目部分数据得出的结果与用其他方法计算的结果对比如下表所示, 观察差值可知数据计算结果准确无误。
软件计算坐标与设计坐标对照表
?
在工程施工测量中桥梁计算及图纸复核是必不可少的工作, 对施工设计图的审核即是对设计单位设计成果的质量控制, 也能纠正参与建设活动的各方的不规范行为。 而且图纸审核是在施工图设计文件之后,交付施工之前,基本上可以杜绝设计图的设计质量隐患,有效避免各种损失,保证建设的质量。 现在施工设备及工艺越来越先进,施工速度越来越快,要求测量人员快速而准确地计算出现场测量放样数据。 本软件在计算中采集的数据量较少,使用者把主要工作放在图纸复核和计算要素统计上,主要整理墩中心里程、夹角、要计算的断面,整个计算集成化,自动进行运算,速度快,不需要人工参与,给施工测量人员带来极大方便。
[1]张正禄.工程测量学[M].武汉:武汉大学出版社,2005-10-01.
[2]熊春宝.测量学[M].天津:天津大学出版社,1996.
[3]谭浩强.C++程序设计[M].中国铁道出版社,2006-3-1.
[4](美)(MarkAllenWeiss)维斯.数据结构与算法分析C++描述E[M].人民邮局出版社,2007.