犬夜叉之我爱白童子:FX5800计算器公路测量主流程序线元法修改版

来源:百度文库 编辑:中财网 时间:2024/04/29 05:49:28

本程序是本人在承秦高速8标施工中主流网络流行线元法更改结果,可以计算路基任意点坐标,设计高程.隧道欠超挖放样计算,隧道超欠挖,支持N条线路输入,计算精度1mm.与原程序主要功能(采用线元法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,  包括C型,S型、卵型、回头曲线等;已验证,欢迎广大朋友提出建议用于共同学习。本程序经作者实践证明无误真情奉献,如需转载请注明出处!作者:张涛,QQ 16805322,欢迎建议交流。

1.源程序----线元法
主程序程序名(2-XY) 
               
Clrmat:Clrvar:10→DimZ:Norm 2 :
Lbl 0: 1→A: "A: XY=1,KMD=2"? A:A=1=>Goto 1:A=2=>Goto 2:
Lbl 1:Prog"XX"
:Do:"KM"?S:S=-1=>Stop:S=-2=>Break:90→A: "PJ"?A:A→Z[1]:F-90+Z[1]→Z[2]: Prog"M":?Z:(输入正算计算里程,输入-1则停止,输    入-  2转反算),偏距默认中桩0,左为-,右为+,):1÷P→C: (P-R)÷(2HPR) → D:180÷Π→E: Abs(S-O) →W:: Prog "SUB1":X+ZcosZ[2]→X: Y+ZsinZ[2]→Y:

"X=":X◢
"Y=":Y◢
Prog “3-GC”: “H=”:H◢
"FWJ=":F-90  DMS ◢
Prog"5-SD": "-CW +QW=":M◢
 LpWhile Z≠-1
Lbl 2:Prog"XX"
:Do:"KM"?S:S=-1=>Stop:S=-2=>Break:(输入正算计算里程,输入-1则停止,输    入-  2转正算),偏距默认中桩0,左为-,右为+,)Prog"M":1÷P→C:D=(P-R)÷(2HPR):180÷Π→E: W=Abs(S-O):"X0="?: "Y0="?Y: X→I:Y→J:Prog "SUB2": O+W→S:

     "KM=":S

     "D="Z

Prog “3-GC”: “H=”:H◢
Prog"5-SD":"-CW +QW=":M◢
 LpWhile Z≠-1
2.程序名:XX线路选择程序
1→A: "QX:?=0,X1=1,X2=2"?A:A→Z[3]:
If A=0:Then:?N: "X0"?U:"Y0"?V:"S0"?O:"F0"?G:"LS"?H:"R0"?P:"
RN"?R:?Q:IFEnd
3.程序名:线路数据库选择程序M
   If Z[3]=0:Then Return: IfEnd:If Z[3]=1:Then  Prog “X1”:Return:IfEnd:If Z[3]=2:Then Prog“X2”:Return:IfEnd……………….IF Z[3]=N:
Then Prog“Xn”:Return:IfEnd…………

4.坐标参数矩阵调用程序(N)
 程序名:N
 Mat F[1,1]→O: Mat F[1,2]→U: Mat F[1,3]→V: Mat F[1,4]→G: 
 Mat  F[1,5]→H: Mat F[1,6]→P: Mat F[1,7]→R: Mat F[1,8]→Q: 
5.正算子程序(SUB1) 
 0.1739274226→A: 0.3260725774→B: 0.0694318442→K: 0.3300094782→L: 1-L→F:
1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW
(C+FWD))+Acos(G+QEMW(C+MWD))) →X: V+W(Asin(G+QEKW(C+KWD))+Bsin(G+
QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y: G+QEW(C+WD)+90→F
6.反算子程序(SUB2)
G-90→T: Abs((Y-V)cosT-(X-U)sinT) →W:0→Z:
Lbl 0:Prog "SUB1": T+QEW(C+WD) →L: (J-Y)cosL-(I-X)sinL→Z:If Abs(Z)<1E-6:Then:0→Z:Prog "SUB1": (J-Y)÷sinF→Z:Else W+Z→W:Goto 0:Ifend
线性参数文件数据库X1……X2…Xn......(SUB0……..SUB3…….SUBN) 
IF S<138773.851:Then [[138533.851,4465799.224,494566.919,150.22.4968,200,2500,10(45),1]] →Mat F:Return:If End………………………

7. 3-GC高程计算程序

 (If Z[3]=1:Then Prog”G1”Ifend:If Z[3]=2:Then Prog”G2”Ifend………(用在1.2程序中把绿色部分换掉. 
Clrmat:Clrvar:"KM="?S:1→A: "QX:?=1,GX1=1,GX2=2"?A:A→Z[3]: Prog “XG” 
 0.5RAbs(0.01(E-D)→T : 
If   E>D : Then 1→C : Else  -1→C: IfEnd 
If   S-0.01D→W : Else 0.01E→W: IfEnd 
Abs(A-S)→L
If   L>T : Then  B+WL→H  : Else   B+WL+C(T-L)2/2/R→H : IfEnd :Return 
8.XG高程线路选择程序
If Z[3]=1:Then  Prog “GX1”:Return:IfEnd:If Z[3]=2:Then Prog “GX2”:Return:IfEnd :
9.高程数据库G1…….G2……GN……
If  S≤66894.3 :Then  -0.052→D: 0→E : 67394.3→A : 67.37→B: 600000→R :Return : IfEnd↙
If S≤本段竖曲线终点里程 :Then  -0.48→前坡D : -0.052→后坡E : 68494.3→竖曲线交点里程A :66.8→交点高程B : 100000→曲率半径R : Return : IfEnd↙
………
依次类推,计算原始数据完成输入

10。5-SD隧道超欠挖
-1→P:?P:IF  P=-1:Then Return:IF Z[3]=1:Then :Goto 0:IfEnd: IF Z[3]=2:Then:  Goto 1:IfEnd:

Lbl 0  IfEnd:6.35-√(((P-(H+1.25)2+(Z+5.775)2))→M
Return
Lbl 1:…………………………………………→M

Return
Z为计算里程!P为实测高程(计算路基时输入-1则不计算超欠挖)!H为计算设计高,粉色数字为圆心数据