声明:编程使用的通用积分公式出自李艳阳前辈!在此致敬!
本程序加入了测站,方便喜爱用方位角、平距放样的朋友!
正算主程序[KB-MN]
?X:?Y
Lbl 1:Fix 3:X→S:?K:?B:90→A
Prog“YS-1”:Prog“ZDYS”:S→X:M-X+×10-9→I:N-Y+×10-9→J:Pol(I,J):J<0=>J+360→J:Cls:Locate 1,1,“J=”:Locate 4,1, J°:Locate 1,2,“I=”:Locate 9,2,I:Locate 1,3,“M=”:Locate 6,3,M:Locate 1,4,“N=”:Locate 7,4,N◢
Cls:Goto 1
反算主程序[MN-KB]
?K
Lbl 0:Fix 3:?M:?N:M→E:N→Q
Lbl 1:90→A:0→B:Prog“YS-1”:Prog“ZDYS”
Pol(E-M+×10-9,Q-N+×10-9):Isin(L-J)→A:Icos(L-J)→B
If Abs(A)>0.001:Then K+A→K:Goto 1:Else Cls:Locate 1,1,“K=”:Locate 7,2, K:Locate 1,3,“B=”:Locate 9,4,B◢
IfEnd:Goto 0
数据库子程序[YS-1]
If K<线元终点里程:Then线元起点切线方位角→C:线元起点X坐标→U:线元起点Y坐标→V:线元起点里程→O:线元长度→F:±线元起点曲率半径(左转为负,直线及右转为正)→P:±线元止点曲率半径→R:Return:IfEnd
If K<下一线元终点里程:Then线元起点切线方位角→C:线元起点X坐标→U:线元起点Y坐标→V:线元起点里程→O:线元长度→F:±线元起点曲率半径→P:±线元止点曲率半径(左转为负,直线及右转为正)→R:Return:IfEnd
子程序[ZDYS]
0.5(1÷R -1÷P)÷F→D:K-O→X
U+∫(cos(C+180(X÷P+DX2)÷π,0,X)→M
V+∫(sin(C+180(X÷P+DX2)÷π,0,X)→N
C+180(X÷P+DX2)÷π+A→L:M+Bcos(L)→M:N+Bsin(L)→N
正算主程序[KB-MN]
输入:X---测站X坐标 Y---测站Y坐标 K---桩号 B---距中(左负 右正 中零)
结果:J=测站到放样点的方位角 I=测站到放样点的平距
M=放样点X坐标 N=放样点Y坐标
若果求斜交时边桩坐标,主程序[KB-MN]中90→A修改为 斜交角度→A
反算主程序[MN-KB]
输入:K---待反算点附近的大概桩号 M---待反算点X坐标 N---待反算点Y坐标
结果:K=反算点的桩号 B=反算点的距中(左负 右正 中零)
备注:字母后所带数字为次方,如:DX2式中2均为平方。
1、当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
2、当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
3、当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
4、当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
优化:SENDY CHAN QQ:82811489
本程序经过优化,减少了数据库的字节,同时可以计算多条线路,修改如下:
正算主程序[KB-MN]
“1,2,3,4,5”?Z:?X:?Y
Lbl 1:Fix 3:X→S:?K:?B:90→A
Z=1=>Prog“YS-1”
Z=2=>Prog“YS-2”
Z=3=>Prog“YS-3”
Z=4=>Prog“YS-4”
Z=5=>Prog“YS-5”
Prog“ZDYS”:S→X:M-X→I:N-Y→J:Prog“C”:Cls:Locate 1,1,“J=”:Locate 4,1, J°:Locate 1,2,“I=”:Locate 9,2,I:Locate 1,3,“M=”:Locate 6,3,M:Locate 1,4,“N=”:Locate 7,4,N◢
Cls:Goto 1
反算主程序[MN-KB]
“1,2,3,4,5”?Z:?K
Lbl 0:Fix 3:?M:?N:M→E:N→Q
Lbl 1:90→A:0→B
Z=1=>Prog“YS-1”
Z=2=>Prog“YS-2”
Z=3=>Prog“YS-3”
Z=4=>Prog“YS-4”
Z=5=>Prog“YS-5”
Prog“ZDYS”:Pol(E-M+×10-9,Q-N+×10-9:Isin(L-J→A:Icos(L-J→B
If Abs(A)>0.001:Then K+A→K:Goto 1:Else Cls:Locate 1,1,“K=”:Locate 7,2, K:Locate 1,3,“B=”:Locate 9,4,B◢
IfEnd:Goto 0
数据库子程序[YS-1]
If K<线元终点里程:Then线元起点切线方位角→C:线元起点X坐标→U:线元起点Y坐标→V:线元起点里程→O:线元长度→F:±线元起点曲率半径(左转为负,右转为正,直线为零)→P:±线元止点曲率半径(左转为负,右转为正,直线为零)→R:Return:IfEnd
If K<下一条线元终点里程:Then线元起点切线方位角→C:线元起点X坐标→U:线元起点Y坐标→V:线元起点里程→O:线元长度→F:±线元起点曲率半径(左转为负,右转为正,直线为零)→P:±线元止点曲率半径(左转为负,右转为正,直线为零)→R:Return:IfEnd
子程序[C]
I+×10-9→I:J+×10-9→J:Pol(I,J:J<0=>J+360→J
子程序[ZDYS]
P=0=>×1045→P:R=0=>×1045→R:0.5(1÷R -1÷P)÷F→D:K-O→X
U+∫(cos(C+180(X÷P+DX2)÷π,0,X)→M
V+∫(sin(C+180(X÷P+DX2)÷π,0,X)→N
C+A+180÷π(X÷P+DX2→L:M+Bcos(L→M:N+Bsin(L→N
正算主程序[KB-MN]
输入:1,2,3,4,5---选择待正算的线路
X---测站X坐标 Y---测站Y坐标 K---桩号 B---距中(左负 右正 中零)
结果:J=测站到放样点的方位角 I=测站到放样点的平距
M=放样点X坐标 N=放样点Y坐标
若果求斜交时边桩坐标,主程序[KB-MN]中90→A修改为 斜交角度→A
反算主程序[MN-KB]
输入:1,2,3,4,5---选择待反算的线路
K---待反算点附近的大概桩号 M---待反算点X坐标 N---待反算点Y坐标
结果:K=反算点的桩号 B=反算点的距中(左负 右正 中零)
使用说明:字母后所带数字为次方,如:DX2式中2为平方。
1、当线元为直线时,其起点、止点曲率半径为零。
2、当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
3、当线元为完整缓和曲线时,起点与直线相接时,曲率半径为零;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为零;与圆曲线相接时,曲率半径等于圆曲线的半径。
4、当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
From:SENDY CHAN QQ:82811489
TAG: CASIO 程序
最新评论
删除 引用 wzp07331 (2012-4-15 17:36:22, 评分: 0 )
删除 引用 lft20 (2011-12-11 20:10:24, 评分: 0 )
删除 引用 zyb8686 (2011-6-12 10:34:31, 评分: 0 )
删除 引用 晓明明 (2010-12-30 21:41:14, 评分: 0 )
删除 引用 一刀斩春风 (2010-11-17 17:49:26, 评分: 0 )
删除 引用 zhangsongxu888 (2010-4-09 21:16:52, 评分: 0 )
删除 引用 Guest (2010-4-02 09:43:20, 评分: 0 )
删除 引用 Guest (2010-1-23 11:06:18, 评分: 0 )
?K
Lbl 0:Fix 3:?M:?N:M→E:N→Q
Lbl 1:90→A:0→B:Prog“YS-1”:Prog“ZDYS”
Pol(E-M+×10-9,Q-N+×10-9):Isin(L-J)→A:Icos(L-J)→B
里面的+×怎么同时出现了
删除 引用 Guest (2010-1-21 23:31:28, 评分: 0 )
0.5(1÷R -1÷P)÷F→D:K-O→X
R的后面,,帮忙分析下原因,,输入字符无误