《CASIOfx-5800P放样程序优化说课讲解.doc》由会员分享,可在线阅读,更多相关《CASIOfx-5800P放样程序优化说课讲解.doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Good is good, but better carries it.精益求精,善益求善。CASIOfx-5800P放样程序优化-CASIOfx-5800P放样程序(优化)-声明:编程使用的通用积分公式出自李艳阳前辈!在此致敬!本程序加入了测站,方便喜爱用方位角、平距放样的朋友!正算主程序KB-MN?X:?YLbl1:Fix3:XS:?K:?B:90AProg“YS-1”:Prog“ZDYS”:SX:M-X+10-9I:N-Y+10-9J:Pol(I,J):J0J+360J:Cls:Locate1,1,“J=”:Locate4,1,J:Locate1,2,“I=”:Locate9,2,I:L
2、ocate1,3,“M=”:Locate6,3,M:Locate1,4,“N=”:Locate7,4,NCls:Goto1反算主程序MN-KB?KLbl0:Fix3:?M:?N:ME:NQLbl1:90A:0B:Prog“YS-1”:Prog“ZDYS”Pol(E-M+10-9,Q-N+10-9):Isin(L-J)A:Icos(L-J)BIfAbs(A)0.001:ThenK+AK:Goto1:ElseCls:Locate1,1,“K=”:Locate7,2,K:Locate1,3,“B=”:Locate9,4,BIfEnd:Goto0数据库子程序YS-1IfK线元终点里程:Then线元起点
3、切线方位角C:线元起点X坐标U:线元起点Y坐标V:线元起点里程O:线元长度F:线元起点曲率半径(左转为负,直线及右转为正)P:线元止点曲率半径R:Return:IfEndIfK下一线元终点里程:Then线元起点切线方位角C:线元起点X坐标U:线元起点Y坐标V:线元起点里程O:线元长度F:线元起点曲率半径P:线元止点曲率半径(左转为负,直线及右转为正)R:Return:IfEnd子程序ZDYS0.5(1R-1P)FD:K-OXU+(cos(C+180(XP+DX2),0,X)MV+(sin(C+180(XP+DX2),0,X)NC+180(XP+DX2)+AL:M+Bcos(L)M:N+Bsin
4、(L)N正算主程序KB-MN输入:X-测站X坐标Y-测站Y坐标K-桩号B-距中(左负右正中零)结果:J=测站到放样点的方位角I=测站到放样点的平距M=放样点X坐标N=放样点Y坐标若果求斜交时边桩坐标,主程序KB-MN中90A修改为斜交角度A反算主程序MN-KB输入:K-待反算点附近的大概桩号M-待反算点X坐标N-待反算点Y坐标结果:K=反算点的桩号B=反算点的距中(左负右正中零)备注:字母后所带数字为次方,如:DX2式中2均为平方。1、当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。2、当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。3、当线元
5、为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。4、当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。优化:SENDYCHANQQ:82811489本程序经过优化,减少了数据库的字节,同时可以计算多条线路,修改如下:正算主程序KB-MN“1,2,3,4,5”?Z:?X:?YLbl1:F
6、ix3:XS:?K:?B:90AZ=1Prog“YS-1”Z=2Prog“YS-2”Z=3Prog“YS-3”Z=4Prog“YS-4”Z=5Prog“YS-5”Prog“ZDYS”:SX:M-XI:N-YJ:Prog“C”:Cls:Locate1,1,“J=”:Locate4,1,J:Locate1,2,“I=”:Locate9,2,I:Locate1,3,“M=”:Locate6,3,M:Locate1,4,“N=”:Locate7,4,NCls:Goto1反算主程序MN-KB“1,2,3,4,5”?Z:?KLbl0:Fix3:?M:?N:ME:NQLbl1:90A:0BZ=1Prog“Y
7、S-1”Z=2Prog“YS-2”Z=3Prog“YS-3”Z=4Prog“YS-4”Z=5Prog“YS-5”Prog“ZDYS”:Pol(E-M+10-9,Q-N+10-9:Isin(L-JA:Icos(L-JBIfAbs(A)0.001:ThenK+AK:Goto1:ElseCls:Locate1,1,“K=”:Locate7,2,K:Locate1,3,“B=”:Locate9,4,BIfEnd:Goto0数据库子程序YS-1IfK线元终点里程:Then线元起点切线方位角C:线元起点X坐标U:线元起点Y坐标V:线元起点里程O:线元长度F:线元起点曲率半径(左转为负,右转为正,直线为零)
8、P:线元止点曲率半径(左转为负,右转为正,直线为零)R:Return:IfEndIfK下一条线元终点里程:Then线元起点切线方位角C:线元起点X坐标U:线元起点Y坐标V:线元起点里程O:线元长度F:线元起点曲率半径(左转为负,右转为正,直线为零)P:线元止点曲率半径(左转为负,右转为正,直线为零)R:Return:IfEnd子程序CI+10-9I:J+10-9J:Pol(I,J:J0J+360J子程序ZDYSP=01045P:R=01045R:0.5(1R-1P)FD:K-OXU+(cos(C+180(XP+DX2),0,X)MV+(sin(C+180(XP+DX2),0,X)NC+A+18
9、0(XP+DX2L:M+Bcos(LM:N+Bsin(LN正算主程序KB-MN输入:1,2,3,4,5-选择待正算的线路X-测站X坐标Y-测站Y坐标K-桩号B-距中(左负右正中零)结果:J=测站到放样点的方位角I=测站到放样点的平距M=放样点X坐标N=放样点Y坐标若果求斜交时边桩坐标,主程序KB-MN中90A修改为斜交角度A反算主程序MN-KB输入:1,2,3,4,5-选择待反算的线路K-待反算点附近的大概桩号M-待反算点X坐标N-待反算点Y坐标结果:K=反算点的桩号B=反算点的距中(左负右正中零)使用说明:字母后所带数字为次方,如:DX2式中2为平方。1、当线元为直线时,其起点、止点曲率半径为零。2、当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。3、当线元为完整缓和曲线时,起点与直线相接时,曲率半径为零;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为零;与圆曲线相接时,曲率半径等于圆曲线的半径。4、当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。From:SENDYCHANQQ:82811489-
限制150内