- 主程序(NTSSD–CQW)
Lbl 1:5→DimZ:(增加Z型5个变量)
600→S:(输入近似里程)
Prog“SUB0”↙(定义所在线元数据库)
1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:
“X=”?X:“Y=”?Y:X→I:Y→J:(输入实测XY坐标,)
“H=”? →Z[1]: (输入实测高程)
“R=”? →Z[2]: (输入断面理论半径)
Prog“SUB2”:(调用反算子程序,由反算两次调用正算子程序)
O+W→S:“K=”:S◢“BIANJULI=”:Z◢(得到桩号及离中心桩距离)
Abs(Z)→B: (将变量值另存,利于后面计算)
617.42→C: (定义此段竖曲线变坡点桩号,也可?C:输入)
71.1→D: (定义此段竖曲线此段竖曲线变坡点高程)
1→I: (定义此段竖曲线后坡点坡度)
-0.6→J: (定义此段竖曲线前坡点坡度)
1500→R: (定义此段竖曲线变坡半径值)
-1→Q: (判断是凸凹曲线类型, -1→Q:I<J=>1→Q )
240→L: (定义此段竖曲线曲线长)
120→T: (定义此段竖曲线切线长)
0.48→E: (定义此段竖曲线外距)
497.42→M: (定义此段竖曲线变坡曲线起点桩号)
737.42→N: (定义此段竖曲线变坡曲线终点桩号)
S→K: (将变量值另存,利于后面计算)
Prog“SUB3”: (调用高程计算子函数)
Fix 3: (输出保留3位小数)
1.5+Z→Z: (将路面设计值加减设计值得到开挖圆心高程)
√((Z[1]-Z)2+B2)→X:(得到实测点到圆心的距离)
“CQW=”:X-Z[2]→A:◢(将实测点半径减理论半径即为超欠挖)
ClrMemory:Goto 1
2. SUB0 数据库子程序
Goto1↙ 同时保存多个曲线时的指针
Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd↙
Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd
……………..
为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件
3. 正算子程序(SUB1)
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)))→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
4. 反算子程序(SUB2)
G-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W: 0→Z:Lbl 0:Prog “SUB1″:
T+QEW(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<0.000001:Then0→Z:Prog “SUB1” :(J-Y)÷sin(F)→Z↙
Else W+Z→W:Goto4:IfEnd
5高程计算子程序(SUB3)
IF K≤ M: Then D+(K-C)I/100→Z: Return:IfEnd↙
IF K> M And K≤C :Then (K-M)2/(2R) →P:D+(K-C)I/100+QP→Z: Return:IfEnd↙
IF K> C And K≤N :Then (K-M)2/(2R) →P:D+(K-C)J/100+QP→Z: Return:IfEnd↙
IF K> N: Then D+(K-C)J/100→Z: Return:IfEnd↙
经反复核对的,绝对能用,5800P上运行要4秒出结果。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。