5800计算器程序5.docx
- 文档编号:29651702
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:18
- 大小:24.56KB
5800计算器程序5.docx
《5800计算器程序5.docx》由会员分享,可在线阅读,更多相关《5800计算器程序5.docx(18页珍藏版)》请在冰豆网上搜索。
5800计算器程序5
FX5800计算器测量程序集2.0版
一、程序功能
主要功能:
计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本特点:
1、优化原所有主程序,所有参变量(如导线点置仪点坐标、正反算选择、偏角、线路选择等),全部在程序头次显示一次,以后运行不需输入。
运行中也可以返回再次选择线路、可以直接以矩阵形式调出线路参数。
2、坐标计算考虑了线元法与交点法相结合,即是一条线路也可以一段用线元法,一段用交点法。
参数置放矩阵中,输入和可读性极好。
3、新增隧道断面欠超挖值放样计算
4、高程程序中考虑了初次输入线路选择、计算面与设计面高差,输出中加入显示本桩号路基标准宽度。
二、源程序
1.主程序1:
一般放样正反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)
程序名:
1ZD-XY
Lb1Q:
Norm2:
14→DimZ:
1→F:
Prog"DX":
Lb1X:
Prog"QX":
90→B:
"PJ"?
B:
B→Z[1]:
Lb10:
Norm2:
“KM”?
Z:
IfZ=-1:
ThenGotoX:
ElseIfZ=-2:
Then2→F:
Goto0:
ElseIfZ=-3:
ThenGoto9:
IfEnd:
Prog"KM":
IfF=1:
Then?
D:
Else“X0”?
X:
“Y0”?
Y:
IfEnd:
Prog"THB":
IfF=1:
ThenGoto1:
ElseGoto2:
Lb11:
Fix3:
" X=":
Locate6,4,X◢
" Y=":
Locate6,4,Y◢
Prog"6JS”:
Goto0:
Lb12:
Fix3:
" KM=":
Locate6,4,Z◢
" D=":
Locate6,4,D◢
Goto0:
Lbl9:
MatF◢
GotoQ
2.主程序2:
高程、横坡、宽度程序(计算设计任意点高程、横坡及路基设计标准宽度)
程序名:
2GC
14→DimZ:
LbI0:
Norm2:
Prog"QX":
0→B:
”H-B:
”?
B:
B→Z[9]:
LbIH:
Norm2:
“KM”?
Z:
Z=-1=>Goto0:
?
D:
Prog”H”:
Fix3:
” H=”:
Locate6,4,H◢
“ I=”:
Locate6,4,I◢
Prog"GD":
“SJLG=”:
Locate6,4,L◢
GotoH
3.主程序3:
涵洞放样程序(输入置仪点坐标。
选择线路、输入路线右夹角、前进方向偏角、由涵中心桩号计算出各涵角坐标、计算放样点至置仪点方位角及距离)
程序名:
3JH-XY
14→DimZ:
Prog"DX":
LbIX:
Norm2:
Prog"QX":
90→B:
"PJ1"?
B:
B→C:
"PJ2"?
C:
B→Z[1]:
C→Z[8]:
LbI0:
Norm2:
1→F:
“KM”?
Z:
IfZ=-1:
ThenGotoX:
?
D:
Prog”THB”:
0→L:
“L0”?
L:
Z[2]+Z[1]-Z[8]→E:
X+Lcos(E)→X:
Y+Lsin(E)→Y:
Fix3:
" X=":
Locate6,4,X◢
" Y=":
Locate6,4,Y◢
Prog"6JS”:
Goto0:
4.主程序4:
路基开挖边线及填方坡脚线放样程序(输入填方放宽值、大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)
程序名:
4FBX
17→DimZ:
LbIB:
Norm2:
Prog"QX":
0.5→B:
“TH-GD”?
B:
B→Z[17]:
LbI0:
Norm2:
2→F:
90→Z[1]:
“KM”?
Z:
IfZ=-1:
ThenGotoB:
“X0”?
X:
“Y0”?
Y:
0→M:
“M0”?
M:
M→Z[4]:
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:
Fix2:
Abs(P)-S→K:
” L0=”:
Locate6,4,K◢
Fix3:
" KM=":
Locate6,4,Z◢
" D=":
Locate6,4,P◢
Z[4]>0=>Z[4]+I(T-L)→Z[4]:
“ TW=”:
Locate6,4,Z[4]◢
Goto0
5.主程序5.隧道超欠挖值计算放样程序(输入隧道线路,大概桩号、输入测量三维坐标,计算准确桩号及位置、计算欠超挖值)
程序名:
5SD
15→DimZ:
LbIB:
Norm2:
Prog"QX":
LbI0:
Norm2:
2→F:
90→Z[1]:
“KM”?
Z:
IfZ=-1:
ThenGotoB:
Prog“XD1”:
”X0”?
X:
“Y0”?
Y:
0→M:
“M0”?
M:
M→Z[8]:
Prog“THB”:
D→Z[10]:
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:
√((D-Z[9])2+(Z[8]-Z[5])2)-Z[4]→L:
GotoL:
LbIS:
Z[4]-Z[6]→S:
√(S2-(Z[7]-Z[5])2)→T:
Abs(D-Z[9])-T→T:
√(T2+(Z[8]-Z[7])2)-Z[6]→L:
GotoL:
LbIL:
Fix2:
” L0=”:
Locate6,4,L◢
Fix3:
" KM=":
Locate6,4,Z◢
" D=":
Locate6,4,D◢
“ H0=”:
Locate6,4,Z[8]-H◢
Goto0
6:
极坐放样计算程序(计算放样点至置仪点方位角及距离)
程序名:
6JS
X:
Y:
Z[11]→K(置仪点X坐标)
Z[12]→L(置仪点Y坐标)
Pol(X-K,Y-L):
IFJ<0:
ThenJ+360→J:
Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J))→J:
(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)Fix4:
”FWJ=”:
Locate6,4,J◢
Fix3:
” S=”:
Locate6,4,I◢
7.路基宽度次程序6:
路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)
程序名:
GD
1→S:
IfZ[3]=1:
ThenProg“G1”:
Goto1:
ElseProg“G2”:
Goto1:
IfEnd
LbI1:
Z-C→E:
(B-A)*E/S+A→L:
8.坐标计算次程序(THB)
程序名:
THB
IfQ=2:
ThenGotoJ:
1÷P→C:
(P-R)÷(2HPR)→S:
180/Π→E:
IfF=1:
Then:
Abs(Z-0)→W:
Prog"A":
Goto2:
Else:
X→I:
Y→J:
Prog"B":
O+W→Z:
D→D:
Goto2:
IfEnd:
LbIJ:
IfF=1:
Then:
Prog"Z":
Goto1:
Else:
Prog"ZX":
Goto2:
IfEnd:
LbI1:
I+D*COS(Z[2]+Z[1])→X:
J+D*Sin(Z[2]+Z[1])→Y:
LbI2:
9.线元法正算子程序(A)
程序名:
A
0.1184634425→A:
0.2393143352→B:
0.2844444444→N0.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
10.线元法反算子程序(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:
11.交点法正算子程序(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:
IfZ ThenZ-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: 12.交点法缓和段转化子程序(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: 13.交点法反算子程序(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: 14.高程计算子程序(H) 程序名: H Prog“S1”: C-T→F: Z-F→S: C+T→E: G-TI→Q: IfT=O: ThenQ+SI→H: Goto0: ElseIfZ ThenQ+SI→H: Goto0: ElseIfZ≤E: ThenQ+SI+S2÷2÷R→H: Goto0: LbI0: H: IfD=0: ThenGotoI: ElseProg“I”: H+V→H: LbII: 15.高程超高计算程序(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: 16.导线点子程序(DX) 程序名: DX Z[11]→K: Z[12]→L: “XZ”? K: ”YZ”? L: K→Z[11]: L→Z[12]: 17.线路选择子程序(线路选择输入0时。 则手工输入曲线参数(QX) 程序名: QX 1→A: ”QX: ? =0,X1=1,X2=2”? A: A→Z[3]: IfA=0: ThenGoto1: ElseGoto2: IfEnd: LbI1: ”ZO”? O: ”XO”? U: ”YO”? V: ”FW”? G: ”LS”? H: ? P: ? R: ”J=2,X=(0,1,-1)”? Q: Goto2: LbI2: 18.线路中线元段判别子程序(KM) 程序名: KM IfZ[3]=0: ThenGoto0: ElseIfZ[3]=1: Then Prog“X1”: Goto0: ElseProg“X2”: Goto0: IfEnd: LbI0: 19.坐标计算参数转化子程序(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: 20.数据子程序(附后示例) ①-1程序名: X1(线路1坐标计算要素程序) If Z≤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坐标计算要素程序) If Z≤616.951: Then[[316.951,11230.669,3213.086,118。 42’28.42”,300,180045,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-竖曲线切线长;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: IfEnd IfZ≤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路基标准半幅宽度参数子程序) 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-宽度渐变段距离(不是渐变段,无需输入)。 ⑤-1程序名: XD1(线路1隧道参数子程序) IfZ[3]=1: ThenGoto1: ElseProg“XD2”: Goto0: IfEnd: LbI1: 8.75→Z[4]: -1.1→Z[5]: 4.77→Z[6]: 1.47→Z[7]: -0.25→Z[9]: 51。 28’57.1”→Z[10]: LbI: 0 ⑤-2程序名: XD2(线路2隧道参数子程序) 8.5→Z[4]: -1.15→Z[5]: 4.5→Z[6]: 1.52→Z[7]: 0.25→Z[9]: 55。 20’51.6”→Z[10]: 字程序中字母表示说明: Z[4]-隧道上拱半径;Z[5]-隧道上拱圆心至设计面高度;Z[6]-隧道中腰部半径;Z[7]-中腰圆心至设计面高度;Z[9]-设计隧道中线与设计路基中线偏移值,左为负数,右为正数;Z[10]-上部拱跨隧道半幅角度; ⑥-1程序名: W1(线路1路基填挖边坡参数子程序) I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 5800 计算器 程序