卡西欧5800计算器工程应用程序.docx
《卡西欧5800计算器工程应用程序.docx》由会员分享,可在线阅读,更多相关《卡西欧5800计算器工程应用程序.docx(18页珍藏版)》请在冰豆网上搜索。
卡西欧5800计算器工程应用程序
卡西欧5800计算器测量专用程序
一、程序功能
主要功能:
采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本优化:
1、优化程序语句、2、取消原线元法计算,化线元法为交点法。
3、高程计算修改,4、附计算坐标及高程参数设计要素输入实例
二、源程序(绿色为程序名;蓝色为输入计算器内容)0.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。
输入-2,返回选择线路。
程序名:
0(数子0)
ClrMat:
ClrVar:
12→DimZ:
Norm2:
Do:
"(XY=1,ZD=2,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QINGAN1-9":
Getkey→Z[3]:
WhileZ[3]=35:
Prog"1XY”:
WhileEnd:
WhileZ[3]=36:
Prog"2ZD":
WhileEnd:
WhileZ[3]=37:
Prog"3GC":
WhileEnd:
WhileZ[3]=21:
Prog"4GD":
WhileEnd:
WhileZ[3]=22:
Prog"5BP":
WhileEnd:
WhileZ[3]=23:
Prog"6FM":
WhileEnd:
WhileZ[3]=31:
Prog"7ZP":
WhileEnd:
WhileZ[3]=32:
Prog"8JS":
WhileEnd:
WhileZ[3]=33:
Prog"9SD":
WhileEnd:
LpWhileZ[3]≠25:
”XIEXIESHIYONG”:
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":
LpWhileZ≠-1
2.主程序:
由大概桩号及坐标反算桩号及距离
程序名:
2ZD
Prog"QX":
Do:
"KM"?
Z:
Z=-1=>Stop:
Z=-2=>Break:
Prog"K":
"XO"?
X:
"Y0"?
Y:
Porg"B":
Prog"ZD":
LpWhileZ≠-1
∙(反算带显示设计高程和横坡.在2ZD程序中修改这:
Prog"QX":
"KM"?
Z:
Do:
Prog"K":
"XO"?
X:
X=-1=>Stop:
X=-2=>Break:
"Y0"?
Y:
Porg"B":
Prog"H":
Prog"ZD":
"H=":
Locate6,4,H:
"I=":
Locate6,4,I◢LpWhileX≠-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":
Fix3:
"H=":
Locate6,4,H-Z[9]:
"I=":
Locate6,4,I:
LpWhileZ≠-1
4.主程序:
任意桩号位置的标准路基宽度计算
程序名:
4GD
Prog"QX":
Do:
"KM"?
Z:
Z=-1=>Stop:
Z=-2=>Break:
-1→D:
Prog"C":
L→P:
1→D:
Prog"C":
Fix3:
"LGD=":
Locate6,4,P:
"RGD=":
Locate6,4,L:
LpWhileZ≠-1
5、主程序:
路基开挖边线及填方坡脚线放样程序
程序名:
5BP
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":
IfD<0:
Then0.75-L→D:
ElseL-0.75→D:
IfEnd:
Prog“H”:
H-0.03-Z[8]→G:
Prog“W1”:
IfG>0:
ThenGotoT:
IfEnd:
-G→H:
IfH>E+F:
ThenL+M+N+U+C(H-E-F)+BF+AE→S:
Goto0:
IfEnd:
IfH>E:
ThenL+M+N+B(H-E)+AE→S:
Goto0:
IfEnd:
IfHThenL+M+HA→S:
Goto0:
IfEnd:
LbIT:
IfG>W:
ThenL+Z[7]+V+J(G-W)+IW→S:
ElseL+Z[7]+GI→S:
IfEnd:
LbI0:
Fix2:
P→D:
Abs(D)-S→T:
"LX=":
Locate6,4,T:
Prog"ZD":
"TW=":
Locate6,4,G◢LpWhileZ≠-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=”:
Locate6,4,H-Z[8]:
LpWhileZ≠-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”:
IfD>0:
ThenL+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":
LpWhileY≠-1
8、主程序:
由坐标计算方位角及距离
程序名:
8JS
Prog"DX":
Do:
?
X:
X=-1=>Stop:
X=-2=>Break:
?
Y:
Prog”JS”:
LpWhileX≠-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:
IfMThenR-V→S:
S=0=>Goto1:
√(S2-(B-A)2)S÷Abs(S→T:
Abs(D-Q)-T→T:
√(T2+(M-B)2)-V-X→L:
Goto0:
IfEnd:
LbI1:
√((D-Q)2+(M-A)2)-R-X→L:
LbI0:
Fix2:
”LX=”:
Locate6,4,L:
Prog”ZD”:
“H0=”:
Locate6,4,M-H◢LpWhileZ≠-1
10.交点法正算子程序(A)
程序名:
A
P÷Abs(P→W:
O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Q:
H→C:
0→M:
IfZ≤O-T:
ThenZ-O→S:
G→Z[2]:
Goto1:
IfEnd:
IfZ≤O-T+H:
ThenZ-O+T→S:
Prog“HX”:
G+WK→Z[2]:
A-T→A:
G→E:
Goto2:
IfEnd:
IfZ≤Q:
Then180(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:
Goto2:
IfEnd:
IfZ≤Q+N:
ThenQ+N-Z→S:
N→H:
Prog“HX”:
G+P→E:
E-WK→Z[2]:
F-A→A:
C→H:
Goto2:
IfEnd:
Z-Q-N+F→S:
G+P→Z[2]:
LbI1:
U+Scos(Z[2]→I:
V+Ssin(Z[2]→J:
Return:
LbI2:
U+Acos(E)-WBsin(E→I:
V+Asin(E)+WBcos(E→J
11.交点法反算子程序(B)
程序名:
B
0→D:
Do:
Z+D→Z:
Prog”A”:
Pol(X-I,Y-J+×10-9:
J-Z[2]→J:
Isin(J→S:
Icos(J→D:
IfM≠0:
ThenPol(M-WS,D:
JMΠ÷180→D:
IfEnd:
LpWhileAbs(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:
IfS=0:
Then0→M:
ElseRH÷S→M:
IfEnd
14.高程计算子程序(H)
程序名:
H
Prog“S1”:
N-I→A:
A÷Abs(A→W:
R×Abs(A÷2→T:
IfZThenG+I(Z-C→H:
Goto0:
IfEnd:
IfZThenG-TI+(I+(Z-C+T)W÷2÷R)×(Z-C+T→H:
Goto0:
IfEnd:
N→I:
G+I(Z-C→H:
LbI0:
IfD=0:
ThenH→H:
Return:
ElseProg“I”:
H+I(Abs(D)-K→H:
IfEnd
15.高程超高计算横坡子程序(I)
程序名:
I
Prog“I1”:
IfS=0:
ThenM→I:
Return:
ElseIfW=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:
IFJ<0:
ThenJ+360→J:
IFEnd:
Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J→J:
Fix4:
”FWJ=”:
Locate6,4,J:
Fix3:
”S=”:
Locate6,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]:
IfA=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
IfZ[4]=0:
ThenReturn:
IfEnd:
IfZ[4]=1:
ThenProg“X1”:
Return:
IfEnd:
IfZ[4]=2:
ThenProg“X2”:
Return:
IfEnd
21.坐标参数矩阵调用程序(F)
程序名:
F
MatF[1,1]→O:
MatF[1,2]→U:
MatF[1,3]→V:
MatF[1,4]→G:
MatF[1,5]→P:
MatF[1,6]→H:
MatF[1,7]→N:
MatF[1,8]→T:
MatF[1,9]→F:
MatF[1,10]→R
22.显示子程序
程序名:
XY
Fix3:
"X=":
Locate6,4,X:
"Y=":
Locate6,4,Y:
程序名:
ZD
Fix3:
"KM=":
Locate6,4,Z:
" D=":
Locate6,4,D
23.数据子程序(附后示例)
匝道线元转交点数据程序(T)
程序名:
T
Norm2:
“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-N2)÷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:
Fix3:
”JDKM=”:
Locate6,4,O:
”JDX=”:
Locate6,4,U:
”JDY=”:
Locate6,4,V◢”FWJ=”:
G►DMS◢”ZJ=”:
P►DMS◢”LS1=”:
Locate6,4,H:
”LS2=”:
Locate6,4,N:
”T1=”:
Locate6,4,T:
”T2=”:
Locate6,4,F◢”R=”:
R◢
说明:
运行后“QKM”?
输入起点桩号;“XQ”?
“YQ”?
输入起点X、Y坐标;“LS1”?
“LS2”?
输入前段缓和曲线长度,后段缓和曲线长度;“A1”?
“A2”?
输入前段缓和曲线参数,后段缓和曲线参数;“FWJ“?
输入起点切线方位角;”ZJ“?
输入转角(终点方位角减起点方位角之差,左转为负,右转为正);计算结果要素同QX子程序中要素字母。
①-1程序名:
X1(线路1坐标计算要素程序)
IfZ≤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]]→MatF:
Prog”F”:
IfEnd
①-2程序名:
X2(线路2坐标计算要素程序)
IfZ≤273.006:
Then[[171.674,2600784.547,514635.863,58。
49’17.2”,68。
09’26.91”,93.889,125,171.674,184.771,180]]→MatF:
Prog”F”:
Return:
IfEnd
IfZ≤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]]→MatF:
Prog”F”:
Return:
IfEnd
说明:
1、交点法:
IfZ≤计算交点段终点桩号:
Then[[交点桩号,交点X坐标,交点Y坐标,起点至交点方位角,交点转角,交点前段缓和曲线长度,交点后段缓和曲线长度,交点前段切线长度,交点后段切线长度,圆半径]]→MatF:
Prog”F”:
Return:
IfEnd
(转角则为交点段终点方位角减起点方位角,分正负,左偏为负,右偏为正)如整条线无曲线,全为直线段,则交点为终点桩号,XY为终点坐标,方位角为起点方位角,转角和圆半径为1,其它全为0。
②-1程序名:
S1(线路1高程竖曲线要素子程序)
IfZ[4]=1:
ThenGoto1:
ElseProg“S2”:
Return:
IfEnd:
LbI1:
IfZ≤241.09:
Then95.356→C:
40.742→G:
2000→R:
-.03155→I:
.00812→N:
IfEnd:
②-2程序名:
S2(线路2高程竖曲线要素子程序)
IfZ≤133.601:
Then106→C:
45.12→G:
1525→R:
-.0064→I:
.0298→N:
Return:
IfEnd:
IfZ≤466.23:
Then298→C:
50.841→G:
1945→R:
.0298→I:
-.01968→N:
Return:
IfEnd:
程序字母说明:
C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);R-竖曲线半径;I-竖曲线前纵坡;N-竖曲线后纵坡
③-1程序名:
I1(线路1高程超高参数子程序)
0→K:
1→W:
IfZ[4]=1:
ThenGoto1:
ElseProg“I2”:
Return:
IfEnd:
LbI1:
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≤159.419:
Then0→S:
.06→M:
Return:
IfEnd:
IfZ≤187.987:
Then28.568→S:
159.419→C:
.06→M:
.02→N:
Return:
IfEnd:
IfZ≤241.086:
Then0→S:
.02→M:
Return:
IfEnd:
LbIR:
IfZ≤159.419:
Then0→S:
-.06→M:
Return:
IfEnd:
IfZ≤187.987:
Then28.568→S:
159.419→C:
-.06→M:
-.02→N:
Return:
IfEnd:
IfZ≤241.086:
Then0→S:
.-02→M:
Return:
IfEnd
③-2程序名:
I2(线路2高程超高参数子程序)
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≤77.872:
Then0→S:
.02→M:
Return:
IfEnd:
IfZ≤93.889:
Then16.017→S:
77.872→C:
.02→M:
.05→N:
Return:
IfEnd:
IfZ≤198.567:
Then0→S:
.05→M:
Return:
IfEnd:
IfZ≤273.006:
Then74.439→S:
198.567→C:
.05→M:
.02→N:
Return:
IfEnd:
IfZ≤335:
Then0→S:
.02→M:
Return:
IfEnd:
IfZ≤346.235:
Then11.235→S:
335→C:
.02→M:
.015→N:
Return:
IfEnd:
LbIR:
IfZ≤77.872:
Then0→S:
-.02→M:
Return:
IfEnd:
IfZ≤93.889:
Then16.017→S:
77.872→C:
-.02→M:
-.05→N:
Return:
IfEnd:
IfZ≤198.567:
Then0→S:
-.05→M:
Return:
IfEnd:
IfZ≤273.006:
Then74.439→S:
198.567→C:
-.05→M:
-.02→N:
Return:
IfEnd:
IfZ≤335:
Then0→S:
-.02→M:
Return:
IfEnd:
IfZ≤346.235:
Then11.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路基标准半幅宽度参数子程序)
IfZ[4]=1:
ThenGoto1:
ElseProg“G2”:
Return:
IfEnd
LbI1:
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≤241.086:
ThenZ→C:
3.5→A:
Return:
IfEnd:
LbIR:
IfZ≤40.857:
Then0→C:
5→A:
5.25→B:
40.857→S:
Return:
IfEnd:
IfZ≤159.419:
ThenZ→C:
5.25→A:
Return:
IfEnd:
IfZ≤187.987:
Then159.419→C:
5.25→A:
5.5→B:
28.568→S:
Return:
IfEnd:
IfZ≤241.086:
ThenZ→C:
5.5→A:
Return:
IfEnd
④-2程序名:
G2(线路2路基标准半幅宽度参数子程序)
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≤466.227:
ThenZ→C:
3.5→A:
Return:
IfEnd:
LbIR:
IfZ≤321.611:
ThenZ→C:
5→A:
Return:
IfEnd:
IfZ≤346.235:
Then321.611→C:
5→A:
5.75→B:
24.624→S:
Return:
IfEnd:
IfZ≤466.227:
ThenZ→C:
5.75→A:
Return:
IfEnd
子程序中字母表示说明:
C-宽度渐变段起点桩号(不是渐变段C=Z);A-宽度渐变段起点宽度;B-宽度渐变段终点宽度(不是渐变段,无需输入);S-宽度渐变段距离(不是渐变段,无需输入)。
⑤-1程序名:
SD1(隧道参数子程序)
IfZ[4]=1:
Then5.1→R:
1.8→A:
1.4→V:
0.59→B:
0→Q:
109。
01’30”→P:
Retu