CASTO5800全线竖曲线计算程序

  • 格式:doc
  • 大小:43.50 KB
  • 文档页数:6

CASTO5800全线竖曲线计算程序 5800竖曲线计算程序(主程序) LbI 1: “H"? H: Prog"SJK”: C-D →F:Abs(RF/2)→T:R(Abs(F )/F)→R :If H≤B-T: Then 0→K : Else If H≥B+T: Then 0→K : D →C : Else H-B+T→K: IfEnd : IfEnd ↙ A-(B-H)C-K∧2/2/R →G:"G=";G▲ Goto 1 子程序:SJK if H≦第二竖曲线起点桩号(158497.5):Then第一竖曲线交点高程(380.738)→A:第一竖曲线交点桩号(157150)→B:第一竖曲线前坡比(-0.0115)→C:第一竖曲线后坡比(0.0155)→D:第一竖曲线半径(30000)→R:Goto 1: IfEnd ↙

if H≦第三竖曲线起点桩号(159375):Then第二竖曲线交点高程(404.763)→A:第二竖曲线交点桩号 (158700)→B:第二竖曲线前坡比(0.0155)→C:第二竖曲线后坡比(0.002)→D: 第二竖曲线半径(30000)→R: Goto 1: IfEnd ↙ 继续添加要素

FX5800P全线任意里程中边桩坐标正反算(加了数据库)

主程序 ZBJS Lbl6:"1.SZ→ XY":"2.XY→ SZ":?S:?N:﹖C:Prog“SUB0” Lbl0:( P-R)÷(2HPR) →D:180÷π→E:IF N=1: Then Goto 1:Else Goto 2 Lbl 1:?Z: Abs(S-O)→W: Prog"SUB1":"XS=":X◢ "YS=":Y◢ "FS=":F-C ►DMS◢ Prog”GC” 0→O:?O:O=0=>Goto 6 “JL=”?L “JIAO DU=”?A X+LCOS((F)+A)→O:Y+LSIN((F)+A)→V:Cls:”X1=”:Locate4,1,O:”Y1=”:Locate4,2,V:Return:IFend “XC” ?C: “YC” ? E:0→I:0→J:Pol(X-C,Y-E):“I=”:I◢ If J∠0: Then “J=”: J+360►DMS◢ IfEnd If J >0:Then “J=” :J►DMS◢ IfEnd:Goto 6 Lbl 2 ?X:?Y:X→I:Y→J:Prog"SUB2":O+W→S:Cls:"S=":S◢ "Z=":Z◢ Prog”GC”空格0→O:?O:O=0=>Goto 6 7→Dimz:”SCG=”? →Z〔2〕:”JU Z=”? →Z〔3〕:”GAO CA=” ? →Z〔4〕:“BAN JING=” ? →Z〔5〕:IF Z≤30(左线大于等于-30):Then”T=”:Abs(Z〔3〕±Z)- Z〔5〕→Z〔6〕◢(分离式路基左为正,右为负) “P=”:Z±Z〔3〕→Z〔1〕◢(分离式路基左为正,右为负) “W=”:( Z〔2〕-G- Z〔4〕)→Z〔7〕◢ “CQW=”:√( Z〔7〕∧2+ Z〔1〕∧2))- Z〔5〕◢ Goto 6:Retunr:IFend 正算子程序 SUB1 0.1739274226→A: 0.3260725774→B: 0.0694318442→K: 0.3300094782→L: 1-L→F: 1-K→M:U+W(Acos(G+QEKW(1/P+KWD))+Bcos(G+QELW(1/P+LWD))+Bcos(G+QEFW(1/P+FWD))+Acos(G+QEMW(1/p+MWD)))→X: V+W(Asin(G+QEKW(1/P+KWD))+Bsin(G+QELW(1/P+LWD))+Bsin(G+QEFW(1/P+FWD))+Asin(G+QEMW(1/P+MWD))) →Y: G+QEW(1/P+WD)+90→F: X+Zcos(F)→X: Y+Zsin(F)→Y 反算子程序 SUB2 G-C→T Abs (Y-V)cosT-(X-U)sin(T) →W:0→Z:Lbl0:Prog "SUB1" T+QEW(1/P+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z IF Abs(Z)<1E-6:Then Goto1:Else W+Z→W:Goto0:IfEnd Lbl1:0→Z:Prog "SUB1":(J-Y)÷sin(F)→Z GC Prog"SJK”: I-D →W:Abs(RW/2)→T:R(Abs(W )/W)→R :If S≤B-T: Then 0→K : Else If S≥B+T: Then 0→K : D →I : Else S-B+T→K: IfEnd : IfEnd ↙ A-(B-S)I-K∧2/2/R →G:"G=";G▲ Goto 1 子程序:SJK If S≦第二竖曲线起点桩号(158497.5):Then第一竖曲线交点高程(380.738)→A:第一竖曲线交点桩号(157150)→B:第一竖曲线前坡比(-0.0115)→I:第一竖曲线后坡比(0.0155)→D:第一竖曲线半径(30000)→R:Goto 1: IfEnd ↙

If S≦第三竖曲线起点桩号(159375):Then第二竖曲线交点高程(404.763)→A:第二竖曲线交点桩号 (158700)→B:第二竖曲线前坡比(0.0155)→I:第二竖曲线后坡比(0.002)→D: 第二竖曲线半径(30000)→R: Goto 1: IfEnd ↙ 继续添加要素 数据库子程序 SUB0 Goto 1(线元可输入多条,分离式可在前多加一位,匝道一样。例:左幅为K129+500,右幅输线元参数里程为1129+500,其他不变,前面1为任意数字,计算机便于区分) Lbl 1:IF S起点X坐标):@@@→V(线元起点Y坐标):@@@→G(线元起点计算方位角):@@@→P(线元起点半径):@@@→R(线元止点半径):@@@→H(线元长度):@@@→Q(线元左、右偏标志,左偏-1,右偏1,直线为0):Return:IfEnd IF S标):@@@→V(线元起点Y坐标):@@@→G线元(起点计算方位角):@@@→P(线元起点半径):@@@→R(线元止点半径):@@@→H(线元长度):@@@→Q(线元左、右偏标志,左偏-1,右偏1,直线为0):Return:IfEnd IF S标):@@@→V(线元起点Y坐标):@@@→G(线元起点计算方位角):@@@→P(线元起点半径):@@@→R(线元止点半径):@@@→H(线元长度):@@@→Q(线元左、右偏标志,左偏-1,右偏1,直线为0):Return:IfEnd IF S标):@@@→V(线元起点Y坐标):@@@→G线元(起点计算方位角):@@@→P(线元起点半径):@@@→R(线元止点半径):@@@→H(线元长度):@@@→Q(线元左、右偏标志,左偏-1,右偏1,直线为0):Return:IfEnd

。。。。。。。。。。。。。。。。。。。。。。。。。。。 一程序功能 本程序由一个主程序(ZBJS)和5个子程——正算子程序(SUB1)、反算子程序( SUB2) 、数据库子程序(SUB0),高程子程序(GC)和高程数据库(SJK)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、终点曲 率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。另外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲线任意里程中边桩坐标进行正反算。可以计算计算点的中桩设计高程,以及隧道超欠挖。涵洞及其它角点的坐标。 二、使用说明 1、规定 (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。 (2) 当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线中线右侧时,Z取正值。 (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。 (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。 (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

2、输入与显示说明 输入部分: 1. SZ => XY 2. XY = > SZ S ? 选择里程 ,N?,Z?左或右偏距。选择计算方式,1.表示进行由里程、边距计算坐标 ;输入2表示由坐标反算里程和边距。 显示部分: XS=××× 正算时,计算得出的所求点的X坐标 YS=××× 正算时,计算得出的所求点的Y坐标 FS=××× 正算时,所求点对应的中线点的切线方位角 XC=××× 测站点X值 YC=××× 测站点Y值 I=XXX 测站到放样点距离 J=XXX 测站到放样点方位角 S=××× 反算时,计算得出的所求点的里程 Z=××× 反算时,计算得出的所求点的边距 G=计算点高程 显示0时不计算另外一点坐标,输入0以外的数字则计算计算点外任意一点及角度的点的坐标,距离大桩号为负;小桩号为正,角度为180-斜交角。 S= 反算时,计算得出的所求点里程 Z= 反算时,计算得出的所求点边距 G为该桩号的中桩设计高程 显示0时,不计算隧道超欠挖,输入0 以外的数字则计算隧道超欠挖