5800公路线路计算万能程序.docx

上传人:b****7 文档编号:23519505 上传时间:2023-05-17 格式:DOCX 页数:14 大小:23.56KB
下载 相关 举报
5800公路线路计算万能程序.docx_第1页
第1页 / 共14页
5800公路线路计算万能程序.docx_第2页
第2页 / 共14页
5800公路线路计算万能程序.docx_第3页
第3页 / 共14页
5800公路线路计算万能程序.docx_第4页
第4页 / 共14页
5800公路线路计算万能程序.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

5800公路线路计算万能程序.docx

《5800公路线路计算万能程序.docx》由会员分享,可在线阅读,更多相关《5800公路线路计算万能程序.docx(14页珍藏版)》请在冰豆网上搜索。

5800公路线路计算万能程序.docx

5800公路线路计算万能程序

5800公路线路计算万能程序

时间:

2010-05-2620:

05:

13  来源:

本站  作者:

好好继续2  我要投稿  我要收藏  投稿指南

本程序以高斯四节点法为计算内核,多条线路正反算,中桩,边桩高程计算,超高计算,超高缓和计算,加宽计算,加宽缓和计算,边坡开口线计算,挡土墙坡脚线计算,考虑了中间绿化带的影响,适用与国家高速公路至乡村四级公路计算和放样,路基路面工程可以直接得出中边桩的设计三维坐标,去掉加宽和超高影响的计算困难,边坡和坡脚线计算可直接在边坡上提取坐标带入程序,经过所有设计因素的综合,得出更改边距并显示修改偏差后的坐标.反算速度明显提高,只需要3秒.程序无错,可放心输入,另本程序可以增加隧道超欠挖计算子程序,非常方便,因为每个隧道的断面数据不一样,所以在此没有明确写出.

计算器主程序:

ZHU-CHENG-XU

Lbi0:

“1,ZS=FS,2ZS,3FS,4XY=>SG,5。

”?

U:

U=1=>Prog”ZS-FS”:

进入公路三维程序

U=2=>Porg”ZS”:

进入坐标正算程序

U=3=>Porg”FS”:

进入坐标反算程序

U=4=>Porg”XY=>SG”:

进入大地坐标转施工坐标程序

…………Goto0:

说明:

计算器总的主程序,进入选择各种分支计算程序。

1为公路三维计算,2为普通正算,3为普通反算,4为大地坐标转施工坐标。

选择错误重新选择。

此程序可以不用输入,只为给大家一个思路,可以把计算器所有程序集中到一个主程序内管理.

公路三维部分

正反算选择程序:

ZS-FS

Deg:

//设置角度模式

20→DimZ:

//扩展变量

“1LZ=>XY,2XY=>LZ,3BIANPO-FY”?

U:

//正反算选择,正算选1,反算选2,坡口坡脚选3

IfU=1:

ThenProg”ZS-XH”:

IfEnd:

//进入正算循环主程序

IfU=2:

ThenProg”FS-XH”:

IfEnd:

//进入反算循环主程序

IfU=3:

ThenProg”BIANPO-XH”:

IfEnd:

//进入边坡开挖主程序

正算循环主体程序ZS-XH

“1PT-2SJ”?

W:

//普通计算和设计边距计算选择

“XL-XZ“?

U:

//选择线路1~N

IfW=1:

Then//运行普通计算模式边踞自由输入

Lbi0:

”L=”?

L:

”Z=”?

Z:

//输入桩号和边距

Porg”ZS-XH-1“:

Goto0:

IfEnd:

运行正算循环子程序

IfW=2:

Then//运行设计计算模式边距按设计输入

Lbi1:

”L=”?

L:

//输入桩号

Porg”0。

5LUKUAN”:

//录入公路加宽后,左右侧设计边距

Porg”ZS-XH-1“:

Goto1:

IfEnd:

//运行正算循环子程序

正算循环子程序ZS-XH-1

Prog”PM-XL-XZ”:

//进入平面线路选择程序对线路线元进行选择

Prog”CHAOXIAN-CL”:

//里程超限处理

Prog”GL-ZS”:

//进入坐标正算程序

Prog”GL-BZ-ZS”:

//进入公路边桩正算程序

Prog”GC-XL-XZ”:

//进入高程线路选择程序对线路线元进行选择

Prog”GC”:

//进入高程部分提取中桩高程

Prog"CG-XL-XZ":

//进入超高数据库提取超高数据

IfW=1:

ThenProg”B-H”:

//普通计算时进入边桩高程部分提取边桩高程

ElseZ[3]→Z:

Porg“B-H”:

//按设计计算时候代入减去半边绿化带后的路基边距,提取边桩高程

Ifend:

Prog”ZS-XS”:

//进入正算显示程序,提取正算三维结果

反算循环主体程序FS-XH

0→Z:

“XL-XZ”?

U:

//选择线路1~N

Lbi0:

“L”?

L:

“X=”?

T:

“Y=”?

S:

//输入起算假定桩号,实测XY

Prog”GL-FS”:

/进入公路反算程序

Prog”FS-XS”:

//进入反算显示程序

Goto0:

坐标正算程序GL-ZS

.1739274226→I:

.3260725774→J:

.0694318442→K:

.3300094782→E:

//四节点法计算系数录入

1-E→F:

1-K→M:

Q+KrO(C+KD)→K:

//数据库要用X、Y、Q作为起点坐标方位角

Q+ErO(C+ED)→E:

//r是弧度,输入方法FUNCTION选5

Q+FrO(C+FD)→F:

Q+MrO(C+MD)→M:

X+O(ICos(K)+JCos(E)+JCos(F)+ICos(M))→X:

//计算出X坐标

Y+O(ISin(K)+JSin(E)+JSin(F)+ISin(M))→Y:

//计算出Y坐标

Q+Or(C+D)→Q:

//计算出算点方位角,O是字母,r是弧度:

边桩坐标计算程序GL-BZ-ZS:

X+Zcos(Q+90)→G:

//计算出边桩X坐标

Y+ZSin(Q+90)→M:

//计算出边桩Y坐标

公路反算程序GL-FS

20→V:

//V值设置为20,为第一次反算控制

Do:

Porg”PM-XL-XZ”:

//进入平面线路选择程序

Porg”CHAOXIAN-CL”:

//里程超限处理程序

IfV>10:

//V越小反算速度可能越慢,但是半径过小有可能算不出来,10为建议值

ThenPorg”GL-JY-ZS”:

//进入公路简易正算二节点程序

ElsePorg”GL-ZS”:

//进入公路正算4节点程序

IfEnd:

T-X→I:

S-Y→J:

//试算点与测点X,Y距离差

Pol(I,J):

J-Q→J:

//方位角转换为接近试算点到测点的值:

Rec(I,J):

//计算出X差和Y差(X里程,J边)

I/(1-CJ-2DJ)→V:

//计算出里程大致差距(此公式为加速反算)

L+V→L:

//修改后的里程

Abs(V)→V:

//修改值的绝对值

LpWhileV>0.001:

//小于一毫米通过,大于一毫米循环计算

中桩高程计算程序GC

IfI-A<0:

Then1→H:

IfEnd:

//开口向上部分赋值

IfI-A=0:

ThenGoto1:

IfEnd:

//无竖曲线部分赋值

IfI-A>0:

Then-1→H:

IfEnd:

//开口向下时赋值

(L-C)I+K+(L-C)^2/(2E)H→I:

//计算得出竖曲线部分中桩高程

Goto2:

Lbi1:

K+(L-C)I→I:

//计算得出无竖曲线部分中桩高程

Lbi2:

边桩高程计算程序B-H

(L-C)/(D-C)→P:

//计算点占本线元长比例

3P^(2^(S))-2P^(3^(S))→P:

//计算得线性和高次抛物线系数

F+P(T-F)→E:

//初步计算计算点横坡

IfV=1:

ThenIfN=-1:

Then//直线和直缓,缓直,曲线左偏时

IfZ<0:

ThenIfE>Z[4]:

ThenZ[4]→E:

IfEnd:

//计算左侧时,横坡大于一般横坡取一般横坡

I+Abs(Z)E→O:

IfEnd:

//左侧高程

IfZ>0:

ThenI+ZF→O:

IfEnd:

Ifend:

//右侧高程得数

IfN=1:

ThenIfZ<0:

ThenI+Abs(Z)E→O:

IfEnd:

//曲线右偏时,左侧高程得得

IfZ>0:

ThenIfE>Z[4]:

ThenZ[4]→E:

IfEnd//右侧高程横坡大于一般横坡,取一般横坡

I+ZE→O:

IfEnd:

IfEnd:

IfEnd:

//右侧高程得数

IfV=2:

ThenIfZ>0:

ThenI+ZE→O:

IfEnd:

//圆曲线全超高和S曲线超高渐变部分右侧高程得数

IfZ<0:

ThenI-Abs(Z)E→O:

IfEnd:

IfEnd:

//圆曲线全超高和S曲线超高渐变部分左侧高程得数

备注:

如果有更多的坡级,大家可以使用增加变量.完全满足大家边坡放样需求

设计标准路面宽度子程序CHANGSHU

12→Z[1]:

//录入12米为路面半宽度,根据设计修改

1.5→Z[2]:

//录入1.5米为绿化带半宽,根据设计修改,无绿化带输入0

-0.02→Z[4]:

//录入-0。

02为公路一般横坡,根据设计修改

注:

在以中轴线旋转的超高不考虑绿化带影响的,在常数程序中,绿化带修改为0

路面宽度子程序0。

5LUKUAN

”Z-1,Y+1”?

V:

//左右边桩选择

Porg”CHANG-SHU”:

//设置标准路面半宽

IfV=1:

ThenPorg”GL-JK”//右侧时,进入加宽子程序

Z[1]+Z→Z:

//计算右册正确公路半宽,

Z-Z[2]→Z[3]:

IfEnd:

//计算右侧减去半边绿化带时计算边桩高程时用的边距

IfV=-1:

:

ThenPorg”GL-JK”//左侧时,进入加宽子程序

-Z[1]-Z→Z:

//计算左册正确公路半宽

Z+[2]→Z[3]:

IfEnd:

//计算左侧减去半边绿化带时计算边桩高程时用的边距

公路加宽子程序GL-JK

前点加宽里程A,加宽止点里程B,“加宽缓和段全长C,止点加宽宽度D

本加宽程序欠缺S缓和曲线加宽程序,因为没有遇到过,所以暂时空缺

Porg“JK-XL-XZ”:

//进入加宽数据库线路选择程序

IfD=1:

Then(4((L-A)/(B-A))^3-3*((L-A)/(B-A))^4)*C→Z:

IfEnd:

//从小大到加宽

IfD=2:

Then(4(((B-A)-(L-A))/(B-A))^3-3*(((B-A)-(L-A))/(B-A))^4)*C→Z:

IfEnd:

//从大到小加宽,以上两式为参考公式,可根据图纸更改公式

IfD=3:

ThenZ=Z:

IfEnd:

//圆曲线加宽直一样时

IfZ≠0:

then”JK=”:

Z◢:

IfEnd:

//存在加宽值时显示加宽值

正算显示ZS-XS

“FWJ”:

Q◢//显示计算里程方位角

“ZHONG-X”:

X◢//显示中线X坐标

“ZHONG-Y”:

Y◢//显示中线Y坐标

“ZHONG-GC”:

I◢//显示中桩高程

“B-X”:

G◢//显示边桩X坐标

“B-Y”:

M◢//显示边桩Y坐标

“B-GC”:

O◢//显示边桩高程

反算显示FS-XS

“L”:

L◢//显示计算里程

“Z”:

J◢//显示计算边距

里程超限CHAOXIAN-CL

IfL<A:

Then“L-<<<”;Stop:

IfEnd:

//小于本路线最小里程提示,退出程序

IfL>B:

Then”L+>>>”:

Stop:

IfEnd:

//大于本路线最大里程提示,退出程序

公路简易正算程序GL-JY-ZS

0.7886751346→E:

1-E→F:

Q+ErO(C+ED)→E:

Q+ErO(C+FD)→F:

X+O(Cos(E)+Cos(F))/2→X:

Y+O(Sin(E)+Sin(F))/2→Y:

Q+Or(C+D)→Q:

//Or,O为字母,r为弧度符号

边坡放样程序BP-FY

“XL-XZ“?

U:

//线路选择

”S-L”?

L:

”X=”?

T:

”Y=”?

S:

//输入试算桩号和测点X,Y.

T→Z[10]:

S→Z[11]:

Porg”PM-XL-XZ”:

//对平面线路进行选择

Porg”GL-FS“:

//进入反算程序,反算测点里程偏距。

IfJ>0:

Then”-----YOU----“◢//显示计算边坡为公路右侧

Else”-----ZUO----“◢Ifend:

//显示计算边坡为公路左侧

Porg”0.5lukuan”:

//进入设计边距程序

Porg”GC-XL-XZ”:

//高程线路选择

Porg”GC”:

//对中桩高程进行计算

Porg"CG-XL-XZ"//进入超高数据库提取超高数据

Z[3]→Z:

//录入减去半个隔离带加上加宽值后的边距

Porg”B-H”:

//计算该里程边桩高程

Abs(Z)+Z[2]→Z:

//录入设计绿化带

Z[10]→X:

Z[11]→Y:

//坐标变量转换,抛弃中线点XY坐标,以第一测点XY为后步起算数据

Porg”BP-XL-XZ”:

//进入边坡数据库,提取要素.

“1,2,3,4-BP”T//选择所计算的边坡坡段

Porg”BP-FY-1”:

//进入边坡计算子程序1程序

边坡计算子程序1BP–FY-1

O+CB+EF→A:

//计算出边坡底线高程

Abs(Z)+B+D+E→W:

//计算中线点距离边坡底线距离

Abs(J)-W→D:

//试测点到起坡点平距

VH→C:

//马道高差

0→B:

//设置边坡底线平距为0

IfT=1:

//计算第一段边坡

ThenPorg”BP-FY-2”:

IfEnd:

//进入计算子程序2

A+G+C→A:

//第二段边坡底线高程

H+GK→B:

//第二段边坡底距离第一段起线平距

IfT=2:

Then//进入计算第二段边坡

M→G:

N→K:

//第二段边坡数据变成子程序计算的第一边坡数据

Porg”BP-FY-2“:

IfEnd:

//进入计算子程序2

A+M+C→A:

//第三段边坡底线高程

B+H+MN→B//第三段边坡底距离第一段起线平距

IfT=3:

Then//进入计算第三段边坡

I→G:

P→K:

//第三段边坡数据变成子程序计算的第一边坡数据

Porg”BP-FY-2”:

IfEnd:

//进入计算子程序2

A+I+C→A:

//第四段边坡底线高程

B+H+IP→B:

//第四段边坡底距离第一段起线平距

IfT=4:

Then//进入计算第四段边坡

R→G:

S→K:

//第四段边坡数据变成子程序计算的第一边坡数据

Porg”BP-FY-2”:

IfEnd:

//进入计算子程序2

边坡计算子程序3BP-FY-3

IfG<0:

ThenReturn:

IfEnd:

IfN<A:

//如果测点高程小于该层边坡底线高程

Then“++++,SHANG-TIAO”:

A-N◢//显示坡度错误,不在本坡段,上几米再次测量或计算低层边坡

Porg"BP-FY":

IfEnd:

//返回程序重新找点

IfN>(A+G):

//如果测点高程大于该段边坡定部高程

Then”----,XIATIAO”:

N-A-G◢//显示高程错误,不在本坡段,应在上面坡段,应忘上调整

Porg:

BP-FY”:

IfEnd:

//返回主程序

边坡计算子程序2BP-FY-2

“GC=”?

N:

//输入测点高程

Porg”BP-FY-3”:

//判断测点是否低于该坡段最低高程

Abs(N-A)*K+B-D→E:

//计算出正确偏差

IfAbs(E)≤0.05:

Then//如果测点误差5厘米以内表示成功

”CHENG-GONG,WUCHA=”:

E◢//成功后,显示测点误差

Prog”BP-FY”:

IfEnd:

//返回主程序测下个断面

IfJ>0:

ThenE→Z:

//右侧录入误差

Else-E→Z:

Z→Z[10]//左侧录入误差

IfEnd:

Porg”GL-BZ-ZS”:

//计算下一点坐标

“X=”:

G◢“Y”:

M◢//显示下一点坐标,进行放样

G→X:

M→Y:

//录入XY坐标,进行下次计算

“GC=”N:

//输入测点高程

Abs(N-A)*K+B-(D+E)→C:

//计算出正确偏差

IfAbs(C)≤0.05:

Then//如果测点误差5厘米以内表示成功

”CHENG-GONG,WUCHA=”:

C◢//成功后,显示测点误差

Prog”BP-FY”:

IfEnd:

//返回主程序测下个断面

CE/(E-C)→F:

//由上次两点误差推算第三点

IfJ>0:

ThenF→Z:

//右侧录入误差

Else-F→Z:

IfEnd:

//左侧录入误差

Porg”GL-BZ-ZS”:

//进行下一点坐标计算

“X=”:

G◢“Y=”:

M◢//显示下一点坐标,进行放样

G→T:

M→S:

//录入XY坐标,进行下次计算

“NONO”:

//本循环未计算出正确点

Porg”BP-FY”:

//,使用计算出的坐标,进入下个循环,程序自动把此坐标带入下个循环

数据库部分

1平曲线数据库

平面线路选择程序PM-XL-XZ

U=1=>Prog”HUO-DA-XIAN”:

//进入假定线路活大线。

U=2=>Prog”X2”:

//进入路线2

U=3=>prog”X3”:

//进入路线3

(P-R)/(2HPR)→D:

L-O→O:

//正算程序需要补充部分

OD→D:

1/P→C:

(数据库)活大线HUO-DA-XIAN

线路起点里程→A:

线路终点里程→B:

IfL≤第一线元止点里程:

Then起点X坐标→X:

起点Y坐标→Y:

起点半径(左-,右+)→P:

止点半径(左-,右+)→R:

本线元长度→H:

线元起点桩号→O:

起点方位角→Q:

Return:

IfEnd:

IfL≤第二线元止点里程:

Return:

二号线路X2

三号线路X3

2,高程数据库部分

说明:

输入部分:

L为计算里程,C为起点里程,,I为纵向前坡坡度,A为纵向后坡坡度,E为半径,K为起点高程,

高程线路选择程序GC-XL-XZ

U=1=>Prog”GC1”:

//进入线路高程1

U=2=>Prog”GC2”:

//进入线路高程2

U=3=>Prog”GC3”:

/进入线路高程3

一号线路高程GC1

IfL≤该段止点里程:

Then(前坡例0。

01)→I:

(后坡例-0。

034)→A:

(竖曲线半径)→E:

((起点高程)→K:

(起点桩号)→C:

止点桩号→D:

Return:

Ifend;

……

二号线路高程GC2

三号线路高程GC3

3超高数据库

IfU=1:

ThenPorg”CG1”:

IfEnd:

//进入线路1

IfU=2;ThenPorg”CG2”:

IfEnd:

//进入线路2

IfU=3:

ThenProg”CG3”:

IfEnd:

//进入线路3

超高线路选者程序CG-XL-XZ

N为曲线左右偏区别符号(左-1,右+1),F为起点横坡,T为止点横坡,S为线性渐变和高次渐变的判断要素,取0为线性,取1为高次。

V为一般段超高缓和段与全超高和卵型插入缓和段判断要素。

直线一般超高缓和段输入1,全超高和S超高缓和段输入2,显示部分:

重要约定,在全超高平曲线和卵型曲线插入缓和段中,前横坡F和后横坡T都输入右侧横坡。

超高数据库1CG1

-0.02→F:

-0.02→T:

        //录入直线部分一般超高,数据根据设计调整

0→S:

1→V:

           //录入直线部分计算性质,数据根据设计调整

1→N:

      //1→N:

数据不调整,输入以上几段后,直线超高不变段可不再输入数据.

                 

IfL≥该段起点里程AndL≤该段止点里程:

Then(超高缓和段输入1,单圆曲线全超高和S超高缓和段输入2)→V:

(平曲线左右偏区别符号,超高缓和段才输入 左-1,右+1)→N:

(超高方式选择,0为线性,取1为高次)→S:

(起点横坡例-0。

02,根据设计值更改)→F:

(止点横坡例+0.03,根据设计值更改)→T:

起点桩号→C:

止点桩号→D:

Return:

Ifend;

... ...

超高数据库2CG2

超高数据库3CG3

4,加宽数据库

加宽线路选择程序JK-XL-XZ

IfU=1:

ThenPorg”JK1”:

IfEnd:

//进入线路1

IfU=2;ThenPorg”JK2”:

IfEnd:

//进入线路2

IfU=3:

ThenProg”JK3”:

IfEnd:

//进入线路3

:

…….

加宽数据库JK1

A为加宽前里程,B为加宽止点里程,C最大加宽点加宽宽度,D加宽趋势(从前往后输入1从后往前输入2,全加宽输入3)Z全加宽宽度(注明,不加宽部分不需要录入数据库,加宽缓和段不输入Z,全加宽不输入C)

1号线路JK1

0→Z:

//录入不加宽部分加宽值为0,此句必须输

IfV=(公路左侧-1,公路右侧+1):

ThenL≤此段起点AndL≥此段终点:

Then加宽前里程→A:

加宽段止点里程→B:

最大加宽点加宽宽度→C:

加宽趋势(由小到大1,由大到小2)→D:

IfEnd:

//此段为加宽缓和段的格式

IfV=(公路左侧-1,公路右侧+1):

Then L≤此段起点AndL≥此段终点:

Then加宽前里程→A:

加宽段止点里程→B:

最大加宽点加宽宽度→C:

加宽趋势3→D:

加宽宽度→ZIfEnd:

//此段为全加宽段的格式

2号线路JK2

3号线路JK3

5,边坡数据库

边坡线路选择程序BP-XL-XZ

IfU=1ThenPorg"BP1":

IfEnd:

//进入线路1

IfU=2ThenPorg"BP2":

IfEnd:

//进入线路2

IfU=3ThenProg"BP3":

IfEnd:

//进入线路3

.........

路肩宽度B路肩坡度C边沟宽度D、平台宽度E平台坡度F马道宽H马道坡度V(马道坡度向边坡侧仰为-,向公路侧仰为正)1级边坡高度G1级别边坡坡度K2级边坡高度M2级边坡坡度N3级边坡高度I3级边坡坡度P4级边坡高度R4级边坡坡度S

边坡数据库1BP1

IfJ≥(或≤区分路基左右)0:

ThenIfL(里程)<终点桩号And>起点桩号:

Then

"1~N":

//录入本线元边坡级数,在使用时候可以看到本段边坡级数,而选择计算边坡层

路肩宽度→B:

路肩坡度→C:

边沟宽度→D:

平台宽度→E:

平台坡度→F:

马道宽度→H:

马道坡度→V:

1级边坡高度→G:

1级别边坡坡度→K:

2级边坡高度→M:

2级边坡坡度→N:

3级边坡高度I:

3级边坡坡度P:

4级边坡高度R:

4级边坡坡度:

Return:

IfEnd:

IfEnd:

//约定:

所有边坡度正负符号向中线内侧倾斜为+,向外侧倾斜为-。

有几层边坡就录入多少边坡数据,只有一层边坡时可不录入马道高宽数据

边坡数据库2BP2

边坡数据库3BP3

使用说明:

进入常数子程序更改设计常数

根据数据库说明编写数据库

一,坐标正算方法

普通计算

1,进入主程序ZHU-CHENG-XU

2,选择使用程序,根据大家录入的代码,本程序,选择1

3,选择坐标1,正算,2,反算,3边坡放样,选择1

4,1为普通计算或者2设计计算选者1,选者1

5,线路选择1~N,根据计算路线编号进行选者

6,输入计算里程

7,输入计算边距,左-,右正

8,显示计算点方位角,显示计算点中桩XY,显示中桩高程,显示边桩XY,显示边桩高程

设计计算

1,进入主程序ZHU-CHENG-XU

2,选择使用程序,根据大家录入的代码,本程序,选择1

3,选择坐标1,正算,2,反算,3边坡放样,选择1

4,1为普通计算或者2设计计算选者1,选者2

5,线路选择1~N,根据计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1