测量毕业设计2 - 图文(6)

2019-09-01 09:57

江西理工大学2014届本科生毕业论文(设计)

AutoCAD 中多段线主要由LineSegment和ArcSegment 组成。边桩到中线的最短距离为垂直距离,对于边桩及边桩线的绘制主要要获取边桩点坐标和对应中桩点坐标。

3.2.1 对于给定边桩坐标的绘制算法

已知边桩坐标来源于实地测设和图上拾起,由该坐标求出最近的中桩坐标。已知边桩点P 坐标( Xp,Yp) ,道路中线ML,如图3-1 所示,求P 点到ML 最短距离,具体算法

如下:

1) 分别计算P 点到ML 两端点A、B 的距离。

2) 从最短距离那端开始遍历ML 的片段Si,提取Si两端点Kj,Kj + 1( 如果最小距离端点编号最大,则端点顺序为Kj,Kj - 1; 否则为Kj,Kj + 1。为了方便,以下假设最小距离端点编号为最小) 。

3) 求P 点到Kj,Kj + 1的距离Dp ,Kj、Dp ,Kj + 1。

4) 提取下一片段Si + 1,端点Kj + 2,计算P 点到Kj + 2的距离Dp ,Kj + 2。 5) 比较Dp ,Kj + 1和Dp ,Kj + 2,如果Dp ,Kj + 1小于Dp ,Kj + 2,则P 点对应的中桩点落在Si上,否则继续2) 、3) 、4) 。

6) 判断Si类型,并求中桩M 点的坐标( Xm,Ym) :

①如果Si属于LineSegment 类型,如图2-1 所示,利用直线方程求交,即可求出M 点坐标,M 点计算如下:假设PM 的直线方程为: a1 × x + b1 × y + c1 = 0 ( 1) KjKj + 1的直线方程为:

a2 × x + b2 × y + c2 = 0 ( 2)

要使距离最短,则PM 垂直KjKj + 1,两直线斜率关系满足: a1 × a2 + b1 × b2 = 0 ( 3) 将点P、Kj、Kj + 1

和M 分别代入方程( 1) 、( 2) ,联立

( 3) ,消去参数a1、a2、b1、b2、c1、c2,即可求出M 点;②如果Si属于ArcSegment,则直线PM 通过圆弧的圆心O,如图3-2 所示,以圆心O 为原点建立直角坐标系,计算OP

方位角α。图3-2 中M 点计算公式如下: XM = Xo + Rcosα ( 4) YM = Yo + Rsinα ( 5)

其中,α 可由O、P 两点求出,R 为圆弧半径。

14

江西理工大学2014届本科生毕业论文(设计)

图3-1 中桩点落在直线片段上图 图3-2 中桩点在圆弧片段上

3.2.2 对于给定里程及边桩距离的绘制算法

给定边桩数据格式为( K100 + 460. 70, + 60. 56) ,第一项代表里程,第二项代表边桩距离,左“+”,右“-”。具体绘制算法如下:

1) 判断中线起始里程是从多段线的最小顶点编号开始,还是最大顶点编号开始,从小里程往大里程方向走,左“+”,右“-”。

2) 根据里程判断对应中桩点落在多段线哪个片段S 上。

3) 判断片段S 类型,并求出中桩点坐标:①如果是LineSegment,如图3-3 所示,假设最小里程从B 点开始,边桩距离为负,则P 点在中线右侧,图3-3 中中桩点M 落在直线片段S1,2之间,假设为第i 个片段,边桩点P 相当于以M 点为原点,将M2 旋转90°,分别以点2 和点M 为原点建立直角坐标系,计算点2 到M 的方位角β,图3-3中点M、P 坐标计算公式如下:

i?1? | M2 | = dM,2 = ks -

XM = X2 +| M2 | cosβ ( 7) YM = Y2 +| M2 | sinβ ( 8) Xp = XM + dcosθ ( 9) Yp = YM + dsinθ ( 10)

?dj?0j( 6)

其中θ = 90°-α,α、β 可由点1、2 求出,d 为已知边桩到中桩距离,dj

为各片段长度,ks 为M 点里程减去中桩起始点里程; ②如果是ArcSegment,如图3-4 所示,假设最小里程从B 点开始,边桩距离为负,则P 点在中线右侧,图3-4 中中桩点M 落在圆弧片段S1,2之间,假设为第i 个片段,建立以圆心O 为原点的直角坐标系,图3-4 中点M、P坐标计算公式如下:

i?1 | M2 | = dM,2 = ks -θ = | M2 | /R ( 12)

?dj?0j( 11)

15

江西理工大学2014届本科生毕业论文(设计)

Xp = Xo + ( R - d) cos( β + θ) ( 13) Yp = Yo + ( R - d) sin( β + θ) ( 14) XM = Xo + Rcos( β + θ) ( 15) YM = Yo + Rsin( β + θ) ( 16)

其中( β + θ) 为点OP 方位角,β 为O2 方位角,可由O、2 两点求出,R 为圆弧半径,d 为边桩距离,ks 为M 点里程减去中桩起始点里程。

图3-3 给定里程的中桩点落在直线片段上图3-4 给定里程的中桩点落在圆弧片段上

3.2.3 边桩绘制流程及算法实现

边桩自动绘制流程如下:

①设置中线的起始里程及从哪端为起点等相关属性,为方便今后访问,中线属性存入XData 中; ②选择边桩对应中线( 可能存中线分段情况) ; ③输入边桩数据( 给定里程或边桩坐标) ; ④判断中桩落在哪个片段上,并判断片段类型; ⑤选择相应算法,计算中桩点M,计算边桩点P( 如果输入数据是给定里程) ; ⑥计算M 到P 的方位角,这个方位角用于绘制边桩数据的文本信息,保证文本标注和边桩线方向一致,即控制文本标注的旋转角度,利用此方位角加/减一个微小角度,计算出文本标注位置; ⑦绘制边桩线及相关信息。

基于本文提出的自动绘制算法和绘制流程,利用Auto-CAD 二次开发组件ObjectArx + C#编程生成DLL 动态库,在AutoCAD 利用netload 命令加载运行,道路边桩自动绘制软件模块如图3-6 所示,该软件提供的功能完善,可以实现绘制、修改、输出一体化作业。主要功能函数包括: SetFirst( ) —设置中线起始点里程; SetAnyPointLC( ) —给定坐标绘制边桩,SetKnowedPointLC( ) —给定里程绘制边桩; get-Angle( Point3d pt1,Point3d pt2) —获取中桩点M 到边桩点P 的方位角,用于控制文本注记方向; getPosition ( doublepAngle,Point3d pt,string bz,string pEdge) —获取文本注记点位; ModifyBZ( ) —修改已绘制边桩。

16

江西理工大学2014届本科生毕业论文(设计)

图3-5 道路边桩自动绘制软件模块图 3-6 边桩绘制流程图

3.3 CAD二次开发后的功能

公路边桩绘制工具如下图3-7

图3-7 道路边桩自动绘制软件模块

a. 批量设置边桩

批量设置边桩命令是同时绘制大量道路边桩的工具,使用此工具必须知晓边桩的施工里程,统一里程中的至少一种。加上每个边桩的偏距。就能大量绘制道路边桩。

b. 任意点绘制安全边桩

任意点绘制安全边桩是用于图上任何位置安全边桩的绘制,既可以标定安全边桩中的A边桩和B边桩。也能调整安全边桩批量绘制后边桩位置,让它不会处于征地红线里面。

c. 安全边桩批量绘制

安全边桩批量绘制命令能自动大量给铁路两边上安全边桩,它使用的前提是安全边线信息设置完成。计算机依据连续的安全边线自动绘制A边桩。但有时绘制的边桩会出现在征地红线内部。

17

江西理工大学2014届本科生毕业论文(设计)

第四章 二次开发后的CAD实际应用情况与评价

4.1 实际应用情况

------以沪昆高铁高安市祥福镇的竣工图为例具体介绍 4.1.1 高铁征地红线及道路边桩的绘制

施工单位提供的原始铁路图如下:

图4-1 原始铁路图

我们就是要在铁路中线两边标注征地红线 施工单位提供的征地界桩表如下:

18


测量毕业设计2 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:变电运行值班员考题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: