5800计算器全线坐标计算放样程序
CASIO fx—5800计算器 工程测量与公路测量程序

CASIO fx—5800计算器工程测量与公路测量程序1、坐标正算〝X0=〞?X:〝Y0=〞?Y:〝I=〞?I:〝J=〞?JX+ICos(J)→U:Y+ISin(J)→V〝X=〞:U (待求点的X坐标)〝Y=〞:V (待求点的Y坐标)说明:X0 Y0:已知点坐标I:两点的距离J:方位角2、坐标反算Lbl 0〝X1=〞?X:〝Y1=〞?Y:〝X2=〞?U:〝Y2=〞?VPol(U-X,V-Y):J<0 J+360→J〝I=〞:I〝J=〞:J DMSGOTO 0说明:X1Y1:第一点的坐标,X2Y2第二点的坐标,I:两点的距离,J:方位角3、圆曲线〝X0=〞?X: 〝Y0=〞?Y:〝FWJ=〞?D:〝QDHAO=〞?G: 〝ZDHAO=〞?C: 〝R=〞?R Lbl 1〝DQHAO=〞?LL<G Or L﹥C GOTO 2〝PY=〞?K180(L-G)÷(πR) →E2RSin(0.5E) →FReC(Abs(F),D+0.5E):Cls〝X=〞:X+I+KCos(D+E+90) →A〝Y=〞:Y+J+KSin(D+E+90) →BD+E→o:o<0 360+o→0o〝FWJ=〞:o DMSGoto 1Lbl 2〝END〞说明:X0Y0:起始点的坐标,FWJ:起始点的方位角,QDHAO:起点里程,ZDHAO 终点里程,R:半径,DQHAO:待求点里程,PY:偏移量4、竖曲线〝QZHAO =〞?J: 〝H+B〞=?B:〝I1=〞?C:〝I2=〞?D:〝R=〞?R:〝T=〞?T: ((D-C)÷100) ÷Abs((D-C) ÷100)→A:Abs(0.5R(D-C) ÷100)→S〝T〞:SJ-T→XJ+T→YLbl 0〝DQ=〞?LIf L<X:Then Goto 1:Else If L﹥Y:Then Goto 1:If End:If End〝GC=〞:B+C(L-J) ÷100+A(L-J+T) ÷(2R) →HGoto 0Lbl 1〝END〞说明:QZHAO:曲中点里程,H+B:曲中点高程,I1:第一坡度,I2:第二坡度,R:半径,T:切线长,DQ:待求点里程。
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)1.主程序:一般坐标计算及放样程序程序名:1XYProg "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":LpWhile Z≠-12.主程序:由大概桩号及坐标反算桩号及距离程序名:2ZDProg"QX":Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": "XO"?X: "Y0"?Y: Porg"B": Prog"ZD":LpWhile Z≠-13.主程序:任意点高程计算及横坡程序名:3GCProg"QX":0→B: "H-B"?B: B→Z[9]: Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break:?D:Prog"H":Fix 3: " H=":Lcoate 6,4,H-Z[9]:" I=":Locate 6,4,I:LpWhile Z≠-14.主程序:任意桩号位置的标准路基宽度计算程序名:4GDProg"QX": Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break:-1→D:Prog"C":L→P:1→D: Prog"C":Fix 3: " LGD=":Lcoate 6,4,P:" RGD=":Locate 6,4,L:LpWhile Z≠-15、主程序:路基开挖边线及填方坡脚线放样程序程序名:4BPProg "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":If D<0:Then 0.75-L→D:ElseL-0.75→D: IfEnd: Prog“H”:H-0.03-Z[8] →G: Prog “W1”:If G>0:Then Goto T: IfEnd:-G→H:If H>E+F:Then L+M+N+U+C(H-E-F)+BF+AE→S:Goto 0:IfEnd:If H>E:Then L+M+N+ B(H-E)+AE→S:Goto 0:IfEnd:If H<E:T hen L+M+HA→S:Goto 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 2: P→D :Abs(D)-S→T: " LX=":Locate 6,4,T:Prog"ZD":" TW=":Lcoate 6,4,G◢LpWhile Z≠-16、主程序:定值放样路基桩计算填挖值程序名:6FMProg "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=”:Locate 6,4,H-Z[8]: LpWhile Z≠-17、主程序:桥梁锥坡计算放样程序名:7ZPProg"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”: If D>0:Then L+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≠-18、主程序:由坐标计算方位角及距离程序名:8JSProg "DX":Do:?X: X=-1=>Stop:X=-2=>Break:?Y:Prog”JS”: LpWhile X≠-1 9、主程序:隧道超欠挖放样计算程序名:9SDProg"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:If M<E:ThenR-V→S:S=0=>Goto 1:√(S2-(B-A)2)S÷Abs(S→T:Abs(D-Q)-T→T:√(T2+(M-B)2)-V-X→L:Goto0:IfEnd:LbI 1:√((D-Q)2+(M-A)2)-R-X→L:LbI 0:Fix 2: ”LX=”: Locate 6,4,L:Prog”ZD”:“H0=”: Locate 6,4,M-H◢LpWhile Z≠-110. 交点法正算子程序(A)程序名:AP÷Abs(P→W:O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Q:H→C:0→M:If Z≤O-T:Then Z-O→S:G→Z[2]:Goto 1: IfEnd:If Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z[2]:A-T→A:G→E:Goto2:IfEnd:If Z≤Q: Then 180(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:Goto 2: IfEnd:If Z≤Q+N:Then Q+N-Z→S:N→H:Prog“HX”:G+P→E:E-WK→Z[2]:F-A→A:C→H:Goto 2:IfEnd:Z-Q-N+F→S:G+P→Z[2]: LbI 1:U+Scos(Z[2]→I:V+Ssin(Z[2]→J:Return:LbI 2:U+Acos(E)-WBsin(E→I:V+Asin(E)+WBcos(E→J11. 交点法反算子程序(B)程序名:B0→D:Do:Z+D→D:Prog”A”:Pol(X-I,Y-J+×10-9:J-Z[2]→J:Isin(J→S:Icos(J→D:If M≠0:Then Pol(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)程序名:HProg “S1”:N-I→A:A÷Abs(A→W:R×Abs(A÷2→T:If Z<C-T:ThenG+I(Z-C→H:Goto 0:IfEnd:If Z<C+T:ThenG-TI+(I+(Z-C+T)W÷2÷R)×(Z-C+T→H:Goto 0: IfEnd:N→I: G+I(Z-C→H:ILbI 0:If D=0:Then H→H:Return:Else Prog “I”:H+I(Abs(D)-K→H:IfEnd15.高程超高计算横坡子程序(I)程序名:IProg “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: Prog “G1”:Z-C→E:(B-A)E÷S+A→L17:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JSZ[5]→K:Z[6]→L:Pol(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=”: Locate 6,4,J:Fix 3:”S=”:Locate 6,4,I◢18.导线点子程序(DX)程序名:DXZ[5]→K:Z[6]→L:“XZ”?K:”YZ”?L:K→Z[5]:L→Z[6]19.线路选择子程序(线路选择输0时。
CASIO5800程序编辑说明

CASIO 5800程序编辑说明CASIO-5800P计算器程序编辑说明一(程序名称:直线坐标计算——Z-X-Z程序内容:1. “X=“,A : “Y=“,B : “Q=”,Q2. LbI 03. “N=”,N : “S=”,S : ”E=”,E4. A + N cos(Q) ?D : B + N sin(Q) ?F5. D + S cos(Q + E) ?6. F + S sin(Q + E) ?7. Goto 0内容说明:A 、 B——以知点即起算点的x,y坐标值;Q——直线段方位角;N——直线段距离;S——边桩距离;E——转向角;(左转为“,E”,右转为“E”) 二(程序名称:圆曲线任意坐标计算——ZY-YZ程序内容:1. “Q=”,Q : “ X= ”,W : “ Y= “,K : “R= ”,R:“F=”,F : “N=”,N : “U=”,U2. R tan(N?2) ? T3. Q–T ? A4. W+T cos(F+180) ?M : K+T sin(F+180) ?G5. LbI 06. “H=” ,H : ” S=” ?,S : “E=” ,E7. Abs(H - A) ? D8. 180 D?(Rπ) ?О9. R sin(О) ?C10. R (1-cos(О)) ?D11. M+C cos(F) ? I : G+C sin(F) ? J12. I+D cos(F+90U) ?X : J+D sin(F+90U) ? Y13. X+S cos(F+ОU+E) ?14. Y+S sin(F+ОU+E) ?15. Goto 0内容说明: Q——交点里程桩号;W 、K——交点X、Y坐标;R——圆曲线半径;F——前切线正方位角;N——偏角;(即转向角)U——控制偏角条件;(左偏角输入“,1”,右偏角输入“+1”)H——圆曲线上任意一点里程桩号;S——中桩至边桩距离;E——夹角;(左边桩输入“,E”,右边桩输入“E”) 三(程序名称:极坐标放样元素计算——J-Z-B-F-J程序内容: 1. “X=”,A : “Y=”,B : “X0=”,C :“Y0=”,D2. PoI ( C - A,D - B ) : CIs3. If J,0 : Then J+360?E : EIse J?E:IfEnd:E?DMS?4. I?5. LbI 06. “XN=”,U7. WhiIe U?0 (输入“0”即结束程序)8. “YN=”,V9. PoI(U-A,V-B):CIs10. If J,0:Then J+360?F:EIse J?F:IfEnd:F?DMS?11. I?12. F – E ? H13. If H,0:Then H+360?H:IfEnd : H?DMS?14. Goto 0内容说明: A、B——测站点坐标C、D——0方向点坐标E——计算出的测站点至0方向点的方位角I——计算出的测站点至0方向点的距离U,V——N方向点坐标F——计算出的测站点至N方向点的方位角I——计算出的测站点至N方向点的距离H——计算出的0方向与N方向的水平夹角表格:点号 X坐标 Y坐标距离方位角起止点号夹角测站点0点 0?01点 0?12点 0?2四(程序名称:有缓和曲线的圆曲线上点位坐标计算 F-Y-X-Y 程序内容:1(“Q=”,Q :“J=”,J :“K=”,K :“R=”,R :“F=”,F :“N=”,N :“I =”,I :“U=”,U2(6 ? Dim Z3(90 I?(Rπ) ? G (切线角,即缓和曲线角计算)3 24 4(I?(24R) - I?(2688R) ? P (内移距)32 5(I?2 - I?(240R) ? M (切线增值)6((R+P) tan (N?2)+M ? T (切线长)7(πRN ? 180 + I ? L (曲线长)8(Q – T ? A : A + I ? B :A + L ? D : D – I ? C9(J + T cos(F+180) ? Z[1] : K + T sin (F+180) ? Z[2]10(LbI 011(“H=”,H :“S=”,S :“E=”,E12(H – A – I ? Z13(180 Z?(Rπ) + G ? О14(R sin(О) + M ? X15(R (1 –cos(О)) + P ? Z16(Z[1]+ Xcos( F ) ? Z[3] : Z[2] + X sin( F )? Z[4]17(Z[3]+ Z cos (F + 90U ) ? Z[5] :Z[4] + Z sin(F + 90U )? Z[6]18(Z[5]+ S cos ( F +ОU + E ) ?19. Z[6] + S sin( F+ОU + E ) ?20(Goto 0内容说明: Q——交点里程桩号;J 、K——交点X、Y坐标;R——圆曲线半径;F——前切线正方位角;N——偏角;(即转向角)I——缓和曲线长;U——控制偏角条件;(左偏角输入“,1”,右偏角输入“+1”) H——有缓和圆曲的线圆曲线上任一点里程桩号;S——中桩至边桩距离;E——夹角;(左边桩输入“,E”,右边桩输入“E”)第9项——ZH点坐标;五(程序名称:缓和曲线段上点位坐标计算 F-H-X-Y程序内容:1 (“Q=”,Q :“J=”,J :“K=”,K :“R=”,R : “F=”,F :“N=”,N :“I =”,I :“U=”,U2(12 ? Dim Z32 3(I?2 - I?(240R) ? M (切线增值)3 24 4(I?(24R) - I?(2688R) ? P (内移距)5(πRN ? 180 + I ? L (曲线长)6(M+ (R+P) tan (N?2) ? T (切线长)7(Q – T ? A : A + I ? B : (ZH : HY)A + L ? D : D – I ? C (HZ:YH)8(J + T cos(F+180) ? Z[1] : K + T sin (F+180) ? Z[2] 9. J + T cos(F+NU) ? Z[3] : K + T sin (F+NU) ? Z[4] 10(LbI 011(“H=”,H :“S=”,S :“E=”,E12. H,B? Goto 113. H,D? Goto 214(LbI 115(Abs(H - A) ? Z216(90 Z?(πR I ) ?О229445 17(Z - Z?(40 RI) + Z?(3456 RI) ? X 7331155318(Z?(6 RI) – Z?(336 RI) + Z?(42240 RI) ? Z 19(Z[1]+ Xcos( F ) ? Z[5] : Z[2] + X sin( F )? Z[6] 20(Z[5]+ Z cos (F + 90U ) ? Z[7] :Z[6] + Z sin(F + 90U )? Z[8]21(Z[7]+ S cos ( F +ОU + E ) ?22. Z[8] + S sin( F+ОU + E ) ?23(Goto 024. LbI 225. D - H ? Z226(90 Z?(πR I ) ?О229445 27(Z - Z?(40 RI) + Z?(3456 RI) ? X 7331155328(Z?(6 RI) – Z?(336 RI) + Z?(42240 RI) ? Z 29(Z[3]+ X cos( F + NU+180 ) ? Z[9] :Z[4] + X sin( F + NU+180)? Z[10]30(Z[9]+ Z cos (F + NU+180 - 90U ) ? Z[11] :Z[10] + Z sin(F + NU+180 - 90U )? Z[12]31(Z[11]+ S cos ( F +NU+180 - ОU -(180 – E)) ?32. Z[12] + S sin( F+ NU+180 - ОU -(180 - E)) ?33. Goto 0内容说明: Q——交点里程桩号;J 、K——交点X、Y坐标;R——圆曲线半径;F——前直线段正方位角;N——偏角;(即转向角)I——缓和曲线长;U——控制偏角条件;(左偏角输入“,1”,右偏角输入“+1”) H——缓和曲线段上任一点里程桩号;S——中桩至边桩距离;E——夹角;(左边桩输入“,E”,右边桩输入“E”)第8项——ZH点坐标第9项——HZ点坐标。
5800坐标高程计算程序

CASIO5800计算器公路测量计算程序程序设计:魏加训2009.2.28Casio 5800计算器数据库型万能坐标正反算计算程序一、主程序:1XYLbl 0:“1.ZS 2.FS”?→V↙If V=1: Then “CZ X” ?H: “CZ Y” ?T:Goto 1: Else If V=2: Then Goto 2 :IfEnd: IfEnd↙Lbl 1: “K××+×××”?D:?Z: “RJ”?G↙Prog “P.Z”↙(注:计算另一线路时修改替换此处和FS子程序中的P.Z为对应线路的数据库名称即可)Prog “ZS” ↙If Z<0: Then Cls:“X(L)=”: “Y(L)=”: Locate 6,1,X : Locate 6,2,Y◢Pol(X-H,Y-T): Cls: “S(L)=”: Locate 6,1,I : "F(L)=":360Frac((J+360)÷360▼DMS◢Goto 1:IfEnd↙If Z=0: Then Cls:“X(Z)=”: “Y(Z)=”: Locate 6,1,X : Locate 6,2,Y : “QXFWJ (Z)=”: 360Frac((J+360)÷360▼DMS◢Pol(X-H,Y-T): Cls: “S(Z)=”: Locate 6,1,I : "F(Z)=":360Frac((J+360)÷360▼DMS◢Goto 1:IfEnd↙If Z >0: Then Cls:“X(R)=”: “Y(R)=”: Locate 6,1,X : Locate 6,2,Y◢Pol(X-H,Y-T): Cls: “S(R)=”: Locate 6,1,I : "F(R)=":360Frac((J+360)÷360▼DMS◢Goto 1:IfEnd↙Lbl 2: 0→Z:0→G:”X” ?M:”Y” ?I:Prog “FS”: Cls:“K=”:“Z=”:Locate 4,1,D : Locate 4,2,Z◢Goto 2↙二、正算子程序:ZS5→N: U(E-1-R-1)÷Abs(K-F)→P: Abs(D-F)÷N→Q: 90Q÷π→S:(注:此处5→N是控制计算精度可修改的,一般取值为4~6即可)C+(NPQ+2UR-1)NS→J:1→L↙A+Q÷6×(Cos (C)+Cos (J) +4∑(Cos (C+((L+0.5)PQ+2UR-1)×(L+0.5)S),L,0,(N-1))+2∑(Cos (C+((LPQ+2UR-1)LS,L,1,(N-1)))+ZCos(J+G) →X :B+Q÷6×(Sin(C)+Sin( J) +4∑(Sin (C+((L+0.5)PQ+2UR-1)×(L+0.5)S),L,0,(N-1))+2∑(Sin (C+((LPQ+2UR-1)LS,L,1,(N-1)))+Z Sin(J+G)→Y ↙三、反算子程序:FSLbl 0:Prog “P.Z”:Prog “ZS”↙(注:计算另一线路时修改替换此处和1XY主程序中的P.Z为对应线路的数据库名称即可)(I-Y)sin(J)+(M-X) cos(J)→ P :D+P→ D ↙If Abs(P)≥0.001:Then Goto 0 : Else Goto 1 : IfEnd↙Lbl 1: (I-Y)cos(J)-(M-X) sin(J) →Z四、曲线元要素数据库格式If D≥线元起点里程:Then线元起点里程→F:线元终点里程→K:线元起点X坐标→A:线元起点Y坐标→B:线元起点切线方位角→C:线元起点半径→R:线元终点半径→E:线元转向(注:左-1,右+1,直线为0) →U: IfEnd↙五、曲线元要素数据库样例:P.ZIf D≥***:Then***→F:***→K: ***→A: ***→B: ***→C: ***→R: ***→E: ***→U: IfEnd↙If D≥***:Then***→F:***→K: ***→A: ***→B: ***→C: ***→R: ***→E: ***→U: IfEnd↙If D≥***:Then***→F:***→K: ***→A: ***→B: ***→C: ***→R: ***→E: ***→U: IfEnd↙...............…………………………………………………………If D≥***:Then***→F:***→K: ***→A: ***→B: ***→C: ***→R: ***→E: ***→U: IfEnd↙(注:如一条路有多个曲线元要素则按顺序排列依次添加入数据库P.Z中)六、程序说明:程序线元判断原则:(1) 以道路中线的前进方向(即里程增大的方向)区分左右;(2) 当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线右侧时,Z取正值。
非常实用的5800放线程序(4800转换,增加计算竖曲线标高,增加使用说明)

卡西欧fx-5800p计算道路中、边线坐标放样程序(此程序计算速度快,可以查找桩号和偏中距离)(单园曲线超过半圈后有误差,半径5000米时,在半圈处的计算误差单方向8cm)SUB-10.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:U+W(Acos(G+180QKW(1÷P+KWD)÷π)+Bcos (G+180QLW(1÷P+LWD)÷π)+Bcos (G+180QW(1-L)(1÷P+WD(1-L))÷π)+Acos (G+180QW(1-K)(1÷P+WD(1-K))÷π))→X:V+W(ASIN(G+180QKW(1÷P+KWD)÷π)+Bsin(G+180QLW(1÷P+LWD)÷π)+Bsin (G+180QW(1-L)(1÷P+WD(1-L))÷π)+Asin (G+180QW(1-K)(1÷P+WD(1-K))÷π))→Y:G+180QW(1÷P+WD)÷π→FS—O(放线主程序)Deg:Fix3LbI7:“XC=”?C:“YC=”?E“H=”?TLbI1:“XL=1,2”?NIF N=0:T hen“X0=”?U:“Y0=”?V:“F0=”?G: “R1=” ?P: “R2=” ?R: “DK1=” ?О: “DK2=” ?H:“L(-1),R(+1),Z(0)” ?Q:Prog“SJ”: GOTO2:IfendLbI 0: “ZHUANG HAO=” ?S: IF T≠0:T hen Z=0:Goto 8:Ifend {Z} :Z”KUAN DU”LbI8IF N=0:T hen GOTO2:IfendIF N=1:T hen Prog“1”:GOTO2:IfendIF N=2:T hen Prog“2”:GOTO2:IfendIF N=3:T hen Prog“3”:GOTO2:Ifend ……………………………………………GOTO1LbI2: IF S<О-0.001: T hen GOTO1: IfendIF S>H+0.001:T hen GOTO1: Ifend(P-R)÷(2PR(H-О)) →D: Abs(S-О) → W:Prog“SUB-1”IF Z=1000: T hen GOTO 5: IfendIF Z≠0: T hen GOTO 3: IfendIF T≠0:T hen GOTO 9 △“ZX=”:X →X▲“ZY=” Y→Y▲IF F<0: T hen F+360 →F: Ifend“QX-FWJ=”:F→F▲LbI4: 0→I: 0→J:PoI(X-C,Y-E+0.00001)IF J<0: T hen J+360→J: Ifend“FWJ=”:J→J▲“HD=”:I→I▲GOTO 0IF T=0: T hen Goto 0: IfendLb1 9: Prog“BG”: ”SXG=” ?E”H△”:G-T+E→J▲Goto 0Lb13: “PJ=”? M: F+M→F: “BX=”: X+ZCosF→X▲“BY=”:Y+ZSinF →Y▲Goto4Lb1 5:Deg0→J: 0→I:PoI(X-C,Y-E+0.00001):IF J<0: T hen J=J+360: IfendIF Abs(Icos(J-F))<0.010: T hen Goto6: IfendS-Icos(J-F) →S:Goto8Lb16: 0→Z:”JISUANZH=” :S→S▲IF J-F=0 or J-F=180: T hen”ZX--PT”:I→I▲Goto7: IfendIF J-F>0 and J-F<180 or J-F<-180: T hen”L=m” :I→I▲Goto7: Else ”R=m” :I→I▲Goto7: Ifend竖曲线计算子程序 BGV=4:Y=Z[1]Lb1 0IF S<Z[1]:T hen Goto2:IfendIF V>4:ThenA=(Z[V-2]-Z[V-5])/(Z[V-3]-Z[V-6]): B=(Z[V+1]-Z[V-2])/(Z[V]-Z[V-3]):L=ABS(Z[V-1]*tan((tan-1 B- tan-1 A)/2))Y=Z[V-3]+L: IfendA=(Z[V+1]-Z[V-2])/(Z[V]-Z[V-3]): B=(Z[V+4]-Z[V+1])/(Z[V+3]-Z[V]):L=ABS(Z[V+2]* tan ((tan -1 B-tan -1 A)/2))X=Z[V]-L:U=z[v]+LIF A-B>0:T hen Q=-1:IfendIF A-B<0:T hen Q=1:IfendW=(S- X)/ Z[V+2]*180/piIF S≥Y and S≤X:T hen ZG=Z[V-2]+A(S-Z[V-3]): Goto 1:IfendIF S≥X and S≤U:T hen ZG= Z[V+1]-L*A +2* Z[V+2]*SIN(W/2)*SIN(SIN-1 A+Q*W/2): Goto 1:IfendIF S<Y:T hen V=V-3:Goto 0: IfendIF S>U and Z[V]≠Z[V-3]:T hen V=V+3:Goto 0: IfendIF S<Z[1]:T hen ZG=0: IfendLbI 2:”MEI YOU SHU JU” ? GLb1 1(标高数据输入程序)SJ1→I:LbI 0:”BIAN PO DIAN=”I▲”ZHUANG HAO=” ? E:Z[3I-2]=E:”BIAO GAO=” ? E:Z[3I-1]=E:”BAN JING=”? E:Z[3I]=E:IF I<3:T hen I+1→I:Goto 0:Ifend说明: I为变坡点号,本程序为3个(最少3个),如果增加变坡点,相应增加I<后的数字,并增加“s-o”程序的Defm后的数字为(I+1)*31 (1为线路名称,预装要素子程序)(线路名称预装要素子程序) 1o=线元起点里程:H=线元终点里程: U=线元起点X坐标:V=线元起点y坐标:G=线元起点方位角:P=线元起点半径(直缓点、缓直点半径为1045):R=线元终点半径(直缓点、缓直点半径为1045): Q=(左转为-1,右转为+1,直线为0)IF S≤o and S≥H T hen GOTO 3:Ifendo=线元起点里程:H=线元终点里程: U=线元起点X坐标:V=线元起点y坐标:G=线元起点方位角:P=线元起点半径(直缓点、缓直点半径为1045):R=线元终点半径(直缓点、缓直点半径为1045): Q=(左转为-1,右转为+1,直线为0)IF S≤o and S≥H T hen GOTO 3:Ifend 。
5800计算程序

FX-5800计算器公路测量常用程序一、程序功能本程序由6个主程序、5个次子程序及5个参数子程序组成。
主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。
程序坐标计算适应于任何线型.二、源程序1•主程序1: 一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XYLb1 0:Norm 2F=1:(正反算判别,F=1正算,F=2反算也可以改F前加?,改F为变量)Z[1]=90 (与路线右边夹角)Prog" THB" : F=1=>Goto 1:F=2=>Goto 2Lb1 1: F ix 3:" X =" : Locate 6,4," Y = H : Locate 6,4,Y丄P rog H 3JS' :Goto 0:Lb1 2:Fix 3:' ' KM = ' ' : Locate 6,4,Z 丄''D = ' ' : Locate 6,4,D丄G oto 0 2 .主程序2:高程序横坡程序(设计任意点高程及横坡)程序名:2GCLbl 0:Norm 2“ KM ?Z:?D:Prog” H” :Fix 3: ” H=” :Locate 6,4,H丄“ I=” : Locate 6,4,1 丄Goto 03•主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:3JSX : Y :1268. 123- K(置仪点X坐标)2243. 545-L (置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)Y-L — E : X-K — F : Pol(F,E):IF J<0:Then J+360 —J:I nt(J)+O.O1l nt(60Frac(J))+0.006Frac(60Frac(J))—J:(不习惯小数点后四位为角度显示的,也可以用命令J丄DMS丄来直接显示)Fix 4:”FWJ二” :Locate 6,4,J丄(不习惯小数点后四位为角度显示的,也可以用命令J丄DMS丄来直接显示)Fix 3: ”S二”丄ocate 6,4,1 丄4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)程序名:4JH-XYLbl 0:Norm 290-Z[1](涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量)1 —F:Prog” THB ” :?L:Z[2]-Z[1] — E:X+Lcos(E) — X:Y+Lsin(E) — Y:Fix 3: H X =":Locate 6,4 X丄" Y = H : Locate 6,4,Y丄P rog H 3JS' :Goto 0:5.主程序5:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:5FBXLbI 0:Norm 2: 18 —DimZ:2 —F:90—Z[1]:Prog “THB”:Z:D: ”M0”?M:M —Z[4]:D —Z[3]:Prog ” 6GD” :L —Z[6]:lf D<0:Then 0.75-L —D:Goto H:Else L-0.75 —D:Goto H:IfE ndLbI H:Prog ” H” :H-0.03-Z[4] —Z[5]:Z[6] —L:If Z[5]<0:Then —z[5] —G:Goto W:Else Z[5] —G:Goto T:LbI W:Prog “WO” :Z[10]+Z[11] —A: If G>A:Then Goto 1:Else IfG>Z[10]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A) Z[9]+Z[11] Z[8]+Z[10] Z[7]:Goto Z:LbI 2:L+Z[12]+Z[13]+(G-Z[10]) Z[8]+Z[10] Z[7]:Goto Z:LbI 3:L+Z[12]+G Z[7]:Goto z:LbI T:L+0.5 — N:If G>Z[17]:Then (N+Z[18]+(G-Z[17]) x Z[16]+Z[17] xZ[15]) — S:Goto Z:Else (N+Gx Z[15]) — S:Goto z:Lbl Z:Z[3] — D:Fix 2:Abs(D)-S —T:”L0= ” :L Locate 6,4,T丄"KM = H: Locate 6,4,Z丄"D = H: Locate 6,4,D丄“ TW= ” : Locate 6,4,Z[5]丄Goto 06.主程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L) 程序名:6GDProg “GO” Z-C— E:(B-A) x E/S+A — L:L:7.坐标计算次程序(THB)程序名:THB18— DimZ :H KM H ?Z: Prog "XO"1 宁P—C: (P-R)+ (2HPR) —S: 180-n — E:F =1=>Goto 1:F =2=>Goto 2<Lbl 1 : ?D: Abs( Z — O) — W: Prog "A": X: Y:G oto 3Lbl 2:X:Y:X— I: Y— J: Prog " B": O+W— Z: D — D:G oto 3Lbl 3:IF F=1 Then X:Y: Else Z:D8.正算子程序(A)程序名:A0.118463442" A : 0.239314335" B: 0.2844444444^N 0.046910077—K : 0.2307653449^ L : 0.5—M : U+W(Acos(G+QEKW(C+KWS ))+Bcos(G+QELW(C+LW S ))+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))) f X:V+W(Asi n(G+QEKW(C+KW S ))+Bsi n(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 ))) f Y:G+QEW(C+W S )+ Z [1] fZ [2] : X+ D cos(Z [2]) fX: Y+D sin ( Z[2] )fY9.反算子程序(E )程序名:BG-90fT: Abs((Y-V)cos(T)-(X-U)sin(T)) fW: 0fD: Lbl 0 : Prog "A " :T+QEW(C+W S ) fL: (J-Y)cos(L)-(l-X)si n(L) fD: IF Abs( D )<0.01:Then Goto1: Else W+Df W:Goto 0 --1Lbl 1:0f D: Prog "A": (J-Y) -sin(Z[2] ) f D:10.高程计算子程序(H)程序名:HProg “S0” :R:T:C:G:I:C-T f F:Z-Ff L:C+Tf E:G-TI f Q:If T=O:ThenQ+LI f H:Goto 0:Else If Z<F:Then Q+LI f H:Goto 0:Else If Z < E:ThenQ+LI+L2 - 2-Rf H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I” :H+Vf H:Goto I:LbI I:H:I: 11•高程超高计算程序(I)程序名:IProg ”10 ”:W=仁〉Goto 0:W=2=>Goto 1:Lbl 0:If L=0:Then Abs(D) x M — V:Goto 2:Else Abs(D)x ((N-M) x (Z-C) -L+M) — V:Goto 2:IfEnd:LbI 1:If L=0:Then Abs(D) x M — V:Goto 2:Else Abs(D) x (((3((Z-C)-L)2-2((Z-C) - L) A (3)) x (N-M))+M) — V:Goto 2:IfEnd:LbI 2:Abs(D) —E:V - E—I:I(E-K) —V:12 .数据子程序(附后示例)①程序名:X0 (坐标计算要素程序)If Z > 25900 And Z < 26615.555:Then 25900 —0:11587.421 —U:1847.983— V:101。
5800交点法全线计算程序及其说明

FX5800 计算器交点法正反算程序输入图纸中的整个标段交点要素,输入桩号及距中桩距离正算本标段任意点坐标,及极坐标放样的方位角及距离;由输入大概桩号及实测坐标,反算准确桩号及距中桩距离。
1、主程序程序名:JDF-ZCXLbI 0:7→DimZ:Norm 2:1→A:"ZS=1,FS=2"?A:A=1=>Goto 1:A=2=>Goto 2LbI 1:Z[4] → K:Z[5] →L:“CZ-X”?K:” CZ-Y”?L:K→Z[4]:L→Z[5]:LbI A:Prog"JDF-XLXZ":90→ B: "P-JIAO"?B:B → Z[1] :LbI B: "K"?Z:Z=-1=>Goto0:Z=-2=>Goto A: Prog"JDF-YL-SJK":"P-JU"?D: Prog "JDF-ZS":I+D×COS(Z[2]+Z[1]→X: J+D×Sin(Z[2]+Z[1]→Y: Fix 3:"X=":Locate 6,4,X:"Y=":Locate 6,4,Y:Prog"JDF-JZBFY":Goto BLbI 2:Prog"JDF-XLXZ":"K"?Z:LbI C: Prog"JDF-YL-SJK": "X0"?X:X=-1=>Goto 0:X=-2=>Goto 2: "Y0"?Y:Prog "JDF-FS": Fix3:"KM=":Locate 6,4,Z:"D=":Locate 6,4,D:Goto C2. 交点法正算子程序程序名:JDF-ZSH2÷R÷24-H∧(4)÷2688÷R∧(3)→A:H÷2-H∧(3)÷240÷R2→B:((H2-N2)÷24÷R÷Sin(Abs(P))-((H∧(4)-N∧(4))÷2688÷R∧(3))÷Sin(Abs(P→E:(R+A)tan(Abs(P)÷2)+B -E→T:P÷Abs(P→W:0→M:H→C: (R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan(Abs(P)÷2)+N÷2-N∧(3)÷240÷R2+E→Z[6]: O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Z[7]:If Z≤O-T:Then Z-O→S:G→Z[2]:Goto 1:IfEnd:If Z≤O-T+H:Then Z-O+T→S:Prog“JDF-HHQX”:G+WK→Z[2]:A-T→A:G→E:Goto2:IfEnd:If Z≤Z[7]: Then 180(Z-O+T-0.5H)÷R÷Π→S : A+R(1-Cos(S))→B:H÷2-H∧(3) ÷240÷R2+Rs in(S)→A:R→M:G+WS→Z[2]: A-T→A:G→E :Goto 2:IfEnd:If Z≤Z[7]+N:Then Z[7]+N-Z→S:Z[6]→T :N→H:Prog “JDF-HHQX”:G+P→E:E-WK→Z[2]:T-A→A:C→H:Goto 2:IfEnd:Z-Z[7]-N+Z[6]→S:G+P→Z[2]:LbI 1:U+Scos(Z[2])→I:V+Ssin(Z[2])→J: Return:LbI 2:U+Acos(E)-WBsin(E→I:V+ASin(E)+WBcos(E)→J3. 交点法缓和段子程序程序名:JDF-HHQXS-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→M4. 交点法反算子程序程序名:JDF-FS0→D:Do(语法):Z+D→Z:Prog“JDF-ZS”:Pol(X-I,Y-J+.000000001:J-Z[2]→J:Isin(J→S:Icos(J→D: If M≠0:Then Pol(M-WS,D:JMΠ÷180→D:IfEnd: LpWhile Abs(D)>0.001:Z+D→Z:S→D5.线路选择子程序程序名:JDF-XLXZ1→A:” SHURU=0,SJK =1”?A:A→Z[3]:If A=0:Then ”JDKM”?O:”X”?U:”Y”?V:”FW J”?G:”LS1”?H:“LS2”?N:“ZHUAN-JIAO”?P:“BAN-JIN”?R:IfEnd6.坐标计算参数矩阵调出子程序程序名:JDF-JZMat F[1,1]→O: Mat F[1,2]→U: Mat F[1,3]→V: Mat F[1,4]→G: Mat F[1,5]→H: Mat F[1,6]→N: Mat F[1,7]→P: Mat F[1,8]→R7:极坐放样计算程序(计算放样点至置仪点方位角及距离) 程序名:JDF-JZBFYZ[4]→K:Z[5]→L:Pol(X-K, Y-L+.0000000001): J<0=>J+360→J: Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:Fix 4:” FWJ=”: Locate 6,4,J:Fix 3:” JL=”:Locate 6,4,I◢8.数据子程序程序名:JDF-YL-SJKZ[3]=0=>Return:Z[3]=1=>Goto 1LbI 1If Z≤122269.856:Then [[121656.952, 2603848.019,508351.147, 98°53′22.6″,660,300,41°47′44.1″, 1415.097]]→Mat F: Prog”JDF- JZ”: Return: IfEnd:If Z≤125115.900:Then [[123984.982, 2601974.464, 509885.441, 140°41′06.8″,700,400, -39°31′43.7″,2800.000]]→Mat F: Prog” JDF- JZ”: Return:IfEnd:If Z≤396.166:Then [[213.698, 2600569.493, 514256.323, 238°49′17.1″,107.584,120.474, 64°39′40″, 250]]→Mat F: Prog” JDF- JZ”: Return: IfEnd:说明:If Z ≤交点HZ 点桩号(或者直线段桩号:Then [[交点桩号,交点X 坐标,交点Y 坐标,前交点至止交点方位角,交点前段缓和曲线长度,交点后段缓和曲线长度,交点转角,圆半径]]→Mat F: Prog”JDF- JZ”: Return: IfEnd:注:转角分正负,左偏为负,右偏为正.加粗O 为子母..Z[2]值为所计算点切线方位角。
卡西欧5800计算器程序坐标正反算(含高程)

卡西欧5800计算器程序坐标正反算(含高程)功能:坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素)另含两个边仰(一个横向坡,一个纵向坡)坡放样模块.帮助文件未完成程序浏览:FileName:RESET 初始化程序Norm 1:50→C:12345→J"RESET PW"I:I=J=>500→DimZ 为数据库增加额外变量500个,在SET、SETPFDYS程序根据实际再增减变量50→Z[C+22]"PASSWORDS"I:I→Z[C+39] 重设要素保护密码Cls:StopFileName:DATLOCK 要素保护密码确定认程序Cls:Norm 1:50→C"PASSWORDS"I:Cls:I≠Z[C+39]=>StopFileName:SHELL(外壳程序)50→C ;在扩充变量预留前50个给别的程序用。
如不够就适量加大。
RESET,SHELL,SET,SETPFDYS,这几个程序中C值必需一致Z[C+35]→I:"STATION-N"I:I→Z[C+35] 设置测站N坐标Z[C+36]→I:"STATION-E"I:I→Z[C+36] 设置测站E坐标Z[C+44]→I:"STATION-Z"I:I→Z[C+44] 设置测站Z坐标Z[C+45]→I:"STATION-HI"I:I→Z[C+45] 设置仪高Z[C+41]→I:"GC-DH"I:I→Z[C+41] 放样点高差常数Norm 1Z[C+23]→N 当前分段要素N坐标Z[C+24]→E 当前分段要素E坐标Z[C+25]→M 当前分段要素起点桩号Z[C+26]→H 当前分段要素起点方位角(正北)单位:弧度Z[C+27]→A 当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[C+28]→R 当前分段要素终点曲率有左偏负右偏正(注意不半径)Z[C+29]→L 当前分段要素长度Z[C+3]→WZ[C+32]→I:"DAT1 2 3"I:I→Z[C+32] 平曲线要素数库类型选择1为内置式,2文件式,3实时输入(查看当前要素值)0→IZ[C+4]→I:"1 2 3"I:I→Z[C+4] 选择本程序模式默认为坐标正算,1坐标反算,2横向边仰坡放样,3,纵向边仰坡放样(隧道进出口用到) Lbi 1Z[C+4]→II=1=>Prog"TURNZH"I=2=>Prog"HXBYP"I=3=>Prog"ZXBYP"Lbi ADeg:Norm 1:ClsZ[C+1]→G:"ZH"G:G→Z[C+1] ;G桩求桩号Z[C+2]→B:"JL"B:B→Z[C+2] ;B横向距离,左正右负Lbi BProg "ZBJS" ;坐标正算Prog "GCJS" ;高程计算Fix 3:Cls ;设置三位小数"ZH=":Locate 4,1,G ;第一行显示桩号"X=":Locate 3,2,X ;第二行显示X(N)坐标"Y=":Locate 3,3,Y ;第三行显示Y(E)坐标Prog "GCJS" ;高程计算"Z":Locate 2,4,Z+Z[C+41] ;第四行显示Z坐标Locate 10,4,Z[C+2] ;第四行显示横向距离Do:I+1→I:I=1000=>Goto 1:LpWhile Not(Getkey=57 Or Getkey=27) ;锁定键盘,并在几十秒后自动返回Getkey=57=> Goto 1Z+Z[C+41]+Z[C+49]-Z[C+44]-Z[C+45]→Z[C+48]Pol(Z[C+35]-X,Z[C+36]-Y)Cls:"DL":Locate 3,1,I:Locate 12,1,Z[C+45]"DH":Locate 3,2,Z[C+48]:Locate 12,2,Z[C+49]"FWJ"J<0=J+360→J:J◤DMS◢J→Z[C+46]I→Z[C+47]Goto 1FileName:ZBJS 坐标计算程序Prog"READDAT"RadG-M→QIF AR=0 :Then If A=R :Then 1→J:Else 3→J :IfEnd:Else If A=R :Then 2→J:Else 3→J:IfEnd:IfEndIf J=1 :Then H→F:N+QCos(H)→X:E+QSin(H)→Y:IfEnd 直线段直接计算If J=2 :Then H+QR→F:Rec(Abs(2Sin(Abs)÷R),H+QR÷2):N+I→X:E+J→Y:IfEnd 圆弧段直接计算If J=3 :Then Goto 5 :IfEndX+BCos(F+W)→XY+BSin(F+W)→YDeg:ReturnLbi 5 用五点通用坐标计算计算缓和段(R-A)÷L→KKQ2→J→P:H+IP+JP2→U→P:H+IP+JP2→V→P :H+IP+JP2→D→P:H+IP+JP2→F→P:H+IP+JP2→T→I→J→ON+Q(ICos(U)+JCos(V)+OCos(D)+JCos(F)+ICos(T))→XE+Q(ISin(U)+JSin(V)+OSin(D)+JSin(F)+ISi n(T))→YH+AQ+KQ2→FX+BCos(F+W)→XY+BSin(F+W)→YDeg:ReturnFileName:TURNZH(坐标反算)Norm 1Z[C+37]→I:"DQD-N"I:I→Z[C+37] 输入待求点N坐标I=-1=>Prog"INFWJDLDH"Z[C+38]→I:"DQD-E"I:I→Z[C+38] 输入待求点E坐标0→B:M+L÷2→G:Prog"ZBJS"Lbi S:RadZ[C+37]-X→I:Z[C+38]-Y→JIf I=0 And J=0 :Then Goto A:IfEndPol(I,J)Lbi A:Rec(I,J-F):J→Z[C+2]G+I→G:IF Abs(I)> :Then Prog"ZBJS":Goto S↙G→Z[C+1]FileName:INFWJDLDH 实测坐标(用方位角,距离,高差)输入程序Deg:Norm 1:ClsZ[C+46]→J:"DQD-FWJ"J:J→Z[C+46]Z[C+47]→I:"DQD-DL"I:I→Z[C+47]Z[C+48]→K:"DQD-DZ"K:K→Z[C+48]Z[C+49]→P:"RHT"P:P→Z[C+49]Rec(I,J)Z[C+35]+I→Z[C+37]Z[C+36]+J→Z[C+38]Z[C+44]+Z[C+45]+K-P→Z[C+43]FileName:HXBYP 横向边仰坡放样程序Cls:Norm 1Z[C+40]→I:"QPD-DL"I:I→Z[C+40] 输入起坡点与中桩距离常数Z[C+41]→I:"QPD-DZ"I:I→Z[C+41] 输入起坡点与中桩高差常数Z[C+42]→I:"i"I:I→Z[C+42] 输入边仰坡坡度,左仰坡(路堑)为正,右仰坡(路堑)为负,左边坡为负,右边坡为正Cls:Z[C+43]→I:"DQD-Z"I:I→Z[C+43] 输入实测高程Prog"TURNZH"Prog "GCJS"(Z[C+43]-Z-Z[C+41])Z[C+42]+Z[C+40]→BFix 3:B-Z[C+2]◢显示与上一次测点的偏差B→Z[C+2]FileName:ZXBYP 纵向仰坡放样程序(隧道进口使用)Cls:Norm 1:Z[C+33]→I:"QPD-ZH"I:I→Z[C+33] 输入起坡点桩号Z[C+34]→I:"QPD-Z"I:I→Z[C+34] 输入起坡点高程Z[C+42]→I:"i"I:I→Z[C+42] 仰坡时(隧道进出口仰坡),进口为正,出口为负)Cls:Z[C+43]→I:"DQD-Z"I:I→Z[C+43] 输入实测高程Prog"TURNZH"Z[C+42](Z[C+43]-Z[C+34])+Z[C+33]→GFix 3:G-Z[C+1]◢显示与上一次测点的偏差G→Z[C+1]FileName:SET 设置程序Lbi SNorm 150→C50→Z[C+22]0→KZ[C+5]→I:"1 Or 2"I:I→Z[C+5] ;选择1线或者2线180Z[C+3]÷π→J:"XZJJ"J:Jπ÷180→Z[C+3] ;斜桩夹角If I=1:Then Z[C+8]→Z[C+6]:Z[C+9]→Z[C+7]Z[C+12]→Z[C+16]:Z[C+13]→Z[C+17]:Z[C+18]→Z[C+20]Else Z[C+10]→Z[C+6]:Z[C+11]→Z[C+7]Z[C+14]→Z[C+16]:Z[C+15]→Z[C+17]::Z[C+19]→Z[C+20]Z[C+7]+3→Z[C+31]0→I:"1PQX,2SQX,3YSDS"I ;1输入平曲线要素,2输入竖曲线要素,3输入1、2线夹平竖曲线交点(变坡点)数量以让程序规划内存建立要素数据为,其它值退出本程序I=1 => Goto 1:I=2 => Goto 2:I=3 => Goto 3I≠0=>Prog"DATLOCK"Prog"SETPFDYS"StopLbi 1 ;平曲线要素输入部分Z[C+6]→D-1→Z[D+3]For 1→J T o Z[C+16]Cls:"PQX":Locate 9,1,JZ[D+1]→I:"N"I:I→Z[D+1] ;请输入N坐标Z[D+2]→I:"E"I:I→Z[D+2] ;请输入E坐标Z[D+3]→I:"R"I:I→Z[D+3] ;请输入半径RZ[D+4]→I:"LS1"I:I→Z[D+4] ;请输入缓和曲线1长度Z[D+5]→I:"LS2"I:I→Z[D+5] ;请输入缓和曲线2长度Next1→Z[D-2]Goto SLbi 2 ;竖曲线要素输入部分Z[C+7]→D-1→Z[D+3]For 1→J T o Z[C+17]Cls:"SQX":Locate 9,1,JZ[D+1]→I:"BPDZH"I:I→Z[C+1] ;请输入变坡点桩号Z[D+2]→I:"BPDGC"I:I→Z[C+2] ;请输入变坡点高程Z[D+3]→I:"R"I:I→Z[C+3] ;请输入半径RD+3→DNext1→Z[D]Goto SLbi 3 ;要素点数输入部分Z[C+12]→I:"1PQXDS"I:I→Z[C+12] ;输入1线平曲线点数,最小值为3Z[C+13]→I:"1SQXDS"I:I→Z[C+13] ;输入1线竖曲线点数,最小值为3Z[C+18]→I:"1JDZH"I:I→Z[C+18] ;输入1线平曲线第一个交点的交点桩号Z[C+14]→I:"2PQXDS"I:I→Z[C+14] ;输入2线平曲线点数,最小值为3Z[C+15]→I:"2SQXDS"I:I→Z[C+15] ;输入2线竖曲线点数,最小值为3Z[C+19]→I:"2JDZH"I:I→Z[C+19] ;输入2线平曲线第一个交点的交点桩号C+Z[C+22]→Z[C+8] 1线路平曲线要素指针偏移基数Z[C+8]+5Z[C+12]→Z[C+9] 1线路竖曲线要素指针偏移基数Z[C+9]+3Z[C+13]→Z[C+10] 2线路平曲线要素指针偏移基数Z[C+10]+5Z[C+14]→Z[C+11] 2线路竖曲线要素指针偏移基数Z[C+11]+3Z[C+15]→Z[C+21] 要素数据库结束指针Z[C+21]+1→Z[C+30]Z[C+21]→DimZ 增加额外变量-1→KGoto SFileName:SETPFDYS 交点要素=>分段要素Norm 150→CRadZ[C+6]+5→DZ[C+21]+1→FF+6→DimZ-1→Z[F] ; 设置分段要素开始标志Z[C+20]→V ; 从数据库读入当前线第一个平曲线交点桩号0→GPol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第一条直线的距离I,计算方位角JJ→HZ[D-4]→Z[F+1] 直线段Z[D-3]→Z[F+2]V-I→Z[F+3]For 1→G T o Z[C+16]-2Pol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第本交点与下一交点的距离I,计算方位角JI→W:J→HPol(Z[D+6]-Z[D+1],Z[D+7]-Z[D+2])J-H→K ;计算转角K,负值是左转角,正值是右转角IF Abs(K)>π:Then If K>0:Then K-2π→K:Else K+2π→K:IfEnd:IfEndZ[D+3]→R ;从数据库读入半径RZ[D+4]→L ;从数据库读入缓和曲线1长度Z[D+5]→M ;从数据库读入缓和曲线2长度L÷2÷R→B ;计算缓和曲线1的B0角M÷2÷R→O ;计算缓和曲线2的B0角(Abs(K)-B-O)R→P ;计算圆曲线长度L2÷24÷R-L^(4) ÷2384÷R^(3) →Q ;内移值计算方法2L÷2-L^(3) ÷240÷R2→S ;切线增长值计算方法2M2÷24÷R-M^(4) ÷2384÷R^(3) →J ;内移值计算方法2M÷2-M^(3) ÷240÷R2→I ;切线增长值计算方法2Abs(π÷2- Abs(K)) →ARtan(Abs(K÷2))+S+J÷Cos(A)-QTan(A)→T ;计算切线1Rtan(Abs(K÷2))+I+Q÷Cos(A)-JTan(A)→U ;计算切线2H<0=>H+2π→HK<0 =>-1→AH→Z[F+4]0→Z[F+5]0→Z[F+6]F+6→FF+6→DimZRec(T,H) 缓和段1 Z[D+1]-I→NZ[D+2]-J→EN→Z[F+1]E→Z[F+2]V-T→Z[F+3]L=0=>Goto AH→Z[F+4]0→Z[F+5]A÷R→Z[F+6]F+6→DimZLbi A 圆弧段0→I:0→JL=0=>Goto BPol(L-L^(3)÷40÷R2,L2÷6÷R-L^(4)÷336÷R^(4)) Lbi B Rec(I,H+AJ)N+I→NE+J→EN→Z[F+1]E→Z[F+2]V-T+L→Z[F+3]H+AB→Z[F+4]A÷R→Z[F+5]A÷R→Z[F+6]F+6→FF+6→DimZM=0=>Goto C 缓和段2 Rec(2RSin÷R),H+AB+AP÷R÷2) N+I→NE+J→EN→Z[F+1]E→Z[F+2]V-T+L+P→Z[F+3]H+AB+AP÷R→Z[F+4]A÷R→Z[F+5]0→Z[F+6]Lbi CF+6→FF+6→DimZRec(U,H+K)Z[D+1]+J→Z[F+1]Z[D+2]+I→Z[F+2]V-T+L+P+M→Z[F+3]V-T+L+P+M-U+I→VD+5→DNextH+K→Z[F+4]0→Z[F+5]0→Z[F+6]F+9→DimZ1→Z[F+7]V→Z[F+9] 要素终点桩号DegFileName:READDATZ[C+32]→II=3=>Prog"READDAT3"If GM+L :Then ;验证要素是否可用,否则重设要素I=1=>Prog"READDAT1"I=2=>Prog"READDAT2"Prog"REALDAT3"IfEndFileName:READDAT1 平曲线分段要素读取程序1Z[C+30]→F0→JLbi 1 搜索要素If G<z[f+3]:then< p="">-1=Z[F]=>Goto E:F-6→F:-1→J:Goto 1Else 1=Z[F+1]=>Goto E:-1=J=>Goto 2:1→J:F+6→F:Goto 1 IfEndLbi 2F→Z[C+30]Z[F+1]→Z[C+23] 当前分段要素N坐标Z[F+2]→Z[C+24] 当前分段要素E坐标Z[F+3]→Z[C+25] 当前分段要素起点桩号Z[F+4]→[C+26] 当前分段要素起点方位角(正北)Z[F+5]→Z[C+27] 当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[F+6]→Z[C+28] 当前分段要素终点曲率有左偏负右偏正(注意不半径)</z[f+3]:then<>。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5800计算器全线坐标计算放样程序(修改版)“XLZBJSCX” ◢ (第一个程序)Lb1 0 ↙Cls : Fix 4 : 30→Dimz ↙“XHS="?G ( 后视点 X) :"YHS="?L ( 后视点 Y) :"XZJ="?M ( 置镜点 X) :"YZJ="?N ( 置镜点 Y) :Pol(G-M,L-N):"DH=":I ( 后视距) ◢ J<0=>J+360→J:"FH=":J►DMS ◢ ( 后视方位角 ) Lbl 1 ↙ ( If (如果的意思) And (和字的意思) Then (然后的意思) )“K=”?K ◢ (计算里程) ( 下面有色的是数据库 )If (如果) K< 51760.052 本曲线缓直点桩号 And (和)K≥ 51048.785 上一个曲线缓直点桩号: Then (然后)本曲线缓直点桩号51760.052 →Z[1] : 上一个曲线缓直点桩号51048.785 →Z[2] : 1 -1 →O(注:左偏曲线输入 - 1→O, 右偏曲线输入1→O) : 偏角12 ’ 23 ’ 19.5 ’ →A :半径3289.486 →R : 第一缓和曲线长度0 →Z[6] : 第二缓和曲线长度0 →Z[7] : 交点 X 坐标→B : 交点 Y 坐标→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Goto 2 : IfEnd ↙ ( 重兰字是输入的数字 ) ………… (曲线段分段输入)补充直线段输入如下If (如果) K< 本段直线终点里程 And (和)K≥ 本段直线起点里程 :Then (然后)1→O: 本段直线终点里程→Z[3]: 终点坐标X→Z[16]: 终点坐标Y→Z[17]: 方位角→E:Goto 4:IfEnd ↙Lb1 2 ↙ (曲线要素计算)Z[6] ÷ 2- Z[6]^ 3 ÷ (240R^2)+ Z[6]^ 5 ÷ (34560*R^4) →Z[8] ↙ ( M1 不输)Z[7 ] ÷ 2- Z[7]^ 3 ÷ (240R^2)+ Z[7]^ 5 ÷ (34560 R^4) →Z[9] ↙ ( M2 不输)Z[6]^ 2 ÷ (24R)- Z[6]^ 4 ÷ (2688R^3) →Z[10] ↙ ( P1 不输)Z[7]^ 2 ÷ (24R)- Z[7]^ 4 ÷ (2688R^3) →Z[11] ↙ ( P2 不输)(πAR ) ÷ 180+0. 5 × ( Z[6]+ Z[7])→S ↙ (曲线总长)90 × Z[6 ] ÷ ( R × π) →Z[14] ↙ (第一缓和曲线总偏角)( ×÷以后自己改 )9 0 × Z[7 ] ÷ ( R × π) →Z[15] ↙ (第二缓和曲线总偏角 , 可以省略)Z[8] +( R+Z[10])TAN(A/2)-(Z[10]-Z[11] )/SIN A→Z[12] ↙ ( 切线 T1)Z[9] +( R+Z[11])TAN(A/2)+(Z[10]-Z[11] )/SIN A→Z[13] ↙ ( 切线 T2)B+ Z[12]*COS (E+180)→ Z[16] ↙ ( ZH 点 X )C+ Z[12]*SIN(E+180)→ Z[17] ↙ ( ZH 点 Y )Z[1]-S→Z[3] ↙ (ZH 点里程 )Z[3]+ Z[6]→Z[4] ↙ (HY 点里程 )Z[1]- Z[7]→Z[5] ↙ (YH 点里程 )GOTO 3 ↙LB1 3 ↙ ( 判断里程点与曲线关系 )If K≤Z[3] And K> Z[2] : Then Goto 4 : IfEnd ↙If K≤Z[4] A nd K> Z[3] : T hen Goto 5 : IfEnd ↙If K≤Z[5] A nd K> Z[4] : T hen Goto 6 : IfEnd ↙If K≤Z[1] A nd K> Z[5] : T hen Goto 7 : IfEnd ↙LB1 4 ↙ (里程小于直缓点直线独立坐标)K- Z[3] →X : 0→Y : E→T : Prog“TYZBCX” :Goto 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/(336*R^3* Z[6]^3) →Y ↙90*H^2/( R*π* Z[6]) →T ↙IF O >0 :Then T +E→T : Else E-T →T : T<0=>360+T→T : IfEnd ↙PRrog“TYZBCX” :Goto 1 ↙Lb1 6 ↙ (圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*SIN( T)+ Z[8]→X ↙R*(1-COS (T))+ Z[10]→Y ↙IF O >0 :Then T +E→T : Else E-T →T : T<0=>360+T→T : IfEnd ↙Prog“TYZBCX” :Goto 1 ↙Lb1 7 ↙ (第二缓和曲线独立坐标)Z[1] -K →H↙H-H^5/(40*R^2* Z[7]^2)+H^9/(3456*R^4* Z[7 ]^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]COS (A)+ Z[12]-U*COS( A)-V*SIN (A)→X ↙Z[13]*SIN( A)-U*SIN( A)+V*COS (A)→Y ↙IF O >0 : Then F-T→T : T<0=>360+T→T : Else F+T →T : IfEnd ↙Prog“TYZBCX” :Goto 1 ↙子程序:“TYZBCX” ↙ (统一坐标计算)(第 2 个程序)IF O<0 : Then -Y→Y : IfEnd ↙“QXJ=” :T ◢ (计算里程点切线方位角,可以不显示)Z[16]+X*COS (E)-Y*SIN( E)→Z[18] ↙Z[17]+X*SIN (E ) +Y*COS (E )→Z[19] ↙“XI=” : Z[18] ◢ ( XI 中线 X )“ YI =” : Z[19] ◢ ( YI 中线 Y )Pol(Z[18]-M,Z[19]-N):"DI=":I ◢ (中桩放样距)J<0=>J+360→J:"FI=": J ►DMS ◢ (中桩放样方位角)“ PJ =”?P ◢ ( 输入边桩与线路夹角 PJ ,左偏– 90 右 +90 )“ PD =”?D ◢ (输入边桩距 PD )Z[18]+D*COS(T+P) →Z[20] ↙Z[19]+D*SIN(T+P) →Z[21] ↙“XP=”: Z[20] ◢ ( XP 边桩 X )“YP=”: Z[21] ◢ ( YP 边桩 Y )Pol(Z[20]-M,Z[21]-N):"DP=":I ◢ (边桩放样距)J<0=>J+360→J:"FP=":J ►DMS ◢ (边桩放样方位角)Return ↙ (以上都要输进计算器)注解不输K 里程 XI 中线 X YI 中线 Y PD 输入边桩距 XP 边桩 X 坐标YP 边桩 Y 坐标 I 边桩放样距 PJ 输入边桩与线路夹角,左偏– 90 右 +90 ) I 中桩放样距 T 计算里程点切线方位角,可以不显示卡西欧FX5800全线贯通万能正、反算程序FX5800计算器的积分程序(正反算、全线贯通、新线路)终极版ZHUCHENGXU 主程序"1.ZS,2.FS" ?→Q输入1正算,输入2反算“NEW=0,OLD≠0”?ZIf Z=0:Then “X0=”?A:“Y0=”?B:“C0=”?C:“1/R0=”?D:“1/RI=”?E:“SP=”?F:“EP=”?G:Ifend:Q=2=>Goto 2Lbl 1 :“KM=,<0Stop”?H:H<0=>Stop:“PJ=”?O:“PY=”?LLbl Z:Z=1=> Prog“01”:Z=2=> Prog“02”选择数据库文件,可增加H- F→X:0.5(E-D)÷(G-F)→NC+(XD+NX2)*180÷π→P:P<0=>P+360→P:P>360=>P-360→PA+∫(cos(C+(XD+NX2)*180÷π),0,X)+Lcos(P+O)→UB+∫(sin(C+(XD+NX2)*180÷π),0,X)+Lsin(P+O)→VQ=2=>Goto 4:Cls:Fix 3"Xn=":Locate 4,1,U:"Yn=": Locate 5,2,V:“FWJ=”:P▶DMS◢Norm 2:Cls:Goto 1Lbl 2:“XD=,<0,STOP”?R:R<0=>Stop:“YD=”?S“KMDG=”?H :90→O:0→L:Goto Z (H线路范围内的任意桩号)Lbl 4:Pol(R-U,S-V):J<0 => J+360→JWhile abs(Icos(J-P))≤0.001:P-J>180=> J+360→J: P-J<-180=> P+360→P:IF P-J>0:then -I→L:else I→L ifendGoto 3: Whileend:H+Icos(J-P)→H:Goto ZLbl 3:Cls:Fix 3“KM=”: Locate4,1,H:“PY=”: Locate4,2,L◢Norm 2:Cls:Goto 201(数据库子程序)If H<=第一曲线终点桩号:then 第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifend……………程序说明:1、该程序可以计算任意线形(直线、圆曲线、缓和曲线、不完整曲线)任意桩号的坐标(正算,输入1),也可根据坐标计算该点到线路的距离及垂足桩号(反算,输入2);2、(NEW=0,OLD≠0)?如果要计算的点为数据库线路中的点,则输入数据库编号(以整数1、2、3…代替输入);如果在数据库中没有要计算线路的数据,则输入曲线要素X0:曲线起点X坐标;Y0:曲线起点Y坐标;C0:曲线起点方位角;R0-1、 RI-1:曲线起点、终点曲率,直线为0,曲线左偏输入负值,右偏输入正值;SP、 EP:曲线起点桩号,终点桩号;KM:待求点桩号;PJ:正斜交的设定;PY:偏中距离,线路上的点输入0,右偏输入+值,左偏输入-值;3、正算显示坐标及切线方位角;反算输入线路的任意桩号(此桩号越接近真实值计算速度越快)、待求点坐标,显示待求点桩号及偏中距离;4、正算子程序为积分公式编写而成;反算子程序为角度趋近的方法编写,计算速度有点慢。