5800计算程序,可计算任意桩号坐标及高程

一、程序功能
        本程序由一个主程序(ZHUCHENXU)和几个子程序——正算子程序(SUB1)、反算子程序(SUB2)、数据库(SUB3)、曲线要数(SUB4,4-1)、边坡放样程序(BIANPO),可以根据直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标及中桩高程,对该曲线段范围内任意里程中边桩坐标进行正反算。
  二、源程序
增加变量18→DimZ
1.主程序(ZHUCHENXU)
“1.SZ → XY,2.XY → SZ,3.SDYX,4. BIANPO “?N:
Lbl 1:”ZHUANGHAO=”?S: Prog “SUB3″: N≥2=>Goto 2: Abs(S-O)→W:”BIANZHU=”?→Z:Prog “SUB1″:Prog”SUB4″:“H=”H◢ “XS=”:X→X◢”YS=”:Y→Y◢”FS=”:(F-90) →F:F►DMS◢ Goto1
Lbl 2:”CX=”?X: X→I:”CY=”?Y: Y→J:”DMG=”?→Z[7]:Prog “SUB2″: “S=”:(O+W) →S◢”Z=”Z→Z◢ Z→Z[17] :If N=3:Then Prog”SDYX”: IfEnd :If N=4:Then Prog”BIANPO”:IfEnd:Goto 2

2.SUB1(正算子程序名)
0.1739274226→A:0.3260725774→B
0.0694318442→K:0.330009482→L
1-L→F:1-K→M
G+QEKW(C+KWD)→Z[1]
G+QELW(C+LWD)→Z[2]
G+QEFW(C+FWD)→Z[3]
G+QEMW(C+MWD)→Z[4]
A×cos(Z[1])→X  (剩號可省略)
X+Bcos(Z[2])→X
X+Bcos(Z[3])→X
X+Acos(Z[4])→X
U+WX→X
Asin(Z[1])→Y
Y+Bsin(Z[2])→Y
Y+Bsin(Z[3])→Y
Y+Asin(Z[4])→Y
V+WY→Y
G+QEW(C+WD)+90→F
X+Zcos(F)→X
Y+Zsin(F)→Y

3.SUB2(反算子程序名)
G-90→T
(Y-V)cos(T)-(X-U)sin(T)→W
Abs(W)→W:0→Z
LbI 4:Prog”SUB1″
T+QEW(C+WD)→L
(J-Y)cos(L)-(I-X)sin(L)→Z
If Abs(Z)<1E-6:Then 0→Z :Prog”SUB1″
(J-Y)÷sin(F)→Z
Else W+Z→W:Goto 4:IfEnd

注:1E-6即是10的負6次方,亦即是等於0.000001
輸入時按SHIFT—log—(-)—6

4. 数据库(SUB3)
If S<226100:Then Cls:Stop: IfEnd
If S<226255.833:Then 226100→O: 99037.9736→U: 4282.3590→V: 201.3266304→G: 1045→P: 1045→R: 253.543→H: 0→Q: Goto 1:IfEnd
If S>And S<……
……
If S>236005.651:Then Cls:Stop: IfEnd
Lbl 1: 1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:

5、曲线主程序:   1-E.BG(SUB4)
Fix 3:Prog”Z.EBG”:
R Abs(D-C)/2→T:
if D-C>θ :Then 1→W:Else -1→W:ifend
if S<A:Then -C→I:Else D→I:ifend
Abs (A-S)→L
if L-T>θ:Then Z+IL→H:Else Z+IL+W(T-L)2/2/R→H:”HS=”:H◢

曲线数据库: Z.EBG(SUB4-1)
if S<332.599:Then 0.02793→C:-0.03309→D:1800→R:235→A:32.7→Z: goto 1:ifend
if S>322.599 And K<734.085:Then -0.03309→C:-0.00485→D:6000→R:460→A:25.254→Z: goto 1:ifend


Lbl 1

C—前坡:D—后坡:R—呵呵,都知道是什么!A—变坡点:Z—变坡点设计高
O—从设计高程点处垂直向下的距离:N—距设计高程处的平距(若你的设计高程线是路中线的话,请把0.75改为0):J—所求桩号处的横坡.

6. 边坡放样程序(BIANPO) (SUB6)
“QPDJL=”? → Z[3]: “QPDGD=” : Prog “(SUB4)”:H→ Z[4]◢“PG=” ? → Z[5]:PTK→Z[6]: “P1=” ? → Z[8]: “P2=” ? → Z[9]: “P3=” ? → Z[10] (没有的话就删): Z[7]-Z[4] → Z[11]:If Z[11]〈0 Then  AbsZ[11] →Z[11]: “T=”:Z[11] ◢Else“W=”:Z[11] ◢IfEn
Z[11]÷Z[5] →Z[12]:If Z[12]〈1 Then Z[8]×Z[11] →Z[13]:Else Z[8]×Z[5]+Z[9]×Z[5]×(Z[12]-1)→Z[13]:IfEnd: AbsZ[17]-(Z[13]+Z[6] ×Int (Z[12])+Z[3])→Z[14]:“BP+C-J=”: Z[14] ◢
说明:
Z[3]= QPDJL ………………  起坡点离中桩距离
Z[4]=“QPDGD” ……………起坡点设计标高
Z[5]=“PG” ………………  坡高
Z[6]=“PTK” ……………… 平台宽度
Z[7]=“DMG” ………………实测地面高度
Z[8]=“P1” ………………  一级边坡坡度
Z[9]=“P2” ………………  二级边坡坡度
Z[10]=“P3” ……………… 三级边坡坡度(没有的话就删)
Z[14]=“BP+C-J=” ………………边坡超欠挖宽度(+表超,-表欠)

三、使用说明
1、规定
      (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
      (2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。
      (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
      (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
      (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
       (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明
           SZ → XY,2.XY → SZ,3.SDYX,4. BIANPO
      N ?  选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算 里程和边距。输入3表示隧道圆心放样和计算实测半径;输入4表示进行路基边坡放样。
4、SUB3数据库说明:
S待求桩号,O=曲线起点桩号,U曲线起点X坐标,V曲线起点Y坐标,G曲线起点切线方位角,
P曲线起点半径, R曲线终点半径, H=曲线长度,Q转向(直线0,左转-1,右转1)
注:本程序是经过本人改编后的,程序起头3.SDYX可以输入也可不输