1、 5800坐标正反算以及隧道开挖线放样程序 1-JIN YU(主程序) Lbl 4:"1→ZS,2→FS,3→CQW"?N N=1=>Goto 1:N=2=>Goto 2:N=3=>Goto 3 Lbl 1: “K=”?S:“P=”?Z:Prog “SJ¬-PM”: Abs(S-O) → W:Prog "SUB1-ZS": “X=":Locate4,4,X:"Y=":Locate4,4,Y:F-90→F:S→ K:Prog“SJ¬-GC”:“H=”:Locate4,4,H◢ Goto 4 Lbl 2:“X=”?X:“Y=”?Y:Prog“SJ¬-PM”: X→ I: Y→
2、J:Prog "SUB2-FS":O+W→S: “K=":Locate4,4, S :“P=":Locate4,4, Z:S→ K:Prog“SJ¬-GC” :“H=”:Locate4,4, H◢ Goto 4 Lbl 3: “X=”?X:“Y=”?Y:Prog“SJ¬-PM”: X→ I: Y→ J:Prog "SUB2-FS":O+W→S: “K=":Locate4,4, S :“P=":Locate4,4, Z:S→ K:Prog“SJ-GC” :“H=”:Locate4,4, H◢ Prog“SJ-CQW” ◢ Goto4 SJ-PM(子程序名-平面线形数据库) If S
3、 ≥59227.681(线元起点里程):Then 2599818.013→U(线元起点X坐标):496887.918→V(线元起点Y坐标):59227.681→O(线元起点里程):208028’39”→G(线元起点方位角):100 →H(线元长度):1×1045→P(线元起点曲率半径):1×1045→R(线元终点曲率半径):0 →Q(线元左右偏标志:左-1右1):IfEnd If S ≥59327.681(线元起点里程):Then 2599730.112→U(线元起点X坐标):496840.237→V(线元起点Y坐标):59327.681→O(线元起点里程):208028’39”→G(线元起
4、点方位角):90 →H(线元长度):1×1045→P(线元起点曲率半径):750→R(线元终点曲率半径):-1 →Q(线元左右偏标志:左-1右1):IfEnd …… …… SJ-GC¬(子程序名-竖数据库) If S<变坡终点里程And S≥变坡起点里程:Then大里程坡度→A:小里程坡度→B:变坡点里程→O:变坡点高度→G:半径→R:Prog“SUB3-GC”:IfEnd VB源码彩色显示 注:在[code]...[/code]内就以下面格式显示文字,双击源码拷贝到剪切板 (注:1.有多个竖曲线,依照上面的依次变更,每多一个,就增加一个。每次只需要修改以上的数据或增加一个判断,子
5、程序不用变动。2.如整条线只有一个纵坡比喻为2﹪,那么程序应为If S<终点里程And S≥起点里程:Then 0.02→A:0.02→B:起点里程→O:起点高程→G:1×1045→R:Prog“SUB3-GC”:IfEnd) SJ-CQW (子程序名-隧道数据库) “H1=”?F If F-H>5.845:Then √((Abs (Z))2+(F-H-0.45)2 )-7.45→W: IfEnd: If F-H≤5.845 And F-H>-1.169: Then √((Abs (Z)-1)2+( Abs (F-H-1.5)) 2)-6→W :IfEnd: If F-H
6、≤-1.169: Then √((Abs (Z)) 2+(H-F+14.05) 2)-16.5→W: IfEnd: … … “+CQ,-CQ=”: W SUB1-ZS(正算子程序) 1÷P→ C: (P-R)÷(2HPR) → D: 180÷π→ E: 0.1739274226→ A: 0.3260725774→ B: 0.0694318442→ K: 0.3300094782→ L: 1-L→ F:1-K→ M: U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)
7、)) → X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) → Y: G+QEW(C+WD)+90→ F: X+Zcos(F)→ X: Y+Zsin(F)→ Y SUB2-FS(反算子程序)¬ G-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) → W: 0→ Z:Lbl 0:Prog "SUB1-ZS": T+QEW(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L) → Z:If Abs(Z)<1E-6(注:此处1E-6可输入
8、0.000001):then Goto1:Else W+Z → W:Goto 0:IfEnd Lbl 1: 0→ Z:Prog "SUB1-ZS": (J-Y)÷sin(F)→ Z SUB3-GC(高程子程序) O-S→L:A-B→W:Abs(R*W÷2) →T:O-T→M:O+T→P If S≤M:ThenG-L*B→H:Goto5:Else If S≤O:Then Goto3:Else If S≤P:Then Goto4:IfEnd: IfEnd: IfEnd Lbi3 If W>O:Then G+(M-S)2÷2÷R-L*B→H:Goto5: Else If
9、 W<O: Then G-(M-S)2÷2÷R-L*B→H:Goto5: IfEnd: IfEnd Lbi4 If W>O:Then G+( S-P)2÷2÷R-L*A→H:Goto5: Else If W<O: Then G-( S-P)2÷2÷R-L*A→H:Goto5: IfEnd: IfEnd Lbi5 H→H: Return VB源码彩色显示 注:在[code]...[/code]内就以下面格式显示文字,双击源码拷贝到剪切板 说明:(正算1秒,反算和超欠挖5秒完成) 所有程序名。不同线路,只需改动SJ-PM,SJ-GC,SJ-CQW三个子程序里的内容,其
10、它不变。注意0和O的区别 1为正算,2为反算,3为超欠挖. K= 正算时,输入所求点里程。 反算时得出里程结果 X=,Y= 正算时得出结果。 反算时输入实测坐标 P= 正算时输入偏距。 反算时得出偏距 H= 正算时得出高程。 反算时得出高程 H1= 超欠挖时输入实测高程 +CQ,-CQ= 得出超欠挖值 注,超欠挖输入时显示里程,编距,设计高程,不需输入。只输入实测量高程H1
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818