(注:高程要算第二遍才是正确的)
输入图纸中的整个标段交点要素,输入桩号及距中桩距离正算本标段任意点坐标,及极坐标放样的方位角及距离;由输入大概桩号及实测坐标,反算准确桩号及距中桩距离。
1、 主程序
程序名:1XY-KM
LbI 0:17→DimZ:Norm 2:1→A:"A:X,Y=1,KM,D=2,SD=3"?A: A=1=>Goto 1:A=2=>Goto 2: A=3=>Goto 3:LbI 1:Z[4]→K:Z[5]→L:“XZ”?K:”YZ”?L:K→Z[4]:L→Z[5]:LbI A:Prog"QX":90→B:"PJ"?B:B→Z[1]:LbI B:"KM"?Z:Z= -1=>Goto 0:Z=-2=>Goto A: Prog"X1": Prog"G": Z→Q: Prog"S1":?D: Prog "Z":I+D×COS(Z[2]+Z[1]→X: J+D×Sin(Z[2]+Z[1]→Y: Fix 3:" X=":Locate 6,4,X:" Y=":Locate 6,4,Y:" h=":Locate 6,4,Z[12]◢ Prog"JS":Goto B: LbI 2:Prog"QX":"KM"?Z:LbI C: Prog"X1": "XO"?X:X=-1=>Goto 0:X=-2=>Goto 2: "Y0"?Y:Prog "ZX": Fix 3:" KM=":Locate 6,4,Z:" D=":Locate 6,4,D:Prog "G":Z→Q: Prog "S1": Fix 3: " h=": Locate 6,4,Z[12]◢ Goto C LbI 3:Prog"QX":"KM"?Z:LbI D: Prog"X1": "XO"?X:X=-1=>Goto 0:X=-2=>Goto 2: "Y0"?Y:Prog "ZX": Fix 3:" KM=":Locate 6,4,Z:" D=":Locate 6,4,D:Prog "G":Z→Q: Prog "S1": Fix 3: " h=": Locate 6,4,Z[12]: Prog "SD"◢ Goto D
2. 交点法正算子程序(Z)
程序名:Z
H2÷R÷24-H∧(4)÷2688÷R∧(3)→A:H÷2-H∧(3)÷240÷R2→B:((H2-N2)÷24÷R÷Sin(Abs(P))-((H∧(4)-N∧(4))÷2688÷R∧(3))÷Sin(Abs(P→E:(R+A)tan(Abs(P)÷2)+B-E→T:P÷Abs(P→W:0→M:H→C: (R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan(Abs(P)÷2)+N÷2-N∧(3)÷240÷R2+E→Z[6]: O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Z[7]: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≤Z[7]: Then 180(Z-O+T-0.5H)÷R÷Π→S : A+R(1-Cos(S))→B:H÷2-H∧(3) ÷240÷R2+Rsin(S)→A:R→M:G+WS→Z[2]: A-T→A:G→E :Goto 2: IfEnd: If Z≤Z[7]+N:Then Z[7]+N-Z→S:Z[6]→T :N→H:Prog “HX”:G+P→E:E-WK→Z[2]:T-A→A:C→H:Goto 2:IfEnd: Z-Z[7]-N+Z[6]→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
3. 交点法缓和段子程序(HX)
程序名:HX
S-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4) ÷H∧(4→A:S∧(3) ÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5) ÷H∧(5→B:90S2÷Π÷R÷H→K:RH÷S→M
4. 交点法反算子程序(ZX)
程序名:ZX
0→D:Do:Z+D→Z:Prog“Z”:Pol(X-I,Y-J+.000000001: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)>0.001:Z+D→Z:S→D
5.线路选择子程序(线路选择输0时。则输曲线参数(QX)
程序名:QX
1→A:”QX:?=0,X1=1,X2=2”?A:A→Z[3]: If A=0:Then ”JDKM”?O:”XJ”?U:”YJ”?V:”FW”?G:”LS1”?H:“LS2”?N:“JDZJ”?P:?R:IfEnd
6.坐标计算参数矩阵调出子程序(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]→H: Mat F[1,6]→N: Mat F[1,7]→P: Mat F[1,8]→R
7:极坐放样计算程序(计算放样点至置仪点方位角及距离)
程序名:JS
Z[4]→K:Z[5]→L:Pol(X-K, Y-L+.0000000001): J<0=>J+360→J: 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◢(注此处黑三角取消)
8.数据子程序(根据自己标段设计数据修改红色部分)
程序名:X1(坐标计算要素程序,暂例子只给二条线路参数)
Z[3]=0=>Return:Z[3]=1=>Goto 1:Z[3]=2=>Goto 2: LbI 1:If Z≤122269.856:Then [[121656.952, 2603848.019, 508351.147, 98°53′22.6″,660,300, 41°47′44.1″, 1415.097]]→Mat F: Prog”F”: Return: IfEnd: If Z≤125115.9:Then [[123984.982, 2601974.464, 509885.441, 140°41′06.8″,700,400, -39°31′43.7″,2800]]→Mat F: Prog”F”: Return:IfEnd: LbI 2:If Z≤396.166:Then [[213.698, 2600569.493, 514256.323, 238°49′17.1″,107.584,120.474, 64°39′40″, 250]]→Mat F: Prog”F”: Return: IfEnd:
说明:If Z≤交点HZ点桩号(或者直线段桩号):Then[[交点桩号,交点X坐标,交点Y坐标,前交点至止交点方位角,交点前段缓和曲线长度,交点后段缓和曲线长度,交点转角,圆半径]] →Mat F: Prog”F”: Return: IfEnd:
注:转角分正负,左偏为负,右偏为正.加粗O为子母..Z[2]值为所计算点切线方位角。
9、竖曲线程序G
Lbl0: Mat C[1,1]→Z[11]: Mat C[1,2]→Z[8]: Mat C[1,3]→Z[16]: Mat C[1,4]→Z[9]: Mat C[1,5]→Z[10] Q→Z[13] (Z【10】- Z【9】)÷100→Z【15】 :Abs(Z【16】×Z【15】/2) →Z【14】: Z【13】≤Z【11】- Z【14】=> Z【8】- Z【9】÷100×(Z【11】- Z【13】) →Z【12】 Z【13】≥Z【11】- Z【14】=> Z【8】- Z【9】÷100×(Z【11】- Z【13】)+( Z【13】+ Z【14】- Z【11】) 2Abs(Z【15】)÷(2 Z【15】Z【16】) →Z【12】 Z【13】≥Z【11】=> Z【8】- Z【10】÷100×(Z【11】- Z【13】)+ (Z【13】- Z【11】- Z【14】) 2Abs(Z【15】)÷(2 Z【15】Z【16】) →Z【12】 Z【13】≥Z【11】+ Z【14】=> Z【8】- Z【10】÷100×(Z【11】- Z【13】) →Z【12】
10.数据子程序(根据自己标段设计数据修改红色部分)
程序名:S1(高程计算要素程序)
………………………
说明:If Z[13]≤本竖曲线终点里程:Then[[竖曲线交点桩号,交点高程,竖曲线半径,前坡度,后坡度]] →Mat C: Prog”G”: Return: IfEnd:
……………………………………………………
11、隧道子程序名(SD)
“h1=”?B If B-Z[12]>1.61:Then √(Abs(D)2+(B-Z【12】-1.61)2)-5.7→Z【17】: “CQ-1=”: Z【17】:IfEnd: If B-Z[12]<1.61:Then √((Abs(D)+2.5)2+(B-Z【12】)2)-8.2→Z【17】: “CQ-2,3=”: Z【17】:IfEnd:
(“h1=”为实测高程)
(1.61为第一圆心高,5.7为第一圆心半径)
(1.61为第二,三圆心高,8.2为第二,三圆心半径)
…………………如果有其他圆心,继续添加,括号后2为平方
输入部分:
1、"A:X,Y=1,KM,D=2,SD=3"? 选择正反算,输1为正算,输2为反算;输入3为隧道超欠挖。
2、XZ? YZ?输入置仪点X、Y坐标
3、”QX:?=0,X1=1,X2=2”? 选择手工输入参数及调入参数,输0则手工输入交点线元参数,输1则调入子程序X1中第一条线路,输入计算第二条线路。
4、PJ? 路线方向中线向右夹角,默认为90度;
5、JDKM?XJ?YJ?FW?LS1?LS2?JDZJ?R?分别输入:交点桩号,交点X坐标,交点Y坐标,前交点至止交点方位角,交点前段缓和曲线长度,交点后段缓和曲线长度,交点转角,圆半径
6、KM? 输入计算段任意点桩号(主程序中输-1,返回选择正反算,输-2,返回选择输入选择线路或输入参数.
7、D? 距中桩距离,左负,右正,中桩输0。
输出部分:
1、X=***,Y=***,h=*** 正算时,计算得出的所求点的坐标及高程
2、FWJ=*** SD=*** 正算时,计算得出的所求点的至置仪点方位角(显示125.3258即是125度32分58秒)及所求点到测站的距离。
3、KM=*** D=*** h=*** 反算时,计算得出的所求点的里程,便距,及所求点的设计高程。
4、隧道超欠运算KM=*** D=*** h=*** 反算时,计算得出的所求点的里程,便距,及所求点的设计高程。输入:”h1=”实测高程,”CQ-1”显示圆心及超欠挖.
还木有评论哦,快来抢沙发吧~