基于AutoCADHintCAD的缓和曲线检测系统的研究
作者:王晓东 邓兵 陈天幸
来源:《城市建设理论研究》2013年第09
        摘要在路线和立交线形设计软件中,纬地道路(HintCAD)较为流行。本文基于Visual Basic语言,通过读取纬地平面线形文件,利用AutoCAD的二次开发功能,检测平面线形中的缓和曲线长度及其参数的设计是否满足规范要求。
        关键词:缓和曲线长度;缓和曲线参数;AutoCAD二次开发;纬地
        Abstract: HintCAD is more popular in designing software of route and interchange. Based on Visual Basic programing language, the paper takes advantage of the function of further development of AutoCAD to detect the length of transition curve to ensure compliance with the specification through analyzing the road alignment file of HintCAD.
        Key word: the length of transition curve; the Parameters of transition curve; further development of AutoCAD; HintCAD
        中图分类号: U216.42+6 文献标识码: A 文章编号:
        在路线平面设计中,设计人员往往是定性地给出缓和曲线的长度及其参数,当然对于经验丰富的设计者来说,缓和曲线长度及其参数A通常能够满足规范要求;但是对于经验较少的设计者来说,往往不能准确把握缓和曲线长度及其参数,从而可能导致缓和曲线不能很好的适应超高过渡或造成前后线形不协调。本文旨在针对这一问题,通过读取纬地的平面线形文件,获取缓和曲线长度、起点半径和终点半径,根据《公路路线设计规范》和相关设计细则中关于缓和曲线的设计要求,对设计的缓和曲线长度及其参数进行检验,为设计人员提供技术支持。
        1、缓和曲线的作用
        1)曲率连续变化,便于车辆遵循;
        2)离心加速度逐渐变化,旅客感觉舒适;
        3)超高及加宽逐渐变化,行车更加平稳;
        4)与圆曲线配合,增加线形美观。
        2、缓和曲线的长度及其参数设计要求
        缓和曲线长度应满足超高过渡的需要,双车道公路最小超高过渡段长度的计算公式如下式所示:
        式中:Lc─最小超高过渡段长度(m)
        B─未设硬路肩的公路,B值为旋转轴至行车道外侧边缘的宽度(m);设有硬路肩的公路,B值为旋转轴至硬路肩外侧边缘的宽度(m)
        △i─超高坡度与路拱坡度代数差()
        P─超高渐变率。
        由上式计算的超高过渡段长度,应取为5m的整倍数,并不小于10m。一般在确定缓和曲线长度时,已考虑了超高过渡段所需的最短长度,故应取超高过渡段Lc与缓和曲线长度Ls相等,即Lc=Ls。一般的,缓和曲线长度不应小于计算的最小超高过渡段长度。
        特别的,当VD≥60km/h时,缓和曲线还应满足下列要求:
        1)缓和曲线长度应保证汽车在缓和曲线上至少有3s行驶时间;
        2)缓和曲线曲率的变化宜与汽车行驶的离心加速度变化相适应;
字符串长度计算工具
        3)缓和曲线长度取值应避免因超高过渡而引起的路面旋转角速度变化而令人不适;
        4)缓和曲线的参数宜符合R/3≤A≤R(当R100m左右时,通常取A=R;如果R小于100m,则A≥R,当R较大或接近3000m时,A选择R/3,当R大于3000m时,AR/3)。
        3、纬地平面线形数据文件
        纬地平面线形数据文件后缀为pm,为纯文本格式,文件格式如下:
        HINTCAD5.8_PM_SHUJU_PM
        3 NULL NULL 0.0000
        0 24685.4100 3885377.887470 97873.170100 3885744.8030 96147.7740
        1 0.0000 2397.3680 0.0000 5500.0000 5500.0000 3
        3885744.8030 96147.7740 3886000. 2758 94946.4294 3886742.53 98 93967.8899 3891124.5060 97291.7990
        24685.4100 27102.1743 4.92192335 5.36133504
        文件从第四行开始,每三行为一组表示线形中每一曲线段的数据。其中第一行分别为曲线段的 ZPSARORD 值和曲线段类型编号;第二行分别为曲线段诸多控制点的坐标;第三行分别为曲线段的起点桩号、终点桩号、起始点的方位角、终止点的方位角。
        4、数据库技术
        系统采用模块化设计的思路,将圆曲线半径超高值及超高渐变率等基础数据存放在数据库,便于集中管理。
        在众多的数据库管理工具中,Microsoft Access是一种功能强大,易于掌握的数据库开发工具,具有强大的数据库引擎,安全性可靠,是目前最为普通的办公软件。Access数据库便于文件的归类保存和管理,提供多种事件生成方式,提供功能强大的向导。用户可以通过Microsoft Access提供的开发环境及工具,方便地构建数据库应用程序。
        5、系统开发工具
        目前AutoCAD 的开发工具主要包括:Auto lispARX VBA等几种。VBA VB 的一个子集,很好地继承了Visual Basic语言易学、易用的特点。VBA依附于主应用程序AutoCAD,由于共享内存,它与主应用程序的通信简单而高效,具有更快的执行速度,且其语法结构简洁,便于用户快速高效的开发出适用的应用软件。且考虑到对数据库的读取,系统采用AutoCAD VBA作为开发工具。
        6、系统流程结构
        1 系统流程结构图
        7、系统开发流程
        1)读取平面数据文件,从纬地平面数据文件的第四行开始读取,将线元为缓和曲线的数据存放到公共变量中,并记录当前读到的文件行位置。
        首先定义函数file_read(),来读取指定文件的指定行的内容,并返回该行的字符串。
        Function file_read(ByVal pmfile As String, ByVal l As Long) As String
        Open pmfile For Input As #1
        …
        Close #1
        file_read = st
        End Function
        定义data_store()函数,读取缓和曲线数据到公共变量中。
        If file_read(pmfile, l) "-1" Then
        qxypx = Split(file_read(pmfile, l - 3))(0)
        hxypx = Split(file_read(pmfile, l + 3))(0)
        End If
        2)利用Access数据库查缓和曲线前后半径对应的超高值、超高渐变率,根据缓和曲线计算模型计算出当前缓和曲线所需的最小长度和参数,检验其长度和参数是否满足规范要求。
        定义data_query(ByVal r As Double)函数,查询超高值和超高渐变率,并保存到公共变量中。
        If Adodc1.Recordset.RecordCount 0 Then
        qqxcg = Adodc1.Recordset.Fields("cg")
        End If
        3)接着读取平面文件,重复(1)、(2)直到文件末尾,最终将结果显示出来。
        至此,该系统功能基本实现。
        8、运行界面与运行结果
        输入界面和运行结果如图2所示。
        2 运行界面
        参考文献
        [1] 杨少伟.道路勘测设计(第3版)[M].北京:人民交通出版社,2009.
        [2] 中华人民共和国行业标准.公路路线设计规范(JTG D20-2006[S].北京:人民交通出版社,2006.
        [3] 纬地三维道路CAD系统教程(HintCAD V5.0~6.0 )
        [4] 曾洪飞,张帆,卢择临.AutoCAD VBA&VB.NET开发基础与实例教程[M].北京:中国电力出版社,2008
        [5] 卢湘鸿,Access数据库与程序设计(第2版)[M].北京:电子工业出版社,2011

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。