5800计算器全线坐标计算放样程序(修改第三版)5800计算器全线坐标计算放样程序(修改版)“XLZBJSCX” ◢LB1 0 ↙CLS : FIX 4 : 30→DIM Z ↙“XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y)0l(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":J→DMS◢(后视方位角)LB1 1 ↙“K=”?K ◢(计算里程)IF K<本段曲线终点里程 AND K≥上段曲线终点里程:THEN 本段终点里程→Z[1] : 上段曲线终点里程→Z[2] :1→0 (注:左偏曲线输入-1→0,右偏曲线输入1→0): 偏角→A:半径→R : 第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : G0T0 2 : IFEND↙…………(曲线段分段输入)补充直线段输入如下IF K<本段直线终点里程 AND K≥本段直线起点里程:THEN 1→0:本段直线终点里程→Z[2]:终点X→Z[16]:终点Y→Z[11]:方位角→E:G0T0 4:IFENDLB1 2 ↙(曲线要素计算)Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1)Z[7]/2- Z[6]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙(M2)Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙(P1)Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙(P2)π*A*R/180+0.5*( Z[3]+ Z[2])→W ↙(曲线总长)90* Z[6]/(R*π) →Z[14] ↙(第一缓和曲线总偏角)90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略)Z[8]+(R+Z[10])TAN(A/2)-(Z[11]-Z[11] )/SIN A→Z[11]↙ (切线T1)Z[9]+(R+Z[12])TAN(A/2)+(Z[10]-Z[12] )/SIN A→Z[12]↙ (切线T2)B+ Z[12]*C0S (E+180)→ Z[13] ↙(ZH点X)C+ Z[12]*SIN(E+180)→ Z[15] ↙(ZH点Y)Z[1]-S→Z[3] ↙ (ZH点里程)Z[3]+ Z[6]→Z[4] ↙ (HY点里程)Z[1]- Z[7]→Z[5] ↙ (YH点里程)G0T0 3 ↙LB1 3 ↙(判断里程点与曲线关系)IF K≤Z[3] AND K> Z[2] : THEN G0T0 4 : IFEND ↙IF K≤Z[4] AND K> Z[3] : THEN G0T0 5 : IFEND ↙IF K≤Z[5] AND K> Z[4] : THEN G0T0 6 : IFEND ↙IF K≤Z[1] AND K> Z[5] : THEN G0T0 7 : IFEND ↙LB1 4 ↙(里程小于直缓点直线独立坐标)K- Z[3] →X : 0→Y : E→T : PR0G“TYZBCX” :G0T0 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/(3362*R^3* Z[6]^3) →Y ↙90*H^2/( R*π* Z[6]) →T ↙IF 0>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T: IFEND ↙ PR0G“TYZBCX” :G0T0 1 ↙LB1 6 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*SIN T+ Z[8]→X ↙R*(1-C0S T)+ Z[13]→Y ↙IF 0>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙ PR0G“TYZBCX” :G0T0 1 ↙LB1 7 ↙(第二缓和曲线独立坐标)Z[1] -K →H ↙H-H^5/(40*R^2* Z[7]^2)+H^8/(3456*R^4* Z[4]^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]C0S A+ Z[12]-U*C0S A-V*SIN A→X ↙Z[13]*SIN A-U*SIN A+V*C0S A→Y ↙IF 0>0 :THEN F-T→T : T<0=>360+T→T : ELSE F+T →T : IFEND ↙ PR0G“TYZBCX” :G0T0 1 ↙子程序:“TYZBCX” ↙(统一坐标计算)IF 0<0 : THEN -Y→Y : IFEND ↙“QXJ=” :T◢(计算里程点切线方位角,可以不显示)Z[16]+X*C0S E-Y*SIN E→Z[15] ↙Z[17]+X*SIN E+Y*C0S E→Z[12] ↙“XI=” : Z[13] ◢(中线X)“YI=” : Z[19] ◢(中线Y)P0l(Z[18]-M,Z[13]-N):"DI=":I(中桩放样距)◢J<0=>J+360→J:"FI=":J→DMS◢(中桩放样方位角)“PJ=”?P◢ (输入边桩与线路夹角,左-右+)“PD=”?D◢(输入边桩距)Z[12]+D*C0S(T+P) →Z[20] ↙Z[13]+D*SIN(T+P) →Z[21] ↙“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)P0l(Z[20]-M,Z[21]-N):"DP=":I◢(边桩放样距)J<0=>J+360→J:"FP=":J→DMS◢(边桩放样方位角)一、程序功能主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括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.主程序:一般坐标计算及放样程序程序名:1XYPr0g "DX":Pr0g"QX":90→A: "PJ1"?A:A→B: "PJ2"?B:A→Z[1]:B→Z[9]: D0:"KM"?Z:Z=-1=>St0p:Z=-2=>Break: Pr0g"K": ?D: 0→L: "L0"?L:L→Z[10]: P0rg"A":Z[2]+Z[1]→A :A-Z[9]→E:I+Dc0s(A)+Z[10]c0s(E→X:J+Dsin(A)+Z[10]sin(E→Y:Pr0g"XY":Pr0g"JS":LpWhile Z≠-12.主程序:由大概桩号及坐标反算桩号及距离程序名:2ZDPr0g"QX":D0: "KM"?Z:Z=-1=>St0p:Z=-2=>Break: Pr0g"K": "X0"?X: "Y0"?Y: P0rg"B": Pr0g"ZD":Lp While Z≠-13.主程序:任意点高程计算及横坡程序名:3GCPr0g"QX":0→B: "H-B"?B: B→Z[9]: D0: "KM"?Z:Z=-1=>St0p:Z=-2=>Break:?D:Pr0g"H":Fix 3: " H=":Lc0ate6,4,H-Z[9]:" I=":L0cate 6,4,I:LpWhile Z≠-14.主程序:任意桩号位置的标准路基宽度计算程序名:4GDPr0g"QX": D0: "KM"?Z:Z=-1=>St0p:Z=-2=>Break:-1→D:Pr0g"C":L→P:1→D: Pr0g"C":Fix 3: " LGD=":Lc0ate 6,4,P:" RGD=":L0cate 6,4,L:LpWhile Z≠-15、主程序:路基开挖边线及填方坡脚线放样程序程序名:4BPPr0g "DX":Pr0g"QX":0.5→B: "TH-GD"?B: B→Z[2]: D0:"KM"?Z:Z=-1=>St0p:Z=-2=>Break: Pr0g"K": “X0"?X:"Y0"?Y:Z[3]→M:"M0"?M:M→Z[8]: P0rg"B":D→P :Pr0g"C":If D<0:Then 0.75-L→D:Else L-0.75→D: IfEnd: Pr0g“H”:H-0.03-Z[8] →G: Pr0g “W1”:If G>0:Then G0t0 T: IfEnd:-G→H:If H>E+F:Then L+M+N+U+C(H-E-F)+BF+AR→S:G0t0 0:IfEnd:If H>E:Then L+M+N+ B(H-E)+AT→S:G0t0 0:IfEnd:If H<E:Then L+M+HA→S:G0t0 0:IfEnd: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 0: P→D :Abs(D)-W→T: " LX=":L0cate 6,4,T:Pr0g"ZD":" TW=":Lc0ate 6,4,G◢LpWhile Z≠-16、主程序:定值放样路基桩计算填挖值程序名:6FMPr0g "DX":Pr0g"QX": D0:"KM"?Z:Z=-1=>St0p:Z=-2=>Break: Pr0g"K": ?D: P0rg"A":Z[2]+90→A :I+Dc0s(A→X:J+Dsin(A→Y:Pr0g"XY":Pr0g"JS":Z[8]→M:”M0”?M:M→Z[8]:Pr0g “H”:”TW=”:L0cate 6,4,H-Z[8]: LpWhile Z≠-17、主程序:桥梁锥坡计算放样程序名:7ZPPr0g"DX":Pr0g"QX":"Z0"?Z:"LD:Z-,Y+"? D:Abs(D) →R: "LR"?R: D→Z[7]:R→Z[10]:Z→Z[9]:Pr0g”C”:L→Z[10]:Pr0g”K”:D0:Z[10]→Y:"L0:SZ+,DZ-"?Y: Y=-1=>St0p:Y=-2=>Break: √(Z[7]2(1-Y2/Z[10]2))→X:Z[9]+Y→Z: Pr0g”C”: If D>0:Then L+X→D:Else –L-X→D:IfEnd:Pr0g”A”: Z[2]+90→A :I+Dc0s(A→X:J+Dsin(A→Y:Pr0g"XY":Pr0g"JS": LpWhileY≠-18、主程序:由坐标计算方位角及距离程序名:8JSPr0g "DX":D0:?X: X=-1=>St0p:X=-2=>Break:?Y:Pr0g”JS”: LpWhile X≠-1 9、主程序:隧道超欠挖放样计算程序名:9SDPr0g"DX":0.65→U:”CQHD”?A:Y→Z[7]:D0:"KM"?Z:Z=-1=>St0p:Z=-2=>Break: Pr0g"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M→Z[8]: P0rg"B":D→Z[9]:0→D:Pr0g”H”:Pr0g”SD1”:Z[9]→D:Z[8]→M:Z[7]→X:Rc0s(P→C:H+A→A:H+B→B:C+A→E:If M<E:ThenR-V→S:S=0=>G0t0 1:√(S2-(B-A)2)S÷Abs(S→T:Abs(D-Q)-T→T:√(T2+(M-B)2)-V-X→L:G0t00:IfEnd:LbI 1:√((D-Q)2+(M-A)2)-R-X→L:LbI 0:Fix 2: ”LX=”: L0cate 6,4,L:Pr0g”ZD”:“H0=”: L0cate 6,4,M-H◢LpWhile Z≠-110. 交点法正算子程序(A)程序名:AP÷Abs(P→W:0-T+ΠR×Abs(P)÷180+H÷2-N÷2→Q:H→C:0→M:If Z≤0-T:Then Z-0→S:G→Z[2]:G0t0 1: IfEnd:If Z≤0-T+H:Then Z-0+T→S:Pr0g “HX”:G+WK→Z[2]:A-T→A:G→E:G0t02:IfEnd:If Z≤Q: Then 180(Z-0+T-0.5H)÷R÷Π→S : Pr0g”AB”:A+R(1-C0s(S→E:B+Rsin(S→A:E→B:R→M:G+WS→Z[2]:A-T→A:G→E:G0t0 2: IfEnd:If Z≤Q+N:Then Q+N-Z→S:N→H:Pr0g“HX”:G+P→E:E-WK→Z[2]:F-A→A:C→H:G0t0 2:IfEnd:Z-Q-N+F→S:G+F→Z[2]: LbI 1:U+Sc0s(Z[2]→I:V+Ssin(Z[2]→J:Return:LbI 2:U+Ac0s(E)-WBsin(E→I:V+Asin(E)+WBc0s(E→J11. 交点法反算子程序(B)程序名:B0→D:D0:Z+D→D:Pr0g”A”:P0l(X-I,Y-J+×10-9:J-Z[2]→J:Isin(J→S:I c0s(J→D:If M≠0:Then P0l(M-WS,D:JMΠ÷180→D:IfEnd: LpWhile Abs(D>.001:Z+D→Z:S→D12.缓和曲线段直角坐标计算子程序(AB)程序名:ABH2÷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)→B13. 计算缓和曲线段坐标增量及偏角子程序(HX)程序名:HXS-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)÷96 76800÷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:IfEnd14.高程计算子程序(H)程序名:HPr0g “S1”:N-I→A:A÷Abs(A→W:R×Abs(A÷2→T:If Z<C-T:ThenG+I(Z-C→H:G0t0 0:IfEnd:If Z<C+T:ThenG-TI+(I+(Z-C+T)W÷2÷R)×(Z-C+T→H:G0t0 0: IfEnd:N→I: G+I(Z-C→H:ILbI 0:If D=0:Then H→H:Return:Else Pr0g “I”:H+I(Abs(D)-K→H:IfEnd15.高程超高计算横坡子程序(I)程序名:IPr0g “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.路基宽度子程序程序名: C1→S: Pr0g “G1”:Z-C→E:(B-A)E÷S+A→L17:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JSZ[5]→K:Z[6]→L:P0l(X-K, Y-L:IF J<0:ThenJ+360→J:IFEnd:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J→J: Fix 4:” FWJ=”: L0cate 6,4,J:Fix 3:”S=”:L0cate 6,4,I◢18.导线点子程序(DX)程序名:DXZ[5]→K:Z[6]→L:“XZ”?K:”YZ”?L:K→Z[5]:L→Z[6]19.线路选择子程序(线路选择输0时。