5800计算器道路程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

卡西欧5800计算器道路程序

发布时间:2008-11-19 10:33:38

功能:

坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素)

另含两个边仰(一个横向坡,一个纵向坡)坡放样模块.

帮助文件未完成

程序浏览:

FileName:RESET 初始化程序

Norm 1:50→C:12345→J

"RESET PW"?I:I=J=>500→DimZ 为数据库增加额外变量500个,在SET、SETPFDYS程序根据实际再增减变量

50→Z[C+22]

"PASSWORDS"?I:I→Z[C+39] 重设要素保护密码

Cls:Stop

FileName:DATLOCK 要素保护密码确定认程序

Cls:Norm 1:50→C

"PASSWORDS"?I:Cls:I≠Z[C+39]=>Stop

FileName:SHELL(外壳程序)

50→C ;在扩充变量预留前50个给别的程序用。如不够就适量加大。RESET,SHELL,SET,SETPFDYS,这几个程序中C值必需一致

Z[C+35]→I:"STATION-N"?I:I→Z[C+35] 设置测站N坐标

Z[C+36]→I:"STATION-E"?I:I→Z[C+36] 设置测站E坐标

Z[C+44]→I:"STATION-Z"?I:I→Z[C+44]设置测站Z坐标

Z[C+45]→I:"STATION-HI"?I:I→Z[C+45] 设置仪高

Z[C+41]→I:"GC-DH"?I:I→Z[C+41] 放样点高差常数

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

Z[C+32]→I:"DAT1 2 3"?I:I→Z[C+32] 平曲线要素数库类型选择1为内置式,2文件式,3实时输入(查看当前要素值)

0→I

Z[C+4]→I:"1 2 3"?I:I→Z[C+4] 选择本程序模式默认为坐标正算,1坐标反算,2横向边仰坡放样,3,纵向边仰坡放样(隧道

Lbi 1

Z[C+4]→I

I=1=>Prog"TURNZH"

I=2=>Prog"HXBYP"

I=3=>Prog"ZXBYP"

Lbi A

Deg:Norm 1:Cls

Z[C+1]→G:"ZH"?G:G→Z[C+1] ;G桩求桩号

Z[C+2]→B:"JL"?B:B→Z[C+2];B横向距离,左正右负

Lbi B

Prog "ZBJS" ;坐标正算

Prog "GCJS" ;高程计算

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,Z[C+2] ;第四行显示横向距离

0→I

Do:I+1→I:I=1000=>Goto 1:LpWhile Not(Getkey=57 Or Getkey=27) ;锁定键盘,并在几十秒后自动返回Getkey=57=> Goto 1

Z+Z[C+41]+Z[C+49]-Z[C+44]-Z[C+45]→Z[C+48]

Pol(Z[C+35]-X,Z[C+36]-Y)

Cls:"DL":Locate 3,1,I:Locate 12,1,Z[C+45]

"DH":Locate 3,2,Z[C+48]: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:ZBJS 坐标计算程序

Prog"READDAT"

Rad

G-M→Q

IF AR=0 :Then If A=R :Then 1→J:Else 3→J :IfEnd:Else If 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

Lbi 5 用五点通用坐标计算计算缓和段

0.5(R-A)÷L→K

AQ→I

KQ2→J

0.0469100770→P:H+IP+JP2→U

0.2307653449→P:H+IP+JP2→V

0.5→P :H+IP+JP2→D

0.7692346551→P:H+IP+JP2→F

0.9530899230→P:H+IP+JP2→T

0.1184634425→I

0.2393143352→J

0.2844444444→O

N+Q(ICos(U)+JCos(V)+OCos(D)+JCos(F)+ICos(T))→X

E+Q(ISin(U)+JSin(V)+OSin(D)+JSin(F)+ISin(T))→Y

H+AQ+KQ2→F

X+BCos(F+W)→X

Y+BSin(F+W)→Y

Deg:Return

FileName:TURNZH(坐标反算)

Norm 1

Z[C+37]→I:"DQD-N"?I:I→Z[C+37] 输入待求点N坐标

I=-1=>Prog"INFWJDLDH"

Z[C+38]→I:"DQD-E"?I:I→Z[C+38] 输入待求点E坐标

0→B:M+L÷2→G:Prog"ZBJS"

Lbi S:Rad

Z[C+37]-X→I:Z[C+38]-Y→J

If I=0 And J=0 :Then Goto A:IfEnd

Pol(I,J)

Lbi A:Rec(I,J-F):J→Z[C+2]

G+I→G:IF Abs(I)>0.0001 :Then Prog"ZBJS":Goto S↙

G→Z[C+1]

FileName:INFWJDLDH实测坐标(用方位角,距离,高差)输入程序Deg:Norm 1:Cls

Z[C+46]→J:"DQD-FWJ"?J:J→Z[C+46]

Z[C+47]→I:"DQD-DL"?I:I→Z[C+47]

Z[C+48]→K:"DQD-DZ"?K:K→Z[C+48]

Z[C+49]→P:"RHT"?P:P→Z[C+49]

Rec(I,J)

Z[C+35]+I→Z[C+37]

Z[C+36]+J→Z[C+38]

Z[C+44]+Z[C+45]+K-P→Z[C+43]

相关文档
最新文档