位于;位于键;
位于。
*******************************************************************************************************
【完整线路坐标正反算程序】
主程序:
【XLFY-ALL】
L1:
5→DimZ:
1→Z:
"1.KD→XY2.XY→KD"?
Z:
IfZ=1:
ThenProg"ZS-ALL":
ElseProg"FS-ALL":
IfEnd↙
子程序1:
【ZS-ALL】
L01:
Z→Ø:
V→9Ø↙
L02:
LblØ:
"K"?
K:
Prog"ZZ-ALL":
IfZ[1]≠Ø:
ThenGotoØ:
IfEnd:
"K.D"?
Z:
IfZ≠Ø:
Then"K.A"?
V:
F+V→F:
X+Zcos(F)→X:
Y+Zsin(F)→Y:
IfEnd↙
L03:
Fix3:
"K.X=":
X◢
L04:
"K.Y=":
Y◢
L05:
Norm:
GotoØ↙
子程序2:
【FS-ALL】
L01:
Lbl8:
"K.X"?
V:
"K.Y"?
W:
Ø→K↙
L02:
Lbl9:
Prog"ZZ-ALL":
V-X→I:
W-Y→J:
Pol(I,J):
J-F→J:
K+Rec(I,J)→K:
IfAbs(I)<1m:
ThenFix3:
"K=":
K◢:
"K.D=":
J◢
L03:
Norm:
ElseGoto9:
IfEnd↙
L04:
1→Z:
"Ø.NEXT1.EXIT"?
Z:
IfZ=Ø:
ThenGoto9:
IfEnd:
Goto8↙
子程序3:
【ZZ-ALL】
L01:
Prog"DATA-ALL":
Abs(B)πR÷18Ø-(L+M)÷2→G↙
L02:
L²÷24÷R-L^4÷2688÷R^3→P:
L÷2-L^3÷24Ø÷R²→Q↙
L03:
M²÷24÷R-M^4÷2688÷R^3→U:
M÷2-M^3÷24Ø÷R²→O↙
L04:
(R+U-(R+P)cos(Abs(B)))÷sin(Abs(B))+Q→T:
(R+P-(R+U)cos(Abs(B)))÷sin(Abs(B))+O→S:
J-T+1m→D↙
L05:
IfK≤D:
ThenGoto1:
IfEnd:
IfK≤D+L:
ThenK-D→C:
L→U:
Goto2:
IfEnd:
IfK≤D+L+G:
Then1→C:
Goto3:
IfEnd:
IfK≤D+M+L+G:
ThenK-D-M-L-G→C:
M→U:
Goto2:
IfEnd:
IfK>D+M+L+G:
ThenK-D-L-M-G→C:
Goto5:
IfEnd↙
L06:
Lbl1:
E+(J-K)cos(A+18Ø)→X:
N+(J-K)sin(A+18Ø)→Y:
A→F:
GotoE↙
L07:
Lbl2:
C-C^5÷(4ØR²U²)+C^9÷(3456R^4U^4)→H:
C^3÷(6RU)-C^7÷(336R^3U^3)+C^11÷(4224ØR^5U^5)→I:
IfC=K-D:
ThenGoto4:
IfEnd:
Goto6↙
L08:
Lbl3:
9Ø(2K-2D-L)÷π÷R→U:
Rsin(U)+Q→H:
R(1-cos(U))+P→I↙
L09:
Lbl4:
IfB<Ø:
Then-I→I:
IfEnd:
E+Tcos(A+18Ø)+Hcos(A)+Icos(A+9Ø)→X:
N+Tsin(A+18Ø)+Hsin(A)+Isin(A+9Ø)→Y:
Goto7↙
L10:
Lbl5:
A+B→F:
E+(C+S)cos(F)→X:
N+(C+S)sin(F)→Y:
GotoE↙
L11:
Lbl6:
IfB>Ø:
Then-I→I:
IfEnd:
E+(S+H)cos(A+B)+Icos(A+B+9Ø)→X:
N+(S+H)sin(A+B)+Isin(A+B+9Ø)→Y↙
L12:
Lbl7:
R→U:
IfB<Ø:
Then-R→U:
IfEnd:
IfC=K-D:
ThenA+9ØC²÷(πUL)→F:
IfEnd:
IfC=K-D-L-M-G:
ThenA+B-9ØC²÷(πUM)→F:
IfEnd:
IfC=1:
ThenA+18Ø(K-D-L÷2)÷π÷U→F:
IfEnd↙
L13:
LblE↙
子程序4:
【DATA-ALL】
L1:
Ø→Z[1]:
IfK<(线路起点里程):
Then"<
":
1→Z[1]:
IfEnd:
IfK>(线路终点里程):
Then">>!
":
1→Z[1]:
IfEnd↙
L2:
IfK≤(起点或上一段曲线缓直点里程):
Then(交点里程)→J:
(交点X坐标)→E:
(交点Y坐标)→N:
(半径)→R:
(第一缓和曲线长度)→L:
(第二缓和曲线长度)→M:
(偏角)→B:
(起始边方位角)→A:
GotoE:
IfEnd↙
L3:
(重复L2)
L4:
LblE
简要说明:
每行程序为一个曲线的参数要素,有几个曲线就输入几行。
*******************************************************************************************************
【中桩标高计算程序】
主程序:
【H-SJ】
L1:
LblØ:
"K"?
K:
Prog"DATA-H"↙
L2:
Abs(R(G-F))÷200→T↙
L3:
IfK≤N-T:
ThenO-0.01F(N-K)→S:
Goto1:
IfEnd↙
L4:
IfK≤N:
ThenO-0.01F(N-K)-(T+K-N)^2÷R÷2→S:
Goto1:
IfEnd↙
L5:
IfK≤N+T:
ThenO-0.01G(N-K)-(T+N-K)^2÷R÷2→S:
Goto1:
IfEnd↙
L6:
IfK>N+T:
ThenO-0.01G(N-K)→S:
IfEnd↙
L7:
Lbl1:
Fix3:
"H=":
S◢Norm:
GotoØ↙
子程序4:
【DATA-SJ】
L1:
Ø→Z:
IfK<(线路起点里程):
Then"<
":
1→Z:
IfEnd:
IfK>(线路终点里程):
Then">>!
":
1→Z:
IfEnd↙
L2:
IfK≤(起点或上一段竖曲线终止里程):
Then(变坡点里程)→N:
(变坡点高程)→O:
(竖曲线半径<凸+凹->)→R:
(前纵坡值)→F:
(后纵坡值)→G:
GotoE:
IfEnd↙
L3:
(重复L2)
L4:
LblE
*******************************************************************************************************
【坡脚宽度计算程序】
程序名:
【PJD】
L1:
25→L:
2.5→G:
1.5→T:
8→N:
0.9→A:
0.9→B:
1.10→C:
1.5→D:
"H-SJ"?
S↙
L2:
Lbl1:
"H-DM"?
M:
Abs(S-M)→H↙
L3:
IfS-M≥0:
ThenL+HD→K:
Goto2:
IfEnd↙
L4:
IfH≤N:
ThenL+G+HA→K:
Goto2:
IfEnd↙
L5:
IfH≤2N:
ThenL+G+NA+T+(H-N)B→K:
Goto2:
IfEnd↙
L6:
IfH>2N:
ThenL+G+NA+T+NB+T+(H-2N)C→K:
Goto2:
IfEnd↙
L7:
Lbl2:
Fix3:
"L-PJ=":
K◢↙
L8:
Norm:
Goto1↙
*******************************************************************************************************
【坐标反算程序】
程序名:
【XY-DF】
L1:
Ø→I:
Ø→J:
"A.X"?
D:
"A.Y"?
G:
"B.X"?
X:
"B.Y"?
Y:
Pol((X-D),(Y-G)):
IfJ<Ø:
ThenJ+36Ø→J:
IfEnd↙
L2:
Fix5:
"AB-AZIMUTH=":
J◢
L3:
Fix3:
"AB-DIST=":
I◢
L4:
Norm↙
*******************************************************************************************************
【坐标正算程序】
程序名:
【DF-XY】
L1:
"A.X"?
D:
"A.Y"?
G:
"AB-AZIMUTH"?
J:
"AB-DIST"?
I↙
L2:
Fix3:
"B.X=":
D+Icos(J)→X◢
L3:
"B.Y=":
G+Isin(J)→Y◢
L4:
Norm↙
*******************************************************************************************************
【面积计算程序】
程序名:
【AREA】
L1:
LblØ:
"M"?
M:
"N"?
N:
M→E:
N→F:
Ø→S↙
L2:
Lbl1:
"X"?
X:
"Y"?
Y:
S-(XN-YM)÷2→S:
IfX=E:
ThenIfY=F:
Then"AREA=":
Abs(S)→S◢GotoØ:
IfEnd:
IfEnd↙
L3:
X→M:
Y→N:
Goto1↙
*******************************************************************************************************
【两直线交点计算程序】
程序名:
【JD】
L1:
"1.X"?
A:
"1.Y"?
B:
"2.X"?
C:
"2.Y"?
D:
"3.X"?
E:
"3.Y"?
F:
"4.X"?
G:
"4.Y"?
H↙
L2:
C-A→N:
D-B→O:
G-E→P:
H-F→Q:
QN-OP→K:
NB-OA→U:
PF-QE→V↙
L3:
Fix3:
"P.X=":
(PU-NV)÷K→X◢↙
L4:
"P.Y=":
(QU-OV)÷K→Y◢
L5:
Norm↙
*******************************************************************************************************
【点到直线距离计算程序】
程序名:
【PLDIST】
L1:
"P.X"?
A:
"P.Y"?
B:
"L1.X"?
E:
"L1.Y"?
F:
"L2.X"G:
"L2.Y"?
H↙
L2:
Pol((G-E),(H-F)):
J-90→J↙
L3:
A+10cos(J)→C:
B+10sin(J)→D↙
L4:
C-A→N:
D-B→O:
G-E→P:
H-F→Q:
QN-OP→K:
NB-OA→U:
PF-QE→V↙
L5:
(PU-NV)÷K→X:
(QU-OV)÷K→Y:
Pol((X-A),(Y-B))↙
L6:
Fix3:
"AB-DIST=":
I◢
L7:
Norm↙