5800全线中边桩坐标程序支持匝道

5800全线中边桩坐标程序支持匝道

你厌烦了一大堆文件名,程序名?厌烦了原始数据要在程序输入?厌烦了为了一个新程序,光文件输入及调试就要2天,出错了也不清楚在哪里?
文件名:SXY2
1  32->DimZ:Deg: 193->Z[32]:Lb1 0:?L(输入所求的桩号)
2  For 1->M To 188 Step 11:If L≤∑(List Y[M+X],X,0,5):Then Break:IfEnd:Next:
3  If M=Z[32]:Then Goto 1:Else M->Z[32]:IfEnd:
4  0->Z[1]:For 2->B To 7 :Z[B-1]+List Y[M+B-2]->Z:Next
5  For 8->N To 19:If N=19 Or N≤10:Then 0->Z[N]
6  Else If N≤14:Then List Y[M+6]->Z[N]
7  Else List Y[M+7]->Z[N]:IfEnd:IfEnd:Next
8 For 3->B To 6 :Z-Z[B-1]->S : Prog "QQ":
O哦->Z[3B+11]:P->Z[3B+12]:V->Z[3B+13]:Next
9 Lbl 1
10  For 2->B To 7:If L≤Z:Then Break:IfEnd:Next
11  If B=2:then L-Z->S:Goto 2:IfEnd
12  If L≤Z:Then L-Z[B-1]->S:Lbl 2:Prog "QQ":IfEnd
13  ?D:"AR"?T  (询问离中桩的距离D,左侧输入负值。右偏角AR(输入度分秒),以计算边桩坐标)。
14  If V<0:Then V+360->V:IfEnd:"A":V ▲DMS◢
15  If D<0:Then "XL":Else "XR":IfEnd:O哦+Dcos(V+T)◢
16  If D<0:Then "YL":Else "YR":IfEnd:P+Dsin(V+T)◢
17  Goto 0

文件名:QQ
1 If B≤3:then List Y[M+8]->A:List Y[M+9]->G:List Y[M+10]->E:Else
2  Z[3(B-1)+11]->G:Z[3(B-1)+12]->E:Z[3(B-1)+13]->A:IfEnd
3 Rad:Z-Z[B-1]->Q:If Z[2B+4]=0:then 0->R:Else 1/Z[2B+4]->R:IfEnd
4 If Z[2B+5]=0:Then 0->H:Else 1/Z[2B+5]->H:IfEnd
5 G+∫(cos(A∏/180+RX+(H-R)X^2/(2Q)),0,S)->O哦
6 E+∫(sin(A∏/180+RX+(H-R)X^2/(2Q)),0,S)->P  ( ^2就是平方 )
7 (A∏/180+RS+(H-R)S^2/(2Q))*180/∏->V
8 Deg
(*就是乘号,/是除号, ^2就是平方。->,DimZ,Deg,Lb1,For, To ,Or,If,List,Then, Break,IfEnd,Next,
Else,Prog, Step , Goto,每个都是一个整体,不是一个一个字母组成的。)

语句之前的1,2,3,4只是顺序号,不用输入计算器。

使用说明:
1\输入程序
2\本程序所用的想法是把(直线+缓和曲线+圆曲线+不完整缓和曲线
+圆曲线+缓和曲线,其中各个部分均支持长度为零)作为一个整体来考虑(你可以
想成一个大线元).(综合曲线支持复曲线,S曲线)。这个程序即是放大版的线元法,
理论上支持任意曲线。

3\输入图纸原始数据.进入能进行普通4则运算状态.在计算器正常状态下,按MODE
键+4键,进行数据输入。
其中,Y串列
1   第一缓和曲线起点桩号(ZH点或ZY点)
2  第一缓和曲线长度(可以为零)当为零时,输入0.00000001
3   第一圆曲线长度   (一定存在,或虚拟存在。)

4   不完整缓和曲线长度(可以为零)当为零时,输入0.00000001,当没有第二圆曲线时,即输入与第一缓和曲线相对应的第二缓和曲线。

5   第二圆曲线长度(可以为零))当为零时,输入0.00000001

6   第二缓和曲线长度(可以为零))当为零时,输入0.00000001(只有当存在第二圆曲线时,才存在不是0的值)

7   第一圆曲线半径(曲线左偏取负值)(一定存在)
8   第二圆曲线半径 (曲线左偏取负值)当没有时,输入0
9   第一缓和曲线起点方位角
10   第一缓和曲线起点X坐标
     11    第一缓和曲线起点Y坐标
好了,你已经完成了一个综合曲线原始数据的输入。当为普通带缓和曲线单圆曲
线时,第5、6项为零。当为普通不带缓和曲线单圆曲线时,第2、4、5、6项为零。
如果你还有第2个,3个综合曲线,依次往下输入。
(关于数据输入,如果用普通线元法,你需要输入32-48个原始数据来替代这11
个数据,至少在数据管理方面,你简单了3-5倍)
4、退出数据输入,按按MODE键+1键.
5、按FILE键,运行SXY2程序。
6、输入你想要计算的桩号。按EXE键。
7、OK,已经得出你想要的结果了。结束。
上传附件中有例子。
这个程序修改后,其实对CASIO9860更适合。还有作为第3步的数据输入,可以编
一个数据输入程序,更加OK。
关于使用MODE键+4键,把串列当成数据存储,比扩展变量要省4/5的内存,并且数
据存储简洁。程序是08年编的,时间长了,可能有些忘了,说明中如果有出入,请
留言或联系179038225。关于0与哦的区别。(哦均为加粗).∏指PI,
即3.1415926535

第一次运行本程序后,只要连续输入的桩号或第在同一综合曲线内,运算速度可
以提高4倍(即只运行1次QQ)。已经优化过了。对于9860和计算机编程来说,完全
没有速度问题。还可以通过指定N的办法加快运行速速度。但实际放样中,6-7秒的运
行时间我觉得还能承受。嫌慢的请绕行。

  • 发表于 2018-11-05 14:12
  • 阅读 ( 76 )
  • 分类:5800

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

174 篇文章

作家榜 »

  1. admin 174 文章
  2. 胡亮 4 文章
  3. 梁雄 2 文章
  4. 肖肖 2 文章
  5. 老Y 2 文章
  6. netbee 1 文章
  7. 秦汉 1 文章
  8. boyving 1 文章