5800道路三维坐标计算

5800道路三维坐标计算

Fx-5800道路三维坐标计算器程序

作者:姚 崇

QXJS-000 主程序(文件名)

“1.SZ=>NE”:“2.NE=>SZ”:?Q↙
Lbl 4:?S:“PJ=”?K:Prog“QXJS-SUB0”↙
Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙
Lbl 1:?Z:Prog“QXJS-SUB1”: “F=”:F◢DMS◢ “N=”:N◢ “E=”:E◢Prog“GCJS”: Goto4↙
Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “S=”:S◢ “Z=”:Z◢  Goto4↙

QXJS-SUB0  数据库子程序(文件名)
Goto1↙               同时保存多个曲线时的指针
Lbl 1
IF S<***(线元终点里程):Then***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→L(线元起点至终点长度): Return:IfEnd↙
IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R: ***→L: Return:IfEnd↙
………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。

QXJS-SUB1   正算子程序(文件名)
0.5(1÷R-1÷P)÷L→D:S-O→X↙
U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙
V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙
A+(X÷P+DX2)×180÷π→F↙
N+Zcos(F+K) →N:E+Zsin(F+K) →E

QXJS-SUB2  反算子程序(文件名)
Lbl 1:0→Z:1→Q:Prog“QXJS-SUB0”: Prog“QXJS-SUB1”↙
Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-K-J) →W:S+W→S↙
Abs(W)>0.0001 => Goto1↙
Lbl 2: 0→Z:Prog“QXJS-SUB1”:(C-E) ÷sin(F+K) →Z

GCJS(高程计算—文件名)
Lbl 0: Prog“SJK”: 0.005R Abs(I -L) →T:T2÷2÷R→E:
Z[1]-T→A:Z[1]+T→B:S-A→C:B-S→D:S-Z[1]→E←┘
If L >I:Then 1→J:Else -1→J:IfEnd←┘
If S<A:Then 0→C:Else S>B =>0→D:IfEnd←┘
If S≦Z[1]:Then I→Y:C→G:Else S >Z[1]=>L→Y:D→G: IfEnd←┘
Lbl 1:Fix 3:“ZP=”:H+EY÷100+JG2÷2÷R◢
Goto 0←┘

SJK(高程计算子程序—数据库)
If S≦下一竖曲线起点And S >上一竖曲线终点:Then  ……→Z[1](变坡桩号): ……→H(变坡高程): ……→R(竖曲线半径):……→I(第一纵坡坡度,带正负号): ……→L(第二纵坡坡度,带正负号): IfEnd←┘

坐标正反算输入与使用使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当曲线半径在左时,P、R取负值,当曲线半径在右时,P、R取正值,当曲线半径为无穷大(即直线)时,P、R以10的45次代替。
(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。当PJ=90时,表示与线路正交
(3) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

2、输入与显示说明输入部分:
1. SZ => XY
2. XY = > SZ
Q ?  选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算里程和边距。

高程计算输入与显示说明:变坡点桩号 用变量Z[1]表示
H——变坡点高程
R——竖曲线半径
I ——前纵坡,L——后纵坡,前后纵坡值 输入格式:6.1%输入6.1,有负号的要输入负号
T——切线长 ,E——竖距
求点设计高程的桩号 用变量S表示
Fix 3:计算结果保留3位小数

本程序坐标计算部分是根据李艳阳老师上传的程序进行适当修改,高程计算部分也是根据别人的程序修改的,本人只是作了个组合,谢谢各位老前辈的指点。
坐标计算不分能计算左、中右的坐标,高程只能计算中桩的,有兴趣的朋友可以研究一下计算边桩的,供大家同行使用。

  • 发表于 2018-11-05 14:11
  • 阅读 ( 44 )
  • 分类:5800

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

87 篇文章

作家榜 »

  1. admin 87 文章
  2. 胡亮 3 文章
  3. 肖肖 2 文章
  4. 12 1 文章
  5. boyving 1 文章
  6. 刘知远 0 文章
  7. flz0728 0 文章
  8. 刘伟 0 文章