5800公路线路计算万能程序

更新时间:2024-05-02 21:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

5800公路线路计算万能程序

本程序以高斯四节点法为计算内核,多条线路正反算,中桩,边桩高程计算,超高计算,超高缓和计算,加宽计算,加宽缓和计算,边坡开口线计算,挡土墙坡脚线计算,考虑了中间绿化带的影响,适用与国家高速公路至乡村四级公路计算和放样,路基路面工程可以直接得出中边桩的设计三维坐标,去掉加宽和超高影响的计算困难,边坡和坡脚线计算可直接在边坡上提取坐标带入程序,经过所有设计因素的综合,得出更改边距并显示修改偏差后的坐标.反算速度明显提高,只需要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

If U=1: ThenProg”ZS-XH”:IfEnd: //进入正算循环主程序 IfU=2:Then Prog”FS-XH”:IfEnd: //进入反算循环主程序 IfU=3:ThenProg”BIANPO-XH”:IfEnd: //进入边坡开挖主程序 正算循环主体程序ZS-XH

“1PT-2SJ”?W: //普通计算和设计边距计算选择 “XL-XZ“?U: //选择线路 1~N

If W=1: Then //运行普通计算模式 边踞自由输入 Lbi0:”L=”?L:”Z=”?Z: //输入桩号和边距

Porg”ZS-XH-1“:Goto0:IfEnd:运行正算循环子程序 If W=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\进入超高数据库提取超高数据

If W=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: //输入起算假定桩号,实测X Y 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”: //里程超限处理程序

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

Then Porg”GL-JY-ZS”: //进入公路简易正算二节点程序 Else Porg”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: //修改值的绝对值

LpWhile V>0.001: //小于一毫米通过,大于一毫米循环计算

中桩高程计算程序GC

If I-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: //初步计算计算点横坡

If V=1:Then If N= -1:Then //直线和直缓,缓直,曲线左偏时

If Z<0:ThenIfE>Z[4]:ThenZ[4]→E: IfEnd : //计算左侧时,横坡大于一般横坡取一般横坡

I+Abs(Z)E→O: IfEnd : //左侧高程

IfZ>0:Then I+ZF→O:IfEnd: Ifend: //右侧高程得数

If N=1:Then IfZ<0:Then I+Abs(Z)E→O:IfEnd: //曲线右偏时,左侧高程得得

IfZ>0:Then If E>Z[4]:Then Z[4]→E:IfEnd //右侧高程横坡大于一般横坡,取一般横坡

I+ZE→O:IfEnd: IfEnd: IfEnd: //右侧高程得数

IfV=2:ThenIf Z>0:Then I+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”: //设置标准路面半宽

If V=1:Then Porg”GL-JK” //右侧时,进入加宽子程序 Z[1]+Z→Z: //计算右册正确公路半宽,

Z-Z[2] →Z[3]:IfEnd://计算右侧减去半边绿化带时计算边桩高程时用的边距 IfV=-1: :Then Porg”GL-JK” //左侧时,进入加宽子程序 -Z[1]-Z→Z: //计算左册正确公路半宽

Z+[2] → Z[3]:IfEnd: //计算左侧减去半边绿化带时计算边桩高程时用的边距 公路加宽子程序GL-JK

前点加宽里程A,加宽止点里程B,“加宽缓和段全长C,止点加宽宽度D 本加宽程序欠缺S缓和曲线加宽程序,因为没有遇到过,所以暂时空缺 Porg“JK-XL-XZ”: //进入加宽数据库线路选择程序

If D=1:Then(4((L-A)/(B-A))^3-3*((L-A)/(B-A))^4)*C→Z:IfEnd: // 从小大到加宽 If D=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

If L<A:Then “L-<<<”;Stop:IfEnd: //小于本路线最小里程提示,退出程序 If L>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“: //进入反算程序,反算测点里程偏距。 If J>0:Then”-----YOU----“◢ //显示计算边坡为公路右侧 Else”-----ZUO----“◢Ifend: //显示计算边坡为公路左侧 Porg”0.5lukuan”: //进入设计边距程序 Porg”GC-XL-XZ”: //高程线路选择 Porg”GC”: //对中桩高程进行计算

Porg\进入超高数据库提取超高数据

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程序 边坡计算子程序1 BP–FY-1

O+CB+EF→A: //计算出边坡底线高程

Abs(Z)+B+D+E→W: //计算中线点距离边坡底线距离 Abs(J)-W→D : //试测点到起坡点平距 VH→C: //马道高差

0→B: //设置边坡底线平距为0 If T=1: //计算第一段边坡

Then Porg”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

边坡计算子程序3 BP-FY-3 If G<0:Then Return:IfEnd:

IfN<A: //如果测点高程小于该层边坡底线高程

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

Porg\返回程序重新找点

If N>(A+G): //如果测点高程大于该段边坡定部高程

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

Porg: BP-FY”: IfEnd: //返回主程序

边坡计算子程序2 BP-FY-2 “GC=”?N: //输入测点高程

Porg”BP-FY-3”: //判断测点是否低于该坡段最低高程 Abs(N-A)*K+B-D→E : //计算出正确偏差

If Abs(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: //计算出正确偏差

If Abs(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:

If L≤第一线元止点里程:Then 起点X坐标→X:起点Y坐标→Y:

起点半径(左-,右+)→P:止点半径(左-,右+)→R:本线元长度→H: 线元起点桩号→O:起点方位角→Q:Return:IfEnd: If L≤第二线元止点里程:。。。 。。。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 If L≤该段止点里程: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都输入右侧横坡。

超高数据库1 CG1

-0.02→F:-0.02→T: //录入直线部分一般超高,数据根据设计调整 0→S:1→V: //录入直线部分计算性质,数据根据设计调整 1→N: //1→N:数据不调整,输入以上几段后,直线超高不变段可不再输入数据.

If L≥该段起点里程 And L≤该段止点里程:Then(超高缓和段输入1,单圆曲线全超高和S超高缓和段输入2) →V:(平曲线左右偏区别符号,超高缓和段才输入 左-1,右+1)→N:(超高方式选择,0为线性,取1为高次)→S:(起点横坡 例-0。02,根据设计值更改)→F:(止点横坡例+0.03,根据设计值更改)→T:起点桩号→C:止点桩号→D:Return:Ifend; ... ...

超高数据库2 CG2

超高数据库3 CG3

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): Then L≤此段起点And L≥此段终点:Then 加宽前里程

→A:加宽段止点里程→B:最大加宽点加宽宽度→C:加宽趋势(由小到大1,由大到小2)→D:IfEnd: //此段为加宽缓和段的格式

IfV=(公路左侧-1,公路右侧+1): Then L≤此段起点 And L≥此段终点:Then 加宽前里程→A:加宽段止点里程→B:最大加宽点加宽宽度→C:加宽趋势3→D:加宽宽度→ZIfEnd: //此段为全加宽段的格式

2号线路JK2

3号线路JK3

。。。 。。。

5,边坡数据库

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

IfU=1ThenPorg\进入线路1 IfU=2ThenPorg\进入线路2 IfU=3ThenProg\进入线路3 .........

路肩宽度B 路肩坡度C 边沟宽度D、平台宽度E 平台坡度F 马道宽H 马道坡度 V (马道坡度向边坡侧仰为-,向公路侧仰为正)1级边坡高度G1级别边坡坡度K 2级边坡高度M 2级边坡坡度N 3级边坡高度I 3级边坡坡度P 4级边坡高度R 4级边坡坡度 S

边坡数据库1 BP1

If J≥(或≤区分路基左右)0:Then If L(里程)<终点桩号 And >起点桩号:Then \~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: //约定:所有边坡度正负符号向中线内侧倾斜为+,向外侧倾斜为-。有几层边坡就录入多少边坡数据,只有一层边坡时可不录入马道高宽数据

边坡数据库2 BP2

边坡数据库3 BP3

使用说明:

进入常数子程序更改设计常数 根据数据库说明编写数据库 一,坐标正算方法

普通计算

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,根据计算路线编号进行选者 6,输入计算里程

7,输入计算左边桩或者右边桩 左侧输入-1,右侧输入+1

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

二,坐标反算方法

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

2,选择使用程序,根据大家录入的代码,本程序,选择1 3,选择坐标1,正算,2,反算,3边坡放样,选择2 4,线路选择 1~N,根据计算路线编号进行选者

5,输入试算点里程L 可输入任意里程,数据库有数据就好,离真实坐标越近越快 6,输入测点X,Y

7,显示测点里程和边距

三,边坡开口放样与坡脚放样 1,进入主程序ZHU-CHENG-XU

2,选择使用程序,根据大家录入的代码,本程序,选择1 3,选择坐标1,正算,2,反算,3边坡放样,选择3 4,输入试算点里程

5,输入山坡上第一测点X,Y,Z

6,显示本边坡级数,选者计算坡级,如测点高程不在本坡级,程序会提示上多少米或者下多少米重新找点测量。

6,如测点平距误差小于设定值5cm,显示成功语句并自动转换到下个断面从第4步开始,如误差过大自动计算修改值,显示下一点坐标, 7,输入第二测点高程

8,如测点平距误差小于设定值5cm,显示成功语句并自动转换到下个断面从第4步开始,如误差过大自动计算修改值,显示下一点坐标,

8,输入第三测点高程

9,如测点平距误差小于设定值5cm,显示成功语句并自动转换到下个断面从第4步开始,如误差过大自动计算修改值,显示下一点坐标,

10如果以上三点均未找到边坡开口线,程序显示下一点坐标,并显示NONO,并返回第4部,试算点坐标和XY部分不需要修改,只需要如实输入第四测点高程,再次开始循环计算

FX5800计算器公路测量常用程序集2.3版

一、程序功能 主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。

新版本优化:1、优化程序语句、2、取消原线元法计算,化线元法为交点法。3、高程计算修改,4、附计算坐标及高程参数设计要素输入实例

二、源程序(绿色为程序名;蓝色为输入计算器内容)红色为网友调试后修改笔误。 0.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。输入-2,返回选择线路。

程序名:0(数子0)

1.主程序:一般坐标计算及放样程序 程序名:1XY

Prog "DX":Prog"QX":90→A: "PJ1"?A:A→B: "PJ2"?B:A→Z[1]:B→Z[9]: Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ?D: 0→L: "L0"?L:L→Z[10]: Porg"A":Z[2]+Z[1]

→A :A-Z[9]→E:I+Dcos(A)+Z[10]cos(E→X:J+Dsin(A)+Z[10]sin(E→Y:Prog"XY":Prog"JS":LpWhile Z≠-1

2.主程序:由大概桩号及坐标反算桩号及距离 程序名:2ZD

Prog"QX":Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": "XO"?X: "Y0"?Y: Porg"B": Prog"ZD":LpWhile Z≠-1 3.主程序:任意点高程计算及横坡 程序名:3GC

Prog"QX":0→B: "H-B"?B: B→Z[9]: Do: "

KM"?Z:Z=-1=>Stop:Z=-2=>Break:?D:Prog"H":Fix 3: " H=":Lcoate 6,4,H-Z[9]:" I=":Locate 6,4,I:LpWhile Z≠-1 4.主程序:任意桩号位置的标准路基宽度计算 程序名:4GD

Prog"QX": Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break:-1→D:Prog"C":L→P:1→D: Prog"C":Fix 3: " LGD=":Lcoate 6,4,P:" RGD=":Locate 6,4,L:LpWhile Z≠-1

5、主程序:路基开挖边线及填方坡脚线放样程序 程序名:4BP

Prog "DX":Prog"QX":0.5→B: "TH-GD"?B: B→Z[7]: Do:"

KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"

M0"?M:M→Z[8]: Porg"B":D→P :Prog"C":If D<0:Then 0.75-L→D:Else L-0.75→D: IfEnd: Prog“H”:H-0.03-Z[8] →G: Prog “W1”:If G>0:Then Goto T: IfEnd:

-G→H:If H>E+F:Then L+M+N+U+C(H-E-F)+BF+AE→S:Goto 0:IfEnd:If H>E:Then L+M+N+ B(H-E)+AE→S:Goto 0:IfEnd:

If H

LbI T:If G>W Then L+Z[7]+V+J(G-W)+IW→S:Else L+Z[7]+GI→S:IfEnd:LbI 0: Fix 2: P→D :Abs(D)-S→T: " LX=":Locate 6,4,T:Prog"ZD":" TW=":Lcoate 6,4,G◢LpWhile Z≠-1

6、主程序:定值放样路基桩计算填挖值 程序名:6FM

Prog "DX":Prog"QX": Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ?D: Porg"A":Z[2]+90→A :I+Dcos(A→X:J+Dsin(A→Y:Prog"XY":Prog"

JS":Z[8]→M:”M0”?M:M→Z[8]:Prog “H”:” TW=”:Locate 6,4,H-Z[8]: LpWhile Z≠-1

7、主程序:桥梁锥坡计算放样 程序名:7ZP

Prog"DX":Prog"QX":"Z0"?Z:"LD:Z-,Y+"? D:Abs(D) →R: "LR"?R: D→Z[7]:R→Z[10]:Z→Z[9]:Prog”C”:L→Z[10]:Prog”K”:Do:Z[10]→Y:"L0:SZ+,DZ-"?Y: Y=-1=>Stop:Y=-2=>Break: √(Z[7]2(1-Y2/Z[10]2))→X:Z[9]+Y→Z: Prog”C”: If D>0:Then L+X→D:Else –L-X→D:IfEnd:Prog”A”:

Z[2]+90→A :I+Dcos(A→X:J+Dsin(A→Y:Prog"XY":Prog"JS": LpWhile Y≠-1 8、主程序:由坐标计算方位角及距离 程序名:8JS

Prog "DX":Do:?X: X=-1=>Stop:X=-2=>Break:?Y:Prog”JS”: LpWhile X≠-1 9、主程序:隧道超欠挖放样计算

程序名:9SD

Prog"DX":0.65→A:”CQHD”?A:A→Z[7]:Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M→Z[8]: Porg"B":D→Z[9]:0→D:Prog”H”:Prog”SD1”:Z[9]

→D:Z[8]→M:Z[7]→X:Rcos(P→C:H+A→A:H+B→B:C+A→E:If MGoto 1:

√(S2-(B-A)2)S÷Abs(S→T:Abs(D-Q)-T→T:√(T2+(M-B)2)-V-X→L:Goto 0:IfEnd:LbI 1:√((D-Q)2+(M-A)2)-R-X→L:LbI 0:Fix 2: ” LX=”: Locate 6,4,L:Prog”ZD”:“ H0=”: Locate 6,4,M-H◢LpWhile Z≠-1 10. 交点法正算子程序(A) 程序名:A

P÷Abs(P→W:O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Q:H→C:0→M: If Z≤O-T:Then Z-O→S:G→Z[2]:Goto 1: IfEnd:

If Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z[2]:A-T→A:G→E:Goto 2:IfEnd: If Z≤Q: Then 180(Z-O+T-0.5H)÷R÷Π→S : Prog”AB”:A+R(1-Cos(S→E:B+Rsin(S→A:E→B:R→M:G+WS→Z[2]:A-T→A:G→E:Goto 2: IfEnd:

If Z≤Q+N:Then Q+N-Z→S:N→H:Prog “HX”:G+P→E:E-WK→Z[2]:F-A→A:C→H:Goto 2:IfEnd:

Z-Q-N+F→S:G+P→Z[2]: LbI 1:U+Scos(Z[2]→I:V+Ssin(Z[2]→J:Return:LbI 2:U+Acos(E)-WBsin(E→I:V+Asin(E)+WBcos(E→J 11. 交点法反算子程序(B) 程序名:B

0→D:Do:Z+D→D:Prog”A”:Pol(X-I,Y-J+×10-9:J-Z[2] →J:Isin(J→S:Icos(J→D:If M≠0:Then Pol(M-WS,D:JMΠ÷180→D:IfEnd: LpWhile Abs(D>.001:Z+D→Z:S→D 12.缓和曲线段直角坐标计算子程序(AB) 程序名:AB

H2÷R÷24-H∧(4)÷2688÷R∧(3)+H ∧(6)÷506880÷R∧(5)- H

∧(8)÷154828800÷R∧(7)→A:H÷2-H∧(3)÷240÷R2+ H ∧(5)÷34560÷R∧(4)- H ∧(7)÷8386560÷R∧(6)+ H ∧(9)÷3158507520÷R∧(8)→B 13. 计算缓和曲线段坐标增量及偏角子程序(HX) 程序名:HX

S-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4)÷H∧(4)-S∧(13)÷599040÷R∧(6)÷H∧(6)+S∧(17)÷175472640÷R∧(8)÷H∧(8)→A:S∧(3)÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5)÷H∧(5)-S∧(15)÷9676800÷R∧(7)÷H∧(7)+S∧(19)÷3530097000÷R∧(9)÷H∧(9)→B:90S2÷Π÷R÷H→K:If S=0:Then 0→M:Else RH÷S→M:IfEnd

14.高程计算子程序(H) 程序名:H

Prog “S1”:N-I→A:A÷Abs(A→W:R×Abs(A÷2→T:If Z

Prog “I1”:If S=0:Then M→I: Return:Else If W=1:Then ((N-M)×(Z-C)÷S+M→I:Return:Else

(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M→I:IfEnd: 16.路基宽度子程序 程序名: C

1→S: Prog “G1”:Z-C→E:(B-A)E÷S+A→L

17:极坐放样计算程序(计算放样点至置仪点方位角及距离) 程序名:JS

Z[5]→K:Z[6]→L:Pol(X-K, Y-L:IF J<0:Then

J+360→J:IFEnd:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J→J: Fix 4:” FWJ=”: Locate 6,4,J:Fix 3:” S=”:Locate 6,4,I◢ 18.导线点子程序(DX) 程序名:DX

Z[5]→K:Z[6]→L:“XZ”?K:”YZ”?L:K→Z[5]:L→Z[6]

19.线路选择子程序(线路选择输0时。则输曲线参数(QX) 程序名:QX

1→A:”QX:X1=1,X2=2”?A:A→Z[4]:If

A=0:Then ”JDKM”?O:”JDX”?U:”JDY”?V:”FWJ”?G:”ZJ”?P:”LS1”?H:”LS2”?N:”T1”?T:”T2”?F:?R:IFEnd 20.线路中线元段判别子程序(K) 程序名:K

If Z[3]=0:Then Return: IfEnd:If Z[3]=1:Then Prog “X1”:Return:IfEnd:If Z[3]=2:Then Prog “X2”:Return:IfEnd 21.坐标参数矩阵调用程序(F) 程序名:F

Mat F[1,1]→O: Mat F[1,2]→U: Mat F[1,3]→V: Mat F[1,4]→G: Mat F[1,5]→P: Mat F[1,6]→H: Mat F[1,7]→N: Mat F[1,8]→T:Mat F[1,9]→F: Mat F[1,10]→R 22.显示子程序 程序名:XY

Fix 3:" X=":Locate 6,4,X:" Y=":Locate 6,4,Y: 程序名:ZD

Fix 3:"KM=":Locate 6,4,Z:" D=":Locate 6,4,D 23.数据子程序(附后示例) 匝道线元转交点数据程序(T) 程序名:T Norm 2:“QKM”?Z:“XQ”?U:“YQ”?V:“LS1”?M:“LS2”?O:“A1”?A:“A2”?B:“FWJ“?G:”ZJ“?P:?R:

P÷Abs(P→Q:A2÷R→H:HM→H:H-M→S:B2÷R→N:N-O→C:O >N=>O→N:H=0=>×10-9→H:H→X:90S2÷(RHΠ→K:G-QK→G:N=0=>×10-9→N: 90C2÷(RNΠ→D:P+QK+QD→P:Prog”AB”:

(H2-H2)÷24÷R÷sin(Abs(P))-(H∧(4)-N∧(4))÷2688÷R∧(3)÷sin(Abs(P))+(H ∧(6)-N∧(6))÷506880÷R∧(5)÷sin(Abs(P))-(H

∧(8)-N∧(8))÷154828800÷R∧(7)÷sin(Abs(P→E:(R+A)tan(Abs(P)÷2)+B-E→T:N→

H:Prog”AB”: (R+A)tan(Abs(P)÷2)+B+E→F: X→H:

Z-S+T→O:Prog”HX”:U-(A-T)cos(G)+QBsin(G→U:V-(A-T)sin(G)-QBcos(G→V:Fix 3:”JDKM=”:Locate 6,4,O:”JDX=”:Locate 6,4,U: ”JDY=”:Locate 6,4,V: ”FWJ=”:G?DMS◢”ZJ=”P?DMS◢”LS1=”: Locate 6,4,H: ”LS2=”: Locate 6,4,N: ”T1=”: Locate 6,4,T: ”T2=”: Locate 6,4,F◢”R=”:R◢ 说明:运行后“QKM”?输入起点桩号;“XQ”? “YQ”?输入起点X、Y坐标;“LS1”? “LS2”?输入前段缓和曲线长度,后段缓和曲线长度;“A1”? “A2”?输入前段缓和曲线参数,后段缓和曲线参数;“FWJ“?输入起点切线方位角;”ZJ“?输入转角(终点方位角减起点方位角之差,左转为负,右转为正);计算结果要素同QX子程序中要素字母。

①-1程序名:X1(线路1坐标计算要素程序) If Z≤241.086:Then [[-336.478,2600441.639,514392.519, 280。20’28.78”, 203。08’28.32”,106.667,81.667,-270.668,-283.056,60]]→Mat F:Prog”F”: IfEnd ①-2程序名:X2(线路2坐标计算要素程序)

If Z≤273.006:Then [[171.674,2600784.547,514635.863,58。49’17.2”, 68。09’26.91”,93.889,125,674.184,771,180]]→Mat F:Prog”F”: Return: IfEndIf Z≤466.227:Then [[341.96,2600664.76,514799.865,123。43’25.9”, 15。58’49.5”,0,138.211,68.954,125.273,445]]→Mat F:Prog”F”: Return: IfEnd 说明:1、交点法:If Z≤计算交点段终点桩号:Then[[交点桩号,交点X坐标,交点Y坐标,起点至交点方位角,交点转角,交点前段缓和曲线长度,交点后段缓和曲线长度,交点前段切线长度,交点后段切线长度,圆半径]] →Mat F: Prog”F”: Return: IfEnd(转角则为交点段终点方位角减起点方位角,分正负,左偏为负,右偏为正)如整条线无曲线,全为直线段,则交点为终点桩号,XY为终点坐标,方位角为起点方位角,转角和圆半径为1,其它全为0。

②-1程序名:S1(线路1高程竖曲线要素子程序)

If Z[3]=1:Then Goto 1: Else Prog “S2”: Return: IfEnd: LbI 1:If

Z≤241.09:Then 95.356→C:40.742→G:2000→R:-.03155→I:.00812→N:IfEnd: ②-2程序名:S2(线路2高程竖曲线要素子程序)

If Z≤133.601:Then 106→C:45.12→G:1525→R:-.0064→I:.0298→N:Return:IfEnd: If Z≤466.23:Then 298→C:50.841→G:1945→R:.0298→I:-.01968→N: Return:IfEnd: 程序字母说明:C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);R-竖曲线半径;I-竖曲线前纵坡; N-竖曲线后纵坡

③-1程序名:I1(线路1高程超高参数子程序)

0→K:1→W: If Z[4]=1:Then Goto 1:Else Prog “I2”:Return: IfEnd:LbI 1:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤159.419:Then 0→S:.06→M: Return:IfEnd:

If Z≤187.987:Then 28.568→S:159.419→C:.06→M:.02→N: Return:IfEnd:If Z≤241.086:Then 0→S:.02→M: Return:IfEnd:

LbI R:If Z≤159.419:Then 0→S:-.06→M: Return:IfEnd:

If Z≤187.987:Then 28.568→S:159.419→C:-.06→M:-.02→N: Return:IfEnd:If Z≤241.086:Then 0→S:.-02→M: Return:IfEnd ③-2程序名:I2(线路2高程超高参数子程序)

If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤77.872:Then 0→S:.02→M:Return:IfEnd:

If Z≤93.889:Then 16.017→S:77.872→C:.02→M:.05→N:Return:IfEnd:If Z≤198.567:Then 0→S: .05→M:Return:IfEnd: If Z≤273.006:Then 74.439→S:198.567→C:.05→M:.02→N:Return:IfEnd:If Z≤335:Then 0→S: .02→M:Return:IfEnd: Z≤346.235:Then 11.235→S:335→C:.02→M:.015→N:Return:IfEnd:

LbI R:If Z≤77.872:Then 0→S:-.02→M:Return:IfEnd:

If Z≤93.889:Then 16.017→S:77.872→C:-.02→M:-.05→N: Return:IfEnd:If Z≤198.567:Then 0→S: -.05→M: Return:IfEnd: If Z≤273.006:Then

74.439→S:198.567→C:-.05→M:-.02→N: Return:IfEnd:If Z≤335:Then 0→S: -.02→M: Return:IfEnd: Z≤346.235:Then 11.235→S:335→C:-.02→M:-.015→N: Return:IfEnd: 子程序中字母表示说明:

K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);S-超高渐变段距离(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)。 ④-1程序名:G1(线路1路基标准半幅宽度参数子程序) If Z[4]=1:Then Goto 1:Else Prog “G2”:Return: IfEnd LbI 1:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤241.086:Then Z→C:3.5→A:Return:IfEnd:

LbI R: Z≤40.857:Then 0→C:5→A:5.25→B:40.857→S:Return:IfEnd:If Z≤159.419:Then Z→C:5.25→A:Return:IfEnd: Z≤187.987:Then

159.419→C:5.25→A:5.5→B:28.568→S:Return:IfEnd:If Z≤241.086:Then Z→C:5.5→A:Return:IfEnd

④-2程序名:G2(线路2路基标准半幅宽度参数子程序) If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤466.227:Then Z→C:3.5→A:Return:IfEnd:

LbI R: Z≤321.611:Then Z→C:5→A:Return:IfEnd:If Z≤346.235:Then 321.611→C:5→A:5.75→B:24.624→S:Return:IfEnd:If Z≤466.227:Then Z→C:5.75→A:Return:IfEnd 子程序中字母表示说明:

C-宽度渐变段起点桩号(不是渐变段C=Z);A-宽度渐变段起点宽度; B-宽度渐变段终点宽度(不是渐变段,无需输入);S-宽度渐变段距离(不是渐变段,无需输入)。 ⑤-1程序名:SD1(隧道参数子程序) If Z[4]=1:Then 5.1→R:1.8→A:1.4→V:1.8→B:0→Q: 109。01’30”→P: Return:IfEnd: If Z[4]=2:Then 8.75→R:-1.1→A:4.77→V:1.47→B:-.25→Q: 51。28’57.1”→P: Return:IfEnd:

子程序中字母表示说明:

R-隧道上拱半径;A-隧道上拱圆心至设计面高度;V-隧道中腰部半径;B-中腰圆心至设计面高度;Q-设计隧道中线与设计路基中线偏移值,左为负数,右为正数;P-上部拱跨隧道半幅角度;

⑥-1程序名:W1(线路1路基填挖边坡参数子程序)

If Z[4]=1:Then Goto 1: Else Prog “W2”: Return:IfEnd:

LbI 1: 10→E:10→F:2.6→M:2→N:2→S:1.5→I:1.75→J:8→W:2→V:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:1→A:1.25→B:1.25→C:Return:

LbI R:If Z≤110:Then 1.25→A:1.25→B:1.5→C: Return:Else Goto L: IfEnd ⑥-2程序名:W2(线路2路基填挖边坡参数子程序)

10→E:10→F:2.6→M:2→N:2→S:1.5→I:1.75→J:8→W:2→V:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:0.75→A:0.75→B:0.75→C:Return:

LbI R:If Z≤445:Then Goto L:Else If Z≤506.9:Then

0.25×(Z-445)÷21.2→Q:.75+Q→A:A→B:A→C:Return:IfEnd 子程序中字母表示说明:

A-挖方第一阶边坡边率;B-挖方第二阶边坡边率;C-挖方第三阶边坡边率;E-挖方第一阶高度;F-挖方第二阶高度;M-挖方路基碎落台及水沟宽度;N-挖方第二台阶平台宽度;S-挖方第三台阶平台宽度;I-填方第一阶边坡边率;J-填方第二阶边坡边率; W-填方第一阶高度;V-填方第二台阶平台宽度。(注:本程序只做出挖方三个台阶,填方二个台阶,如需增加,先需在程序5BP程序相应增加。再如一标段有坡率及坡高不一样时,可以照其它参数程序一样,用判别语句。) 三、使用说明 1、规定

(1) 坐标计算以交点方式计算,一般情况下一个交点计算一段线是:直线+缓和曲线+圆曲线+缓和曲线+直线。在匝道中先根据实际线来调整,可以单独计算一段不完整的缓和曲线+圆曲线。也可以单独计算一段缓和曲线或一段圆曲线,需先运行T程序整理成交点数据。无缓和曲线时,缓和长度输0。

(2) 程序中:×10-9 为10的负9次方即0.000000001; Π为圆周率即3.1415926; √为根号;" X=":X前有空格二个,为了显示效果 (3) 为了区别字母O及数子0,特把字母0加粗。 2、输入与显示说明 输入提示部分:

"A:XY=1, ZD=2 ,GC=3, GD=4, BP=5, FM=6, ZP=7, JS=8,SD=9"? 按对应数子键约半秒:1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序XZ?YZ? 为置仪点坐标,第一次运行输一次,以下运行不需再输入,下次再运行此程序调上次输值,如需改,则输入,不需改,则按确认键。(后附有导线点坐标存储子程序,有兴趣的可加上)

“QX:X1=1,X2=2”?选择经路,坐标计算中输入0值,变为输入线元段曲线要素。输1为第一条线路。输2为第二条线路,本程序暂设计实例为2条线路。

KM?正算时所求点的里程(反算输入大概桩号)输入-1,返回输入选择计算类型,输入-2,返回选择线路。 D ?正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零)

X0 ?反算时所求点的X坐标(放样程序中实测X坐标) Y0 ?反算时所求点的Y坐标(放样程序中实测Y坐标) 显示部分:

L0? 涵洞放样程序中涵距中心桩号前后距离,前为正,后为负.(即涵洞半幅宽度) M0? 放样程序中原地面标高输入

H-B?计算面至路面高差(默认路面为0)

PJ1? PJ2? PJ1为路线中线与边线的右夹角。第二夹角为边线至路前进方向夹角,默认值均为90度.

TH-GH?边坡放样中填方超放宽值,默认值为0.5m.

"LD:Z-,Y+"? 桥梁锥坡向左右方向边长,左为负数,右为正数。(即为锥坡高程减地面高程后乘以填方坡比)

"LR"? 锥坡向路线前进或向后退方向边长。"Z0"? 锥坡顶边桩号

"L0:SZ+,DZ-"?锥坡放样中,椭圆上分段放样距离,小桩号锥坡输正数,大桩号锥坡输负数。

“CQHD”? 隧道超欠挖程序中衬砌厚度, 默认值为0.5m.

QX子程序中和T程序结果中:““JDKM”?输入交点桩号;“JDX”? “JDY”?输入交点X、Y坐标;“FWJ“?输入起点至交点方位角”ZJ“?输入转角(终点方位角-起点方位角之差,左转为负,右转为正);“LS1”?“LS2”?输入交点前段缓和曲线长度,交点后段缓和曲线长度;“T1”? “T2”? 输入交点前段切线长度,交点后段切线长度;”R”?圆半径 输出部分

X=*** 正算时,计算得出的所求点的X坐标 Y=*** 正算时,计算得出的所求点的Y坐标

FWJ=*** 正算时,计算得出的所求点的至置仪点方位角 S=*** 正算时,计算得出的所求点的至置仪点距离 KM=*** 反算时,计算得出的所求点的里程 D=*** 反算时,计算得出的所求点的边距 H=*** 所求点位置设计计算面顶标高

I=*** 所求点位置设计路面横坡(D输0时为,本段路基纵坡) LGD=*** 所求点位置设计路面顶左半幅标准宽度 LGD=*** 所求点位置设计路面顶右半幅标准宽度

LX=*** 边桩放样程序中实测点至设计边坡点距离,正向内移,负向外移。(隧道程序中为超欠挖值,正为超挖,负为欠挖)

TW=*** 边桩放样程序中,实测放样边坡点至止桩号设计顶填挖高度值(负为挖方值,正为填方值)

H0=*** 隧道放样程序中测量点至设计面高度 四、结束语

1、本套程序实例线路给二条,如标段像匝道有多条线时,同理增加。 2、为了更好的开发计算器程序,本人特建一QQ群,欢迎各位测友加入,QQ群号是:24817026。 3、所有对程序有建议或问题的,加本人QQ后可以直接留言,由于工作原因,可能不能马上给予答复,敬请谅解!(加QQ为好友时请注明:计算器程序)

附后为坐标计算参数子程序X1、X2和高程计算子程序S1、S2数据来源(X1、S1为C线,X2、S2为I线)

交点数据均需先运行T程序,计算出交点数据

例如X1要素:先运行T程序,输入表中C线参数:QKM输0;XQ输2600509.148;YQ输514063.566;LS1输40.857;LS2输81.667;A1输80,A2输70;FWJ输299。43‘39“;

ZP输183。45‘18.1“;R输60。计算后各要素结果记录在本上,再对应做X1子程序就可以了。

上图为SD1程序中Z[4]=1时隧道断面参数数据的图。

1、附带坐标计算面积小程序 程序名:XY-S

0→Q:Norm 2:1→I:?N:〞X1〞?X:〞Y1〞?Y:X→A:Y→B:X→E:Y→F:Do:“XN〞?X:〞YN〞?Y:Q+(XF-YE)÷2→Q:X→E:Y→F:I+1→I:Lpwhile I≠N:Q+(AF-BE)÷2→S:〞MIAN JI= 〞:Abs(S◢ (运行后N?,输入点数,然后输入第一点坐标,再着输入2点一直输入N点后就出来面积) 2、另附一个导线点数据库程序: 先修改原DX子程序:程序名:DX

Z[5]→K:Z[6]→L:“XZ”?K:If K=0:Then Prog”DX1”:Goto 0:IfEnd:”YZ”?L:LbI 0:K→Z[5]:L→Z[6] 导线点坐标存储程序 程序名:DX1

0→A:Do:”PH:A(1),B(2),C(3),D(4)”?A:If A=11:Then 11468.425→K:2275.035→L:Goto 0:IfEnd: If A=21:Then 11800.525→K:4275.135→L:Goto 0:IfEnd: If A=31:Then

10500.05→K:4575.635→L:Goto 0:IfEnd: If A=41:Then 9500.05→K:3575.635→L:Goto 0:IfEnd:LbI 0:” XZ=”Locate 6,4,K: ” YZ=”Locate 6,4,L:0→B:”OK”?B:LpWhile B≠0

说明:在输导线点坐标时,X输0则调出导线点存储程序,输入编号的数,则出来对应的XY坐标,(编号可按字母用数子排)

CASIO fx4850中桩、边桩坐标计算程序

程序名: XY

Q:W:K:R:F:N:V:G ←┘ Defm 4 ←┘

M=V÷2-V^3÷(240R2) ←┘ P=V2÷(24R)-V^4÷(2688R^3) ←┘ L=∏RN÷180+V ←┘

T=M+(R+P)tan(N÷2) ←┘ A=Q-T ←┘ \ B=A+V ←┘ \ \ C=A+L-V ←┘ \ D=A+L ←┘ \

Rec(T,F+180 ) ←┘ Z[1]=W+I:Z[2]=K+J ←┘ Rec(T,F+GN) ←┘ Z[3]=W+I:Z[4]=K+J ←┘ Lbi 0 ←┘

S=SU ←┘ Goto 0 ←┘ Lbi 2 ←┘ Z=H-A ←┘

O=90Z2÷(∏RV) ←┘

X=Z-Z^5÷(40R2V2)+Z^9÷(3456R^4V^4) ←┘

Z=Z^3÷(6RV)-Z^7÷(336R^3V^3)+Z^11÷(42240R^5V^5) ←┘ Lbi 6 ←┘ Rec(X,F) ←┘

X=Z[1]+I:Y=Z[2]+J ←┘ Rec(Z,F+90G) ←┘ X=X+I:Y=Y+J ←┘ Rec(S,F+OG+EU) ←┘ \ \ S=SU ←┘ Goto 0 ←┘ Lbi 3 ←┘ Z=H-A-V÷2 ←┘ O=180Z÷(R∏) ←┘ X=Rsin O+M ←┘ Z=R(1-cos O)+P ←┘ Goto 6 ←┘

Lbi 4 ←┘ Z=D-H ←┘

O=90Z2÷(VR∏) ←┘

X=Z-Z^5÷(40R2V2)+Z^9÷(3456R^4V^4) ←┘

Z=Z^3÷(6RV)-Z^7÷(336R^3V^3)+Z^11÷(42240R^5V^5) ←┘ Rec(X,F+GN+180) ←┘ X=Z[3]+I:Y=Z[4]+J ←┘ Rec(Z,F+GN+180-90G) ←┘ X=X+I:Y=Y+J ←┘

Rec(S,F+GN+180-OG-(180-E)U) ←┘ \ \ S=SU ←┘ Goto 0 ←┘ Lbi 5 ←┘

Rec(H-D+T,F+GN) ←┘ X=W+I:Y=K+J ←┘ Rec(S,F+GN+EU) ←┘ \ \ S=SU ←┘ Goto 0 ←┘

请注意 :∏ 这是圆周率 3.14 的附号 ,10E 这个 E 请按 \键输入 .

不明白者联系 QQ326275120 注: XY 程序单代号

Q ——交点里程桩号(去 K 后以纯数字表示输入) W ——交点 X 坐标值 K ——交点 Y 坐标值 R ——圆曲线半径 F ——第一直线段方位角 N ——交点偏角 V ——缓和曲线长度

G ——如果为左偏角输入“ -1 ” ,如果为右偏角输入“ 1 ” S ——边桩至中桩的距离,求中桩时输入 0 H ——所求点的里程桩号

E ——左边桩输入“ -90 ” ,右边桩输入“ 90 ” XY ——所求点的坐标值 二、水平测量 程序名 :SPCL Lbi 0 ←┘ M:A ←┘ {B} ←┘ \B ◢ Goto 0 ←┘ M ——水准点高程 A ——后视水准点计数

B ——前视所求点计数 H ——所求点高程

卡西欧5800P计算器曲线任意里程中边桩坐标正反算

一、程序功能

本程序由一个主程序(ZHUCHENXU)和几个子程序——正算子程序(SUB1)、反算子程序(SUB2)、数据库(SUB3)、算方位角程序(FA)、使用方位角算坐标(NE)、边坡放样程序(BIANPO)、隧道圆心放样程序(SDYX)构成,可以根据直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

二、源程序

增加变量16→DimZ 1.主程序(ZHUCHENXU)

\3.SDYX,4. BIANPO \?N:

Lbl 1:”ZHUANGHAO=”?S: Prog \: N≥2=>Goto 2: Abs(S-O)→W:”BIANZHU=”?→Z:Prog \

\-90) →F:F►DMS◢Prog \Goto 1: Lbl 2:”CX=”?X: X→I:”CY=”?Y: Y→J:”DMG=”?→Z[7]:Prog \: \→S◢\If N=4:Then Prog”BIANPO”:IfEnd:Goto 2 2. 正算子程序(SUB1) 0.1739274226 →Z[1]: 0.3260725774→B: 0.0694318442→K: 0.3300094782→L: (1-L) →F: (1-K)→M: U+W(Z[1]cos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW (C+FWD))+Z[1]cos(G+QEMW(C+MWD))) →X:

V+W(Z[1]sin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))

+Bsin(G+QEFW(C+FWD))+Z[1]sin(G+QEMW(C+MWD))) →Y: G+QEW(C+WD)+90→F: X+ZcosF→X: Y+ZsinF→Y

3. 反算子程序(SUB2)

G-90 →Z[2]: Abs((Y-V)cosZ[2]-(X-U)sinZ[2]) →W: 0→Z:Lbl 0:Prog \: Z[2]+QEW(C+WD) →L: (J-Y)cosL-(I-X)sinL→Z:

If Abs(Z)<1E-6:Then Goto1:Else W+Z→W:Goto 0: IfEnd Lbl 1: 0→Z:Prog \: (J-Y)÷sinF→Z 4. 数据库(SUB3)

If S<226100:Then Cls:Stop: IfEnd If S<226255.833:Then 226100→O: 99037.9736→U: 4282.3590→V: 201.3266304→G: 1045→P: 1045→R: 253.543→H: 0→Q: Goto 1:IfEnd

?? ??

If S>236005.651:Then Cls:Stop: IfEnd

Lbl 1: 1÷P→C:(P-R)÷(2HPR) →D:180÷π→E: 5. 算方位角程序(FA)

LbI0:“XC=”? A : “YC=”? T :X:Y

0→J: POI(X-A,Y-T)→I:“BC=”:I◢If J<0 Then 360+J→J:ElseJ→J :IfEnd “FW=”:J►DMS◢ Goto0 6. 使用方位角算坐标(NE) LbI0:“X=”? X: “Y=”? Y: “L=”? L:“F0”?F: L×Cos(F)+X→N: “N=”N◢L×Sin(F)+Y→E: “E=”E◢ Goto0

7. 边坡放样程序(BIANPO)

“QPDJL=”? → Z[3]: “QPDGD=”? → Z[4]: “PG=” ? → Z[5]:2→Z[6]: “P1=” ? → Z[8]: “P2=” ? → Z[9]: “P3=” ? → Z[10] (没有的话就删): Z[7]-Z[4] → Z[11]:If Z[11]〈0 Then AbsZ[11] →Z[11]: “T=”:Z[11] ◢Else“W=”:Z[11] ◢IfEnd Z[11]÷Z[5] →Z[12]:If Z[12]〈1 Then Z[8]×Z[11] →Z[13]:Else

Z[8]×Z[5]+Z[9]×Z[5]×(Z[12]-1)→Z[13]:IfEnd: AbsZ-(Z[13]+Z[6] ×Int Z[12]+Z[3])→Z[14]:“BP+C-J=”: Z[14] ◢ 说明:

Z[3]= QPDJL ?????? 起坡点离中桩距离 Z[4]=“QPDGD” ?????起坡点设计标高 Z[5]=“PG” ?????? 坡高

Z[6]=“PTK” ?????? 平台宽度 Z[7]=“DMG” ??????实测地面高度 Z[8]=“P1” ?????? 一级边坡坡度 Z[9]=“P2” ?????? 二级边坡坡度

Z[10]=“P3” ?????? 三级边坡坡度(没有的话就删)

Z[14]=“BP+C-J=” ??????边坡超欠挖宽度(+表超,-表欠) 8. 隧道圆心放样程序(SDYX)

IF S<229000:THEN 243.997+0.0205×(S-226520)-(S-227318)^2/2/16000+1.503 →Z[10]:“NGC=”:Z[10] ◢ELSE 286.385-0.023×(S-230500)-

(S-230593.753)^2/2/165000+1.503→Z[10]:“YLJ=”:Z[10] ◢IfEnd

Z[10]- Z[7] →Z[15]:“+SG,-JD”:Z[15] ◢√(Z[15]^2+(ABS(Z)-6.8)^2)→Z[16]: “R=”:Z[16] ◢ 三、使用说明 1、规定

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。

(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆

弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。 2、输入与显示说明

SZ → XY,2.XY → SZ,3.SDYX,4. BIANPO

N ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算 里程和边距。输入3表示隧道圆心放样和计算实测半径;输入4表示进行路基边坡放样。

3、盖板涵斜交操作说明: (以左前点为例)

先把盖板涵斜交角度减90后=A

再盖板涵左长度*CosA=B,盖板涵左长度*SinA=C,盖板涵身宽度/CosA=D

利用YQXJS程序计算此桩号正交时B宽度的坐标值,及法线方位角。

再转到NE程序,X,Y,F三项不要修改,只改L=C+D/2(计算后点D前为—) 4、SUB3数据库说明:

S待求桩号,O=曲线起点桩号,U曲线起点X坐标,V曲线起点Y坐标,G曲线起点切线方位角,

P曲线起点半径, R曲线终点半径, H=曲线长度,Q转向(直线0,左转-1,右转1)

CASIO fx5800P公路施工放线测量公式及程序

一、已知座标,求平距和方位角(座标反算): 公式: D=√(Xp-Xo)2+(Yp-Yo)2 α=arctg(Yp-Yo)/(Xp-Xo) 程序:“A”?→A:“B”?→B:Lbl 0:“X”?→X:“Y”?→Y:(X-A)→M:(Y-B)→N:“D=”:√(M2+N2 )⊿ tan-1(N/M) →C:If M<0:Then “Q=”:180+C →Q ⊿ Else If N>0: Then “Q=”:C→Q ⊿ Else “Q=”:360+C→Q ⊿ If End : If End : Goto 0 说明:(A,B)为测站点坐标,(X,Y)为所求点坐标。输出:D为平距,Q为方位角。二、已知直线的坐标方位角Q和直线起点坐标(Xo,Yo),求直线上任一点的中桩坐标(X, Y),左右边桩坐标(XL,YL)、(XR,YR): 公式:X =Xo+LcosQ Y=Yo+LsinQ程序:“C”?→C:“D”?→D:“Q”?→Q:“Z”?→Z:“U”?→U:“T”?→T:“V”?→V:Lbl 1: “L”?→L:Abs(L-Z)→W:“X=”:C+W*cos(Q)→X ⊿“Y=”: D+W*sin(Q)→Y ⊿ If U≤0:Then Goto1:Else “XL=”:X+U*cos(Q-V)→A ⊿“YL=”:Y+U*sin(Q-V)→B⊿“XR=”:X+T*cos(Q+V)→E⊿“YR=”:Y+T*sin(Q+V)→F⊿ Goto 1 说明:(C,D)为直线起点坐标,Q为直线方位角,Z为起点桩号,L为所求坐标点桩号。“U”

为左边距,“T”为右边距,“V”为偏角;U=0时不算边桩坐标。输出:(X,Y)为中 桩坐标,(XL,YL)为左边桩坐标,(XR,YR)为右边桩坐标。三、已知圆曲线起点坐标(U,V),切线方位角Q,桩号Z和圆半径R,求圆曲线上桩号为 L的点中桩坐标(X,Y),左右边桩坐标(XL,YL)、(XR,YR): 公式: ψ=90L/(лR) (偏角公式) C=2Rsin ψ (对应弧的弦长公式) 弦的方位角:Q=Qo±ψ (曲线左转时为“-”)程序:“U”?→U:“V”?→V:“Q”?→Q:“R”?→R:“Z”?→Z:“W=-1,1”: ?→W:“ZJ=”:?→Z[1]:“YJ=”:?→Z[2]:“PIAN JIAO”:?→T:Lbl 2: “L”?→L:180*(L-Z)/(2π*R)→J:R*2sin(J)→K:If W=-1:Then “X=”:U+K*cos (Q-J)→X⊿ “Y=”:V+K*sin(Q-J)→Y ⊿“Q=”:Q-180*(L-Z)/(πR)→O⊿ Else If W=1:Then“X=”:U+K*cos(Q+J)→X⊿“Y=”:V+K*sin(Q+J)→Y ⊿ “Q=”:Q+180*(L-Z)/(πR)→O⊿ IfEnd:IfEnd:T=0=>Goto 2:“XL=”:X+Z[1]*cos(O-T)→F⊿“YL=”:Y+Z[1]*sin(O-T)→P ⊿“XR=”:X+Z[2]*cos(O+T)⊿“YR=”:Y+Z[2]*sin(O+T) ⊿ Goto 2 说明:W=-1时曲线左转, W=1时曲线右转。“ZJ=”为左边距,“YJ=”为右边距,“PIAN JIAO”为偏角,偏角输0时不算边桩坐标。输出:(X,Y)为中桩坐标,“Q=”为所求点 方位角,(XL,YL)为左边桩坐标,(XR,YR)为右边桩坐标。四、已知直缓点坐标(M,N)、方位角Q、桩号Z,缓和曲线全长S和连接圆半径R,求缓和 曲线上任一点(桩号为L)的中桩坐标(X,Y),左右边桩坐标(XL,YL)、(XR,YR): 公式: θ=30L2/(πRLs) C=L-L5/(90R2Ls2) α=α±90Ls2/(πA2)程序:“M”?→M:“N”?→N:“R”→R:“A”?→A:“S”?→S:“Z”?→Z:“Q”?→Q:“W=-1,1”:?→W:“ZJ=”?→Z[1]:“YJ=”?→Z[2]:“PIAN JIAO”:?→ T:Lbl 3:“L”?→L:Abs (L-Z)→H:30*H2/(πRS)→D:H-H5/(90R2S2)→C:If W=-1:Then “X=”:

M+C*cos(Q-D)→X⊿“Y=”:N+C*sin(Q-D)→Y ⊿ A =0 =>Goto 3:“Q=”:Q-90H/(πA)→E ⊿ Else If W=1:Then “X=”:M+C*cos(Q+D)→X⊿“Y=”:N+C*sin(Q+D)→Y ⊿ A=0 =>Goto 3:“Q=”:Q+90*H/(πA)→E ⊿IfEnd:IfEnd:T=0=>Goto 3:“XL=”:X+Z[1]*cos(E-T)⊿“YL=”:Y+Z[1]*sin(E-T)

⊿“XR=”:X+Z[2]*cos(E+T)⊿“YR=”: Y+Z[2]*sin(E+T)⊿ Goto 3说明:“A”为缓和曲线参数,W=-1时曲线左转, W=1时曲线右转。“ZJ=”为左边距,“YJ=”为右边距,“PIAN JIAO”为偏角,偏角输0时不算边桩坐标。输出:(X,Y)为中桩坐标,“Q=”为所求点方位角,(XL,YL)为左边桩坐标,(XR,YR)为右边桩坐标。五、已知卵形曲线(即非完整缓和曲线)大圆半径R,小圆半径r,缓和曲线参数A,以大圆的圆缓点为起点,其坐标为(C,D),其方位角为Q,其桩号为Z,求桩号为L的点的中桩坐 标(X,Y),左、右边桩坐标(XL,YL)、(XR,YR)。 公式:偏角:

θ=arctg[(Yp-Yo)/(Xp-Xo)]-90LR/(πR)Xj=Lj-Lj5/(40A4)+Lj9/3456A8-?? , Yj=Lj3/(6A2)-Lj7/(336A6)+Lj11/(42240A10)-?? Lj=A/Rj(Rj为曲率半径)

22

S=√(Xp-Xo)+(Yp-Yo)(弦长公式)α=Q±θ(弦线方位角公式) Xp=Xo+S *cosα , Yp=Yo+sinα程序:“A”?→A:“C”?→C:“D”?→D:“R”?→R:“Q”?→Q:“Z”?→Z:“W=-1,1”?→W:A

/R→J:J-J5/(40*A4)+J9/(3456*A8)→E:J3/(6*A2)-J7/(336*A6)+J11/(42240*A10)→F:90*J/(πR)→B:“ZJ=”?→Z[1]:“YJ=”?→Z[2]:“PIAN JIAO”:?→T:Lbl 4:“L”?→L: J+Abs(L-Z)→S:S-S5/(40*A4)+S9/(3456*A8)→M:S3/(6*A2)-S7

/(336*A6)+S11/(42240*A10)→N:Abs(M-E)→G:Abs(N-F)→H:√(G2+H2)→K:arctg(H/G)→I:If I<0:Then I+360→U:Else I→U: IfEnd: If W=-1:Then Q-(U-B)→V:“X=”:

C+K*cos(V)→X⊿“Y=”:D+K*sin(V)→Y ⊿“Q=”:Q-90*S2/(πA2)-90*J2/(πA2) →O ⊿

Else If W=1:Then Q+(U- B)→V:“X=”:C+K*cos(V)→X⊿“Y=”:D+K*sin(V)→Y⊿“Q=”: Q+90*S2/(πA2)-90*J2/(πA2) →O ⊿IfEnd:IfEnd:T=0=>Goto 4:“XL=”:X+Z[1]*cos (O-T)⊿“YL=”:Y+Z[1]*sin(O-T) ⊿“XR=”:X+Z[2]*cos(O+T)⊿“YR=”:Y+Z[2]* sin(O+T)⊿ Goto 4说明:“A”为缓和曲线参数,W=-1时曲线左转, W=1时曲线右转。“ZJ=”为左边距,“YJ=”为右边距,“PIAN JIAO”为偏角,偏角输0时不计算边桩坐标。输出:(X,Y)为中桩坐标,“Q=”为所求点方位角,(XL,YL)为左边桩坐标,(XR,YR)为右边桩坐标。 六、竖曲线计算 公式:H=X2/(2R)程序:“A”?→A:“H”?→H:“D”?→D:“T”?→T:“R”?→R:“I1”?→U:“I2”?→V:“K(ZHONG-DIAN)”:D+T→B ⊿“LY=”:B-A→E ⊿ Lbl 6:“K”?→K:V>U=>1→G:V<U=>-1→G:If K≤A:

2

Then D-K→L:H-LU→P:IfEnd:If K>A And K<D: Then K-A→L:H-U(D-K)+GL/(2R)→P: IfEnd:If K>D And K<B:Then B-K→L:H+V(K-D)+GL2/(2*R)→P:IfEnd:If K≥B: Then K-D→L:“H(SHEJI)=”:P ⊿ Goto 6说明:“A”为竖曲线起点桩号,“H”为起点高程,“D”为交点桩号,“T”为切线长,“R”为 竖曲线半径,“I1”、“I2”为第一、二坡度。输出:“H(SHEJI)=”为设计高程。注意的是:计算范围不能超出到下一个竖曲线范围内。

5800计算器全线坐标计算放样程序(修改版)

“XLZBJSCX” ◢ ( 第一个程序) Lb1 0 ↙

Cls : Fix 4 : 30→Dimz ↙

“XHS=\( 后视点 X) :\( 后视点 Y) :\( 置镜点 X) :\( 置镜点 Y) :Pol(G-M,L-N):\后视距 ) ◢ J<0=>J+360→J:\?DMS ◢ ( 后视方位角 )

Lbl 1 ↙ ( If (如果的意思) And (和字的意思) Then (然后的意思) ) “K=”?K ◢ (计算里程) ( 下面有色的是数据库 )

If (如果) K< 51760.052 本曲线 缓直点 桩号 And ( 和) K≥ 51048.785 上一个曲线 缓直点 桩号 : Then (然后) 本曲线 缓直点 桩号 51760.052 →Z[1] : 上一个曲线 缓直点 桩号 51048.785 →Z[2] : 1 -1 →O (注: 左偏曲线输 入 - 1→O, 右偏曲线输入 1→O ) : 偏角 12 ’ 23 ’ 19.5 ’ →A : 半径 3289.486 →R : 第一缓和曲线 长度 0 →Z[6] : 第二缓和曲线 长度 0 →Z[7] : 交点 X 坐标 →B : 交点 Y 坐标 →C : 小里程向交点 方位角 →E : 交点向大里程 方位角 →F : Goto 2 : IfEnd ↙ ( 重兰字是输入的数字 )

???? (曲线段分段输入) 补充直线段输入如下

If (如果) K< 本段直线 终点 里程 And ( 和) K≥ 本段直线 起点 里程 :Then (然后) 1→O: 本段直线 终点 里程 →Z[3]: 终点 坐标 X→Z[16]: 终点 坐标 Y→Z[17]: 方位角 →E:Goto 4:IfEnd ↙ Lb1 2 ↙ (曲线要素计算)

Z[6] ÷ 2- Z[6]^ 3 ÷ (240R^2)+ Z[6]^ 5 ÷ (34560*R^4) →Z[8] ↙ ( M1 不输)

Z[7 ] ÷ 2- Z[7]^ 3 ÷ (240R^2)+ Z[7]^ 5 ÷ (34560 R^4) →Z[9] ↙ ( M2 不输) Z[6]^ 2 ÷ (24R)- Z[6]^ 4 ÷ (2688R^3) →Z[10] ↙ ( P1 不输) Z[7]^ 2 ÷ (24R)- Z[7]^ 4 ÷ (2688R^3) →Z[11] ↙ ( P2 不输) (πAR ) ÷ 180+0. 5 × ( Z[6]+ Z[7])→S ↙ (曲线总长)

90 × Z[6 ] ÷ ( R × π) →Z[14] ↙ (第一缓和曲线总偏角) ( ×÷以后自己改 ) 9 0 × Z[7 ] ÷ ( R × π) →Z[15] ↙ (第二缓和曲线总偏角 , 可以省略) Z[8] +( R+Z[10])TAN(A/2)-(Z[10]-Z[11] )/SIN A→Z[12] ↙ ( 切线 T1) Z[9] +( R+Z[11])TAN(A/2)+(Z[10]-Z[11] )/SIN A→Z[13] ↙ ( 切线 T2) B+ Z[12]*COS (E+180)→ Z[16] ↙ ( ZH 点 X ) C+ Z[12]*SIN(E+180)→ Z[17] ↙ ( ZH 点 Y ) Z[1]-S→Z[3] ↙ (ZH 点里程 ) Z[3]+ Z[6]→Z[4] ↙ (HY 点里程 ) Z[1]- Z[7]→Z[5] ↙ (YH 点里程 ) GOTO 3 ↙

LB1 3 ↙ ( 判断里程点与曲线关系 )

If K≤Z[3] And K> Z[2] : Then Goto 4 : IfEnd ↙ If K≤Z[4] A nd K> Z[3] : T hen Goto 5 : IfEnd ↙ If K≤Z[5] A nd K> Z[4] : T hen Goto 6 : IfEnd ↙ If K≤Z[1] A nd K> Z[5] : T hen Goto 7 : IfEnd ↙ LB1 4 ↙ (里程小于直缓点直线独立坐标)

K- Z[3] →X : 0→Y : E→T : Prog“TYZBCX” : Goto 1 ↙ Lb1 5 ↙ (第一缓和曲线独立坐标) K- Z[3] →H ↙

H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →X ↙ H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Y ↙ 90*H^2/( R*π* Z[6]) →T ↙

IF O >0 : Then T +E→T : Else E-T →T : T<0=>360+T→T : IfEnd ↙ PRrog“TYZBCX” : Goto 1 ↙ Lb1 6 ↙ (圆曲线独立坐标) K- Z[4] →H ↙

H*180/( R*π)+ Z[14]→T ↙ R*SIN( T)+ Z[8]→X ↙

R*(1-COS (T))+ Z[10]→Y ↙

IF O >0 : Then T +E→T : Else E-T →T : T<0=>360+T→T : IfEnd ↙ Prog“TYZBCX” : Goto 1 ↙

Lb1 7 ↙ (第二缓和曲线独立坐标)

Z[1] -K →H ↙

H-H^5/(40*R^2* Z[7]^2)+H^9/(3456*R^4* Z[7 ]^4) →U ↙ H^3/(6*R* Z[7])-H^7/(336*R^3* Z[7]^3) →V ↙ 90*H^2/( R*π* Z[7]) →T ↙

Z[13]COS (A)+ Z[12]-U*COS( A)-V*SIN (A)→X ↙

Z[13]*SIN( A)-U*SIN( A)+V*COS (A)→Y ↙

IF O >0 : Then F-T→T : T<0=>360+T→T : Else F+T →T : IfEnd ↙ Prog“TYZBCX” : Goto 1 ↙ 子程序:

“TYZBCX” ↙ (统一坐标计算) ( 第 2 个程序) IF O<0 : Then -Y→Y : IfEnd ↙

“QXJ=” :T ◢ (计算里程点切线方位角,可以不显示) Z[16]+X*COS (E)-Y*SIN( E)→Z[18] ↙

Z[17]+X*SIN (E ) +Y*COS (E ) →Z[19] ↙ “XI=” : Z[18] ◢ ( XI 中线 X ) “ YI =” : Z[19] ◢ ( YI 中线 Y )

Pol(Z[18]-M,Z[19]-N):\ J<0=>J+360→J:\?DMS ◢ ( 中桩放样方位角)

“ PJ =”?P ◢ ( 输入边桩与线路夹角 PJ ,左偏 – 90 右 +90 ) “ PD =”?D ◢ (输入边桩距 PD ) Z[18]+D*COS(T+P) →Z[20] ↙ Z[19]+D*SIN(T+P) →Z[21] ↙

“XP=”: Z[20] ◢ ( XP 边桩 X ) “YP=”: Z[21] ◢ ( YP 边桩 Y )

Pol(Z[20]-M,Z[21]-N):\ J<0=>J+360→J:\? DMS ◢ (边桩放样方位角)

Return ↙ (以上都要输进计算器)注解不输 K 里程 XI 中线 X YI 中线 Y PD 输入边桩距 XP 边桩 X 坐标 YP 边桩 Y 坐标 I 边桩放样距

PJ 输入边桩与线路夹角,左偏 – 90 右 +90 ) I 中桩放样距

T 计算里程点切线方位角,可以不显示

卡西欧计算器FX-5800正反算、隧道超欠挖计算程序

正算主程序 (ZS) :

Lb1 0 : FIX 4 : ? S : ?Z : Prog “ PM-SJ ” : Abs(S-O) → W : Prog \: \: X ◢ \ Y ◢ F-90 → F ( 需要时可以让他显示,不要时不必输入 ) : Pro g“SQX-SJ”: Prog “ SQX ” : “ H= ” : H ◢ Goto 0 反算主程序 (FS)

Lb1 0 : FIX4: ? S : ? X :? Y : Prog “PM-SJ” : X→ I : Y→ J : Prog \: \: O+W→S ◢ \ Z ◢

Prog “SQX-SJ” : Prog “ SQX ” : “ H= ” : H ◢ Goto 0 隧道 3 心圆放样主程序( SD-3XY )

Lb1 0 : Prog “ FS ” : 1.5 → A : 1.65 → B : 0.89→ G : 2.27 → C : 3.3 → D : 2.41 → E : 0.51 → J : “H1” : F : ifF≤ H+ A : then E-AbsZ → W : IfEn d : ifF > H+A And F ≤ H+A+ B : then√ ( D²- ( F-H-A ) ² ) -G-AbsZ → W : IfEn d : ifF > H+A+ B : then√ ( C²- ( F-H-A-J ) ² ) -AbsZ → W : IfEn d : “W=” : W◢ (水平方向的超欠挖:正为欠 , 负为超) Goto0

正算子程序 (SUB1)

1÷P → C : (P-R)÷(2HPR) → D : 180÷π → E : 0.1739274226 → A : 0.3260725774 → B : 0.0694318442 → K : 0.3300094782 → L : 1-L → F : 1-K → M : U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD))) → X :

V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) → Y : G+QEW(C+WD)+90 → F : X+ZcosF → X : Y+ZsinF → Y 反算子程序 (SUB2)

G-90 → T : Abs((Y-V)cosT-(X-U)sin ( T ) ) → W : 0 → Z : Lbl 0 : Prog \: T+QEW(C+WD) → L : (J-Y)cosL-(I-X)sinL → Z : ifAbsZ<1E- 6 : thenGoto1 : ElssW+Z → W : Goto 0 : IfEnd

Lbl 1 : 0 → Z : Prog \: (J-Y)÷sinF → Z 子程序(平面线形数据库) PM-SJ

ifS ≥ 500 (线元起点里程) AndS < 769.256 (线元止点里程): Then19942.837 → U (线元起点 X 坐标) : 28343.561 → V (线元起点 Y 坐标) : 500 → O (线元起点里程) : 125 ° 16 ° 31 ° → G (线元起点方位角) : 269.265 → H (线元长度) : 10^ ( 45 ) → P (线元起点曲率半径): 10^ ( 45 ) → R (线元终点曲率半径): 0 → Q (线元左右偏标志:左负右正): IfEnd

ifS ≥ 769.256 (线元起点里程) AndS < 806.748 (线元止点里程): Then19787.34 → U (线元起点 X 坐标) : 28563.378 → V (线元起点 Y 坐标) : 769.256 → O (线元起点里程) : 125 ° 16 ° 31 ° → G (线元起点方位角) : 37.492 → H (线元长度) : 10^ ( 45 ) → P (线元起点曲率半径): 221.75 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEnd

ifS ≥ 806.748 (线元起点里程) AndS < 919.527 (线元止点里程): Then19766.566 → U (线元起点 X 坐标) : 28594.574 → V (线元起点 Y 坐标) : 806.748 → O (线元起点里程) : 120 ° 25 ° 54.07 ° → G (线元起点方位角) : 112.779 → H (线元长度) : 221.75 → P (线元起点曲率半径): 221.75 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEnd

ifS ≥ 919.527 (线元起点里程) AndS < 999.812 (线元止点里程): Then19736.072 → U (线元起点 X 坐标) : 28701.893 → V (线元起点 Y 坐标) : 919.527 → O (线元起点里程) : 91 ° 17 ° 30.63 ° → G (线元起点方位角) : 80.285 → H (线元长度) : 221.75 → P (线元起点曲率半径): 9579.228 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEnd

ifS ≥ 999.812 (线元起点里程): Then19744.038 → U (线元起点 X 坐标) : 28781.659 → V (线元起点 Y 坐标) : 999.812 → O (线元起点里程) : 80 ° 40 ° 50 ° → G (线元起点方位角) : 100 → H (线元长度) : 10^ ( 45 ) → P (线元起点曲率半径): 10^ ( 45 ) → R (线元终点曲率半径): 0 → Q (线元左右偏标志:左负右正): IfEnd 子程序(竖曲线数据库) SQX-SJ

ifS ≤ 999.812 (竖曲线终点里程): then0.0357 (前坡度:上坡正下坡负) → E : 0.0227 (后坡度: 上坡正下坡负 ) → F : 600 → R (竖曲线半径): 780 → G (变坡点里程): 110 → C (变坡点高程): IfEnd 子程序(竖曲线计算公式) SQX

E-F → J : ifJ > 0 : then-R → R : ElssR→ R : Abs ( R*J÷2 ) → T : IfEnd ifS ≤ G- T : thenG-S → L : C-LE → H : IfEnd

ifS > G- T And S ≤G : thenG-S → L :( S+T-G ) ²÷2÷R →N : C-LE+N → H : IfEnd

ifS > G And S ≤ G+ T : then S-G → L :( G +T- S ) ²÷2÷R →N : C+LF+N → H : IfEnd

ifS > G+ T : thenS-G → L : C+LF → H : IfEnd 使用说明

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1 ;当线元往右偏时, Q=1 ;当线元为直线时, Q=0 。

(2) 当所求点位于中线时, Z=0 ;当位于中线左铡时, Z 取负值;当位于中线中线右侧时, Z 取正值。

(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以 10 的 45 次代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以 10 的 45 次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以 10 的 45 次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。 (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

超方便实用的5800全线坐标正反算程序 Fx-5800 计算机程序(在用) QXJS 主程序

Lbl A:“1.ZH=>XY”:“2.XY=>ZH”:?Q:“ZH”?S:Prog“QXJS-SUB0”↙ Q=1 => Goto1:Q=2 => Goto2:↙

Lbl 1:“ZH-BJ”?Z:Prog“QXJS-SUB1”:“X=”:N◢:“Y=”:E◢:“F=”:F◢: Goto4↙

Lbl 2: “X=”:?B: “Y=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “ZH=”:S◢: “ZH-BJ”:Z◢: GotoA↙ QXJS-SUB0 数据库子程序 Goto1↙ Lbl 1

IF S<*** (线元终点里程) :Then***→A (线元起点方位角) :***→O (线元起点里程) :***→U (线元起点 X ) :***→V (线元起点 Y ) :***→P (线元起点曲率半径) :***→R (线元终点曲率半径) : ***→L (线元起点至终点长度) : Return:IfEnd↙

IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R: ***→L: Return:IfEnd↙

……………………….. 为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个 Lbl ,每增加一个工程增加一个文件。

QXJS-SUB1 正算子程序 0.5 ( 1÷R-1÷P ) ÷L→D:S-O→X↙ U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙ V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙ A+(X÷P+DX2)×180÷π→F↙

N+Zcos(F+90) →N:E+Zsin(F+90) →E QXJS-SUB2 反算子程序

Lbl 1:0→Z : 1→Q : Prog“QXJS-SUB0”: Prog“QXJS-SUB1”↙ Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-90-J) →W:S+W→S↙ Abs(W)>0.0001 => Goto1↙

Lbl 2: 0→Z : Prog“QXJS-SUB1”:(C-E) ÷sin(F+90) →Z 三、使用说明 1 、规定

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当曲线半径在左时, P 、 R 取负值,当曲线半径在右时, P 、 R 取正值,当曲线半径为无穷大(即直线)时, P 、 R 以 10 的 45 次代替。

(2) 当所求点位于中线时, Z=0 ;当位于中线左铡时, Z 取负值;当位于中线中线右 侧时, Z 取正值。

(3) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆 弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以 10 的 45 次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以 10 的 45 次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的

值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等 于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。 2 、输入与显示说明 输入部分: 1. ZH=>XY 2. XY=>ZH”

Q ? 选择计算方式,输入 1 表示进行由里程、边距计算坐标 ;输入 2 表示由坐标反算里程和边距。

CASIO5800计算器公路竖曲线全线高程计算程序

“SQXJSCX”↙ Lb1 1↙ CLs:Fix 3↙

“K=”?k◢ (计算点里程输入)

If k<67549.755 AND K≥66894.3 :Then -0.00052→A : 0→B : 67394.3→S : 67.37→G : 600000→R : Goto 2 : IfEnd↙

If k<68708.391 AND K≥67549.755 :Then -0.0048→A : -0.00052→B :

68494.3→S :66.8→G : 100000→R : Goto 2 : IfEnd↙

If k<本段竖曲线终点里程 AND K≥前一竖曲线终点里程 :Then -0.0048→前坡(大里程向)A : -0.00052→后坡(小里程向)B : 68494.3→竖曲线交点里程S :66.8→交点高程G : 100000→曲率半径R : Goto 2 : IfEnd↙ ???

依次类推,计算原始数据完成输入,坡度换算成小数。 Lb1 2↙

S-K→L : A-B→W : Abs(R*W/2)→T : S-T→C : S+T→D ↙

If K≤C : Then G-L*B →H : Goto 5 : Else If K≤S : Then Goto3 : Else If K≤D : Then Goto4 : IfEnd : IfEnd : IfEnd↙ Lb1 3↙ If W>0 : Then G+(C-K)^ 2/2/R-L*B→H : Goto 5 : Else If W<0 : Then G-(C-K) ^2/2/R-L*B→H : Goto 5 : IfEnd : IfEnd↙ Lb1 4↙

If W>0 : Then G+(K-D) ^2/2/R-L*A→H : Goto 5 : Else If W<0 : Then G-(K-D)^ 2/2/R-L*A→H : Goto 5 : IfEnd : IfEnd↙

Lb1 5↙

H-0.304→H↙ (0.304为中心~路肩高差) “H=”:H◢ Goto 1↙

5800计算器公路全线坐标正、反算计算程序

正算主程序(ZS) Lb1 0

FIX4:?S:?Z:Prog “PM-SJ”: Abs(S-O) → W:Prog \: \:X◢ \:Y◢F-90→F(需要时可以让他显示,不要时不必输入):Prog“SQX-SJ”: Prog“SQX”:“H=”:H◢ Goto 0 反算主程序(FS)

正算子程序(SUB1): (P-R)÷(2HPR) → D: 180÷π→ E: 0.1739274226→ A: 0.3260725774→ B: 0.0694318442→ K: 0.3300094782→ L: 1-L→ F:1-K→ M: U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD))) → X:

V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) → Y: G+QEW(C+WD)+90→ F: X+ZcosF→ X: Y+ZsinF→ Y反算子程序(SUB2): Abs((Y-V)cosT-(X-U)sin(T)) → W: 0→ Z:Lbl 0:Prog \: T+QEW(C+WD) →L: (J-Y)cosL-(I-X)sinL → Z:ifAbsZ<1E-6:thenGoto1:ElssW+Z → W:Goto 0:IfEnd←┘-: 0→ Z:Prog \: (J-Y)÷sinF→ Z子程序(平面线形数据库)PM-SJ 1÷P→ C G-90→T Lbl 1

ifS ≥500(线元起点里程)AndS<769.256(线元止点里程):Then19942.837 →U(线元起点X坐标):28343.561 →V(线元起点Y坐标):500 →O(线元起点里程):125°16°31°→G(线元起点方位角):269.265 →H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q(线元左右偏标志:左负右正):IfEnd←┘

ifS ≥769.256(线元起点里程)AndS<806.748(线元止点里程):Then19787.34 →U(线元起点X坐标):28563.378→V(线元起点Y坐标):769.256→O(线元起点里程):125°16°31°→G(线元起点方位角):37.492→H(线元长度):10^(45)→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘

ifS ≥806.748(线元起点里程)AndS<919.527(线元止点里程):Then19766.566→U(线元起点X坐标):28594.574→V(线元起点Y坐标):806.748→O(线元起点里程):120°25°54.07°→G(线元起点方位角):112.779→H(线元长度):221.75→P(线元

起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘

ifS ≥919.527(线元起点里程)AndS<999.812(线元止点里程):Then19736.072 →U(线元起点X坐标):28701.893 →V(线元起点Y坐标):919.527→O(线元起点里程):91°17°30.63°→G(线元起点方位角):80.285→H(线元长度):221.75→P(线元起点曲率半径):9579.228→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘

ifS ≥999.812(线元起点里程):Then19744.038 →U(线元起点X坐标):28781.659→V(线元起点Y坐标):999.812→O(线元起点里程):80°40°50°→G(线元起点方位角):100→H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q(线元左右偏标志:左负右正):IfEnd←┘ 子程序(竖曲线数据库)SQX-SJ

ifS≤999.812(竖曲线终点里程):then0.0357(前坡度:上坡正下坡负)→E:0.0227(后坡度:上坡正下坡负)→F:600→R(竖曲线半径):780→G(变坡点里程):110→C(变坡点高程):IfEnd←┘ 子程序(竖曲线计算公式)SQX

E-F→J:ifJ>0:then-R→R:ElssR→R:Abs(R*J÷2)→T:IfEnd←┘ ifS≤G-T:thenG-S→L:C-LE→H:IfEnd←┘

ifS>G-T And S≤G: thenG-S→L:(S+T-G)²÷2÷R→N:C-LE+N → H:IfEnd←┘-

ifS>G And S≤G+T: then S-G→L:(G +T- S)²÷2÷R→N:C+LF+N → H:IfEnd←┘-

ifS>G+T :thenS-G→L: C+LF → H:IfEnd←┘ 三、使用说明 1、规定

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。

(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。 以上程序为个人改编而得,如有好的建议及不妥处请留言。如有好的程序,也发一份我共享啊!

本文来源:https://www.bwwdw.com/article/pu1g.html

Top