APP下载

铁路竣工用地界线拐点标注程序设计与实现

2018-07-20冷继全

建材与装饰 2018年32期
关键词:界线拐点中心线

冷继全

(贵州省第一测绘院 贵阳 550025)

铁路竣工用地界线资料是项目验收的关键资料之一,在铁路竣工用地界线拐点标注时,目前CAD制图软件为通用功能,采用逐拐点标注整饰绘制,不能批量标注,而一条铁路里程多达数百千米,竣工用地界线拐点数量更是庞大,人工反复操作,不但容易产生错误,而且工作效率十分低下,影响项目竣工资料的汇编。笔者通过采用AutoCAD VAB、Excel VBA等程序语言,二次开发批量实现铁路竣工用地界线拐点标注,提高工作效率。

1 技术设计原理

1.1 技术思路

程序设计采用AutoCAD VAB、Excel VBA等语言二次开发。首先,通过选取铁路中心线上直线段两点坐标计算线路走向方位角,利用界桩拐点标记线与铁路中心线成垂直关系,通过铁路中心线方位角加减90°计算得界桩拐点标记线方位。其次,通过拐点坐标及标志符(L、R)判断界桩左右测拐点标记线走向,设置一定的标注长度,计算标注长度两点坐标,利用AddLightWeightPolyline()函数线,如此循环完成批量拐点标注直线绘制。同理,利用拐点坐标及铁路中心线方向角,可计算边距和里程平行于拐点标注直线上下的注记点处坐标,通过AddText(textString,insertion-Point,height)函数,实现分数线式标注,最后利用text().Rotation和text().ScaleFactor功能实现旋转注记方向及字高,如此循环完成批量分子式注记。

1.2 用地界线拐点数据整理

通过在AutoCAD VAB中调入Microsoft Excel 15.0 objiect Library,设计“边桩里程信息提取”功能,按照铁路中心线里程前进方向,定义左手方向为左侧(标识符用“L”表示),右手方向为右侧(标识符用“R”表示),实现导入“铁路用地界桩表.XLS”,经过程序整理后,形成用地界线拐点数据,结构如表1。

1.3 铁路中心线方位角计算

表1 用地界线拐点数据表

铁路线路平面由直线、圆曲线以及连接直线与圆曲线的缓和曲线组成。在直线段可通过两个里程桩坐标计算方位角,方位角代表铁路中心线走势;鉴于一般铁路的圆曲线和缓和曲线半径比较大,铁路中心线走势为渐变过程,可理解渐变过程由若干小的直线段组成,采用计算逐直线段方位角,代替铁路中心线走势。K0至K1走向方位角计算公式如下:

根据Δx、ΔY正负值,确定方位角所处的象限,见图1,其Pi=3.1415926。

图1 中心线方位角示意图

1.4 拐点标注位置及方向计算

按《铁路建设项目竣工用地平面图图式》要求,规定了铁路用地界线拐点标注方式和图例符号,拐点点位采用“〇”表示,标注方式采用分数线“S/+D”模式,其中“S”代表边距,“+D”代表里程,垂直于铁路中心线,方向沿小里程方向。由(1)式可以计算K0至K1走向方位角α。因拐点标注线t1-t2方向垂直于K0至K1走向,则左侧拐点标注线方位角为β=α-Pi/2,右侧拐点标注线方位角为 β=α+Pi/2,利用拐点位置坐标(X0,Y0)、方位角β和标注线t1-t2长度L,利用极坐标公式,可以计算t1、t2的点位坐标。利用AddLightWeightPolyline(points)画出标注横线“——”。“S”点位置坐标确定。可通过拐点(X0,Y0)、方位角(α-Pi)及一定距离,先计算出平行于t1-t2方向的一过渡点,再利用过渡点坐标值、β值及适量距离,采用极坐标法求得“S”点位置坐标。“+D”点位置坐标确定。可通过拐点(x,y)、方位角α及一定距离,先计算出平行于t1-t2方向的一过渡点,再利用过渡点坐标值、β值及适量距离,采用极坐标法求得“+D”点位置坐标。“S/+D”模式注记旋转角度为Pi-α,各关系之间角度如图2所示。

图2 拐点标注之间角度关系示意图

2 程序实现方法

2.1 程序设计环境

通过AutoCAD 2006平台“工具”菜单栏,点击“宏”下Visual Basic编辑器,进入AutoCAD VBA环境。在ACAD Project下有AutoCAD对象、窗体。在窗体中新增form1控件,在工具箱中将Frame、TextBox、Label、CommandButton等控件增加到form1控件上。在AutoCAD VBA环境“工具”菜单栏,点击“引用”,勾选Microsoft Excel 15.0 objiect Library引用相应库,完成程序支撑环境设计,程序功能界面见图3所示。

图3 程序功能界面

2.2 AutoCAD系列函数调用

通过GetPoint([Point][,Prompt])函数获得铁路中心线坐标,为计算线路方位角提供了输入数据,通过AddLightWeightPolyline(Point)函数,可以绘制一定长度的分数线标注,通过AddCircle(centerPoint,radius)函数,结合调入的铁路用地界桩表(xls),可以绘制拐点桩位符号,通过AddText(textString,insertionPoint,height)函数,结合调入的铁路用地界桩表(xls),可以绘制分数式标注“S/+D”,通过text().Rotation和text().ScaleFactor功能函数,可以改变注记字宽和方向。以下列举部分关键代码:

SetTCX(0)=acadDoc.ModelSpace.AddLightWeightPolyline(ttt)

Set TCX(0)=acadDoc.ModelSpace.AddCircle(ppp,TextBox9.text)

Settext(j)=acadDoc.ModelSpace.AddText(zh1(j),www,TextBox7.text)

Set ext(j)=acadDoc.ModelSpace.AddText(l(j),mmm,TextBox7.text)

text(j).Rotation=(pi-TextBox5.text)

text(j).ScaleFactor=TextBox8.text

因篇幅所限,此处略去程序其它语句代码。

3 应用实例

3.1 实例介绍

贵广铁路是中国西南地区第一条按设计时速不低于250km的标准建造的高标准铁路,全长857km(其中贵州境内301km,广西348.5km,广东207.5km)。贵广铁路有限责任公司委托贵州省第一测绘院负责承担新建铁路贵阳至广州(贵州段)竣工用地平面图工程任务约264.3km,总面积约6000亩。

3.2 实验结果

内业在AutoCAD环境下,采用铁路竣工用地界线拐点标注程序,对铁路施工里程DK36+960-DK301+260之间用地拐点进行快速标注,标注效果如图4所示。

图4 拐点标注结果局部图

4 结论

本文中基于AutoCAD VAB二次开发,探索实现了基于垂直铁路中心线用地界线拐点快速标注,程序界面设计人性化、可视化界面,方便作业人员操作,通过测试,功能运行稳定,结果正确,人工编辑量少,解决了作业人员手工反复操作,长时间疲劳操作容易发生表册与图上不一致的问题,极大地提高了铁路竣工图用地界线拐点标注工作效率。

猜你喜欢

界线拐点中心线
立式水轮发电机组“三条线”浅析
The Beasts Within
秦国的“拐点”
中国充电桩行业:拐点已至,何去何从?
恢复高考:时代的拐点
关于进一步加强行政区域界线管理维护边界地区社会稳定的意见
《廉洁拐点》
婚姻的智慧,是分寸和界线
X线摄影中中心线对DR摄影质量的重要性
基于Meanshift和Hough变换的秧苗行中心线提取