faos 发表于 2011-5-6 16:20:42

求cg20计算程序一套

那位老兄的计算器是cg20的,能发我一份cg20的全部程序吗?谢谢!我的邮箱;[email protected]

ttxzb 发表于 2011-5-6 22:58:08

暂时资源较少。

月与映之皮丘 发表于 2011-5-6 23:17:41

拿9860的PRGM套吧。。。。。。我的CG就这样整的

imath 发表于 2011-5-7 12:44:28

全部程序...

9860的程序难道不兼容?

月与映之皮丘 发表于 2011-5-7 21:28:36

ADD-IN 兼容不能。
PRGM中9860的图片支持不能。
Locate在CG中显示Char有些问题。
PRGM总体还可以兼容。

aqfdc 发表于 2011-5-9 12:14:02

上官网下载,有一整套的程序

imath 发表于 2011-5-9 12:37:16

"一套" "全部程序" ...

怎么听起来这么蛋疼?

faos 发表于 2011-5-22 21:46:32

cg20程序还是与9860的 有区别的,

月与映之皮丘 发表于 2011-5-22 22:06:50

是指SDK还是PRGM?

faos 发表于 2011-6-1 22:24:01

本程序是5800转FX-CG20计算程序
希望广大测友
勇于提出修改意见
错误或者转换错误修改征集:
修改格式
保留原程序→修改的程序加上[   ]


















FX-CG20(交点法与交点法)融合计算程序
1主程序名:ZBZFS(功能:进入计算主程序)(◢, ←┘, →►DMS ◢)
File1
70→Dim List1
"1.JD ZFS2. ZD ZFS"? → I: I→List1 : "1.CS JS 2. JS"? → I←┘
If I=1: Then Goto1: Else Goto2:IfEnd←┘
LbI 1 :If List1=1: Then Prog"JDYS":ElseClrText:"K0="? →A:"KN="? →L :"X0="? →U :"Y0="? →V :"F0="? →W :"R0="? →P :"RN="? →Q:"ZX=:-1,+1,0"? →G:IfEnd←┘
LbI 2 :Prog"JS"

2子程序名:JS(功能:选择正算或反算模式)

ClrText:"XC="? →H:"YC="? →Z←┘
ClrText:"1.ZS2.FS"? → I: I=2=>Goto 3←┘
LbI 1 : ClrText: If List1=1: Then"JD ZS KX+XXX"? →K :Prog"4": Else "ZD ZS KX+XXX"? →K :IfEnd←┘
LbI2: ClrText:90→B: ClrText:"RJ Or 0To K"? →B:B=0 =>Goto 1:"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":Goto 2←┘
LbI 3 : ClrText: If List1=1: Then"JD FS KN+"? →K:"X="? →C:"Y="? →D:Prog"4":Else ClrText: " ZD FS":"X="? →C:"Y="? →D:IfEnd←┘
LbI 4 :Prog "XY-A"←┘
(D-Y)sin(M)+(C-X)cos(M)→H←┘
If Abs(H)>X10-3 :Then K+H→K:Goto 4:IfEnd←┘
(D-Y)÷cos(M)→T←┘
3→O: Prog "XY-B":Goto 3←┘

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←┘
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:ThenClrText :"K×××=":"Z=":"X=":"Y=": Locate 6,1, K : Locate 4, 2, T : Locate 4,3, X : Locate 4,4, Y◢
If T=0 :Then ClrText :"QF(Z)=": Locate 8,1, M:M►DMS ◢
IfEnd←┘
ClrText :"K×××=":"S=": Locate 6,1, K : Locate 4, 2, I :
"F=":J:J►DMS ◢
IfEnd←┘
If O=3:Then "X=":"Y=":"K×××=":"Z=": Locate 4,1,C: Locate 4, 2, D : Locate 6,3,K :Locate 4,4,T◢
IfEnd: ClrText←┘

5子程序名:4(功能:将交点参数转为线元计算参数)

LbI 1: If List1<0 :Then -1→List1 : Else:1→List1:IfEnd
LbI2:IfK≥List1:ThenList1→A:List→L:List1→U:List1→V : List1→W : 10^45→P   :10^45→Q : 0→G:IfEnd←┘
LbI 3:If K≥List1 :Then List1 →A : List1 →L : List1 →U : List1 →V: List1 →W : 10^45→P   : List1 →Q : List1 →G: IfEnd←┘
LbI 4:If K≥List1:Then List1 →A: List1 →L: List1 →U : List1 →V: List1 →W : List1 →P: List1 →Q : List1 →G: IfEnd←┘
LbI 5:If K≥List1 :Then List1 →A : List1 →L : List1 →U: List1 →V : List1 →W : List1 →P: 10^45→Q : List1 →G: IfEnd←┘
LbI 6:If K≥List1 :Then List1 →A : List1 +1000→L: List1 →U : List1 →V : List1 →W:10^45→P :10^45→Q : 0→G : IfEnd←┘

6子程序名:JDYS(功能:输入交点要素、显示交点要素及主点坐标)

ClrText : " BP="? →H:H→List1 :"K(JD)="? →K:K→List1 :"X(JD)="? →X :X→List1 :"Y(JD)="? →Y:Y →List1 :"LS1="? →B:B→List1 :"LS2="? →C:C →List1 : “R=”? →R:R →List1 :"(ZH)FWJ°="? →M:M→List1 : "α(Z-,Y+)°"=?→O:O→List1 : List1 + List1 →List1 : Prog "1":Prog "2"←┘
ClrText :"T1=":"T2=":"L=":"LY=": Locate 4,1, List1 : Locate 4,2, List1 : Locate 4,3, List1 : Locate 4,4, List1 ◢
Cls :"E=": Locate 7,1, List1 ←┘
ClrText :"K(QD)=": "X=": "Y=": "FWJ="Locate 7,1, List1 :Locate 7,2, List1 :Locate 7,3, List1 :Locate 7,4, List1 ◢←┘
ClrText :"K(ZH)=": "X=": "Y=": "FWJ=":Locate 7,1, List1 : Locate 7,2, List1 :Locate 7,3, List1 :Locate 7,4, List1 ◢←┘
ClrText : "K(HY)=": "X=": "Y=": "FWJ=": Locate 7,1, List1 : Locate 7,2, List1 :Locate 7,3, List1 :Locate 7,4, List1 ◢←┘
ClrText :"K(QZ)=": Locate 7,1, List1 ◢←┘
ClrText :"K(YH)=": "X=": "Y=": "FWJ=": Locate 7,1, List1 : Locate 7,2, List1 :Locate 7,3, List1 :Locate 7,4, List1 ◢←┘
ClrText :"K(HZ)=": "X=": "Y=": "FWJ=": Locate 7,1, List1 : Locate 7,2, List1 :Locate 7,3, List1 :Locate 7,4, List1 ◢←┘

7子程序名: 1(功能:计算交点要素)

If List1 <0 :Then-1→List1 : Else 1→List1 : IfEnd : List1 * List1 →List1 ←┘
List1 2 ÷24÷List1 - List1 ^(4)÷2688÷List1 ^(3) →List1 ←┘
List1 2 ÷24÷List1 - List1 ^(4)÷2688÷List1 ^(3) →List1 ←┘
List1 ÷2- List1 ^(3)÷240÷List1 2 →List1 ←┘
List1 ÷2- List1 ^(3)÷240÷List1 2 →List1 ←┘
List1 +(( List1 + List1 -( List1 + List1 )cos(List1 ))÷sin(List1 ))→List1 ←┘
List1 +(( List1 + List1 -( List1 + List1 )cos(List1 ))÷sin(List1 ))→List1 ←┘
List1 * List1 π÷180+( List1 + List1 ) ÷2→List1 ←┘
List1 * List1 π÷180-( List1 + List1 ) ÷2→List1 ←┘
(List1 +( List1 + List1 )÷2)÷cos(List1 ÷2)- List1 →List1 ←┘
List1 - List1 →List1 ←┘
List1 + List1 →List1 ←┘
List1 + List1 ÷2→List1 ←┘
List1 + List1 - List1 →List1 ←┘
List1 + List1 →List1 ←┘

8子程序名: 2(功能:计算主点坐标及切线方位角)

List1 - List1 cos(List1 )→List1 : (直缓坐标)
List1 - List1 sin(List1 )→List1 ←┘
List1 →Z : 360Frac((Z+360)÷360→List1 (方位角)
List1 + List1 cos(List1 )→List1 : (缓直坐标)
List1 + List1 sin(List1 )→List1 ←┘
List1 →List1: 360Frac((Z+360)÷360→List1 (方位角)
List1 - List1 →L←┘   (H→List1 为前直线起点桩号)
List1 -( List1 +L)cos(List1 )→List1 ←┘      (前直线起点坐标)
List1 -( List1 +L)sin(List1 )→List1 ←┘
List1 →Z : 360Frac((List1+360)÷360→List1 ←┘   (方位角)
List1 →List1 : List1 →List1 :Prog"3"←┘
List1 - List1 →L:90(2L- List1 )÷List1 ÷π→List1 ←┘
List1sin(List1)+List1→List1 : List1 (1-cos(List1 ))+ List1 →List1 ←┘      
List1 + List1 cos(List1 )- List1 List1 sin(List1 )]→List1 ←┘(圆缓点坐标)
List1 + List1 sin(List1 )+ List1 List1 cos(List1 )]→List1 ←┘
List1 + List1 List1 →Z: 360Frac((List1+360)÷360→List1 ←┘(方位角)
List1 - List1 →L:90(2L- List1 )÷List1 ÷π→List1 ←┘
List1 sin(List1 )+ List1 →List1 : List1 (1-cos(List1 ))+ List1 →List1 ←┘      
List1 + List1 cos(List1 )- List1 List1 sin(List1 )]→List1 ←┘(缓圆点坐标)
List1 + List1 sin(List1 )+ List1 List1 cos(List1 )]→List1 ←┘
List1 + List1 List1 →Z: 360Frac((List1+360)÷360→List1 ←┘(方位角)

9子程序名: 3(主点坐标计算辅助程序)

If List1 =0 :Then 0→List1 : 0→List1 :Else←┘
List1 - List1 ^(5)÷40÷(List1 ×List1 )2+ List1 ^(9)÷3456÷(List1 × List1 )^(4) →List1 ←┘
List1 ^(3)÷6÷(List1 ×List1 )- List1 ^(7)÷336÷(List1 × List1 )^(3)+ List1 ^(11) ÷42240÷(List1 ×List1 )^(5)→List1 ←┘
IfEnd←┘




程序说明:
1、进入程序:1.JD ZFS2. ZD ZFS? 选1为交点法正反算(以后操作均为交点法计算),选2为线元法正反算(以后操作均为线元法计算)
2、CHONG SHU JS 2. JS?选1重输参数,选2直接进入交点法或线元法正反算(参数为已输过的参数)
3、参数输入:
一、交点法已知数据输入:
BP?上一交点ZH桩号
K(JD)?交点桩号
X(JD)?交点X坐标
Y(JD)?交点Y坐标
LS1?第一缓和曲线长度
LS2?第二缓和曲线长度
R? 圆曲线半径
(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角
α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)
交点法计算要素显示:
T1=第一切线长
T2=第二切线长
L=曲线总长
LY=圆曲线长
E=曲线外距
K(ZH)=直缓点桩号
K(HY)=缓圆点桩号
K(QZ)=曲中点桩号
K(YH)=圆缓点桩号
K(HZ)=缓直点桩号
二、线元法已知数据输入:
K0? KN? R0? RN?F0?X0? Y0?ZX? 分别为线元起点桩号 、终点桩号、起点半径、终点半径、起点切线方位角、起点X坐标、起点Y坐标、线元转向。
4、XC ?    YC? 输入置镜点即测站的X,Y坐标
5、1.ZS 2.FS选1正算 选2反算
程序线元判断原则:
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;
(2) 当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线右侧时,Z取正值。
(3) 当线元为直线时,其起点、终点的曲率半径为无穷大,以10的45次代替输入×10x45。
(4) 当线元为圆曲线时,无论其起点、终点与什么线元相接,其曲率半径均等于圆弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替输入×10x45;与圆曲线相接时,曲率半径等于圆曲线的半径。终点与直线相接时,曲率半径为无穷大,以10的45次代替输入×10x45;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。终点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
6、循环计算部份:
输入与显示简单说明
JD ZS KX+XXX? 或 ZHADAO ZS KX+XXX?输入所求的桩号(交点法或线元法 )
Z ?            输入所求点距中线的边距(在中线输零,左负右正)
RJ?            输入边桩时左右边桩连线与线路前进方向中桩切线的右交角(当输入数字0时进入下一个桩号计算输入)
X =、Y =            计算得出的所求点的左、中、右 的X Y坐标
QF(Z)= ×××            计算得出所求点的中桩切线方位角
F= ×××    计算得出置镜点到测点的方位角
S= ×××   计算得出置镜点到测点的水平距离   
JD FS KN+?交点法反算时需输入反算点所在(前直线,前缓和段、圆曲线、后缓和段、后直线)线元中的任一点桩号(定位线元用)
X=×××    反算输入所求点的X坐标
Y=×××   反算输入所求点的Y坐标
K=×××      计算得出求点所对应的里程
Z=×××       计算得出求点到所对应的里程的垂直距离 (负就是左边,正就是右边)
页: [1]
查看完整版本: 求cg20计算程序一套