Fx5800计算器程序(非对称平曲线)
- 格式:doc
- 大小:64.00 KB
- 文档页数:12
曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序一、程序功能本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
另外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲线任意里程中边桩坐标进行正反算。
本程序也可以在CASIO fx-4500P计算器及CASIO fx-5800 P计算器上运行。
特别申明:(1). 适用于弧长小于2倍半径的各种线元坐标正反算,精度优于1mm;(2). 在引用该核心计算部分时,请注明来源。
(3)该程序可计算标准、非标准曲线,但不可以计算与线路成斜交角的坐标二、源程序主程序(QXJS)"1.SZ => XY":"2.XY => SZ"?N:"X0"?U: "Y0"?V: "S0"?O: "FWJ0"?G: "LS"?H:"R0"?P?"RS"?R: "PX "?Q:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:If N=1:Then Goto 1:Else Goto 2:IfEndLbl 1: "KS"?Z:"ES"?S:Abs(Z-O)→W:Prog "QXZS":"XS=" :X→X◢"YS=": Y→Y◢"FWJS=":(F-90)DMS◢Prog "GC"Goto1Lbl 2:"XS"?X:"YS"?Y:X→I:Y→J:Prog "QXFS":O+W→Z"KS=":Z→Z◢"ES=": S→S◢"FWJS=":(F-90)DMS◢Prog "GC"Goto 21.全线计算主程序(XLJS)"1.SZ => XY":"2.XY => SZ":"1 or 2"?N: Lbl 0:"KS"?Z:"ES"?S:Prog "XXX":1÷P→C:(P-R)÷(2HP R)→D:180÷π→E:If N=1:Then Goto 1: Else Goto 2:IfEndLbl 1:Abs(Z-O)→W:Prog "QXZS":"XS=" :X→X◢"YS=": Y→Y◢"FWJS=":(F-90)DMS◢Prog "GC"Goto 0Lbl 2:"XS"?X:"YS"?Y:X→I:Y→J:Prog "QXFS":O+W→Z"KS=":Z→Z◢"ES=": S→S◢"FWJS=":(F-90)DMS◢Prog "GC"Goto 22. 正算子程序(QXZS)0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:(1-L)→F:(1-K)→M:(U+W(Ac os(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MW D))))→X:(V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G +QEMW(C+MWD))))→Y:G+QEW(C+WD)+90→F:X+Scos(F→X:Y+Ssin(F→YReturn3. 反算子程序(QXFS )G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→S:Lbl 0:Prog " QXZS ":T+QEW(C+WD)→L:(J-Y)co s(L)-(I-X)sin(L)→S:If Abs(S)<10^(-6):Then Goto1:Else S+W→W:Goto 0:IfEndLbl 1:0→S:Prog " QXZS ":(J-Y)÷sin(F)→SReturn数据库:XXXLbl 1:If Z≤下一起点里程: Then本线路起点里程→O:本线路X→U:本线路Y→V:本线路方位角→G:本线路长度→H:本线路起点半径→P:本线路止点半径→R:±1→Q (左偏Q=-1,右偏Q=1,直线段Q=0):Else If Z≤下一起点里程: Then本线路起点里程→O:本线路X→U:本线路Y→V:本线路方位角→G:本线路长度→H:本线路起点半径→P:本线路止点半径→R:±1→Q :IfEnd: IfEndReturn四、数据库1、线路平面数据库数据名:“XXX”可根据自己须要更改Lbl 1:If Z≤80(计算段终点里程) : Then 0→O (计算段起点里程): 62450.391→U(起点里程纵坐标): 56853.282→V (起点里程横坐标): 220°31′33″→G(计算段起点里程切线方位角): 80→H(缓和线): 10^45→P曲率半: 782.716→R(曲率半): -1→Q (线路左右偏): Else If Z≤xxx: Then0→O (计算段起点里程): 62450.391→U(起点里程纵坐标): 56853.282→V (起点里程横坐标): 220°31′33″→G(计算段起点里程切线方位角): 80→H(缓和线): 10^45→P曲率半: 782.716→R(曲率半): -1→Q: IfEnd: IfEndReturnO=80:U=62388.712:V=56802.348:G=²²²²²²²²²²²²注:数据库内数据为示意数据,编两曲线中直线段时“H=”为该段长;半径“P=”、“R=”详以上使用说明;坐标、方位角为计算段起点的。
1.ZBJS (坐标计算主程序) 10→Dim Z:“1.ZX,2.YX”?C:“1.ZS,2.FS”?E:E=2=>Goto 2“X00”?A:“Y00”?BLbl 1:?K:?Z:Prog“1.YS”:Prog“1.HQ”:“X=”:X-Z sin(Z[1]) →Q▲“Y=”:Y+Z cos(Z[1]) →S▲Pol(Q-A,S-B):J<0=>J+360→J“D=”:I▲“F=”:J▼DMS▲Goto 10→KLbl 2:“XP”?Q:“YP”?S:“HP”?I:I→Z[4]Lbl 3:Prog“1.YS”:Prog“1.HQ”:(X-Q)sin(Z[1]+90)-(Y-S)cos(Z[1]+90) →I:If Abs(I)≥0.0001:Then K-I→K:Goto 3:IfEnd“K=”:K▲“Z=”:(X-Q)sin(Z[1])-(Y-S)cos(Z[1]) →Z▲Prog“2.GC”:Prog“1.R”Goto 21.YS (平曲线要素子程序)If C=1:Then If K≤53038.260(下一交点ZH点桩号):Then 2379.165→U(交点X):2429.939→V(交点Y):52792.353→D(交点桩号):9°9′7.1″→O(线路转角): -1→W(左转-,右转+):1900→R(半径):0→M(一缓长):200→N(二缓长):157.583→T(第一切线长):246.615→P(第二切线长):403.491→L(曲线长):90°22′58.6″→F(起点方位角):Return:IfEnd: If K≤53038.260(下一交点ZH点桩号):Then 2379.165→U(交点X):2429.939→V(交点Y):52792.353→D(交点桩号):9°9′7.1″→O(线路转角): -1→W(左转-,右转+):1900→R(半径):0→M(一缓长):200→N(二缓长):157.583→T(第一切线长):246.615→P(第二切线长):403.491→L(曲线长):90°22′58.6″→F(起点方位角):Return:IfEnd:IfEndIf C=2:Then If K≤53038.260(下一交点ZH点桩号):Then 2379.165→U(交点X):2429.939→V(交点Y):52792.353→D(交点桩号):9°9′7.1″→O(线路转角): -1→W(左转-,右转+):1900→R(半径):0→M(一缓长):200→N(二缓长):157.583→T(第一切线长):246.615→P(第二切线长):403.491→L(曲线长):90°22′58.6″→F(起点方位角):Return:IfEnd: If K≤53038.260(下一交点ZH点桩号):Then 2379.165→U(交点X):2429.939→V(交点Y):52792.353→D(交点桩号):9°9′7.1″→O(线路转角): -1→W(左转-,右转+):1900→R(半径):0→M(一缓长):200→N(二缓长):157.583→T(第一切线长):246.615→P(第二切线长):403.491→L(曲线长):90°22′58.6″→F(起点方位角):Return:IfEnd:IfEnd1.HQ (坐标计算子程序)K-D+T→IIf I≤0:Then I→X:0→Y:0→Z[1]:Goto 1:IfEndIf I≤M:Then I-I∧(5)÷(40R2M2) →X:I∧(3)÷(6RM)-I∧(7) ÷(336 R∧(3) M∧(3)) →Y:90I2÷(πRM) →Z[1]:Goto 1:IfEndIf I≤L-N:Then180(I-M)÷(Rπ)+90M÷(Rπ)→Z[1]:Rsin(Z[1])+M ÷2-M∧(3)÷(240R2)→X:R(1-cos(Z[1]))+M2÷(24R)→Y:Goto 1:IfEndIf I≤L:Then L-I→I:F+W O-W(90I2÷(πRN)) →Z[1]: I∧(3)÷(6RN)→J: I-I∧(5)÷(40R2N2) →I:U+P cos(F+W O)+I cos(F+W O+180)+WJsin(F+W O+180)→X:V+P sin(F+W O)+I sin (F+W O+180)-WJcos (F+W O+180) →Y:Return:IfEndIf I>L:Then K-D+T-L→J:F+W O→Z[1]:U+P cos(Z[1])+J cos(Z[1])→X:V+Psin(Z[1])+Jsin(Z[1])→Y:Return:IfEndLbl 1:X→I:WY→J:U+Tcos(180+F)+Icos(F)-Jsin(F)→X:V+Tsin(180+F)+Isin(F)+Jcos(F)→Y:F+WZ[1]→Z[1]1.R (半径计算子程序)说明:X表示圆心至测设线的距离,Y表示圆心至设计高程的距离。
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=″?RLbl 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平曲线程序1.主程序Lbl 4:"1.SZ => XY":"2.XY => SZ":?N:?S:Prog“SUB0”↙1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:N=1 => Goto1:Goto2:↙Lbl 1:? Z:Abs(S-O) →W:Prog "SUB1":"XS=":X◢"YS=":Y◢F-90→F:“FS=”:F▲DMS◢D:X+DCos(F)→X: "X=":X◢Y+DSin(F)→Y: "Y=":Y◢Goto4↙Lbl 2:?X:?Y:X→I:Y→J:Prog“SUB2”:O+W→S:“S=”:S◢“Z=”:Z◢Goto4↙2. 正算子程序(SUB1)0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+B cos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD))) →X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QE MW(C+MW D))) →Y:G+QEW(C+WD)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y2. 反算子程序(SUB2)G-90→T:Abs((Y-V)cosT-(X-U)sinT) →W:0→Z:Lbl 0:Prog "SUB1":T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs (Z)<10-6:T hen Goto1:Else W+Z→W:Goto 0:IfEndLb1 1:0→Z:Prog "SUB1" :(J-Y)÷sin(F)→ZSUB0 数据库子程序Goto1↙同时保存多个曲线时的指针Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd↙Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd ……………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加个工程增加一个文件。
卡西欧FX5800---辛普森公式(万能公式)复化辛普森公式1.Lbl 0:“XA=”?A:“YA=”?B: “CA=”?C:“1/RA=”?D:“1/RB=”?E:“DKA=”?F:“DKB=”?G2.Lbl 1:“DKI=”?H:“DL=”?O:“DR=”?R:IF H>G:THEN Goto0 IFEND3.(E-D)/Abs(G-F)→P:Abs(H-F) →Q: P×Q→I:D+I→T4.C+(I+2D)×Q×90/π→J5. C+(I/4+2D)Q×45/(2π) →M: C+(3I/4+2D)Q×135/(2π) →N6. C+(I/2+2D)Q×45/π→K7. A+Q(cosC+4(cosM+cosN)+2cosK+cosJ)/12 →X8.B+Q(sinC+4(sinM+sinN)+2sinK+sinJ)/12 →Y9.”FW=”:J▲DMS ▲10. “X=”:X▲11. “Y=”:Y▲12.“XL=”: X+Ocos(J-90) →U ▲13.“YL=”: Y+Osin(J-90) →V▲14.“XR=”:X+Rcos(J+90)→ W▲15.“YR=”:Y+Rsin(J+90)→ Z▲16.Goto 1程序结束程序说明:A- 曲线元起点A的坐标;B- 曲线元起点B的坐标;C- 曲线元起点A的切线坐标方位角;F- 曲线元起点A的里程;G- 曲线元起点B的里程;H- 曲线上待求点i的里程;D- 曲线元起点A的曲率;E- 曲线元终点B的曲率;XL-左边线点位X坐标;YL-左边线点位Y坐标;XR-右边线点位X坐标;YR-右边线点位Y坐标;X- 中线点位纵坐标;Y- 中线点位横坐标;DL-左边线距中线平距;DR-右边线距中线平距;该程序需要输入的数据为:(1).曲线元起点A的坐标及切线坐标方位角,计算器上用“XA”,“YA”,“CA”显示;(2).曲线元起点A和B的曲率,计算器上用I÷RA,I÷RB显示(曲线左偏时取“-”);(3).曲线元起点A和终点B的里程,计算器上用“DKA”,“DKB”显示;(4).输入待求点里程和该点距左右的水平距离,计算器上用“DKI”,“DL”,“DR”显示;每算完一个待求点的中线及边线坐标,程序又让输入下一点的“DKI”,“DL”,“DR”当输入的“DKI”大于“DKB”时,此时输入下一个曲线元起点的曲率和里程,即可计算下一个曲线中线及边线点位坐标。
卡西欧fx-5800 坐标正算程序“SO”算方位Lbl 0“D”:Pol(X-A,Y-B) →D◢If J≥0:Then J◢Else “J”:J+360◢IfEnd“ZZ”正算直线坐标A+Rec(Abs(P-K),Q) →XB+J→Y“X”:X+Rec(D,Q+N×90) →X◢“Y”:Y+J→Y◢P?所求桩号 A,B:起点x,y K:起点桩号 Q:方位角D:边桩距离 N?左偏“-1”右偏:“+1”X= Y= 所求点坐标“YY”正算圆曲线坐标Q+C×(P-K)÷S×180÷∏→Z“X”:A+C×S×(Sin(Z)-Sin(Q))+Rec(D,Z+N×90) →X◢“Y”:B-C×S×(Cos(Z)-Cos(Q))+J→Y◢P:所求点桩号 A,B:起点x,y K:起点桩号Q:方位角 S:曲线半径 D?边桩距离N?左偏“-1”,右偏“+1”X= y= 所算点坐标 C:线路左转“-1”右转“+1”“H1”正算缓和曲线坐标Abs(P-K) →LT2÷L→HL2×180÷∏÷2÷T2→VQ+C×V→ZL-L∧(3)÷40÷H2+L∧(5)÷3456÷H∧(4)-L∧(7)÷H∧(6)÷599040→EL2÷6÷H- L∧(4)÷336÷H∧(3)+ L∧(6)÷42240÷H∧(5)- L∧(8)÷H∧(7)÷(6×1612800)→FIf C<0:Then-F→F:IfEndA+E×Cos(Q)-F×Sin(Q) →X“X”:X+Rec(D,Z+M×N×90) →X◢B+E×Sin(Q)+F×Cos(Q) →Y“Y”:Y+J◢P?所求点桩号 A,B:起点x,y K:起算点里程桩号Q:前切线方位角 T(是圆曲线要素的A1)=√(根号)缓曲总长×半径C=切线线路方向左转“-1”,右转“+1“M=第一缓曲“+1”,第二缓曲”-1“N:算边桩左偏“-1”,右偏“+1”D:边桩距离坐标正算数据库例子“肇兴隧道右线数据库”Lbl 0“P”?P:“N”?N:“D”?DIf P≥16836.5 And P≤17009.624:Then 66881.803→A:14635.782→B:16836.5→K:280032030.50→Q:902.044→T:1→C: 1→M:Prog“H1”:IfEnd (第一缓曲线)If P≥17009.624 And P≤17529.681:Then 66914.52→A:14465.781→B:17009.624→K:281035049.370→Q:4700→S:Prog“YY”:IfEnd (圆曲线)If P≥17539.681 And 17702.805≥P:Then 67102.343→A:13799.117→B:17702.805→K:108059031.50→Q:902.044→T:-1→C: -1→M:Prog“H1”:IfEnd (第二缓曲线)If P≥17702.805 And P≤19550:Then 67102.343→A:13799.17→B:17702.805→K:288059031.50→Q: Prog“ZZ”:IfEnd (直线)。
主程序坐标正反算程序名称:001XYLB1 A↙Cls : Fix 4 : 30→Dim Z :"v=1,v=0"?Z ↙If Z=1:Then Goto B:IfEnd↙(Z=1进入里程点坐标正算)If Z=0:Then Prog"FSLCBZ ": Goto A:IfEnd↙(Z=0进入反算里程边桩)Lb1 B ↙“K=”?K :(计算里程)Prog"SJK1 ":Prog”ZBFY” :Goto A↙子程序数据库 SJK1IF K<本段曲线终点里程 AND K≥上段曲线终点里程:THEN 本段终点里程→Z[1] : 上段曲线终点里程→Z[2] :1→O(注:左偏曲线输入-1→O,右偏曲线输入1→O): 半径→R : 曲线偏角→A:第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Prog”XLZBJSCX”:Return: IFEND↙IF…………Prog”XLZBJSCX”:Return:IFEND(曲线段分段输入)↙补充直线段输入如下(单独直线段)IF K<本段直线终点里程AND K≥本段直线起点里程:THEN 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E: Z[16]+ (K- Z[3])*COS E→Z[18]:Z[17]+ (K- Z[3])*SIN E→Z[19] :E →T:Return:IFEND子程序坐标正算,名称:XLZBJSCXLB1 2 ↙(曲线要素计算)Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1)Z[7]/2- Z[7]^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[6]+ Z[7])→Z[25] ↙(曲线总长)90* Z[6]/(R*π) →Z[14] ↙(第一缓和曲线总偏角)90* 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]- Z[25]→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] AND K> Z[3] : THEN GOTO 5 : IFEND ↙IF K≤Z[5] AND K> Z[4] : THEN GOTO 6 : IFEND ↙IF K≤Z[1] AND K> Z[5] : THEN GOTO 7 : IFEND ↙LB1 4 ↙(里程小于直缓点直线独立坐标)K- Z[3] →Z[23] : 0→Z[24] : E→T : GOTO 8↙LB1 5 ↙(第一缓和曲线独立坐标)K- Z[3] →H ↙H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →Z[23]↙H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Z[24] ↙90*H^2/( R*π* Z[6]) →T ↙IF O>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙GOTO 8 ↙LB1 6 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*SIN T+ Z[8]→Z[23] ↙R*(1-COS T)+ Z[10]→Z[24] ↙IF O>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙GOTO 8 ↙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*S IN A→Z[23] ↙Z[13]*SIN A-U*SIN A+V*COS A→Z[24]↙IF O>0 :THEN F-T→T : T<0=>360+T→T : ELSE F+T →T : IFEND ↙GOTO 8 ↙LLb1 8IF O<0 : THEN - Z[24]→Z[24] : IFEND ↙Z[16]+Z[23]*COS E-Z[24]*SIN E→Z[18] ↙Z[17]+Z[23]*SIN E+Z[24]*COS E→Z[19] ↙ReTurn↙子程序反算里程边桩,名称:FSLCBZLb1 1↙"POINT=X"?X:" POINT=Y"?Y↙(输入任意测点的XY坐标):“K=”?K (试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)↙Lb1 2↙Prog"SJK1 ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin W)→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+S→K: Prog"SJK1":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin W)→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else IF Q<S: THEN K+Q→K: Goto 2 :Else IF Q>S :THEN K-Q→K:Goto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"W(-Z,Y+)=":I◢(偏距)(由于该程序不能准确判断边桩左右方向,暂作修改,取消左右边判定)"K=":K+S→K◢(里程)Return↙子程序坐标放样:ZBFYLB1 0 ↙"P(N)="?M:"P(E)="?N ↙“a=”?P◢(输入边桩与线路夹角,左-右+)“W=”?D◢(输入边桩距)Z[18]+D*COS(T+P) →Z[20] ↙Z[19]+D*SIN(T+P) →Z[21] ↙“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)Pol(Z[20]-M,Z[21]-N):"HD=":I◢(边桩放样距)J<0=>J+360→J:"HAR=":J→DMS◢(边桩放样方位角)Return↙直线短链要将该直线分成二条直线来对待编制数据库文件即可,曲线长链要单独建判定语句子程序并然后编制二个数据库(按来向里程和去向里程分别推出曲线起终点里程,以此编制曲线段的数据库)。
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:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 02.主程序2:高程序横坡程序(设计任意点高程及横坡)程序名:2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix 3:”H=”:Locate 6,4,H◢“I=”: Locate 6,4,I◢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:ThenJ+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)Fix 3:”S=”:Locate 6,4,I◢4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)程序名:4JH-XYLbI 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: "X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"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]:If D<0:Then0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEndLbI 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 “W0”:Z[10]+Z[11]→A: If G>A:Then Goto 1:Else If G>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])×Z[16]+Z[17]×Z[15])→S:GotoZ:Else (N+G×Z[15])→S:Goto z:LbI Z:Z[3]→D:Fix 2:Abs(D)-S→T:”L0=”:L Locate 6,4,T◢"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢“TW=”: Locate 6,4,Z[5]◢Goto 06.主程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名:6GDProg “G0”Z-C→E:(B-A)×E/S+A→L:L:7.坐标计算次程序(THB)程序名:THB18→DimZ:"KM"?Z:Prog "X0"1÷P→C: (P-R)÷(2HPR) →S:180÷π→E:F=1=>Goto 1:F=2=>Goto 2←┘Lbl 1:?D: Abs(Z-O) →W:Prog "A":X:Y:Goto 3LbI 2:X:Y:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 3LbI 3:IF F=1Then X:Y:Else Z:D8. 正算子程序(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+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)W S))) →Y:G+QEW(C+WS)+Z[1]→Z[2]:X+Dcos(Z[2])→X: Y+Dsin(Z[2])→Y9. 反算子程序(B)程序名:BG-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→D:Lbl 0:Prog "A": T+QEW(C+W S) →L: (J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto1:Else W+D→W:Goto 0←┘Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]) →D:10.高程计算子程序(H)程序名:HProg “S0”:R:T:C:G:I:C-T→F:Z-F→L:C+T→E:G-TI→Q:If T=O:Then Q+LI→H:Goto0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:Then Q+LI+L2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:LbI I:H:I:11.高程超高计算程序(I)程序名:IProg”I0”:W=1=> Goto 0:W=2=>Goto 1:LbI 0:If L=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷L+M)→V:Goto2:IfEnd:LbI 1:If L=0:Then Abs(D)×M→V:Goto 2:El seAbs(D)×(((3((Z-C)÷L)2-2((Z-C)÷L)∧(3))×(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→O:11587.421→U:1847.983→V:101。
卡西欧fx5800程序1、主线坐标计算主程序A01ZB (子程序名B0ZB)10→DimZ ( K待求点桩号)Lbl 9:Norm 1:"K"K:Prog"BOZB”:F-T-A:A+S-B:A+W-D: D-Z→C If K<C:Then U→HJ→J>1→O^→TEIse V-H:-JrJ:1-O:l-T:lfend:N+OTcos(H)→Z[1]^+OTsin(H)→Z[2]^oto 0:LblO ( K待求点桩号)K<A=>Goto 1:K<B=>Goto 2:K<C=>Goto 3:K<D=>Goto 4:K≥D=>Goto 5:Lbl 1:0-Z[3]:H+JZ[3]-Z[4]:(K-A)cos(H)-Z[7]:(K-A)sin(H)f Z[8]: Goto 6Lbl 2^0(K-A)Λ2∕R∕S∕TE→Z[3]I H+3JZ[3]→Z[4](K-A)-(K-A)Λ(5)∕90∕RΛ2∕SΛ2→Z[10]Z[10]cos(H+JZ[3])→Z[7]^[10]sin(H+JZ[3])→Z[8]^oto 6Lbl 3:90S/R/ τr+180(K-B)∕R∕ JΓ→Z[3]^+JZ[3]→Z[4]Rsin(Z[3])+S∕2-SA(3)∕240∕R 八2-Z[9]R(1-COS(Z[3]))+SΛ2∕24∕R→Z[10]Z[9]cos(H)-JZ[10]sin(H)→Z[7]: Z[9]sin(H)+JZ[10]cos(H)→Z[8]^oto 6Lbl430(K-D)Λ(2)∕R∕Z∕TΓ→Z[3]^+3JZ[3]→Z[4](D-K)-(D-K)Λ(5)∕90∕RΛ(2)∕ZΛ(2)→Z[10]-Z[10]cos(H+JZ[3])→Z[7]> Z[10]sin(H+JZ[3])→Z[8]^oto 6Lbl 50→Z[3]^-JZ[3]→Z[4]^K-D)cos(H)→Z[7]ι(K-D)sin(H)→Z[8]^oto6 Lbl 6边桩坐标Norm 1:"HR=":Z[4]>DMS,显示中线的方位角(度分秒)Fix 3∕,X=,∖Z[1]+Z[7]→X.“Y=":Z[2]+Z[8]→Y∙Norm 1:"HJ"Q:“DL"?P:Fix3:"XL=":X+Pcos(Z[4]-Q)rZ[5]. “YL=”:Y+Psin(Z[4]-Q)→Z[6],Norm 1∕,DR,,7LFix 3:"XR=":X+Lcos(Z[4]-Q+180)→X∙,,YR=,∖Y+Lsin(Z[4]-Q+180)-Y,Norm 1∕,10x K(+,-)”G:K+10G-K:Goto 9主程序完子程序(数据库,输入方法范例)B0ZB(1) If K≤ 5491.752 :Then 2261.857 -F: 4071637.716 →N:503054.9294 →E: -1 -J: 5596 →R 0 →S: 0→Z: 1558.817 →T:1558.817": 3040.5543 -W: 186°25'47.8'' -U: 155°17'55"- VJfend(2) If K> 5491.752 :Then 5835.603 -› F: 4068320.948 → N: 504580.5701 →E: 1 →J: 5600 →R: 0 →S: 350 →Z: 343.851 →T: 503.665 →1: 846.6609 →W: 155o17,55,z→∪: 162o10z14,3z,→VJfend(3) If K> 6688.413 :Then 7080.791 - F: 4067134,749 → N: 504962.0879 -E:-J: 5600 -R: 350 -S: 0 -Z: 742.378 →T: 576.31 →1: 1314.6514 -W: 162010V43' -U: 150o30z37.5zz→VJfendF二交点里程N=交点坐标XE=交点坐标YJ=转向左=-1 ,右二1R=半径S二前缓和曲线全长Z二后缓和曲线全长T二前切线长匚后切线长W二曲线总长u二前方位角v=后方位角全线要素可全部输入要素表见电子表0123456789 数字ABCDEFGHIJKLMNOPQRSTUVWXYZ 字母工转移结束符号,显示结果命令DimZ、=>x→x►DMS、Lbl、If、Then、Else、Ifend、Goto、Norm、Fix均为一个整体2、高程主程序A02GC (子程序名BOGC竖曲线要素,HP1、HP2横坡数据,V=-1为左半幅横坡,其他为右半幅)2→DimZLbl 0:?K:Prog"B0GC":.005RAbs(l-L)fT:Z-TfA:Z+TfB:K-A-C:B-K →D^-Z→EIf L>kThen 1→J^lse L<l=>-1→JJfe∩dIf K<A:Then O→C^lse K>B=>O→DJfendIf KWZ:Then l-Y:C-G:Else K>Z=>L→Y^→GJfendLbl 1:Fix 3∕,H,∖H+EY∕100+JGΛ2∕2∕R→X^Norm 1:“HD"U:”Z=-1,Y=T'?V:lf V<O:Then Goto 2:Else Goto 3JfendLbl 2:Prog“HP1":“Hi”:O,Goto 4Lbl 3:Prog“HP2":“Hi”:O,Goto 4Lbl 4:Norm 1:"D"P:Fix 3∕,H1,∖X-∪+.01OP→Z[1]^“10x K(+,-)”?W:K+10W-K:Goto 0主程序完子程序数据库BOGCIf K≤753225^hen 749700→Z:181.776→ H:30000→ R:0 → 1:0.3→LJfendIf K>753225:Then 753300→Z: 192.576→ H:30000→ R:0.3→ 1:0.8→LJfendIf K>下一竖曲线的前变坡点的桩号:Then下一竖曲线交点里程-Z: 下一竖曲线交点高程-H:下一竖曲线半径→R:前纵坡-I:后纵坡一Ldfend可输入全线竖曲线要素子程序(横坡数据库)HP1If KW753225:Then -2-0: lfendIf K>753225:Then -2+(-1/100)*(K-753225^O: lfendIf K>753325:Then -3-0: lfendIf K>******:Then *****-0: lfendIf K>横坡变坡点桩号:Then横坡或者公式-0: lfend高程程序就不举例子了3、卵形曲线(辛普生法则,匝道及主线均可算)此程序为廊坊至涿州段高速路面标的算例。
Fx-5800计算器程序一、程序名称:B-F-PQX(非对称平曲线)30→Dim Z:“ZX”?H: “ZY”?K:“A”?A:“R”?R:“LS1”?N:“LS2”?L:“JDL”?Q:“JX”?U:“JY”?V:“F”?F:180/π/R→Z:ZN/2→Z[9]:ZL/2→B:N2/24/R-N^(4)/2688/R^(3)+N^(6)/506880/R^(5)→Z[10]: L2/24/R-L^(4)/2688/R^(3)+L^(6)/506880/R^(5)→P:N/2-N^(3)/(240R2)+N^(5)/34560/R^(4)→Z[11]: L/2-L^(3)/(240R2)+L^(5)/34560/R^(4)→Z[14]“T1=”:((R+P)-(R+Z[10])Cos(Abs(A))+Z[11]→Z[12]▲“T2=”:((R+Z[10])-(R+P)Cos(Abs(A)))+Z[14]→Z[13]▲“L=”:(Abs(A)-Z[9]-B)/Z+N+L→o▲“ZH=”:Q-Z[12]→E▲“HY=”:E+N→Z[1]▲“QZ=”:E+N+(o-N-L)/2→Z[2]▲“YH=”:E+o-L→Z[3]▲“HZ=”:E+o→Z[4]▲LbI 9:“XL”?M:Prog“FDP”:Goto 9二、子程序:FDP180/π/R→Z:ZN/2→Z[9]:ZL/2→B:N2/24/R-N^(4)/2688/R^(3)+N^(6)/506880/R^(5)→Z[10]: L2/24/R-L^(4)/2688/R^(3)+L^(6)/506880/R^(5)→P:N/2-N^(3)/(240R2)+N^(5)/34560/R^(4)→Z[11]: L/2-L^(3)/(240R2)+L^(5)/34560/R^(4)→Z[14]((R+P)-(R+Z[10])Cos(Abs(A))+Z[11]→Z[12]((R+Z[10])-(R+P)Cos(Abs(A))+ Z[14]→Z[13](Abs(A)-Z[9]-B)/Z+N+L→oQ-Z[12]→EE+N→Z[1]E+N+(o-N-L)/2→Z[2]E+o-L→Z[3]E+o→Z[4]0→W:0→Y:If M≤E:Then M-E→X:Goto 3:IfEnd:If M≤Z[1]:Then Goto 1:IfEnd:If M<Z[3]:Then Goto 2:IfEnd:If M<Z[4]:Then Goto 8:IfEnd:If M≥Z[4]:Then Z[4]-M→X:Goto 3:IfEndLbI 1:M-E→G:G-G^(5)/(40R2N2)+G^(9)/(3456R^(4)N^(4))→X:G^(3)/(6RN)-G^(7)/(336R^(3)N^(3))+G^(11)/(42240R^(5)N^(5))→Y:ZG2/2/N→W:Goto 3LbI 2:M-Z[1]→G:RSin(Z[9]+GZ)+Z[11]→X:R-RCos(Z[9]+GZ)+Z[10]→Y: Z[9]+GZ→W:Goto 3LbI 8:Z[4]-M→G: G-G^(5)/(40R2L2)+G^(9)/(3456R^(4)L^(4))→X:G^(3)/(6RL)-G^(7)/(336R^(3)L^(3))+G^(11)/(42240R^(5)L^(5))→Y:ZG2/2/L→WLbI 3:If M≥Z[3]:Then F+A→C:If A>0:Then C+90→D:Eles C-90→D:IfEnd:Else F+180→C:If A>0:Then F+90→D: Else F-90→D: IfEnd: IfEnd If M<Z[3]:Then Z[12]→T:Else Z[13]→T:IfEnd“X=”:U+(T-X)Cos(C)+YCos(D)→Z[7]▲“Y=”:V+(T-X)Sin(C)+YSin(D)→Z[8]▲Z[7]→Z[5]:Z[8]→Z[6]:Prog “J”LbI 4:“BZ”?S:If M<Z[3]:Then Goto 5:Else Goto 6:IfEndLbI 5:F→C:If A<0:Then –W→W:Else W→W:IfEnd:Goto 7LbI 6:F+A→C:If A>0:Then –W→W:Else W→W:IfEndLbI 7:“X=”:Z[7]+SCos(C+W+90)→Z[5]▲“Y=”:Z[8]+SSin(C+W+90)→Z[6]▲Prog “J”三、子程序:JI=PoI(Z〔5〕-H, Z〔6〕-K):If J<0:Then J+360→J:EIse J→J: IfEnd“F=”:J◆DMS“D=”:I▲四、程序说明:1、▲——代表计算器中显示符号(黑色实心三角符号,在计算器中输入方法:SHIFT+X2)。
2、◆DMS——在计算器中输入方法:FUNCTION+5+4。
3、在程序中小写字母o——代表大写字母O,而0——代表阿拉伯数字零,请注意区分。
4、该程序只适用于对称及非对称平曲线放样,放样方法:方位角放样。
5、该程序放样范围为该曲线及相邻两段直线。
程序输入说明:ZX?——输入置仪点X坐标 ZY?——输入置仪点Y坐标A?——输入偏角(左“-”右“+”) R?——输入平曲线半径LS1?——输入第一段缓和曲线长度 LS2?——输入第二段缓和曲线长度JDL?——输入平曲线交点里程 JX?——输入交点X坐标JY?——输入交点Y坐标 F?——输入起边方位角T1=——显示平曲线第一段切线长 T2=——显示平曲线第二段切线长L=——显示平曲线曲线长度ZH=——显示直缓点里程 HY=——显示缓圆点里程QZ=——显示曲中点里程 HZ=——显示缓直点里程XL?——输入放样点里程 X=——显示放样点中桩X坐标Y=——显示放样点中桩Y坐标 F=——显示放样方位角D=——显示置仪点至放样点距离 BZ?——输入边距(左“-”右“+”,例如:放样左侧10m,输入-10,右侧8m则输入8)X=——显示边桩X坐标 Y=——显示边桩Y坐标F=——显示放样方位角 D=——显示置仪点至边桩距离XL?——输入下一个放样点里程,从而至使程序循环运行。
五、子程序建立:假设JD20的曲线要素为:右转偏角:55°47′24″半径:150 LS1:65 LS2:40 交点里程:494.346 交点X:2330.436 交点Y:54893.459 起边方位角F1:275°44′30″JD20(文件名名称)55°47′24″→A:150→R:65→N:40→L:494.346→Z[14]:2330.436→U:54893.459→V:275°44′30″→F:Prog“FDP”非对称平曲线数据库一、程序名称:A-D-LCP1、假如该标段有7个交点的程序建立:30→DimZ: “ZX”?H: “ZY”?KLbI 0:“XL”?M:If M<400:Then Prog“JD1”:EIse If M<600:Then Prog“JD2”:EIse If M<800:Then Prog“JD3”:EIse If M<980:Then Prog“JD4”:EIse If M<1200:Then Prog“JD5”:EIse If M<1500:Then Prog“JD6”:EIse Prog“JD7”:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd: IfEnd:Goto0 2、假如该标段有9个交点的程序建立:30→DimZ: “ZX”?H: “ZY”?KLbI 0:“XL”?M:If M<400:Then Prog“JD1”:EIse If M<600:Then Prog“JD2”:EIse If M<800:Then Prog“JD3”:EIse If M<980:Then Prog“JD4”:EIse If M<1200:Then Prog“JD5”:EIse If M<1500:Then Prog“JD6”:EIse If M<1800:Then Prog“JD7”: EIse If M<2000:Then Prog“JD8”:EIse Prog“JD9”:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd: IfEnd: IfEnd: IfEnd:Goto03、假如该标段有11个交点的程序建立:30→DimZ: “ZX”?H: “ZY”?KLbI 0:“XL”?M:If M<400:Then Prog“JD1”:EIse If M<600:Then Prog“JD2”:EIse If M<800:Then Prog“JD3”:EIse If M<980:Then Prog“JD4”:EIse If M<1200:Then Prog“JD5”:EIse If M<1500:Then Prog“JD6”:EIse If M<1800:Then Prog“JD7”: EIse If M<2000:Then Prog“JD8”: EIse If M<2130:Then Prog“JD9”: EIse If M<2200:Then Prog“JD10”:EIse Prog“JD11”:IfEnd:IfEnd:IfEnd:IfEnd:IfEnd: IfEnd: IfEnd: IfEnd: IfEnd: IfEnd:Goto0说明:1、根据上述三种情况可根据实际情况对该程序(A-D-LCP)进行局部根改,红色部分是可以进行修改的。
例如:“M<400”中400代表的是JD1与JD2之间直线段上的桩号,“JD1~JD11”要进行根改时除非数据库中名称发生改变。
2、“IfEnd”的个数取决于交点个数,例如:有7个交点结尾时必须有6个“IfEnd”;有9个交点时结尾必须有8个“IfEnd”;有11个交点时必须有10个“IfEnd”。
3、该程序最多可存储17个交点,若交点太多可有两个或两个以上同样的程序进行存储。
4、程序完成运行正确后,在交点范围内任意点桩号都可以进行放样,免除了每次测量时都需输入曲线要素这一个环节。
5、在路线中有断链时,需根据断链位置来确定M值。
二、数据库的建立:(子程序)1、根据施工设计图可得知的曲线要素如下:JD1的曲线要素:交点里程:K0+247.815 交点X坐标:2579154.343 交点Y坐标:906527.4114 半径(R):160 缓和曲线(LS)长度:0 曲线偏角:右转38°33′08″起边方位角(F): 346°28′01″JD2的曲线要素:交点里程:K0+501.097 交点X坐标:2579387.714 交点Y坐标:906636.3292 半径(R):600 缓和曲线(LS)长度:0 曲线偏角:右转5°46′00″起边方位角(F): 25°01′09″JD3的曲线要素:交点里程:K0+659.124 交点X坐标:2579523.517 交点Y坐标:906717.2384 半径(R):300 缓和曲线(LS)长度:0 曲线偏角:右转18°06′23″起边方位角(F): 30°47′09″JD4的曲线要素:交点里程:K0+904.132 交点X坐标:2579685.128 交点Y坐标:906902.4459 半径(R):90 缓和曲线(LS)长度:0 曲线偏角:右转41°30′18″起边方位角(F): 48°53′32″JD5的曲线要素:交点里程:K1+097.035 交点X坐标:2579683.770 交点Y坐标:907098.3531 半径(R):60 缓和曲线(LS)长度:0 曲线偏角:左转52°01′57″起边方位角(F): 90°23′50″JD6的曲线要素:交点里程:K1+429.804 交点X坐标:2579947.887 交点Y坐标:907307.425 半径(R):150 缓和曲线(LS)长度:0 曲线偏角:右转37°23′24″起边方位角(F): 38°21′53″JD7的曲线要素:交点里程:K1+586.834 交点X坐标:2579987.421 交点Y坐标:907463.1432 半径(R):150 缓和曲线(LS)长度:0 曲线偏角:左转41°49′53″起边方位角(F): 75°45′17″JD8的曲线要素:交点里程:K1+958.991 交点X坐标:2580300.496 交点Y坐标:907673.7074 半径(R):700 缓和曲线(LS)长度:0 曲线偏角:右转6°08′01″起边方位角(F): 33°55′23″JD9的曲线要素:交点里程:K2+092.249 交点X坐标:2580402.547 交点Y坐标:907759.5081 半径(R):200 缓和曲线(LS)长度:0 曲线偏角:左转12°36′07″起边方位角(F): 40°03′24″JD10的曲线要素:交点里程:K2+174.864 交点X坐标:2580476.0163 交点Y坐标:907797.6801 半径(R):150 缓和曲线(LS)长度:0 曲线偏角:右转17°57′44″起边方位角(F): 27°27′17″JD11的曲线要素:交点里程:K2+259.136 交点X坐标:2580535.4428 交点Y坐标:907857.9781 半径(R):100 缓和曲线(LS)长度:0 曲线偏角:左转31°11′28″起边方位角(F): 45°25′01″2、子程序建立:(数据库)子程序:JD138°33′8″→A:160→R:0→N:0→L:247.815→N:2579154.343→U:906527.4114→V: 346°28′1″→F:Prog “FDP”子程序:JD25°46′0″→A:600→R:0→N:0→L:501.097→N:2579387.714→U:906636.3292→V: 25°1′9″→F:Prog “FDP”子程序:JD318°6′23″→A:300→R:0→N:0→L:659.124→N:2579523.517→U:906717.2384→V: 30°47′9″→F:Prog “FDP”41°30′18″→A:90→R:0→N:0→L:904.132→N:2579685.128→U:906902.4459→V: 48°53′32″→F:Prog “FDP”子程序:JD5-52°1′57″→A:60→R:0→N:0→L:1097.035→N:2579683.77→U:907098.3531→V: 90°23′50″→F:Prog “FDP”子程序:JD637°23′24″→A:150→R:0→N:0→L:1429.804→N:2579947.887→U:907307.425→V: 38°21′53″→F:Prog “FDP”子程序:JD7-41°49′53″→A:150→R:0→N:0→L:1586.834→N:2579987.421→U:907463.1432→V: 75°45′17″→F:Prog “FDP”子程序:JD86°8′1″→A:700→R:0→N:0→L:1958.991→N:2580300.496→U:907673.7074→V: 33°55′23″→F:Prog “FDP”子程序:JD9-12°36′7″→A:200→R:0→N:0→L:2092.249→N:2580402.547→U:907759.5081→V: 40°3′24″→F:Prog “FDP”17°57′44″→A:150→R:0→N:0→L:2174.864→N:2580476.0163→U:907797.6801→V: 27°27′17″→F:Prog “FDP”子程序:JD11-31°11′28″→A:100→R:0→N:0→L:2259.136→N:2580535.4428→U:907857.9781→V: 45°25′1″→F:Prog “FDP”三、程序运行说明:运行程序:A-D-LCPZX?——输入置仪点X坐标 ZY?——输入置仪点Y坐标XL?——输入放样点里程 X=——显示放样点中桩X坐标Y=——显示放样点中桩Y坐标 F=——显示放样方位角D=——显示置仪点至放样点距离 BZ?——输入边距(左“-”右“+”,例如:放样左侧10m,输入-10,右侧8m则输入8)X=——显示边桩X坐标 Y=——显示边桩Y坐标F=——显示放样方位角 D=——显示置仪点至边桩距离XL?——输入下一个放样点里程,从而至使程序循环运行。