资源描述:
《casio5800交点法与线元法(积木法)匝道坐标正反算放样程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Casio5800交点法与线元法(积木法)匝道坐标正反算放样程序(XUFENG2011.2.14)本人一直以来想找一个交点法与线元法相结合的坐标正反算程序,在网上找了很久很久,没能找到一个较为满意的,有幸在测量空间看到大歪哥的《Casio5800交点法程序》与《线元法(积木法)匝道坐标正反算放样程序》,根据歪哥意见“需要的自行修改结合XY框架自己修改为数据库反算程序等”,本人不才,采用最笨的办法将两个程序综合了一下,使之能既能进行交点法正反算,又能进行线元法正反算。在此特别感谢大歪哥!将程序发上来,愿与大家一同交流学习
2、欢迎大家吐口水,只要能进步就行!程序由一个主程序ZBZFS和8个子程序(JS、XY-A、XY-B、JDYS、1、2、3、4)构成,运行时只需运行主程序即可!本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标正反算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并能对单一线元进行坐标正反算。1主程序名:ZBZFS(功能:进入计算主程序)65→Dimz↙Deg:Fix3↙"1.JDZFS 2.ZHADAOZFS"?I:I→Z[61]:
3、"1.ZHONGSHUJS2.JS"?I↙IfI=1:ThenGoto1:ElseGoto2:IfEnd↙LbI1:IfZ[61]=1:ThenProg"JDYS":Else Cls:"K0"?A:"KN"?L:"X0"?U:"Y0"?V:"F0"?W:"R0"?P:"RN"?Q:"ZX:-1,+1,0"?G:IfEnd↙LbI2:Prog"JS"2子程序名:JS(功能:选择正算或反算模式)Cls:"XC"?H:"YC"?Z↙Cls:"1.ZS 2.FS"?I:I=2=>Goto3↙LbI1:Cls:IfZ[61]
4、=1:Then"JDZSKX+XXX"?K:Prog"4":Else"ZHADAOZSKX+XXX"?K:IfEnd↙LbI 2:Cls:90→B:Cls:"RJOr0 ToK"?B:B=0=>Goto1:"Z"?T↙Prog"XY-A"↙X+Tcos(M+B)→X↙Y+Tsin(M+B)→Y↙360Frac((M+360)÷360→M↙Pol(X-H,Y-Z:360Frac((J+360)÷360→J↙2→O:Prog"XY-B":Goto2↙LbI3:Cls:IfZ[61]=1:Then"JDFSKN+"?K:
5、"X"?C:"Y"?D:Prog"4":ElseCls:"ZHADAOFS":"X"?C:"Y"?D:IfEnd↙LbI4:Prog"XY-A"↙(D-Y)sin(M)+(C-X)cos(M)→H↙IfAbs(H)>X10-3:ThenK+H→K:Goto4:IfEnd↙(D-Y)÷cos(M)→T↙3→O:Prog"XY-B":Goto3↙3子程序名:XY-A(功能:坐标计算程序)5→N:G(Q-1-P-1)÷Abs(L-A)→F:Abs(K-A)÷N→R:90R÷π→S:W+(FNR+2GP-1)NS→M:1→E↙
6、U+R÷6×(Cos(W)+Cos(M)+4∑(Cos(W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(Cos(W+((EFR+2GP-1)ES,E,1,(N-1)))→X↙V+R÷6×(sin(W)+sin(M)+4∑(sin(W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(sin(W+((EFR+2GP-1)ES,E,1,(N-1)))→Y↙4子程序名:XY-B(功能:显示正算或反算结果)If O=2:Then↙Cls:"K×××=":
7、"Z=":"X=":"Y=":Locate6,1,K:Locate4,2,T:Locate4,3,X:Locate4,4,Y◢IfT=0:ThenCls:"QF(Z)=":Locate8,1,M:M▼DMS◢IfEnd↙Cls:"K×××=":"S=":Locate6,1,K:Locate4,2,I:"F=":J:J▼DMS◢IfEnd↙If O=3:Then"X=":"Y=":"K×××=":"Z=":Locate4,1,C:Locate4,2,D:Locate6,3,K:Locate4,4,T◢IfEnd:Cls↙
8、5子程序名:4(功能:将交点参数转为线元计算参数)LbI1:IFZ[48]<0:Then-1→Z[62]:Else:1→Z[62]:IfEndLbI2:IfK≥Z[57]:ThenZ[57]→A :Z[1]→L :Z[23]→U :Z[24]→V:Z[31]→W:10^45→P :10^45→Q:0→G:IfEnd↙Lb