正算主程序 (ZS) ­ :

Lb1 0­ : FIX 4 : ? S : ?Z : Prog “ PM-SJ ” : Abs(S-O) → W : Prog "SUB1" : "XS= " : X ◢ "YS= " : Y ◢ F-90 → F ( 需要时可以让他显示,不要时不必输入 ) : Pro g“SQX-SJ”: Prog “ SQX ” : “ H= ” : H ◢­ Goto 0­

反算主程序 (FS) ­

Lb1 0­ : FIX4: ? S : ? X :? Y : Prog “PM-SJ” : X→ I : Y→ J : Prog "SUB2" : "S= " : O+W→S ◢ "Z= " : Z ◢­

Prog “SQX-SJ” : Prog “ SQX ” : “ H= ” : H ◢ Goto 0­

隧道 3 心圆放样主程序( SD-3XY ) ­

Lb1 0 : Prog “ FS ” : 1.5 → A : 1.65 → B : 0.89→ G : 2.27 → C : 3.3 → D : 2.41 → E : 0.51 → J : “H1” : F : ifF≤ H+ A : then E-AbsZ → W : IfEn d : ifF > H+A And F ≤ H+A+ B : then√ ( D²- ( F-H-A ) ² ) -G-AbsZ → W : IfEn d : ifF > H+A+ B : then√ ( C²- ( F-H-A-J ) ² ) -AbsZ → W : IfEn d : “W=” : W◢ (水平方向的超欠挖:正为欠 , 负为超) Goto0 ­

正算子程序 (SUB1)­

1÷P → C : (P-R)÷(2HPR) → D : 180÷π → E : 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))+Bcos(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+QEMW(C+MWD))) → Y : G+QEW(C+WD)+90 → F : X+ZcosF → X : Y+ZsinF → Y 反算子程序 (SUB2)­

G-90 → T : Abs((Y-V)cosT-(X-U)sin ( T ) ) → W : 0 → Z : Lbl 0 : Prog "SUB1" : T+QEW(C+WD) → L : (J-Y)cosL-(I-X)sinL → Z : ifAbsZ<1E- 6 : thenGoto1 : ElssW+Z → W : Goto 0 : IfEnd

Lbl 1 : 0 → Z : Prog "SUB1" : (J-Y)÷sinF → Z 子程序(平面线形数据库) PM-SJ ­

ifS ≥ 500 (线元起点里程) AndS < 769.256 (线元止点里程): Then19942.837 → U (线元起点 X 坐标) : 28343.561 → V (线元起点 Y 坐标) : 500 → O (线元起点里程) : 125 ° 16 ° 31 ° → G (线元起点方位角) : 269.265 → H (线元长度) : 10^ ( 45 ) → P (线元起点曲率半径): 10^ ( 45 ) → R (线元终点曲率半径): 0 → Q (线元左右偏标志:左负右正): IfEnd ­

ifS ≥ 769.256 (线元起点里程) AndS < 806.748 (线元止点里程): Then19787.34 → U (线元起点 X 坐标) : 28563.378 → V (线元起点 Y 坐标) : 769.256 → O (线元起点里程) : 125 ° 16 ° 31 ° → G (线元起点方位角) : 37.492 → H (线元长度) : 10^ ( 45 ) → P (线元起点曲率半径): 221.75 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEnd

ifS ≥ 806.748 (线元起点里程) AndS < 919.527 (线元止点里程): Then19766.566 → U (线元起点 X 坐标) : 28594.574 → V (线元起点 Y 坐标) : 806.748 → O (线元起点里程) : 120 ° 25 ° 54.07 ° → G (线元起点方位角) : 112.779 → H (线元长度) : 221.75 → P (线元起点曲率半径): 221.75 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEnd

ifS ≥ 919.527 (线元起点里程) AndS < 999.812 (线元止点里程): Then19736.072 → U (线元起点 X 坐标) : 28701.893 → V (线元起点 Y 坐标) : 919.527 → O (线元起点里程) : 91 ° 17 ° 30.63 ° → G (线元起点方位角) : 80.285 → H (线元长度) : 221.75 → P (线元起点曲率半径): 9579.228 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEnd ­

ifS ≥ 999.812 (线元起点里程): Then19744.038 → U (线元起点 X 坐标) : 28781.659 → V (线元起点 Y 坐标) : 999.812 → O (线元起点里程) : 80 ° 40 ° 50 ° → G (线元起点方位角) : 100 → H (线元长度) : 10^ ( 45 ) → P (线元起点曲率半径): 10^ ( 45 ) → R (线元终点曲率半径): 0 → Q (线元左右偏标志:左负右正): IfEnd

子程序(竖曲线数据库) SQX-SJ­

ifS ≤ 999.812 (竖曲线终点里程): then0.0357 (前坡度:上坡正下坡负) → E : 0.0227 (后坡度: 上坡正下坡负 ) → F : 600 → R (竖曲线半径): 780 → G (变坡点里程): 110 → C (变坡点高程): IfEnd

子程序(竖曲线计算公式) SQX ­

E-F → J : ifJ > 0 : then-R → R : ElssR→ R : Abs ( R*J÷2 ) → T : IfEnd

ifS ≤ G- T : thenG-S → L : C-LE → H : IfEnd

ifS > G- T And S ≤G : thenG-S → L :( S+T-G ) &sup2;÷2÷R →N : C-LE+N → H : IfEnd

ifS > G And S ≤ G+ T : then S-G → L :( G +T- S ) &sup2;÷2÷R →N : C+LF+N → H : IfEnd

ifS > G+ T : thenS-G → L : C+LF → H : IfEnd

使用说明 ­

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1 ;当线元往右偏时, Q=1 ;当线元为直线时, Q=0 。 ­

(2) 当所求点位于中线时, Z=0 ;当位于中线左铡时, Z 取负值;当位于中线中线右侧时, Z 取正值。 ­

(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以 10 的 45 次代替。 ­

(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。 ­

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以 10 的 45 次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以 10 的 45 次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。 ­

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。