最新5800隧道专版汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5800隧道专版
5800隧道专版
时间:2010-03-11 15:36:41 来源:本站作者:李强善我要投
稿我要收藏投稿指南
本版本是道路版的升级版,程序只改变了SHELL程序,从SHELL中拆分出WORK-SET(工作设置程序),加入SDPY(隧道放样)。
FileName:RESET 初始化程序
Norm 1:50→C:12345→J
"RESET PW"?I:I=J=>500→DimZ为数据库增加额外变量500个,在SET、SETPFDYS程序根据实际再增减变量以保证不浪费内存
50→Z[C+22]:本程序设置变量个数目前50个刚刚够用。"PASSWORDS"?I:I→Z[C+39]重设要素保护密码
Cls:Stop
FileName:DATLOCK 要素保护密码确定认程序
Cls:Norm 1:50→C
"PASSWORDS"?J:Cls:J≠Z[C+39]=>Stop
FileName:SHELL(外壳程序)
50→C;在扩充变量预留前50个给别的程序用。如不够就适量加大。RESET,SHELL,SET,SETPFDYS,这几个程序中C值必需一致
Norm 1
Z[C+23]→N当前分段要素N坐标
Z[C+24]→E当前分段要素E坐标
Z[C+25]→M当前分段要素起点桩号
Z[C+26]→H当前分段要素起点方位角(正北)单位:弧度
Z[C+27]→A当前分段要素起点曲率有左偏负右偏正(注意不是半径)
Z[C+28]→R当前分段要素终点曲率有左偏负右偏正(注意不是半径)
Z[C+29]→L当前分段要素长度
Z[C+3]→W斜桩角度
Lbi S
Prog"PROGMODE" ;进入模式功能选择
Lbi A
Deg:Norm 1:Cls
Z[C+1]→G:"ZH"?G;桩求桩号
If G=-1:Then Prog"WORK-SET":Goto S:IfEnd 进入工作设置
G→Z[C+1]
Z[C+2]→B:"JL"?B:B→Z[C+2];B横向距离,左正右负
Lbi B
Prog "ZBJS" ;坐标正算
Fix 3:Cls ;设置三位小数
"ZH=":Locate 4,1,G ;第一行显示桩号
"X=":Locate 3,2,X ;第二行显示X(N)坐标
"Y=":Locate 3,3,Y;第三行显示Y(E)坐标
Prog "GCJS" ;高程计算
"Z":Locate 2,4,Z+Z[C+41] ;第四行显示Z坐标
Locate 10,4,B ;第四行显示横向距离
0→I
Do:I+1→I:I=1000=>Goto 1:LpWhile Not(Getkey=57 Or Getkey=27 Or Getkey=26) ;锁定键盘,并在几十秒后自动返回
Getkey=57=> Goto 1
If Getkey=26=> Prog "SDFY":Goto B:EndIf
Pol(Z[C+35]-X,Z[C+36]-Y)
Cls:"DL":Locate 3,1,I:Locate 12,1,Z[C+45] "→":Locate 3,2,B:Locate 12,2,Z[C+49] "FWJ"
J<0=>J+360→J:J◤DMS◢
J→Z[C+46]
I→Z[C+47]
Goto 1
FileName:SDFY 隧道放样
Cls
Z[C+2]→V
Z[C+41]→D
Z[C+43]→I:"DQD-Z"?I:I→Z[C+43]
Z[C+42]→J:"R"?J:J→Z[C+42]
Z[C+40]→K:"R-DL"?K:K→Z[C+40]
Abs(V-K)→P
√(P2+(I-Z-D)2)→U计算实际半径
Fix 3:Cls ;设置三位小数"ZH=":Locate 4,1,G
"R":Locate 2,2,U
Locate 10,2,U-J
If I-Z-D-J>0 :Then I-Z-D-√(J2-P2)→P:0→O
Else If P-J>0:Then P-√(J2-(I-Z-D)2)→O:0→P
Else P-√(J2-(I-Z-D)2)→O:I-Z-D-√(J2-P2)→P
IfEnd:IfEnd
"H":Locate 2,3,O
Locate 8,3,"V"
Locate 9,3,P
Locate 1,4,Z+D
Locate 9,4,I
0→T
Do:T+1→T:T=1000=>Return:LpWhile Not(Getkey=57 Or Getkey=27) ;锁定键盘,并在几十秒后自动返回
Getkey=57=>Return
If V-K>0 :Then V-O→B:Else V+O→B:IfEnd
FileName:ZBJS 坐标计算程序
Prog"READDAT"
Rad
G-M→Q
IF AR=0 :Then If A=R :Then 1→J:Else 3→J :IfEnd:Else I f A=R :Then 2→J:Else 3→J:IfEnd:IfEnd 判断线元类型
If J=1 :Then H→F:N+QCos(H)→X:E+QSin(H)→Y:IfEnd直线段直接计算
If J=2 :Then
H+QR→F:Rec(Abs(2Sin(Abs(0.5QR))÷R),H+QR÷2):N+I→X:E+J→Y:IfEnd
圆弧段直接计算
If J=3 :Then Goto 5 :IfEnd
X+BCos(F+W)→X
Y+BSin(F+W)→Y
Deg:Return
Lbi 5 用五点通用坐标计算计算缓和段
0.5(R-A)÷L→K
AQ→I
KQ2→J
0.0469100770→P:H+IP+JP2→O
0.2307653449→P:H+IP+JP2→T
0.5→P:H+IP+JP2→D
0.7692346551→P:H+IP+JP2→F
0.9530899230→P:H+IP+JP2→P
0.1184634425→I
0.2393143352→J
0.2844444444→Y
N+Q(ICos(O)+JCos(T)+YCos(D)+JCos(F)+ICos(P))→X