FX5800计算器测量程序集2.0 版一、程序功能主要功能:计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本特点:1、优化原所有主程序,所有参变量(如导线点置仪点坐标、正反算选择、偏角、线路选择等),全部在程序头次显示一次,以后运行不需输入。
运行中也可以返回再次选择线路、可以直接以矩阵形式调出线路参数。
2、坐标计算考虑了线元法与交点法相结合,即是一条线路也可以一段用线元法,一段用交点法。
参数置放矩阵中,输入和可读性极好。
3、新增隧道断面欠超挖值放样计算4、高程程序中考虑了初次输入线路选择、计算面与设计面高差,输出中加入显示本桩号路基标准宽度。
二、源程序1.主程序1:一般放样正反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XYLb1 Q: Norm 2:14→DimZ:1→F:Prog"DX":Lb1 X:Prog"QX":90→B:"PJ"?B:B→Z[1]:Lb1 0: Norm 2 :“KM”?Z:If Z=-1:Then Goto X:Else If Z=-2: Then 2→F :Goto 0: Else If Z=-3: Then Goto 9:IfEnd: Prog"KM":If F=1:Then ?D:Else “X0”?X:“Y0”?Y: IfEnd: Prog"THB":If F=1: Then Goto 1: Else Goto 2:Lb1 1:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"6JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 0:Lbl 9:Mat F◢Goto Q2.主程序2:高程、横坡、宽度程序(计算设计任意点高程、横坡及路基设计标准宽度)程序名:2GC14→DimZ:LbI 0:Norm 2: Prog"QX":0→B:”H-B:”?B:B→Z[9]:LbI H: Norm 2: “KM”?Z:Z=-1=> Goto 0:?D:Prog”H”:Fix 3:”H=”:Loc ate 6,4,H◢“I=”: Locate 6,4,I◢Prog"GD":“SJLG=”: Locate 6,4,L◢Goto H3.主程序3:涵洞放样程序(输入置仪点坐标。
选择线路、输入路线右夹角、前进方向偏角、由涵中心桩号计算出各涵角坐标、计算放样点至置仪点方位角及距离)程序名:3JH-XY14→DimZ:Prog"DX":LbI X:Norm 2: Prog"QX":90→B:"PJ1"?B:B→C: "PJ2"?C: B→Z[1]:C→Z[8]:LbI 0:Norm 2:1→F: “KM”?Z:If Z=-1:Then Goto X: ?D:Prog”THB”:0→L:“L0”?L:Z[2]+Z[1]-Z[8] →E:X+Lcos(E) →X:Y+Lsin(E) →Y:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"6JS”:Goto 0:4.主程序4:路基开挖边线及填方坡脚线放样程序(输入填方放宽值、大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:4FBX17→DimZ:LbI B:Norm 2: Prog"QX":0.5→B:“TH-GD”?B:B→Z[17]:LbI 0:Norm 2:2→F:90→Z[1]: “KM”?Z:If Z=-1:Then Goto B: “X0”?X:“Y0”?Y:0→M:“M0”?M:M→Z[4]:Prog”THB”:D→P:Prog”GD”:If D<0:Then 0.75-L→D:Goto H:ElseL-0.75→D:Goto H:IfEndLbI H:Prog“H”:H-0.03-Z[4] →Z[4]: Prog “W1”:If Z[4]<0:Then –Z[4] →G:Goto W:Else Z[4]→G:Goto T:LbI W:Z[8]+Z[9] →A: If G>A:Then Goto 1:Else If G>Z[8]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[10]+Z[11]+Z[12]+(G-A)×Z[7]+Z[9]×Z[6]+Z[8]×Z[5] →S:Goto Z:LbI 2:L+Z[10]+Z[11]+(G-Z[8])×Z[6]+Z[8]×Z[5] →S:Goto Z:LbI 3:L+Z[10]+G×Z[5] →S:Goto Z:LbI T:L+Z[17]→T:If G>Z[15]:Then (T+Z[16]+(G-Z[15])×Z[14]+Z[15]×Z[13])→S:Goto Z:Else(T+G×Z[13])→S:Goto Z:LbI Z:Fix 2:Abs(P)-S→K:”L0=”: Locate 6,4,K◢Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,P◢Z[4]>0=>Z[4]+I(T-L) →Z[4]:“TW=”: Locate 6,4,Z[4]◢Goto 05.主程序5.隧道超欠挖值计算放样程序(输入隧道线路,大概桩号、输入测量三维坐标,计算准确桩号及位置、计算欠超挖值)程序名:5SD15→DimZ:LbI B:Norm 2: Prog"QX":LbI 0:Norm 2: 2→F:90→Z[1]: “KM”?Z:If Z=-1:Then Goto B: 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]:If Z[8]>Z[10]:Then Goto R:Else Goto S:IfEnd:LbI R: √((D-Z[9]) 2+(Z[8]-Z[5]) 2 )- Z[4] →L:Goto L:LbI S: Z[4]-Z[6] →S: √(S 2-(Z[7]-Z[5]) 2) →T:Abs(D-Z[9])-T→T:√(T 2+(Z[8]-Z[7]) 2 )- Z[6]→L:Goto L:LbI L: Fix 2:”L0=”: Locate 6,4,L◢Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢“H0=”: Locate 6,4,Z[8]-H◢Goto 06:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:6JSX:Y:Z[11]→K(置仪点X坐标)Z[12]→L(置仪点Y坐标)Pol(X-K, Y-L):IF J<0:Then J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢Fix 3:”S=”:Locate 6,4,I◢7.路基宽度次程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名:GD1→S:If Z[3]=1:Then Prog “G1”:Goto 1:Else Prog “G2”:Goto 1: IfEndLbI 1:Z-C→E:(B-A)*E/S+A→L:8.坐标计算次程序(THB)程序名:THBIf Q=2:Then Goto J:1÷P→C:(P-R)÷(2HPR) →S:180/Π→E:If F=1:Then:Abs(Z-0) →W:Prog "A":Goto 2:Else:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 2: IfEnd:LbI J: If F=1:Then:Prog "Z":Goto 1:Else: Prog "ZX":Goto 2: IfEnd:LbI 1:I+D*COS(Z[2]+Z[1]) →X: J+D*Sin(Z[2]+Z[1]) →Y:LbI 2:9.线元法正算子程序(A)程序名:A0.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+MW S))+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)W S))) →Y:G+QEW(C+WS)→Z[2]:X+Dcos(Z[2]+ Z[1])→X:Y+Dsin(Z[2]+ Z[1])→Y10.线元法反算子程序(B)程序名:BG-90→T:Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→D:Lbl 0:Prog "A":T+QEW(C+WS) →L:(J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto 1:Else W+D→W:Goto 0: IfEnd:←┘Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]+90) →D:11.交点法正算子程序(Z)程序名:ZH2/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:If Z<C:Then Z-O→S:G→Z[2]:Goto 2: IfEnd: If Z≥N:Then Z-N+T→S:G+P→Z[2]:Goto 2: IfEnd: If Z≥E:Then N-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:Goto 3: IfEnd:If Z>L:Then 180(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]:Goto 4: IfEnd:Z-C→S:Prog “HX”:G+WK→Z[2]:LbI 4:U+(A-T)cos(G)-WBsin(G)→I:V+(A-T)Sin(G)+WBcos(G) →J: Goto 3:LbI 2:U+S cos(Z[2])→I:V+Ssin(Z[2]) →J: LbI 3:12.交点法缓和段转化子程序(HX)程序名:HXS-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)程序名:ZXZ:0→D:LbI 0:Prog “Z”:Pol(X-I,Y-J):J-Z[2] →J:Isin(J) →S:Icos(J) →I:If Abs(I)<0.1:ThenZ+I→Z:S→D:Goto 2:Else Goto 1: LbI 1:If M=0:Then Z+I→Z:Goto 0:ElesPol(M-WS,I):(JMΠ)/180→I:Z+I→Z:Goto 0:IfEndLbI 2:14.高程计算子程序(H)程序名:HProg “S1”:C-T→F:Z-F→S:C+T→E:G-TI→Q:If T=O:Then Q+SI→H:Goto 0:Else If Z<F:Then Q+SI→H:Goto 0:Else If Z≤E:Then Q+SI+S2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:LbI I:15.高程超高计算程序(I)程序名:IIf Z[3]=1:Then Prog “I1”:Goto 1:Else Prog “I2”:Goto1: IfEnd:LbI 1: If W=1:Then:Goto Z:Else:Goto X: IfEndLbI Z:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷S+M)→V:Goto 2:IfEnd:LbI X:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V:16.导线点子程序(DX)程序名:DXZ[11] →K:Z[12] →L:“XZ”?K:”YZ”?L:K→Z[11]:L→Z[12]:17.线路选择子程序(线路选择输入0时。