1、5800 计算程序 主程序 QXJSLbI 0: “1.SZ=XY”:“2.XY=SZ” “3.GC=SQX”:? Q : Q=1= Goto1:Q=2=Goto2:Q=3 = Goto3LbI 1: “CE:X”?G:“CEY:”?H:Prog“XLXY”: LbI A: “K = ” ?S: Prog“KM”:“-B,0,B=”? Z: “ 右交角=”?M:Prog“SUB1”: Fix 4:Cls“X=”: Locate3,1,N“Y=”: Locate3,1,EProg“JI”:Goto ALbI 2: “X=”? B: “Y=”? C:BN: CE:Prog“SUB2”: “K =”
2、:S “-B,0,B=”:Z Goto 0 LbI 3: 0B: “H-B”?B:BZ9: LbI D: Prog“XLXY”: “KM”?Z: Prog“KM”:“-B,0,B”?D:Prog“H”Fix 5:“H=”:H-Z9 H“I=”: IGoto D说明: Q: 代表正反算及竖曲线,其中 1 为正算, 2 为反算;3 代表竖曲线;S: 代表里程; Z :代表偏移距离; M :代表偏移角度(以线路前进方向为 X 方向,顺时针转为正; N : X 坐标; E : Y 坐标; F :切线方位角; SUB1 正算子程序 0.5 ( 1R-1P) LD:S-OXU+(cos(A+(XP+DX
3、2)180,0,X)N V+( sin(A+(XP+DX 2)180,0,X)EA+(XP+DX2)180F N+Zcos(F+M) N:E+Zsin(F+M) EReturn SUB2 反算子程序 Lbl 1:0Z : 1Q : Prog“KM”: Prog“SUB1”Pol(N-B+10(-46), E-C+10(-46):Isin(F-90-J) W:S+WS If Abs(W)0.0001 :Then Goto1Lbl 2: 0Z : Prog“SUB1”:(C-E) sin(F+90) Z 次程序 JIClstatPol(N-G,-E-H):ClsIf J0:Then J+360Y:
4、Ease JY:Ifend“F J L=”:I“F W J=”:Y DMS XLXZ(线路选择)1I:“XLXZ:Z=1:A=2,B=3,C=4,D=5,E=6,F=7,L=8”?I: I Z1: IF I =0:Then Goto 0:Else Goto 1:IfEndLbI 0 : “F”?A: “QDZH”?O: “X”?U: “Y”?V: “R1”?P: “R2”?R:“L”?L: Goto 1LbI 1 SUB0 ( 数据库 )Goto1 Lbl 1IF S157687.528:Then 157547.528o :2884169.2517U:471475.6573V: 98 32 4
5、3.08 A:1045P:10000;R:140L: Return:IfEnd 说明: S :里程; O 为线元起点里程; U 为线元起点 X 坐标;V 为线元起点 Y 坐标; A 线元起点切线方位角; P 线元起点半径(左转为负右转为正);R 线元终点半径(左转为负右转为正) 高程计算子程序(H)程序名:HProg “S1”:C-TF:Z-FS:C+TE:G-TIQ:If T=O:Then Q+SIH:Goto 0:Else If ZF:Then Q+SIH:Goto 0:Else If ZE:Then Q+SI+S 22RH:Goto 0:LbI 0:H:If D=0:Then Goto
6、I:Else Prog“I”:H+VH:Goto ILbI I高程超高计算程序(I)程序名:IIf Z3=1:Then Prog “I1”:Goto 1: IfEnd LbI 1: If W=1:Then Goto Z:Else Goto X: IfEnd LbI Z:If S=0:Then Abs(D)MV:Goto 2:Else Abs(D)(N-M)(Z-C)S+M)V:Goto 2:IfEnd:LbI X:If S=0:Then Abs(D)MV:Goto 2:Else Abs(D)(3(Z-C)S)2-2(Z-C)S) (3)(N-M)+M)V:Goto 2:IfEndLbI 2:A
7、bs(D)E:VEI:I(E-K)V-1 程序名:S1(线路 1高程竖曲线要素子程序)If Z1=1:Then Goto 1:Else If Z1=2:Then Prog“SA”: Else If Z1=3:Then Prog “SB”: Else If Z1=4: Then Prog“SC” : Else If Z1=5:Then Prog“SD”: Else If Z1=6: Then Prog“SE” : Else If Z1=7:Then Prog“SF”: Else If Z1=8:Then Prog“SL”:IfEndGoto 1LbI 1If Z26157.8:Then -200
8、000R:157.8T:26000C:37.1G:0.01222I:Return:IfEnd程序字母说明:R-竖曲线半径(分正负:凹曲线为正,凸曲线为负);T-竖曲线切线长(标段结尾或开头没有竖曲线的输 0);C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);I竖曲线前纵坡-1 程序名:I1(线路 1高程超高参数子程序)If Z1=1:Then Goto L:Else If Z1=2:Then Prog“IA”: Else If Z1=3:Then Prog “IB”: Else If Z1=4: Then Prog“IC” : Else If Z1=5:Then Prog“ID”: E
9、lse If Z1=6: Then Prog“IE” : Else If Z1=7:Then Prog“IF”: Else If Z1=8:Then Prog“IL”:IfEnd1.5K:If D0:Then Goto L:Else Goto R:IfEnd:LbI LIf Z26735.555:Then 1W: 120S:26615.555C:-0.02M:0.02N:Goto 0:IfEndLbI RIf Z26735.555:Then 1W:0S:-0.02M: Goto 0:IfEndLbI 0 字程序中字母表示说明:K中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为 0)本线路
10、中为 0;W超高方式参数(W=1 为一般直线方式超高,W=2 为三次抛物线方式超高);S超高渐变段距离(不是渐变段则输入 0);C-超高渐变段起点桩号(不是渐变段,无需输入);M超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)H (高程主程序) Fix 3 : Lb1 3: “ K=” ?Z: Prog“SQX”:(P-Q) Abs(P-Q) W If Z(H-T):Then(H-Z) P X:Goto 2:IfEnd If Z (H-T) And ZH:Then (H-Z) P+(Z-H+T) 2 (2WR) X:Else (H+T-Z)2 (2WR)-(Z-H) QX: Goto 2:IfEnd Lb1 2: ” GAO CHENG= ” D-X X Goto 3 SQX (竖曲线数据库) Goto 1 Lb1 1 IfZ157893.75:Then25000R:93.75T:157800H:421.977D:-0.0045P:0.003Q:Return:IfEnd 说明: Z 代表竖曲线终点里程, R 代表竖曲线半径; T 代表竖曲线切长; D 代表变坡点标高(未改正之前); P 代表前段坡度,上坡为正,下坡为负; Q 代表后段坡度,上坡为正,下坡为负;