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 ⑤Lbl 2:If L ⑦Lbl 3 七、GG程序:用统计数据中桩号,左右高程数据进行内插计算。 ①FreqOff : n→C:FreqOn:If L ③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] ⑦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 H 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 M √(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 Z 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:H (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坐标,(编号可按字母用数子排) 因篇幅问题不能全部显示,请点此查看更多更全内容⑥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