您的当前位置:首页正文

CASIO 5800计算器测量计算程序

来源:华佗小知识


CASIO 5800计算器测量计算程序

2009-08-17 14:51:21 来自: ritsing(祥瑞之士)

简要介绍:

1. 新版程序把线元法和交点法已经集成在一个模块中了,用户只需修改JD程序和ZA程序中的数据部分即可,其余不需作任何的改动。

2. 因为每条路高程计算不尽相同,且比较复杂,现在可利用PC机EXCEL计算好打印成表格带到工地上使用,所以本版程序未对线路高程序进行专门的编程计算,而是利用统计计算模式中来输入桩号(第一列X)及左、右高程(第二、三列Y,Freq),这种输入数据的方式最为直观,易发现错误,也易修改,输入完毕后运行S程序对数据按桩号进行排序,在程序中通过调用GG程序来进行内插计算,SG=-1得左标高,SG=1得右标高(若SG输入0,则可进行一般的线性内插计算)。

3. 在JD程序和XY程序中,先将一个计算单元的数据置入矩阵F中(1行8列或1行9列),这样程序可读性极好。

4. 相比原CASIO4850程序操作习惯,作了一点小小的改动,测站坐标存在Z[10],N中,X坐标原存在M中容易被误操作修改,而设计标高存在M中,这样易于修改,因为CASIO5800没有IN,OUT功能,很不方便。

4. 程序利用Z[2]变量值来判断是采用交点法还是线元法模型计算,Z[2]=0为线元法,否则为交点法。

一、PQX程序:计算中边桩坐标及近似的桩号反算,在运行模式直接调用。

① Z[10]→S:”XO”?S:S→Z[10]:”YO”?N:Prog “AU”

② Lbl 2:?L:Prog “Z”:Prog “E”:1n→O:90→S

③ Lbl 4:”JJ”?S:”YC”?O:SO=0 =>Goto 2‘原来lbl 后没有标号4的。

④ O=-1 =>Goto 6

⑤ “X,Y”:R+OCos(Z+S)→X▲U+OSin(Z+S)→Y▲Prog “D”:Goto 4

⑥ Lbl 6:Z[7]→X:Z[8]→Y:”XF”?X:”YF”?Y:XY=0 =>Goto 4

X→Z[7]:Y→Z[8]:Pol(X-R,Y-U+1p):Z+S-J→J:”YC,DL,L”:ICos(J)→O▲ISin(J)→I▲L+I▲Goto 6

二、P程序:在程序中提供一个自由运算的模式。

①Lbl 1:”TMP”?I:If I≠0:Then “RST”:I▲Goto 1:IfEnd

二、LYC程序:进行桩号反算及边坡放样,在运行模式直接调用。

①Prog “AU”

②Lbl 1:Z[7]→X: Z[8]→Y: Z[6]→S: ”XF”?X :X→Z[7]:”YF”?Y:Y→Z[8]: ”ZF”?S: S→Z[6]

③Lbl 2:Prog “Z”:Y=U =>Y+1p→Y

④Pol(X-R,Y-U):J-Z→J:Isin(J)→O:Icos(J)→I

⑤If Abs(I)≤0.1:Then Prog “E”:”L,YC”:L+I→L▲O▲Goto 3:IfEnd

⑥If Z[9]≠0:Then Pol(Z[9]-SO,I):πJZ[9]÷180→I:IfEnd

⑦”DL”:I▲L+I→L:Goto 2

⑧Lbl 3: Z[6]→S:If S=0:Then Goto 1:IfEnd

⑧ M→Z

⑨ Lbl 4:”SG”?Z:Z→M:If Abs(Z)=1: Then Prog “GG”:Y→Z:If X=1:Then X→Z:IfEnd:Z→M:IfEnd

⑾If Z=0:Then Z[11]→C:Z[12]→D: Z[13]→E:

Z[14]→F:”LA”?C:C→Z[11]: ”HA”?D:D→Z[12]: ”LB”?E:E→Z[13]: ”HB”?F:F→Z[14]:D+(E-C)-1(F-D)(L-C)→Z:Z→M:IfEnd

⑿Lbl 5:”SG”:Z:”TW”:Z-S→C▲:Z[3]→P:

Z[4]→Q: :Z[5]→T:”YC0”?P:P→Z[3]: :”HC0”?Q:Q→Z[4] :”M”?T:T→Z[5]:O÷Abs(O)→I:”BL”:I(P+TC(C+Q)÷Abs(C))→U▲”DB”:IU-IO→J▲

Ans→I:Prog “P”:Goto 1

四、I程序:通过手工方式输要素

①Z[2]=0 =>Goto 2

Z[1]→R:Z[2]→U:”JL”?K:”JX”?G:”JY”?H:”JA”?V:”JJ”?W:”R”?A:”LS”?B:”L1”?R:”L2”?U:R→Z[1]:U→Z[2]:ReTurn

③Lbl 2:”L0”?K:”X0”?G:”Y0”?H:”A0”?V”:”L1”?F:”L-0 Z=-1 Y=1”?W:W=0 =>ReTurn

④”R0”?A:”R1”?B

五、D程序:根据测站点的坐标及放样点的坐标计算水平距离及方位角

①Y=N =>Y+1n→Y

②Pol(X-Z[10],Y-N):J<0 =>J+360→J

③”A,D”:J→DMS▲I▲

六、E程序:桩号出界判断

①Z[2]=0 =>Goto 2

②If L>Z[2]: Then “>L2”:L▲IfEnd

③If L④Goto 3

⑤Lbl 2:If L⑥If L>F:Then “>L1”:L-F▲IfEnd

⑦Lbl 3

七、GG程序:用统计数据中桩号,左右高程数据进行内插计算。

①FreqOff : n→C:FreqOn:If L②If L>maxX: Then “L>maxX”:C-1→I:Goto 8:IfEnd

③For 1→I To C-1

④If L≤List X[I+1]: Then Break:IfEnd:Next

⑤Lbl 8 : (L-List X)÷(List X[I+1]- List X)→J : List Y+J(List Y[I+1]-List Y)→X : List Freq +J(List Freq [I+1]-List Freq )→Y

八、S程序:对统计数据列表中数据按桩号进行排序。

①FreqOff : n→C:FreqOn“WAIT…n=”:Locate 10,1,C

②If C<2 Then Return:IfEnd

③For 1→D To C: D→I:

④For D+1→E To C:

⑤If List X[E]⑥If I≠D: Then List X[D]→F:List X→List X[D]:F→List X: List Y[D]→F:List Y→List Y[D]:F→List Y: List Freq[D]→F:List Freq→List Freq [D]:F→List Freq :IfEnd:Next

⑦Locate 1,2,”minX:”Locate 6,2,minX

⑧Locate 1,3,”minX:”Locate 6,3,maxX

九、X程序:计算缓和曲线坐标增量xx,yy

①AB→U:U÷O→Z[9]:0.5O2÷U→R:O-0.1OR2→I:6-1OR(2-7-1R2)→J:Rr→R

十、JS程序:内插计算的接口程序,在运行模式直接调用。

①Prog “S”

②Lbl 1:”L=”?L:L=0 =>Return

③Prog “GG”:”X,Y”:X▲Y▲Goto 1

十一、GZW程序:构造物坐标放样计算,在运行模式直接调用。

①Z[10]→S:”XO”?S:S→Z[10]:”YO”?N:0→T

②Lbl 1;”X0”?R:”Y0”?U:”A0”?Z:IF Z=-1 :Then “A0,DD”:J→Z▲I▲IfEnd

③If Z=0:Then R→X:U→Y:Prog “D”:Goto 1:IfEnd

'在④后增加一句,解决了程序再次运行时,交角的初值被置为测站点的X坐标的BUG.

④O-Z→S:”J0”?S:Z+S→O:”0-XX,YY→X,Y”:”1-X,Y→XX,YY”?T:If T≠0: Then Goto 3:IfEnd

⑤Lbl 2:”XX”?P:”YY”?Q:If PQ=0:Then Goto 1:IfEnd

⑥”X,Y”:R+Pcos(Z)+Qcos(O)→X▲U+Psin(Z)+Qsin(O)→Y▲Prog “D”:Goto 2

⑦Lbl 3:”XF”?X:”YF”?Y:If XY=0: Then Goto 1:IfEnd

⑧”XX,YY”:((X-R)sin(O)-(Y-U)cos(O))÷sin(S)→P▲((Y-U)cos(Z)-(X-R)sin(Z))÷sin(S)→Q▲

⑨Goto 3

十二、Y程序:线元法计算匝道坐标

①L-K→C:If L>F:Then F-K→C:IfEnd

②If W=0 or C<0:Then G+Ccos(V)→R:H+Csin(V)→U:0→Z[9]:Goto 8:IfEnd

③W÷Abs(W)→W:If A=B:Then 0→B:IfEnd

④If B=0:Then (A-1C)r→C:Asin(C)→I:A(1-cos(C))→J:A→Z[9]:Goto 7:IfEnd

⑤A-B→S:B(F-K)÷Abs(S)→R:AR→U:S÷Abs(S)→S:0.5R2÷U→D:R+SC→T:

0.5T2÷U→E:U÷T→Z[9]:T(1-0.1E2+E22÷216-E^(6)÷9360)-R(1-0.1D2+D22÷216-D^(6)÷9360)→I:

⑦3-1(TE(1-E2÷14+E22÷440-E^(6) ÷25200)-RD(1-D2÷14+D22÷440-D^(6)

÷25200))→J:Pol(1n+Abs(I),Abs(J):Rec(I,Abs(J-Dr):Abs(E-D)r→C

⑧Lbl 7:G+Icos(V)-WJsin(V)→R:H+Isin(V)+WJcos(V) →U:V+WC→Z

⑨Lbl 8:If L>F:Then R+Rec(L-F,Z) →R:U+J→U:0→Z[9]:IfEnd

十三、Z程序:交点法计算中桩坐标

①If Z[2]=0:Then Prog “Y”:Return:IfEnd

②B2÷A÷24→P:0.1B(5-P÷A) →Q:Q+(A+P)tan(0.5Abs(W)) →T:K-T→C:C+B→D:D+πAAbs(W) ÷180→F:F-B→E

③W÷Abs(W)→S:0→Z[9]:If L≤C:Then L-K→O:V→Z:Goto 2:IfEnd

④If L≥F:Then L-F+T→O:V+W→Z:Goto 2:IfEnd

⑤If L≥E:Then

F-L→O:Prog ”X”:V+W→O:O-SR→Z:G+(T-I)cos(O)-SJsin(O)→R:H+(T-I)sin(O)+Sjcos(O) →U:Goto 3:IfEnd

⑥If L>D:Then ((L-D+0.5B)÷A)r→O:Q+Asin(O)→I:P+A(1-cos(O)) →J:A→Z[9]:V+SO→Z:Goto 4:IfEnd

⑦L-C→O:Prog “X”:V+SR→Z

⑧Lbl 4:G+(I-T)cos(V)-Sjsin(V)→R:H+(I-T)sin(V)+Sjcos(V)→U:Goto 3

⑨Lbl 2:G+Ocos(Z)→R:H+Osin(Z)→U

⑩Lbl 3

十四、AU程序: 注:L0-输测段桩号近似值,”AU”子程序根据桩号近似值自动调用曲线要素(包括线元法和交点法要素),Z[2]=0则调用线元法数据,否则为交点法数据

(L0=0-默认为原曲线要素 L0=-1-手工输入曲线要素)

①Cls:” L0= 0-Conti.”:” L0=-1-Input”:If Z[2]=0:Then Locate 13,2,”(XY)”:Else Locate 13,2,”(JD)”:IfEnd

②Z[2]→S:”0-XY E.-JD”?S:S→Z[2]:”L0”?L:If L=0:Then ReTurn:IfEnd

③If L=-1:Then Prog “I”:ReTurn:IfEnd

④If Z[2]=0:Then Prog “ZA”:Else Prog “JD”:IfEnd

⑤Mat F[1,1]→K: Mat F[1,2]→G: Mat F[1,3]→H: Mat F[1,4]→V: Mat F[1,5]→W: Mat F[1,6]→A: Mat F[1,7]→B: If Z[2]=0:Then Mat F[1,8]→F:Else Mat F[1,8]→Z[11]: Mat F[1,9]→Z[12]:IfEnd

十五、JD程序:交点法矩阵每一行数据依次为交点桩号,交点X坐标,交点Y坐标,起始边方位角,偏角,圆曲线半径,缓和曲线长度,计算单元起点,计算单元终点

①If L<24900: Then “L<minX”:L▲Stop:IfEnd

②If L>30801.27: Then “L>maxX”:L▲Stop:IfEnd

③IF L≤26227.359:Then [[25676.236,

142225.377,504270.949,6°24°59.6°,-70°50°10.6°,770,300.007,24900,26227.359]]→Mat F:Return:IfEnd

④IF L≤27318.276:Then [[27026.458,

142873.016,502918.028,295°34°49.°,-15°31°18.5°,1500,180.003,26227.359,27318.276]]→Mat F: Return:IfEnd

⑤IF L≤28522.182:Then [[28148.818,

143069.516,501810.234,280°03°30.5°,41°45°02.1°,780,206.532,27318.276,28522.182]]→Mat F: Return:IfEnd

⑥IF L≤29246.112:Then [[28895.742,

143666,501341,321°48°32.6°,-22°33°08.8°,1250,215.74,28538.355,29246.112]]→Mat F: Return:IfEnd

⑦IF L≤30801.27:Then [[30431.525,

144420,499995,299°15°23.8°,49°29°52.7°,720,160.598,29246.112,30801.27]]→Mat F: Return:IfEnd

十六、ZA程序

注2:线元法矩阵每一行数据依次为起点桩号,起点X坐标,起点Y坐标,起点方位

角,左右转标志,起点曲率半径,终点曲率半径,终点桩号

①If L<0: Then “L<minX”:L▲Stop:IfEnd

②If L>1479.85: Then “L>maxX”:L▲Stop:IfEnd

③If L>1000: Then Goto 2:IfEnd

④If L>553.49: Then “L>maxX”:L▲Stop:IfEnd

⑤IF L≤82.699:Then

[[0,142872.513,502902.111,290°03°00°,-1,1509.5,1509.5,82.699]]→Mat F:Return:IfEnd

⑥IF L≤111.519:Then

[[82.699,142898.724,502823.687,286°54°40°,-1,1509.5,1T,111.519]]→Mat F:Return:IfEnd

⑦IF L≤155.022:Then

[[111.519,142906.932,502796.061,286°21°51°,-1,1T,1000,155.022]]→Mat F:Return:IfEnd

⑧IF L≤269.54:Then

[[155.022,142918.885,502754.233,285°07°04°,-1,1000,1000,269.54]]→Mat F:Return:IfEnd

⑨IF L≤359.475:Then

[[269.54,142942.363,502642.211,278°33°23°,-1,1000,1T,359.475]]→Mat F:Return:IfEnd

⑩IF L≤434.421:Then

[[359.475,142953.072,502552.924,275°58°48°,1,1T,1200,434.421]]→Mat F:Return:IfEnd

⑾IF L≤463.597:Then

[[434.421,142961.655,502478.474,277°46°09°,1,1200,1200,463.597]]→Mat F:Return:IfEnd

⑿IF L≤501.14:Then

[[463.597,142965.95,502449.617,279°09°44°,1,1200,1T,501.14]]→Mat F:Return:IfEnd

⒀IF L≤553.488:Then

[[501.14,142972.314,502412.618,280°03°31°,0,1T,1T,553.488]]→Mat F:Return:IfEnd

⒁Lbl 2:IF L≤1169.959:Then

[[1000,142957.323,502388.342,102°55°07°,0,1T,1T,1169.959]]→Mat F:Return:IfEnd

⒂IF L≤1215.026:Then

[[1169.959,142919.325,502554,102°55°07°,-1,1T,1500,1215.026]]→Mat F:Return:IfEnd

⒃IF L≤1261.836:Then

[[1215.026,142909.471,502597.975,102°03°28°,-1,1500,1500,1261.836]]→Mat F:Return:IfEnd

⒄IF L≤1283.436:Then

[[1261.836,142900.408,502643.898,100°16°11°,-1,1500,1T,1283.436]]→Mat F:Return:IfEnd

⒅IF L≤1307.44:Then

[[1283.436,142896.66,502665.17,99°51°26°,-1,1T,700,1307.44]]→Mat F:Return:IfEnd

⒆IF L≤1346.219:Then

[[1307.44,142892.686,502688.842,98°52°30°,-1,700,700,1346.219]]→Mat F:Return:IfEnd

⒇IF L≤1363.61:Then

[[1346.219,142887.767,502727.303,95°42°03°,-1,700,1T,1363.61]]→Mat F:Return:IfEnd

(21)IF L≤1387.958:Then

[[1363.61,142886.183,502744.622,94°59°20°,1,1T,500,1387.958]]→Mat F:Return:IfEnd

(22)IF L≤1451.374:Then

[[1387.958,142883.869,502768.858,96°23°02°,1,500,500,1451.374]]→Mat F:Return:IfEnd

(23)IF L≤1477.462:Then

[[1451.374,142872.845,502831.266,103°39°03°,1,500,1490.5,1477.462]]→Mat F:Return:IfEnd

(24)IF L≤1479.848:Then

[[1477.462,142866.175,502856.486,105°38°50°,1,1490.5,1490.5,1479.848]]→Mat F:Return:IfEnd

FX5800计算器公路测量常用程序集2.3版

时间:2010-01-27 14:25:21 来源:本站 作者:xdw_815101 我要投稿 我要收藏 投稿指南

一、程序功能

主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。

新版本优化:1、优化程序语句、2、取消原线元法计算,化线元法为交点法。3、高程计算修改,4、附计算坐标及高程参数设计要素输入实例

二、源程序(绿色为程序名;蓝色为输入计算器内容)红色为网友调试后修改笔误。

0.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。输入-2,返回选择线路。

程序名:0(数子0)

1.主程序:一般坐标计算及放样程序

程序名:1XY

Prog "DX":Prog"QX":90→A: "PJ1"?A:A→B: "PJ2"?B:A→Z[1]:B→Z[9]: Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ?D: 0→L: "L0"?L:L→Z[10]: Porg"A":Z[2]+Z[1]

→A :A-Z[9]→E:I+Dcos(A)+Z[10]cos(E→X:J+Dsin(A)+Z[10]sin(E→Y:Prog"XY":Prog"JS":LpWhile Z≠-1

2.主程序:由大概桩号及坐标反算桩号及距离

程序名:2ZD

Prog"QX":Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": "XO"?X: "Y0"?Y: Porg"B": Prog"ZD":LpWhile Z≠-1

3.主程序:任意点高程计算及横坡

程序名:3GC

Prog"QX":0→B: "H-B"?B: B→Z[9]: Do: "

KM"?Z:Z=-1=>Stop:Z=-2=>Break:?D:Prog"H":Fix 3: " H=":Lcoate 6,4,H-Z[9]:" I=":Locate 6,4,I:LpWhile Z≠-1

4.主程序:任意桩号位置的标准路基宽度计算

程序名:4GD

Prog"QX": Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break:-1→D:Prog"C":L→P:1→D: Prog"C":Fix 3: " LGD=":Lcoate 6,4,P:" RGD=":Locate 6,4,L:LpWhile Z≠-1

5、主程序:路基开挖边线及填方坡脚线放样程序

程序名:4BP

Prog "DX":Prog"QX":0.5→B: "TH-GD"?B: B→Z[7]: Do:"

KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M→Z[8]: Porg"B":D→P :Prog"C":If D<0:Then 0.75-L→D:Else L-0.75→D: IfEnd: Prog“H”:H-0.03-Z[8] →G: Prog “W1”:If G>0:Then Goto T: IfEnd:

-G→H:If H>E+F:Then L+M+N+U+C(H-E-F)+BF+AE→S:Goto 0:IfEnd:If H>E:Then L+M+N+ B(H-E)+AE→S:Goto 0:IfEnd:

If HLbI T:If G>W Then L+Z[7]+V+J(G-W)+IW→S:Else L+Z[7]+GI→S:IfEnd:LbI 0: Fix 2: P→D :Abs(D)-S→T: " LX=":Locate 6,4,T:Prog"ZD":" TW=":Lcoate 6,4,G◢LpWhile Z≠-1

6、主程序:定值放样路基桩计算填挖值

程序名:6FM

Prog "DX":Prog"QX": Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ?D: Porg"A":Z[2]+90→A :I+Dcos(A→X:J+Dsin(A→Y:Prog"XY":Prog"JS":Z[8]→M:”M0”?M:M→Z[8]:Prog “H”:” TW=”:Locate 6,4,H-Z[8]: LpWhile Z≠-1

7、主程序:桥梁锥坡计算放样

程序名:7ZP

Prog"DX":Prog"QX":"Z0"?Z:"LD:Z-,Y+"? D:Abs(D) →R: "LR"?R: D→Z[7]:R→Z[10]:Z→Z[9]:Prog”C”:L→Z[10]:Prog”K”:Do:Z[10]→Y:"

L0:SZ+,DZ-"?Y: Y=-1=>Stop:Y=-2=>Break: √(Z[7]2(1-Y2/Z[10]2))→X:Z[9]+Y→Z: Prog”C”: If D>0:Then L+X→D:Else –L-X→D:IfEnd:Prog”A”:

Z[2]+90→A :I+Dcos(A→X:J+Dsin(A→Y:Prog"XY":Prog"JS": LpWhile Y≠-1

8、主程序:由坐标计算方位角及距离

程序名:8JS

Prog "DX":Do:?X: X=-1=>Stop:X=-2=>Break:?Y:Prog”JS”: LpWhile X≠-1

9、主程序:隧道超欠挖放样计算

程序名:9SD

Prog"DX":0.65→A:”CQHD”?A:A→Z[7]:Do:"

KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M→Z[8]: Porg"B":D→Z[9]:0→D:Prog”H”:Prog”SD1”:Z[9] →D:Z[8]→M:Z[7]→X:Rcos(P→C:H+A→A:H+B→B:C+A→E:If MGoto 1:

√(S2-(B-A)2)S÷Abs(S→T:Abs(D-Q)-T→T:√(T2+(M-B)2)-V-X→L:Goto 0:IfEnd:LbI 1:√((D-Q)2+(M-A)2)-R-X→L:LbI 0:Fix 2: ” LX=”: Locate

6,4,L:Prog”ZD”:“ H0=”: Locate 6,4,M-H◢LpWhile Z≠-1

10. 交点法正算子程序(A)

程序名:A

P÷Abs(P→W:O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Q:H→C:0→M:

If Z≤O-T:Then Z-O→S:G→Z[2]:Goto 1: IfEnd:

If Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z[2]:A-T→A:G→E:Goto 2:IfEnd:

If Z≤Q: Then 180(Z-O+T-0.5H)÷R÷Π→S : Prog”AB”:A+R(1-Cos(S→E:B+Rsin(S→A:E→B:R→M:G+WS→Z[2]:A-T→A:G→E:Goto 2: IfEnd:

If Z≤Q+N:Then Q+N-Z→S:N→H:Prog

“HX”:G+P→E:E-WK→Z[2]:F-A→A:C→H:Goto 2:IfEnd:

Z-Q-N+F→S:G+P→Z[2]: LbI 1:U+Scos(Z[2]→I:V+Ssin(Z[2]→J:Return:LbI 2:U+Acos(E)-WBsin(E→I:V+Asin(E)+WBcos(E→J

11. 交点法反算子程序(B)

程序名:B

0→D:Do:Z+D→D:Prog”A”:Pol(X-I,Y-J+×10-9:J-Z[2] →J:Isin(J→S:Icos(J→D:If M≠0:Then Pol(M-WS,D:JMΠ÷180→D:IfEnd: LpWhile Abs(D>.001:Z+D→Z:S→D

12.缓和曲线段直角坐标计算子程序(AB)

程序名:AB

H2÷R÷24-H∧(4)÷2688÷R∧(3)+H ∧(6)÷506880÷R∧(5)- H

∧(8)÷154828800÷R∧(7)→A:H÷2-H∧(3)÷240÷R2+ H ∧(5)÷34560÷R∧(4)- H ∧(7)÷8386560÷R∧(6)+ H ∧(9)÷3158507520÷R∧(8)→B

13. 计算缓和曲线段坐标增量及偏角子程序(HX)

程序名:HX

S-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4)÷H∧(4)-S∧(13)÷599040÷R∧(6)÷H∧(6)+S∧(17)÷175472640÷R∧(8)÷H∧(8)→A:S∧(3)÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5)÷H∧(5)-S∧(15)÷9676800÷R∧(7)÷H∧(7)+S∧(19)÷3530097000÷R∧(9)÷H∧(9)→B:90S2÷Π÷R÷H→K:If S=0:Then 0→M:Else RH÷S→M:IfEnd

14.高程计算子程序(H)

程序名:H

Prog “S1”:N-I→A:A÷Abs(A→W:R×Abs(A÷2→T:If ZG-TI+(I+(Z-C+T)W÷2÷R)×(Z-C+T→H:Goto 0: IfEnd:N→I: G+I(Z-C→H:ILbI 0:If D=0:Then H→H:Return:Else Prog “I”:H+I(Abs(D)-K→H:IfEnd

15.高程超高计算横坡子程序(I)

程序名:I

Prog “I1”:If S=0:Then M→I: Return:Else If W=1:Then ((N-M)×(Z-C)÷S+M→I:Return:Else

(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M→I:IfEnd:

16.路基宽度子程序

程序名: C

1→S: Prog “G1”:Z-C→E:(B-A)E÷S+A→L

17:极坐放样计算程序(计算放样点至置仪点方位角及距离)

程序名:JS

Z[5]→K:Z[6]→L:Pol(X-K, Y-L:IF J<0:Then

J+360→J:IFEnd:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J→J: Fix 4:” FWJ=”: Locate 6,4,J:Fix 3:” S=”:Locate 6,4,I◢

18.导线点子程序(DX)

程序名:DX

Z[5]→K:Z[6]→L:“XZ”?K:”YZ”?L:K→Z[5]:L→Z[6]

19.线路选择子程序(线路选择输0时。则输曲线参数(QX)

程序名:QX

1→A:”QX:X1=1,X2=2”?A:A→Z[4]:If

A=0:Then ”JDKM”?O:”JDX”?U:”JDY”?V:”FWJ”?G:”ZJ”?P:”LS1”?H:”LS2”?N:”T1”?T:”T2”?F:?R:IFEnd

20.线路中线元段判别子程序(K)

程序名:K

If Z[3]=0:Then Return: IfEnd:If Z[3]=1:Then Prog “X1”:Return:IfEnd:If Z[3]=2:Then Prog “X2”:Return:IfEnd

21.坐标参数矩阵调用程序(F)

程序名:F

Mat F[1,1]→O: Mat F[1,2]→U: Mat F[1,3]→V: Mat F[1,4]→G: Mat F[1,5]→P: Mat F[1,6]→H: Mat F[1,7]→N: Mat F[1,8]→T:Mat F[1,9]→F: Mat F[1,10]→R

22.显示子程序

程序名:XY

Fix 3:" X=":Locate 6,4,X:" Y=":Locate 6,4,Y:

程序名:ZD

Fix 3:"KM=":Locate 6,4,Z:" D=":Locate 6,4,D

23.数据子程序(附后示例)

匝道线元转交点数据程序(T)

程序名:T

Norm 2:“QKM”?Z:“XQ”?U:“YQ”?V:“LS1”?M:“LS2”?O:“A1”?A:“A2”?B:“FWJ“?G:”ZJ“?P:?R:

P÷Abs(P→Q:A2÷R→H:HM→H:H-M→S:B2÷R→N:N-O→C:O >N=>O→N:H=0=>×10-9→H:H→X:90S2÷(RHΠ→K:G-QK→G:N=0=>×10-9→N: 90C2÷(RNΠ→D:P+QK+QD→P:Prog”AB”:

(H2-H2)÷24÷R÷sin(Abs(P))-(H∧(4)-N∧(4))÷2688÷R∧(3)÷sin(Abs(P))+(H ∧(6)-N∧(6))÷506880÷R∧(5)÷sin(Abs(P))-(H

∧(8)-N∧(8))÷154828800÷R∧(7)÷sin(Abs(P→E:(R+A)tan(Abs(P)÷2)+B-E→T:N→H:Prog”AB”: (R+A)tan(Abs(P)÷2)+B+E→F: X→H:

Z-S+T→O:Prog”HX”:U-(A-T)cos(G)+QBsin(G→U:V-(A-T)sin(G)-QBcos(G→V:Fix

3:”JDKM=”:Locate 6,4,O:”JDX=”:Locate 6,4,U: ”JDY=”:Locate

6,4,V: ”FWJ=”:G►DMS◢”ZJ=”P►DMS◢”LS1=”: Locate 6,4,H: ”LS2=”: Locate 6,4,N: ”T1=”: Locate 6,4,T: ”T2=”: Locate 6,4,F◢”R=”:R◢

说明:运行后“QKM”?输入起点桩号;“XQ”? “YQ”?输入起点X、Y坐标;“LS1”? “LS2”?输入前段缓和曲线长度,后段缓和曲线长度;“A1”? “A2”?输入前段缓和曲线参数,后段缓和曲线参数;“FWJ“?输入起点切线方位角;”ZJ“?输入转角(终点方位角减起点方位角之差,左转为负,右转为正);计算结果要素同QX子程序中要素字母。

①-1程序名:X1(线路1坐标计算要素程序)

If Z≤241.086:Then [[-336.478,2600441.639,514392.519, 280。20’28.78”, 203。08’28.32”,106.667,81.667,-270.668,-283.056,60]]→Mat F:Prog”F”: IfEnd

①-2程序名:X2(线路2坐标计算要素程序)

If Z≤273.006:Then [[171.674,2600784.547,514635.863,58。49’17.2”, 68。09’26.91”,93.889,125,674.184,771,180]]→Mat F:Prog”F”: Return: IfEndIf Z≤466.227:Then [[341.96,2600664.76,514799.865,123。43’25.9”, 15。58’49.5”,0,138.211,68.954,125.273,445]]→Mat F:Prog”F”: Return: IfEnd

说明:1、交点法:If Z≤计算交点段终点桩号:Then[[交点桩号,交点X坐标,交点Y坐标,起点至交点方位角,交点转角,交点前段缓和曲线长度,交点后段缓和曲线长度,

交点前段切线长度,交点后段切线长度,圆半径]] →Mat F: Prog”F”: Return: IfEnd(转角则为交点段终点方位角减起点方位角,分正负,左偏为负,右偏为正)如整条线无曲线,全为直线段,则交点为终点桩号,XY为终点坐标,方位角为起点方位角,转角和圆半径为1,其它全为0。

②-1程序名:S1(线路1高程竖曲线要素子程序)

If Z[3]=1:Then Goto 1: Else Prog “S2”: Return: IfEnd:

LbI 1:If

Z≤241.09:Then 95.356→C:40.742→G:2000→R:-.03155→I:.00812→N:IfEnd:

②-2程序名:S2(线路2高程竖曲线要素子程序)

If Z≤133.601:Then 106→C:45.12→G:1525→R:-.0064→I:.0298→N:Return:IfEnd:

If Z≤466.23:Then 298→C:50.841→G:1945→R:.0298→I:-.01968→N: Return:IfEnd:

程序字母说明:C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);R-竖曲线半径;I-竖曲线前纵坡; N-竖曲线后纵坡

③-1程序名:I1(线路1高程超高参数子程序)

0→K:1→W: If Z[4]=1:Then Goto 1:Else Prog “I2”:Return: IfEnd:LbI 1:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤159.419:Then 0→S:.06→M: Return:IfEnd:

If Z≤187.987:Then 28.568→S:159.419→C:.06→M:.02→N: Return:IfEnd:If Z≤241.086:Then 0→S:.02→M: Return:IfEnd:

LbI R:If Z≤159.419:Then 0→S:-.06→M: Return:IfEnd:

If Z≤187.987:Then 28.568→S:159.419→C:-.06→M:-.02→N: Return:IfEnd:If Z≤241.086:Then 0→S:.-02→M: Return:IfEnd

③-2程序名:I2(线路2高程超高参数子程序)

If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤77.872:Then 0→S:.02→M:Return:IfEnd:

If Z≤93.889:Then 16.017→S:77.872→C:.02→M:.05→N:Return:IfEnd:If Z≤198.567:Then 0→S: .05→M:Return:IfEnd: If Z≤273.006:Then 74.439→S:198.567→C:.05→M:.02→N:Return:IfEnd:If Z≤335:Then 0→S: .02→M:Return:IfEnd: Z≤346.235:Then 11.235→S:335→C:.02→M:.015→N:Return:IfEnd:

LbI R:If Z≤77.872:Then 0→S:-.02→M:Return:IfEnd:

If Z≤93.889:Then 16.017→S:77.872→C:-.02→M:-.05→N: Return:IfEnd:If Z≤198.567:Then 0→S: -.05→M: Return:IfEnd: If Z≤273.006:Then

74.439→S:198.567→C:-.05→M:-.02→N: Return:IfEnd:If Z≤335:Then 0→S: -.02→M: Return:IfEnd: Z≤346.235:Then 11.235→S:335→C:-.02→M:-.015→N: Return:IfEnd:

子程序中字母表示说明:

K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);S-超高渐变段距离(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)。

④-1程序名:G1(线路1路基标准半幅宽度参数子程序)

If Z[4]=1:Then Goto 1:Else Prog “G2”:Return: IfEnd

LbI 1:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤241.086:Then Z→C:3.5→A:Return:IfEnd:

LbI R: Z≤40.857:Then 0→C:5→A:5.25→B:40.857→S:Return:IfEnd:If Z≤159.419:Then Z→C:5.25→A:Return:IfEnd: Z≤187.987:Then 159.419→C:5.25→A:5.5→B:28.568→S:Return:IfEnd:If Z≤241.086:Then Z→C:5.5→A:Return:IfEnd

④-2程序名:G2(线路2路基标准半幅宽度参数子程序)

If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤466.227:Then Z→C:3.5→A:Return:IfEnd:

LbI R: Z≤321.611:Then Z→C:5→A:Return:IfEnd:If Z≤346.235:Then 321.611→C:5→A:5.75→B:24.624→S:Return:IfEnd:If Z≤466.227:Then Z→C:5.75→A:Return:IfEnd

子程序中字母表示说明:

C-宽度渐变段起点桩号(不是渐变段C=Z);A-宽度渐变段起点宽度; B-宽度渐变段终点宽度(不是渐变段,无需输入);S-宽度渐变段距离(不是渐变段,无需输入)。

⑤-1程序名:SD1(隧道参数子程序)

If Z[4]=1:Then 5.1→R:1.8→A:1.4→V:1.8→B:0→Q: 109。01’30”→P: Return:IfEnd:

If Z[4]=2:Then 8.75→R:-1.1→A:4.77→V:1.47→B:-.25→Q: 51。28’57.1”→P: Return:IfEnd:

子程序中字母表示说明:

R-隧道上拱半径;A-隧道上拱圆心至设计面高度;V-隧道中腰部半径;B-中腰圆心至设计面高度;Q-设计隧道中线与设计路基中线偏移值,左为负数,右为正数;P-上部拱跨隧道半幅角度;

⑥-1程序名:W1(线路1路基填挖边坡参数子程序)

If Z[4]=1:Then Goto 1: Else Prog “W2”: Return:IfEnd:

LbI 1: 10→E:10→F:2.6→M:2→N:2→S:1.5→I:1.75→J:8→W:2→V:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:1→A:1.25→B:1.25→C:Return:

LbI R:If Z≤110:Then 1.25→A:1.25→B:1.5→C: Return:Else Goto L: IfEnd

⑥-2程序名:W2(线路2路基填挖边坡参数子程序)

10→E:10→F:2.6→M:2→N:2→S:1.5→I:1.75→J:8→W:2→V:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:0.75→A:0.75→B:0.75→C:Return:

LbI R:If Z≤445:Then Goto L:Else If Z≤506.9:Then 0.25×(Z-445)÷21.2→Q:.75+Q→A:A→B:A→C:Return:IfEnd

子程序中字母表示说明:

A-挖方第一阶边坡边率;B-挖方第二阶边坡边率;C-挖方第三阶边坡边率;E-挖方第一阶高度;F-挖方第二阶高度;M-挖方路基碎落台及水沟宽度;N-挖方第二台阶平台宽度;S-挖方第三台阶平台宽度;I-填方第一阶边坡边率;J-填方第二阶边坡边率; W-填方第一阶高度;V-填方第二台阶平台宽度。(注:本程序只做出挖方三个台阶,填方二个台阶,如需增加,先需在程序5BP程序相应增加。再如一标段有坡率及坡高不一样时,

可以照其它参数程序一样,用判别语句。)

三、使用说明

1、规定

(1) 坐标计算以交点方式计算,一般情况下一个交点计算一段线是:直线+缓和曲线+圆曲线+缓和曲线+直线。在匝道中先根据实际线来调整,可以单独计算一段不完整的缓和曲线+圆曲线。也可以单独计算一段缓和曲线或一段圆曲线,需先运行T程序整理成交点数据。无缓和曲线时,缓和长度输0。

(2) 程序中:×10-9 为10的负9次方即0.000000001; Π为圆周率即3.1415926; √为根号;" X=":X前有空格二个,为了显示效果

(3) 为了区别字母O及数子0,特把字母0加粗。

2、输入与显示说明

输入提示部分:

"A:XY=1, ZD=2 ,GC=3, GD=4, BP=5, FM=6, ZP=7, JS=8,SD=9"? 按对应数子键约半秒:1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序XZ?YZ? 为置仪点坐标,第一次运行输一次,以下运行不需再输入,下次再运行此程序调上次输值,如需改,则输入,不需改,则按确认键。(后附有导线点坐标存储子程序,有兴趣的可加上)

“QX:X1=1,X2=2”?选择经路,坐标计算中输入0值,变为输入线元段曲线要素。输1为第一条线路。输2为第二条线路,本程序暂设计实例为2条线路。

KM?正算时所求点的里程(反算输入大概桩号)输入-1,返回输入选择计算类型,输入-2,返回选择线路。 D ?正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零)

X0 ?反算时所求点的X坐标(放样程序中实测X坐标)

Y0 ?反算时所求点的Y坐标(放样程序中实测Y坐标)

显示部分:

L0? 涵洞放样程序中涵距中心桩号前后距离,前为正,后为负.(即涵洞半幅宽度)

M0? 放样程序中原地面标高输入

H-B?计算面至路面高差(默认路面为0)

PJ1? PJ2? PJ1为路线中线与边线的右夹角。第二夹角为边线至路前进方向夹角,默认值均为90度.

TH-GH?边坡放样中填方超放宽值,默认值为0.5m.

"LD:Z-,Y+"? 桥梁锥坡向左右方向边长,左为负数,右为正数。(即为锥坡高程减地面高程后乘以填方坡比)

"LR"? 锥坡向路线前进或向后退方向边长。"Z0"? 锥坡顶边桩号

"L0:SZ+,DZ-"?锥坡放样中,椭圆上分段放样距离,小桩号锥坡输正数,大桩号锥坡输负数。

“CQHD”? 隧道超欠挖程序中衬砌厚度, 默认值为0.5m.

QX子程序中和T程序结果中:““JDKM”?输入交点桩号;“JDX”? “JDY”?输入交点X、Y坐标;“FWJ“?输入起点至交点方位角”ZJ“?输入转角(终点方位角-起点方位角之差,左转为负,右转为正);“LS1”?“LS2”?输入交点前段缓和曲线长度,交点后段缓和曲线长度;“T1”? “T2”? 输入交点前段切线长度,交点后段切线长度;”R”?圆半径

输出部分

X=*** 正算时,计算得出的所求点的X坐标

Y=*** 正算时,计算得出的所求点的Y坐标

FWJ=*** 正算时,计算得出的所求点的至置仪点方位角

S=*** 正算时,计算得出的所求点的至置仪点距离

KM=*** 反算时,计算得出的所求点的里程

D=*** 反算时,计算得出的所求点的边距

H=*** 所求点位置设计计算面顶标高

I=*** 所求点位置设计路面横坡(D输0时为,本段路基纵坡)

LGD=*** 所求点位置设计路面顶左半幅标准宽度

LGD=*** 所求点位置设计路面顶右半幅标准宽度

LX=*** 边桩放样程序中实测点至设计边坡点距离,正向内移,负向外移。(隧道程序中为超欠挖值,正为超挖,负为欠挖)

TW=*** 边桩放样程序中,实测放样边坡点至止桩号设计顶填挖高度值(负为挖方值,正为填方值)

H0=*** 隧道放样程序中测量点至设计面高度

四、结束语

1、本套程序实例线路给二条,如标段像匝道有多条线时,同理增加。

2、为了更好的开发计算器程序,本人特建一QQ群,欢迎各位测友加入,QQ群号是:24817026。

3、所有对程序有建议或问题的,加本人QQ后可以直接留言,由于工作原因,可能不能马上给予答复,敬请谅解!(加QQ为好友时请注明:计算器程序)

附后为坐标计算参数子程序X1、X2和高程计算子程序S1、S2数据来源(X1、S1为C线,X2、S2为I线)

交点数据均需先运行T程序,计算出交点数据

例如X1要素:先运行T程序,输入表中C线参数:QKM输0;XQ输2600509.148;YQ输514063.566;LS1输40.857;LS2输81.667;A1输80,A2输70;FWJ输299。43‘39“;ZP输183。45‘18.1“;R输60。计算后各要素结果记录在本上,再对应做X1子程序就可以了。

上图为SD1程序中Z[4]=1时隧道断面参数数据的图。

1、附带坐标计算面积小程序 程序名:XY-S

0→Q:Norm 2:1→I:?N:〞X1〞?X:〞Y1〞?Y:X→A:

Y→B:X→E:Y→F:Do:“XN〞?X:〞YN〞?Y:Q+(XF-YE)÷2→Q:X→E:Y→F:I+1→I:Lpwhile I≠N:Q+(AF-BE)÷2→S:〞MIAN JI= 〞:Abs(S◢

(运行后N?,输入点数,然后输入第一点坐标,再着输入2点一直输入N点后就出来面积)

2、另附一个导线点数据库程序:

先修改原DX子程序:程序名:DX

Z[5]→K:Z[6]→L:“XZ”?K:If K=0:Then Prog”DX1”:Goto 0:IfEnd:”YZ”?L:LbI

0:K→Z[5]:L→Z[6]

导线点坐标存储程序

程序名:DX1

0→A:Do:”PH:A(1),B(2),C(3),D(4)”?A:If A=11:Then 11468.425→K:2275.035→L:Goto 0:IfEnd: If A=21:Then 11800.525→K:4275.135→L:Goto 0:IfEnd: If A=31:Then 10500.05→K:4575.635→L:Goto 0:IfEnd: If A=41:Then

9500.05→K:3575.635→L:Goto 0:IfEnd:LbI 0:” XZ=”Locate 6,4,K: ” YZ=”Locate 6,4,L:0→B:”OK”?B:LpWhile B≠0

说明:在输导线点坐标时,X输0则调出导线点存储程序,输入编号的数,则出来对应的XY坐标,(编号可按字母用数子排)

因篇幅问题不能全部显示,请点此查看更多更全内容