(整理)5800计算器全线坐标计算放样程序.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任意桩号坐标及高程
一、程序功能
本程序由一个主程序(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]:P rog "SUB2": "S=":(O+W) →S◢"Z="Z→Z◢ Z→Z[17] :If N=3:Th en Prog”SDYX”: IfEnd :If N=4:Then Prog”BIANPO”:IfEnd:G oto 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+MW D)→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:60 00→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[1 1] ◢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. BIANP
N ? 选择计算方式,输入1表示进行由里程、边距计算坐标;输入2表示由坐标反算里程和边距。
输入3表示隧道圆心放样和计算实测半径;输入4表示进行路基边坡放样。
4、SUB3数据库说明:
S待求桩号,O=曲线起点桩号,U曲线起点X坐标,V曲线起点Y坐标,G曲线起点切线方位角,
P曲线起点半径,R曲线终点半径, H=曲线长度,Q转向(直线0,左转-1,右转1)
注:本程序是经过本人改编后的,程序起头3.SDYX可以输入也可不输
5800计算器全线坐标计算放样程序“XLZBJSCX” ◢
LB1 0 ↙
CLS : FIX 4 : 30→DIM Z ↙
“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◢(后视方位角)
LB1 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
LB1 2 ↙(曲线要素计算)
Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1)
Z[7]/2- Z[7]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙(M2)
Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙(P1)
Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →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] )/SIN A→Z[12]↙ (切线T1)
Z[9]+(R+Z[11])TAN(A/2)+(Z[10]-Z[11] )/SIN A→Z[13]↙ (切线T2)
B+ Z[12]*COS (E+180)→ Z[16] ↙(ZH点X)
C+ Z[12]*SIN(E+180)→ Z[17] ↙(ZH点Y)
Z[1]-S→Z[3] ↙ (ZH点里程)
Z[3]+ Z[6]→Z[4] ↙ (HY点里程)
Z[1]- Z[7]→Z[5] ↙ (YH点里程)
GOTO 3 ↙
LB1 3 ↙(判断里程点与曲线关系)
IF K≤Z[3] AND K> Z[2] : THEN GOTO 4 : IFEND ↙
IF K≤Z[4] AND K> Z[3] : THEN GOTO 5 : IFEND ↙
IF K≤Z[5] AND K> Z[4] : THEN GOTO 6 : IFEND ↙
IF K≤Z[1] AND K> Z[5] : THEN GOTO 7 : IFEND ↙
LB1 4 ↙(里程小于直缓点直线独立坐标)
K- Z[3] →X : 0→Y : E→T : PROG“TYZBCX” :GOTO 1 ↙
LB1 5 ↙(第一缓和曲线独立坐标)
K- Z[3] →H ↙
H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →X ↙
H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Y ↙
90*H^2/( R*π* Z[6]) →T ↙
IF O>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙
PROG“TYZBCX” :GOTO 1 ↙
LB1 6 ↙(圆曲线独立坐标)
K- Z[4] →H ↙
H*180/( R*π)+ Z[14]→T ↙
R*SIN T+ Z[8]→X ↙
R*(1-COS T)+ Z[10]→Y ↙
IF O>0 :THEN T +E→T : ELSE E-T →T : T<0=>360+T→T : IFEND ↙
PROG“TYZBCX” :GOTO 1 ↙
LB1 7 ↙(第二缓和曲线独立坐标)
Z[1] -K →H ↙
H-H^5/(40*R^2* Z[7]^2)+H^9/(3456*R^4* Z[7]^4) →U↙
H^3/(6*R* Z[7])-H^7/(336*R^3* Z[7]^3) →V ↙
90*H^2/( R*π* Z[7]) →T ↙
Z[13]COS A+ Z[12]-U*COS A-V*S IN A→X ↙
Z[13]*SIN A-U*SIN A+V*COS A→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*COS E-Y*SIN E→Z[18] ↙
Z[17]+X*SIN E+Y*COS E→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↙
经演算可以放心使用。