卡西欧fx5800p计算器隧道计算程序专版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
卡西欧fx5800p 计算器隧道计算程序专版
(以下程序是专业人士编写,本店铺不对程序负责,仅供您参考使用。)
本版本是道路版的升级版,程序只改变了SHELL 程序,从SHELL 中拆分出WORK-SET(工作设置程序),加入SDPY(隧道放样)。
FileName:RESET 初始化程序
Norm 1:50 C:12345 J
"RESET PW"?l:l=J=>500 DimZ 为数据库增加额外变量500 个,在SET、SETPFDYS 程序根据实际再增减变量以保证不浪费内存
50T Z[C+22]:本程序设置变量个数目前50个刚刚够用。
"PASSWORDS"?I:I T Z[C+39] 重设要素保护密码
Cls:Stop
FileName:DATLOCK 要素保护密码确定认程序
Cls:Norm 1:50 t C
"PASSWORDS"?J:Cls:J 工Z[C+39]=>Stop
FileName:SHELL(外壳程序)
50tC ;在扩充变量预留前50 个给别的程序用。如不够就适量加大。RESET,SHELL ,SET,SETPFDYS ,这几个程序中C 值必需一致
Norm 1
Z[C+23] tN 当前分段要素N 坐标
Z[C+24] tE 当前分段要素E 坐标
Z[C+25] tM 当前分段要素起点桩号
Z[C+26] tH 当前分段要素起点方位角(正北)单位:弧度
Z[C+27] tA 当前分段要素起点曲率有左偏负右偏正(注意不是半径)
Z[C+28] tR 当前分段要素终点曲率有左偏负右偏正(注意不是半径)
Z[C+29] tL 当前分段要素长度
Z[C+3] tW 斜桩角度
Lbi S
Prog"PROGMODE" ; 进入模式功能选择
Lbi A
Deg:Norm 1:Cls
Z[C+1] t G:"ZH"?G ;桩求桩号
If G=-1:Then Prog"WORK-SET":Goto S:IfEnd 进入工作设置
G t Z[C+1]
Z[C+2] t B:"JL"?B:B t 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 T I
Do:I+1 T |:|=1000=>Goto 1:LpWhile Not(Getkey=57 Or Getkey=27 Or
Getkey=26) ; 锁定键盘,并在几十秒后自动返回
Getkey=57=> Goto 1
|f Getkey=26=> Prog "SDFY":Goto B:End|f
Pol(Z[C+35]-X,Z[C+36]-Y)
Cls:"DL":Locate 3,1,|:Locate 12,1,Z[C+45]
"t":Locate 3,2,B:Locate 12,2,Z[C+49]
"FWJ"
J<0=>J+360 T J T DMS 丄
J t Z[C+46]
| t Z[C+47]
Goto 1
FileName:SDFY 隧道放样
Cls
Z[C+2] t V
Z[C+41] t D
Z[C+43] t|:"DQD-Z"?|:| t Z[C+43]
Z[C+42] t J:"R"?J:J t Z[C+42]
Z[C+40] t K:"R-DL"?K:K t Z[C+40]
Abs(V- K) t P
V (P2+(-Z-D)2) TU计算实际半径
Fix 3:Cls ;设置三位小数
"ZH = ":Locate 4,1,G
"R":Locate 2,2,U
Locate 10,2,U-J
|f |-Z-D-J>0 :Then |-Z-D- V(J2-P2)t P:0t O
Else |f P-J>0:Then P-V(J-2(|-Z-D)2) t O:0t P
Else P-V (J-2(|-Z- D)2) t O:|-Z-D- V (J2-P2) t P
|fEnd:|fEnd
"H":Locate 2,3,O
Locate 8,3,"V"
Locate 9,3,P
Locate 1,4,Z+D
Locate 9,4,|
0 T T
Do:T+1 T T:T=1000=>Return:L pWhile Not(Getkey=57 Or Getkey=27); 锁定键盘,并在几十秒 后自动返回
Getkey=57=>Return
If V-K>0 :Then V- O t B:Else V+O t B:IfEnd
FileName :ZBJS 坐标计算程序 Prog"READDAT" Rad G-M t Q
If J=2 :Then H+QR t F:Rec(Abs(2Sin(Abs(0.5QR)) 段直接计算
If J=3 :Then Goto 5 :IfEnd X+BCos(F+W)t X
Y+BSin(F+W) t Y Deg:Return
Lbi 5 用五点通用坐标计算计算缓和段 0.5(R-A) - L TK AQ t I
KQ2t J 0.0469100770 t P:H+IP+JP2 t O 0.2307653449 t P:H+IP+JP2 t T 0.5 tP :H+IP+JP2 t D
0.7692346551 t P:H+IP+JP2 t F 0.9530899230 t P:H+IP+JP2 t P 0.1184634425 t I 0.2393143352 t J 0.2844444444 t Y
N+Q(ICos(O)+JCos(T)+YCos(D)+JCos(F)+ICos(P)) E+Q(ISin(O )+JSin(T)+YSin(D)+JSin(F)+ISin(P)) H+AQ+KQ2t F
X+BCos(F+W)t X Y+BSin(F+W) t Y Deg:Return FileName:TURNZH( 坐标反算 ) Prog"INNEZ" Z[C+37] t U
Z[C+38] t V
0TB : M+L + 2T G : Prog"ZBJS" Lbi S:Rad
U-X t I:V -Y t J
If I=0 And J=0 :Then Goto A:IfEnd Pol(I,J)
IF AR=0
:Then If A=R :Then 1t J:Else 3t J :IfEnd:Else
If A=R :Then 2t J:Else
3t J:IfEnd:IfEnd
判断线元类型
If J=1 :Then H
t F:N+QCos(H) t X:E+QSin(H) T Y :|fE 直线段直接计算
-R),H+QR - 2):N+I T X:E+J T Y l E i d
t X t Y