CASIO fx5800P计算器测量程序设计21版.docx
《CASIO fx5800P计算器测量程序设计21版.docx》由会员分享,可在线阅读,更多相关《CASIO fx5800P计算器测量程序设计21版.docx(14页珍藏版)》请在冰豆网上搜索。
CASIOfx5800P计算器测量程序设计21版
CASIOfx-5800P计算器测量程序设计2.1版
一、程序功能
主要功能:
采用线元法与交点法相结合计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本特点:
1、建主程序合并原所有计算类型,在主程序中可选择操作类型。
隧道欠超挖增加变量衬砌厚度,因有设计衬砌厚度根据石岩来定的。
增加锥坡放样计算。
二、源程序
1.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后输入1~9数子则选择1至9的程序,返回时,在桩号输入-1,返回选择选择计算类型。
输入-2,返回选择线路。
坐标计算中输入-3,则显示本段曲线要素。
程序名:
0ZCX
LbIQ:
15→DimZ:
Norm2:
1→A:
"A:
XY=1,ZD=2,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9"?
A:
A=1=>Goto1:
A=2=>Goto2:
A=3=>Goto3:
A=4=>Goto4:
A=5=>Goto5:
A=6=>Goto6:
A=7=>Goto7:
A=8=>Goto8:
A=9=>Goto9
LbI1:
Prog"DX":
LbIA:
Prog"QX":
90→B:
"PJ1"?
B:
B→C:
"PJ2"?
C:
B→Z[1]:
C→Z[8]:
LbIB:
1→F:
"KM"?
Z:
Z=-1=>Goto0:
Z=-2=>GotoA:
Z=-3=>GotoX:
Prog"KM":
?
D:
Porg"THB":
O→L:
"L0"?
L:
Z[2]+Z[1]-Z[8]→E:
X+Lcos(E)→X:
Y+Lsin(E)→Y:
Prog"XY":
Prog"JS":
GotoB
LbI2:
2→F:
90→Z[1]:
Prog"QX":
LbIC:
"KM"?
Z:
Z=-1=>Goto0:
Z=-2=>Goto2:
Z=-3=>GotoX:
Prog"KM":
"XO"?
X:
"Y0"?
Y:
Prog"THB":
Porg"ZD":
GotoC:
LbI3:
Prog"QX":
0→B:
"H-B"?
B:
B→Z[9]:
LbID:
"KM"?
Z:
Z=-1=>Goto0:
Z=-2=>Goto3:
?
D:
Porg"H":
Fix3:
"H=":
Lcoate6,4,H-Z[9]◢
"I=":
Locate6,4,I◢GotoD
LbI4:
Prog"QX":
LbIE:
"KM"?
Z:
Z=-1=>Goto0:
Z=-2=>Goto4:
?
D:
Prog"GD":
Fix3:
"SJGD=":
Locate7,4,L◢GotoE
LbI5:
Prog"QX":
0.5→B:
"TH-GD"?
B:
B→Z[15]:
LbIF:
2→F:
90→Z[1]:
"KM"?
Z:
Z=-1=>Goto0:
Z=-2=>Goto5:
Prog"KM":
"X0"?
X:
"Y0"?
Y:
0→M:
”M0”?
M:
M→Z[4]:
Prog"3FBZ"
Fix2:
Z[3]→D:
Abs(D)-S→O:
"L0=":
Locate6,4,O◢
Prog"ZD":
Z[5]→T:
"TW=":
Lcoate6,4,T◢GotoF:
LbI6:
Prog"DX":
LbIG:
Prog"QX":
LbIH:
1→F:
90→Z[1]:
"KM"?
Z:
Z=-1=>Goto0:
Z=-2=>GotoG:
Prog"KM":
?
D:
Prog"THB":
Prog"XY":
Prog"JS":
Prog"H":
0→M:
"M0"?
M:
Fix2:
H-M→T:
"TW=":
Locate6,4,T◢GotoH:
LbI7:
Prog"DX":
LbII:
Prog"QX":
0→D:
"LD:
Z-,Y+"?
D:
Abs(D)→R:
"LR"?
R:
"Z0"?
Z:
D→Z[6]:
R→Z[7]:
Z→Z[8]:
LbIJ:
0→Y:
"L0:
SZ+,DZ-"?
Y:
Y=-1=>Goto0:
Y=-2=>GotoI:
Prog"ZP":
GotoJ:
LbI8:
Prog"DX":
LbIK:
?
X:
X=-1=>Goto0:
X=-2=>
Goto8:
?
Y:
Prog"JS":
GotoK:
LbI9:
Porg"DX":
LbIL:
Prog”QX”:
LbIM:
2→F:
90→Z[1]:
"KM"?
Z:
Z=-1=>Goto0:
Z=-2=>GotoL:
Z=-3=>GotoX:
Prog"SD1":
0.5→A:
“CQHD"?
A:
“X0"?
X:
"Y0"?
Y:
0→M="M0"?
M:
M→Z[8]:
A→Z[15]:
Prog"5SD":
GotoM:
LbIX:
MatF◢Goto0
2、次程序:
路基开挖边线及填方坡脚线放样程序(输入填方放宽值、大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)
程序名:
3FBX
Prog”THB”:
D→P:
Prog”GD”:
IfD<0:
Then0.75-L→D:
GotoH:
ElseL-0.75→D:
GotoH:
IfEnd
LbIH:
Prog“H”:
H-0.03-Z[4]→Z[4]:
Prog“W1”:
IfZ[4]<0:
Then–Z[4]→G:
GotoW:
ElseZ[4]→G:
GotoT:
LbIW:
Z[8]+Z[9]→A:
IfG>A:
ThenGoto1:
ElseIfG>Z[8]:
ThenGoto2:
ElseGoto3:
IfEnd:
LbI1:
L+Z[10]+Z[11]+Z[12]+(G-A)×Z[7]+Z[9]×Z[6]+Z[8]×Z[5]→S:
GotoZ:
LbI2:
L+Z[10]+Z[11]+(G-Z[8])×Z[6]+Z[8]×Z[5]→S:
GotoZ:
LbI3:
L+Z[10]+G×Z[5]→S:
GotoZ:
LbIT:
L+Z[17]→T:
IfG>Z[15]:
Then(T+Z[16]+(G-Z[15])×Z[14]+Z[15]×Z[13])→S:
GotoZ:
Else(T+G×Z[13])→S:
GotoZ:
LbIZ
3.次程序3.隧道超欠挖值计算放样程序(输入隧道线路,大概桩号、输入衬砌厚度、测量三维坐标,计算准确桩号及位置、计算欠超挖值)
程序名:
5SD
Prog”KM”:
Prog“THB”:
D→Z[13]:
0→D:
Prog“H”:
Cos(Z[10])×Z[4]→E:
H+Z[5]→Z[5]:
H+Z[7]→Z[7]:
E+Z[5]→Z[10]:
IfZ[8]>Z[10]:
ThenGotoR:
ElseGotoS:
IfEnd:
LbIR:
√((Z[13]-Z[9])2+(Z[8]-Z[5])2)-Z[4]-Z[15]→L:
GotoL:
LbIS:
Z[4]-Z[6]→S:
√(S2-(Z[7]-Z[5])2)×S÷Abs(S)→T:
Abs(Z[13]-Z[9])-T→T:
√(T2+(Z[8]-Z[7])2)-Z[6]-Z[15]→L:
GotoL:
LbIL:
Fix2:
”L0=”:
Locate6,4,L◢
Prog”ZD”:
“H0=”:
Locate6,4,Z[8]-H◢
4:
极坐放样计算程序(计算放样点至置仪点方位角及距离)
程序名:
JS
X:
Y:
Z[11]→K:
Z[12]→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◢
5.路基宽度子程序6:
路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)
程序名:
GD
1→S:
Prog“G1”:
Z-C→E:
(B-A)*E/S+A→L:
6.坐标计算次程序(THB)
程序名:
THB
IfQ=2:
ThenGotoJ:
Else1÷P→C:
(P-R)÷(2HPR)→S:
180÷Π→E:
IfF=1:
ThenAbs(Z-0)→W:
Prog"A":
Goto2:
ElseX→I:
Y→J:
Prog"B":
O+W→Z:
D→D:
Goto2:
IfEnd:
LbIJ:
IfF=1:
ThenProg"Z":
Goto1:
ElseProg"ZX":
Goto2:
IfEnd:
LbI1:
I+D×COS(Z[2]+Z[1])→X:
J+D×Sin(Z[2]+Z[1])→Y:
LbI2
7.线元法正算子程序(A)
程序名:
A
0.1184634425→A:
0.2393143352→B:
0.2844444444→N:
0.046910077→K:
0.2307653449→L:
0.5→M:
U+W(Acos(G+QEKW(C+KWS))+Bcos(G+QELW(C+LWS))+Ncos(G+QEMW(C+MWS))+Bcos(G+QE(1-L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS)))→X:
V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)WS)))→Y:
G+QEW(C+WS)→Z[2]:
X+Dcos(Z[2]+Z[1])→X:
Y+Dsin(Z[2]+Z[1])→Y
8.线元法反算子程序(B)
程序名:
B
G-90→T:
Abs((Y-V)cos(T)-(X-U)sin(T))→W:
0→D:
Lbl0:
Prog"A":
T+QEW(C+WS)→L:
(J-Y)cos(L)-(I-X)sin(L)→D:
IFAbs(D)<0.01:
ThenGoto1:
ElseW+D→W:
Goto0:
IfEnd:
←┘
Lbl1:
0→D:
Prog"A":
(J-Y)÷sin(Z[2]+90)→D
9.交点法正算子程序(Z)
程序名:
Z
H2÷R÷24-H∧(4)÷2688÷R∧(3)→A:
H÷2-H∧(3)÷240÷R2→B:
(R+A)tan(Abs(P)÷2)+B→T:
O-T→C:
C+H→L:
L+ΠR×Abs(P)÷180→N:
N-H→E:
P÷Abs(P)→W:
0→M:
IfZThenZ-O→S:
G→Z[2]:
Goto2:
IfEnd:
IfZ≥N:
ThenZ-N+T→S:
G+P→Z[2]:
Goto2:
IfEnd:
IfZ≥E:
ThenN-Z→S:
Prog“HX”:
G+P→S:
S-WK→Z[2]:
U+(T-A)Cos(S)-WBSin(S)→I:
V+(T-A)Sin(S)+WBcos(S)→J:
Goto3:
IfEnd:
IfZ>L:
Then180(Z-L+0.5H)÷R÷Π→S:
H÷2-H∧(3)÷240÷R2+Rsin(S)→A:
H2÷R÷24-H∧(4)÷2688÷R∧(3)+R(1-Cos(S))→B:
R→M:
G+WS→Z[2]:
Goto4:
IfEnd:
Z-C→S:
Prog“HX”:
G+WK→Z[2]:
LbI4:
U+(A-T)cos(G)-WBsin(G)→I:
V+(A-T)Sin(G)+WBcos(G)→J:
Goto3:
LbI2:
U+Scos(Z[2])→I:
V+Ssin(Z[2])→J:
LbI3
10.交点法缓和段转化子程序(HX)
程序名:
HX
S-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4)÷H∧(4)→A:
S∧(3)÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5)÷H∧(5)→B:
90S2÷Π÷R÷H→K:
RH÷S→M
11.交点法反算子程序(ZX)
程序名:
ZX
Z:
0→D:
LbI0:
Prog“Z”:
Pol(X-I,Y-J):
J-Z[2]→J:
Isin(J)→S:
Icos(J)→I:
IfAbs(I)<0.1:
ThenZ+I→Z:
S→D:
Goto2:
ElseGoto1:
LbI1:
IfM=0:
ThenZ+I→Z:
Goto0:
ElesPol(M-WS,I):
(JMΠ)/180→I:
Z+I→Z:
Goto0:
IfEnd
LbI2
12.高程计算子程序(H)
程序名:
H
Prog“S1”:
C-T→F:
Z-F→S:
C+T→E:
G-TI→Q:
IfT=O:
ThenQ+SI→H:
Goto0:
ElseIfZThenQ+SI→H:
Goto0:
ElseIfZ≤E:
ThenQ+SI+S2÷2÷R→H:
Goto0:
LbI0:
H:
IfD=0:
ThenGotoI:
ElseProg“I”:
H+V→H:
GotoI:
LbII
13.高程超高计算程序(I)
程序名:
I
IfZ[3]=1:
ThenProg“I1”:
Goto1:
ElseProg“I2”:
Goto1:
IfEnd:
LbI1:
IfW=1:
Then:
GotoZ:
Else:
GotoX:
IfEnd
LbIZ:
IfS=0:
ThenAbs(D)×M→V:
Goto2:
ElseAbs(D)×((N-M)×(Z-C)÷S+M)→V:
Goto2:
IfEnd:
LbIX:
IfS=0:
ThenAbs(D)×M→V:
Goto2:
ElseAbs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:
Goto2:
IfEnd:
LbI2:
Abs(D)→E:
V÷E→I:
I(E-K)→V
14.导线点子程序(DX)
程序名:
DX
Z[11]→K:
Z[12]→L:
“XZ”?
K:
”YZ”?
L:
K→Z[11]:
L→Z[12]
15.线路选择子程序(线路选择输0时。
则输曲线参数(QX)
程序名:
QX
1→A:
”QX:
X1=1,X2=2”?
A:
A→Z[3]:
IfA=0:
ThenGoto1:
ElseGoto2:
IfEnd:
LbI1:
”JDO”?
O:
”XO”?
U:
”YO”?
V:
”FW”?
G:
”LS”?
H:
?
P:
?
R:
”J=2,X=(0,1,-1)”?
Q:
Goto2:
LbI2
16.线路中线元段判别子程序(KM)
程序名:
KM
IfZ[3]=0:
ThenGoto0:
ElseIfZ[3]=1:
ThenProg“X1”:
Goto0:
ElseProg“X2”:
Goto0:
IfEnd:
LbI0
17.坐标计算参数转化子程序(F)
程序名:
F
MatF[1,1]→O:
MatF[1,2]→U:
MatF[1,3]→V:
MatF[1,4]→G:
MatF[1,5]→H:
MatF[1,6]→P:
MatF[1,7]→R:
MatF[1,8]→Q
18.桥梁锥坡放样子程序(ZP)
程序名:
ZP
√(Z[6]2(1-Y2/Z[7]2))→X:
Z[8]→Z:
Prog”GD”:
IfD<0:
ThenL+X→D:
Else–L-X→D:
IfEnd:
Z[8]+Y→Z:
D:
1→F:
90→Z[1]:
Prog”KM”:
Prog”THB”:
Prog”XY”:
Prog”JS”
19.显示子程序(XY)
程序名:
XY
Fix3:
"X=":
Locate6,4,X◢
"Y=":
Locate6,4,Y◢
程序名:
ZD
Fix3:
" KM=":
Locate6,4,Z◢
" D=":
Locate6,4,D◢
20.数据子程序(附后示例)
①-1程序名:
X1(线路1坐标计算要素程序)
IfZ≤26615.555:
Then[[25900,11587.421,1847.983,101。
09’23.1”,715.555,1×1045,1×1045,0]]→MatF:
Goto0:
IfEnd:
IfZ≤26915.555:
Then[[26615.555,11448.97,2550.016,101。
09’23.1”,300,1×1045,1800,1]]→MatF:
Goto0:
IfEnd:
LbI0:
Prog”F”
①-2程序名:
X2(线路2坐标计算要素程序)
IfZ≤616.951:
Then[[316.951,11230.669,3213.086,118。
42’28.42”,300,1800,1×1045,1]]→MatF:
Goto0:
IfEnd:
IfZ≤4050:
Then[[3089.766,9708.017,5530.185,123。
28’57.1”,300,-44。
39’38”,2200,2]]→MatF:
Goto0:
IfEnd:
LbI0:
Prog”F”
程序字母说明:
O-线元起点桩号(交点桩号);U-起点X坐标(交点X);V-起点Y坐标(交点Y);G-线元起点桩号切线方位角(交点前一交点至现交点方位角);H-线元长度(缓和曲线长度),P-线元起点曲率半径(偏角:
值为正负,左偏为负,右偏为正),R-线元终点曲率半径(圆半径),Q-线元判别(以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0;交点法取值2).说明括内为交点法子母代表意思。
。
②-1程序名:
S1(线路1高程竖曲线要素子程序)
IfZ[3]=1:
ThenGoto1:
ElseProg“S2”:
Goto0:
IfEnd:
LbI1:
IfZ≤26157.8:
Then-200000→R:
157.8→T:
26000→C:
37.1→G:
0.01222→I:
Goto0:
IfEnd:
IfZ≤27421.915:
Then300000→R:
171.915→T:
27250→C:
32.65→G:
-0.00356→I:
Goto0:
IfEnd:
IfZ≤27889.029:
Then1000000→R:
134.029→T:
27755→C:
36.64→G:
0.0079→I:
Goto0:
IfEnd:
LbI0
②-2程序名:
S2(线路2高程竖曲线要素子程序)
IfZ≤183.007:
Then1365→R:
20.475→T:
162.532→C:
46.1→G:
0.003→I:
Goto0:
IfEnd:
IfZ≤321.264:
Then-1200→R:
38.732→T:
282.532→C:
50.175→G:
0.033→I:
Goto0:
IfEnd:
LbI0
程序字母说明:
C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);T-竖曲线切线长(标段结尾或开头没有竖曲线的输0);R-竖曲线半径(分正负:
凹曲线为正,凸曲线为负);I-竖曲线前纵坡
③-1程序名:
I1(线路1高程超高参数子程序)
1.5→K:
2→W:
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≤26615.555:
Then0→S:
-0.02→M:
Goto0:
IfEnd:
IfZ≤26735.555:
Then120→S:
26615.555→C:
-0.02→M:
0.02→N:
Goto0:
IfEnd:
IfZ≤26795.555:
Then60→S:
26735.555→C:
0.02→M:
0.04→N:
Goto0:
IfEnd
LbIR:
IfZ≤26735.555:
Then0→S:
-0.02→M:
Goto0:
IfEnd
IfZ≤26795.555:
Then60→S:
26735.555→C:
-0.02→M:
-0.04→N:
Goto0:
IfEnd
IfZ≤27436.951:
Then0→S:
-0.04→M:
Goto0:
IfEnd
LbI0
③-2程序名:
I2(线路2高程超高参数子程序)
0.5→K:
1→W:
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≤100:
Then0→S:
-0.015→M:
Goto0:
IfEnd:
IfZ≤110:
Then10→S:
100→C:
-0.015→M:
-0.02→N:
Goto0:
IfEnd:
IfZ≤343.665:
Then0→S:
-0.02→M:
Goto0:
IfEnd
LbIR:
IfZ≤100:
Then0→S:
-0.015→M:
Goto0:
IfEnd
IfZ≤110:
Then10→S:
100→C:
-0.015→M:
-0.02→N:
Goto0:
IfEndIfZ≤375.665:
Then0→S:
-0.02→M:
Goto0:
IfEnd
LbI0
字程序中字母表示说明:
K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);S-超高渐变段距离(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)。
④-1程序名:
G1(线路1路基标准半幅宽度参数子程序)
IfZ[3]=1:
ThenGoto1:
ElseProg“G2”:
Goto0:
IfEnd
LbI1:
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≤28110.727:
ThenZ→C:
17.25→A:
Goto0:
IfEnd:
IfZ≤28200.727:
Then28110.727→C:
17.25→A:
21.25→B:
90→S:
Goto0:
IfEnd
LbIR:
Z≤27927.478:
ThenZ→C:
17.25→A:
Goto0:
IfEnd
IfZ≤28172:
Then27927.478→C:
17.25→A:
27.031→B:
244.522→S:
Goto0:
IfEnd
LbI0
④-2程序名:
G2(线路2路基标准半幅宽度参数子程序)
IfD<0:
ThenGotoL:
ElseGotoR:
IfEnd:
LbIL:
IfZ≤69.998:
ThenZ→C:
28.25→A:
Goto0:
IfEnd:
IfZ≤82.402:
Then69.998→C:
28.25→A:
25.545→B:
12.404→S:
Goto0:
IfEnd
LbIR:
Z≤69.998:
ThenZ→C:
17.45→A:
Goto0:
IfEnd
IfZ≤80.367:
Then69.998→C:
17.45→A:
16.787→B:
10.369→S:
Goto0:
IfEnd:
LbI0
字程序中字母表示说明:
C-宽度渐变段起点桩号(不是渐变段C=Z);A-宽度渐变段起点宽度;B-宽度渐变段终点宽度(不是渐变段,无需输入);S-宽度渐变段距离(