“XLZBJSCX”◢
LBl 0
Cls:Fix4: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
“k=”?k◢(计算里程)
If K<本段曲线终点里程And K≥上段曲线终点里程:then本段曲终点里程→Z[1]:上段曲线终点里程→Z[2]:1→O(注:左偏曲线输入-1→O,右偏曲线输入1→O):偏角→A:半径→R:第一缓和曲线→Z[6]:第二缓和曲线→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
Lbl 2
Z[6]/2-Z[6]3/(240×R2)+Z[6]5/(34560×R4)→Z[8] (M1)
Z[7]/2-Z[7]3/(240×R2)+Z[7]5/(34560×R4)→Z[9] (M2)
Z[6]2/(24×R)-Z[6]4/(2688×R3)→Z[10] (P1)
Z[7]2/(24×R)-Z[7]4/(2688×R3)→Z[11] (P2)
π× A×R/180+0.5×(Z[6]+Z[7])→S (曲线总长)
90×Z[6]/(R×π)→Z[14] (第一缓和曲线总偏角)
90×Z[7]/(R×π)→Z[15] (第二缓和曲线总偏角 可Z[8]+(R+Z[10])tan(A/2)-(Z[10]-Z[11])/sinA→Z[12] (切线T1)
Z[9]+(R+Z[11])tan(A/2)+(Z[10]-Z[11])/sinA→Z[13]
(切线T2)
B+Z[12]×cos(E+180)→Z[16] (直缓点X)
C+Z[12]×sin(E+180)→z[17] (直缓点Y)
Z[1]-S→Z[3] (直缓点里程)
Z[3]+Z[6]→Z[4] (缓圆点里程)
Z[1]-Z[7]→Z[5] (圆缓点里程)
Goto 3
Lbl 3 (判断里程与曲线关系)
If K≤Z[3] And k>Z[2]:then Goto4:Ifend
If K≤Z[4] And k>Z[3]:then Goto5:Ifend
If K≤Z[5] And K>Z[4]:then Goto6:Ifend
If K≤Z[1] And K>Z[5]:then Goto7:Ifend
Lbl 4 (里程小于直缓点直线独立坐标)
K-Z[3]→X:0→Y:E→T:Prog“TYZBCX”:Goto1
Lbl 5 (第一缓和曲线独立坐标)
K-Z[3]→H
H-H5/(40×R2×Z[6]2)+H9/(3456×R4×Z[6]4)→X
H3/(6×R×Z[6])-H7/(336×R3×Z[6]3)→Y
90×H2/(R×π×Z[6])→T
If O>0:then T+E→T:Else E-T→T:T<0=>360+T→T:Ifend
Prog“TYZBCX”:Goto1
LBl 6 (圆曲线独立坐标)
K-Z[4]→H
H×180/(R×π)+Z[14]→T
R×sin T+Z[8]→X
R×(1-cosT)+Z[10]→Y
If O>0 :then T+E→T:Else E-T→T:T<0=>360+T→T:Ifend
Prog“TYZBCX”:Goto 1
LBl 7 (第二缓和曲线独立坐标)
Z[1]-K→H
H-H5/(40×R2×Z[7]2)+H9/(3456×R4×Z[7]4)→U
H3/(6×R×Z[7])-H7/(336×R3×Z[7]3)→V
90×H2/(R×π×Z[7])→T
Z[13]cosA+Z[12]-U×cosA-V×sinA→X
Z[13]×sinA-U×sinA+V×cosA→Y
If O>0:then F-T→T:T<0=>360+T→T:Else F+T→T:Ifend
Prog“TYZBCX”:Goto 1
子程序
“TYZBCX” (统一坐标计算)
If O<0:then -Y→Y:Ifend
“QXJ=”:T◢ (计算里程点切线方位角)
Z[16]+X×cosE-Y×sinE→Z[18]
Z[17]+X×sinE+Y×cosE→Z[19]
“XI=”:Z[18]◢ (中线X)
“YI=”:Z[19]◢ (中线Y)
Pol(Z[18]-M,Z[19]-N):“DI=”:I◢ (中桩放样距)
J<0=>J+360→J:“FI=”:J→DMS◢ (中桩放样方位角)
“PJ=”?P◢ (输入边桩与路线夹角,左- 右+)
“PD=”?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):“DP=”:I◢ (边桩放样距)
J<0=>J+360→J:“FP=”:J→DMS◢ (边桩放样方为角)
RETURN