CASIO fx9860计算器三维线路计算程序.docx

上传人:b****7 文档编号:15491634 上传时间:2023-07-05 格式:DOCX 页数:21 大小:21.36KB
下载 相关 举报
CASIO fx9860计算器三维线路计算程序.docx_第1页
第1页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第2页
第2页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第3页
第3页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第4页
第4页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第5页
第5页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第6页
第6页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第7页
第7页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第8页
第8页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第9页
第9页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第10页
第10页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第11页
第11页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第12页
第12页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第13页
第13页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第14页
第14页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第15页
第15页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第16页
第16页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第17页
第17页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第18页
第18页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第19页
第19页 / 共21页
CASIO fx9860计算器三维线路计算程序.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

CASIO fx9860计算器三维线路计算程序.docx

《CASIO fx9860计算器三维线路计算程序.docx》由会员分享,可在线阅读,更多相关《CASIO fx9860计算器三维线路计算程序.docx(21页珍藏版)》请在冰点文库上搜索。

CASIO fx9860计算器三维线路计算程序.docx

CASIOfx9860计算器三维线路计算程序

程序清单

AA

Do:

Deg:

ClrText

“F1Fangyang”

“F2Jiance”

“F3suidao”

‘FN:

6→V:

3→I:

Prog“GN”

‘XL:

3→V:

Prog“GN”

Prog“FN”:

ClrText

“Cont”:

1→W:

Prog“SC”

LpWhileF=1

ZZ

List7[1]→I:

List8[I]→I:

1→V

Do:

I+1→I:

List9[I+1]→Q

LpWhileK>Q-List12[I+1]

List10[I]→M:

List11[I]→N

List16[I]→S:

List17[I]→R

List9[I]→Q:

-List12[I]→J

6→W

‘QH:

Q+J→Q:

Prog“SC”:

Prog“GN”

K-Q→J:

1E-20→B:

List13[I]→O

O<0=>1÷List17[I-1]→B

AbsO→O:

(1÷R-B÷2÷O→C

ZX:

IfJ<0:

ThenProg“SC”

Return:

IfEnd

7→W

‘HQ:

IfJ

Return:

IfEnd

‘HY:

O→J:

Prog“SC”:

Prog“GN”

Q+O→Q:

K-Q→J:

List14[I]→O

8→W

‘YQ:

IfJ

Return:

IfEnd

‘YH:

O→J:

Prog“SC”:

Prog“GN”

Q+O→Q:

K-Q→J:

List15[I]→O

1÷R→B:

1E20→R

O<0=>List17[I+1]→R

AbsO→O:

(1÷R-B÷2÷O→C

7→W

‘HQ:

IfJ

Return:

IfEnd

‘HZ:

O→J:

Prog“SC”:

Prog“GN”

K-Q-O→J

6→W

‘ZX:

Prog“SC”

主程序

设置角度单位为度

F1放样

F2检测

F3隧道

接受F1~F3功能键

选择输入线路号

执行上述按键对应的F1~F3功能

是否继续F1是F2否

按键为F1时重新开始

中桩计算子程序

获取平曲线数据行号,指定沿曲线按导线递推

读取下一曲线交点里程JD

直到里程小于下一曲线起点(JD-T

读取交点坐标

读取切线方位角和圆半径

读取交点里程和负的切线长

直线计算功能

由交点推算到起缓

求第一缓曲测线长、默认起点曲率、缓曲长

若第一缓长为负令前曲圆曲率为起点曲率

第一缓长改为正,求缓曲变化系数

K小于曲线起点按直线计算

跳出子程序

缓曲计算功能

K小于缓圆按缓曲计算

跳出子程序

由曲线起点推算到缓圆

求圆曲段测线长及圆曲长

圆曲计算功能

K小于圆缓按圆曲计算

跳出子程序

由缓圆推算到圆缓

求第二缓曲测线长、缓曲长

求起点曲率、默认终点半径

若第二缓长为负令后曲圆半径为终点半径

第二缓长改为正,求缓曲变化系数

缓曲计算功能

K小于曲线终点按缓曲计算

跳出子程序

由圆缓推算到缓终

求直线长

直线计算功能

K大于曲终按直线计算

FN

‘FY:

If:

F=1:

ThenDo:

ClrText

“Fangyang”

5→V:

Prog“GN”:

I=0=>Return

Prog“ZZ”:

Prog“GN”

Do:

ClrText:

4→W:

0→L

“F1Daoxian”:

“F2Shexian”:

“F32Bian”

‘FN:

6→V:

3→I:

Prog“GN”:

F→V:

F=3=>2→V

“J”?

->r:

r→J:

“A”→θ:

θ→A

‘SX.DX:

ClrText:

Prog“GN”

‘“XY”:

Prog“SC”

‘SX:

IfF=3:

Then-J→r:

A→θ

Prog“GN”:

Prog“SC”:

IfEnd:

“OK”▲

ClrText:

“F1Next”:

“F2K?

”:

“F3Quit”

‘FN:

6→V:

3→I:

Prog“GN”

LpWhileF=1:

LpWhileF=2

Return:

IfEnd

‘JC:

IfF=2:

ThenDo:

ClrText

“Jiance”:

0→List25[1]

“F1Lumian”:

“F2Bianpo”:

“F32D”

‘FN:

6→V:

3→I:

Prog“GN”:

F→U

‘K?

:

5→V:

Prog“GN”:

I=0=>Return

Do:

‘FS:

“X”?

→X:

“Y”?

→Y

7→V:

Prog“GN”:

I=0=>Return

‘“KJ”:

ClrText:

0→L:

5→W:

Prog“SC”

IfU≠3:

Then“Z”?

→Z

List7[1]→I:

List8[I]→A

IfList25[1]=0:

Then‘ZG:

8→V:

Prog“GN”

3→W:

Prog“SC”:

‘DM:

0→W:

Prog“SC”

‘LJ:

9→W:

Prog“SC”:

IfEnd

IfU=1:

Then“-H”?

→R:

ElseZ-G→R:

IfEnd

‘PK:

0→V:

Prog“GN”

IfU=1:

ThenAbsJ→r:

Z-R-H-(r-KC→R:

r-K-Q→J

ElseAbsJ-E-Q→J:

List25[1]→Q:

J→List25[1]

Q≠0=>QJ÷(Q-J→J:

IfEnd

‘“dKdH”:

0→L:

2→W:

Prog“SC”:

“OK”▲

IfU=2:

ThenClrText

“NextPJ”:

1→W:

Prog“SC”:

F=1=>0=>List25[1]

IfEnd:

IfEnd:

ClrText

“F1Next”:

“F2Menu”:

“F3Quit”

‘FN:

6→V:

3→I:

Prog“GN”

LpWhileF=1:

LpWhileF=2

Return:

IfEnd

主功能子程序

放样计算

“放样”

输入里程

中桩坐标计算

指定显示坐标模式

F1导线,F2射线,F3二边

接受F1~F3功能键

读取测线长,转角

执行导线或射线计算

显示坐标

如按键是F3再算对称点

计算,显示图形第二点坐标

F1下一点,F2更换中桩,F3退出放样

接受F1~F3功能键

执行上述按键对应的F1~F2功能

如是F3退出

检测计算

“检测”

F1路面,F2边坡,F32维”

接受F1~F3功能键

输入近似里程

输入待检坐标

执行反算求出里程和位置

显示里程和位置

如不是F3则输入测点高程

获取纵横断面数据行号

如第一次测断面则计算中桩高

显示中桩高,获取断面数据行号

计算硬(土路肩高,宽,

如F1待检层距路面高,F2计算测点和土路肩高差

求测点边坡宽(相对路肩

如F1求相对路面边的高宽超欠

如F2求相对土路肩高差和边坡宽基本超欠

如不是第一点则考虑原地面坡度修正宽超欠

显示高差,宽度超欠

如F2检测边坡时询问“下一坡脚F1是F2否”

F1则将上次测点距边坡归零

如是F3不执行输入测点高及以上语句

F1继续原来功能F2返回功能选单F3退出检测

接受F1~F3按键

执行上述按键对应的F1~F2功能

如是F3退出

GN

IfV=1OrV=2:

ThenS+θ→θ:

{M,N}+Rec(r,θ

ListAns[1]→r:

ListAns[2]→θ

IfV=1:

Thenr→M:

θ→N:

S+A→S:

IfEnd

Return:

IfEnd

IfV=3:

ThenDimList6→Q:

Q=1=>Stop

Do:

ClrText:

“”:

?

→I:

IntAbsI+1→I

LpWhileI<2OrI>Q:

I→List7[I]

Return:

IfEnd

IfV=4OrV=5:

ThenList7[1]→I

List6[I]→Q:

List7[I]→M:

IfV=5:

ThenClrText

“XL”:

“QDK”:

“ZDK”:

Locate4,1,I-1

Locate4,2,Q:

Locate4,3,M:

“K”?

→K:

IfEnd

IfKM:

Then0→I:

“Kover”▲

ElseList8[I]→I:

IfEnd:

Return:

IfEnd

IfV=6:

ThenDo:

Do:

8.9-GetKey÷10→F

LpWhileFracF≠0:

LpWhileF>I:

Return:

IfEnd

IfV=7:

ThenDo:

Prog“ZZ”:

Prog“GN”

Pol(X-M,Y-N:

ListAns[1]→M

Rec(M,ListAns[2]-S:

ListAns[2]→J

P*listAns[1]÷(P-J→Q:

K+Q→K

4→V:

Prog“GN”:

I=0=>Return

LpWhileAbsQ>1milli:

Return:

IfEnd

IfV=8=:

ThenList9[A]→θ

Ifθ<0:

ThenClrText:

“ZG”:

1→W:

Prog“SC”

IfF=1:

Then–θ→θ:

Return:

Else0→θ:

IfEnd:

IfEnd

Ifθ=0:

Then“ZG”?

→θ:

-θ→List9[A]:

Return:

:

IfEnd

θ→I:

Do:

List18[I+1]→P:

List21[I]→N

List19[I]→Q:

List18[I]→O:

I+1→I:

P-O→P

NAbsP÷P→N:

Abs(NP÷2→P

LpWhileK>Q+P:

K-Q→Q:

List20[I]+OQ→θ

Q+P→Q:

Q>0=>θ+Q2÷2÷N→θ:

Return:

IfEnd

IfV=9:

ThenIfr<0:

ThenDo:

List22[I]→P

List23[I]→Q:

I+1→I:

List22[I]→N:

List23[I]→O

LpWhileK>N:

IfEnd

ElseDo:

List22[I]→P:

List24[I]→Q:

I+1→I

List22[I]→N:

List24[I]→O:

LpWhileK>N:

IfEnd

(K-P÷(N-P→P:

3P^(2^S-2P^(3^S→P

Q+P(O-Q→I:

Return:

IfEnd

IfV=0:

ThenD→I:

Do:

List25[I]→P:

List26[I]→Q

I+1→I:

List25[I]→N:

List26[I]→O

LpWhileRO

(R-P÷(N-P→P:

Q+P(O-Q→Q:

Return:

IfEnd

功能子程序

计算下一点坐标

射线计算

如果V=1把终点作为起算点(导线

输线路号,无数据时退出

输入线路号

如有数据,线路所在行号保存到List7[1]

检查里程

取得起点里程终点里程

线路起终点里程

显示已知数据,提示输入里程

如果里程不在范围则“K超范围”

否则输出平曲线数据所在行号

识别按键F1~FI

只对F1~FI有效

反算,先算出中桩坐标

求出测点到中桩距离

求出到切线垂直距离

计算切线方向改正量

检验里程是否超限

切线改正量小于1mm则结束

计算中桩高程

如果上次高程为手输,则询问是保留F1是F2否

F1用原数据,F2重输入

手工输入中桩高

自动计算中桩高,读出后坡,半径

变坡里程,前坡,求坡差

求半径和切线长

如果在竖曲线内则计算直坡各点高

在竖曲线上的加上改正量

直线或3次抛物线内插求值

查左线数据库,

查右线数据库

求出比例系数

内插求值

边坡宽直线内插求值

查询变坡点

找到高程点所在坡面

直线内插求出边坡宽

SC

IfW=1:

Then“F1Yes”:

“F2No”

6→V:

2→I:

Prog“GN”:

Return:

IfEnd

IfW=2:

Then“dG=”:

”dK=”:

L+2→L

Locate4,L-1,R:

Locate4,L,J:

Return:

IfEnd

IfW=3:

Then“ZG=”:

L+1→L

Locate4,L,θ:

Return:

IfEnd

IfW=4:

Then“X=”:

”Y=”:

L+2→L

Locate3,L-1,r:

Locate3,L,θ:

Return:

IfEnd

IfW=5:

Then“K=”:

”J=”:

L+2→L

Locate3,L-1,K:

Locate3,L,J:

Return:

IfEnd

IfW=6:

Then0→A:

0→θ:

J→r:

1E20→P:

Return:

IfEnd

IfW=7:

ThenJrList2(CJList2+B→List3

Jlist1cosList3:

SumListAns→r

Jlist1sinList3:

SumListAns→θ

Jr(CJ+B→A:

Pol(r,θ:

ListAns[1]→r

ListAns[2]→θ:

1÷(2CJ+B→P:

Return:

IfEnd

IfW=8:

ThenJr÷R→A:

A÷2→θ

2Rsinθ→r:

R→P:

Return:

IfEnd

IfW=9:

ThenJ→r:

List10[A]→M

List14[A]→R:

List11[A]→T

List12[A]→C:

List15[A]-1→S

IfS=-2:

ThenClrText

“NextLm”:

1→W:

Prog“SC”:

F-3→S:

IfEnd

IfS=-1:

ThenS→List15[A]

“CG”?

→C:

C→List12[A]

“KD”?

→M:

M→List10[A]

“TJ”?

→T:

T→List11[A]

“CZ”?

→R:

R→List14[A]

ElseIfS=0OrS=1:

Then7→V:

C→I

Prog“GN”:

I→C:

T→I:

Prog“GN”:

I→T

M→I:

Prog“GN”:

I→M:

R→I:

Prog“GN”:

I→R

IfR<0:

ThenIfAbsC>0.02:

Then–JC→r

M→I:

Prog“GN”:

I→R:

R(AbsC-0.02+θ→θ:

IfEnd

0→R:

IfEnd:

θ+MC→H

IfC<-0.04:

ThenH+TC→θ:

ElseH-0.04T→θ:

IfEnd

R+M→K:

K+T→r:

Return:

IfEnd

IfW=0:

ThenList13[A]→I

IfI<0:

Then2→D:

IfI=-1:

ThenClrText

“NewDm”:

1→W:

Prog“SC”:

F-2→I:

IfEnd

IfI=0:

Then“H”?

→List25[D]:

“W”?

→List26[D]

Do:

D+1→D:

“H”?

→List25[D]:

“W”?

→List26[D]

ClrText:

“NextBp”:

1→W:

Prog“SC”:

LpWhileF=1

2→D:

-1→List13[A]:

IfEnd:

Return:

IfEnd

7→V:

Prog“GN”:

O→D:

Return:

IfEnd

输出等子程序

是否选项F1是F2否

接受F1,F2键

高度和宽度误差显示

显示数值

高程输出显示

显示数值

坐标输出显示

显示数值

位置输出显示

显示数值

直线延长计算,转角,偏角,弦长,半径

缓曲延长计算,分偏角计算

坐标分量计算

坐标分量计算

转角,弦长

偏角,半径

圆曲延长计算,转角,偏角

弦长,半径

路肩高宽计算,路面保存位置

分隔带,土路肩宽保存位置

超高保存位置,线路等级(内插方式或数据写入状况

如上次数据是手工临时输入

提示是用原数据还是重输

如要求重输,则先改写数据写入状态为已输入

输入超高

输入路面宽

输入土路肩宽

输入分隔带半宽

如已知线路等级则按内插方式计算

C超高,T,土路肩宽

M路面宽,分隔带宽

如分隔带宽小于0,且超高大于2%

计算曲线内侧路面宽,改正中桩高

计算路面边高

以-4%坡为界,分别计算土路肩高

计算路面宽,土路肩宽

断面号查询

如临时断面数据已输入

提示用原断面还是重输入

如要求重输,先输入第一个边坡点

输入第二个边坡点

提示是否还输入下一点

将数据状态改为已输入,输出2为断面数据位置

否则查表找出断面数据位置.

使用说明书

一、数据准备

1、高斯公式常数表

高斯公式五节点10个常数保存在LIST第1、2列,共占5行。

如要提高运算速度或提高结果精度可改变此两列数据。

2、线路数据格式

线路数据保存在LIST的6~8列,第一行第7列保存运行时线路选择结果。

从第二行开始保存各条线路基本情况,第6列为起点里程,第7列为终点里程,第8列为对应线路数据的详细资料的起始行号,数据必须连续存放。

3、平曲线数据格式

各条线路对应的平曲线数据分段保存在LIST的9-17列,各条线路保存顺序不限,每条线路数据连续存放。

每段的第一行各列为横断面有关数据保存的起始位置或计算参数。

第9列为竖曲线,第10列为路面宽度,第11列为土路肩宽度,第12列为超高,第13列为线路等级,第14列为超高旋转方式,第15列为边坡设计形式。

第一行第17列为第一个交点第一缓曲为不完整曲线时的起始半径,如为0表示起点是直线。

第二行起为交点资料,第9列为交点里程,第10列为交点X坐标,第11列为交点Y坐标,第12列为第一缓曲段长度(不完整时长度为负),第13列为圆曲线段长度,第14列为第二缓曲段长度(不完整时长度为负),第15列为圆曲线半径(右转为正),第16列为起点切线方位角,第17列为第一切线长度。

最后一行第9列是终点里程,第15列为最后一个交点第二缓曲为不完整曲线时的终点半径,如为0表示终点是直线,第17列必须为0。

此种数据格式可适应主线交点法及匝道线元法设计资料,主线按设计资料对应输入即可,匝道则先组合成不同的交点,每个交点为直、缓、圆、缓、直的组合,但每段长度都可为0,缓和曲线可为不完整的,令交点里程为第一缓曲起点里程,切线长为0。

有一段匝道如下线元组合,线元长略。

第1段:

直线

第2段:

缓曲

第3段:

圆R=200

第4段:

缓曲

第5段:

圆R=100

第6段:

缓曲

第7段:

直线

可以分成1、2、3、4和5、6、7两个交点也可分成1、2、3和4、5、6、7两个交点,只要算出每个交点第一个曲线元的起始坐标、方位角就行。

连续的数据库中把不完整的缓和曲线线元4的缓曲长改成负的程序就会自动处理。

4、竖曲线数据格式

各条线路对应的竖曲线数据分段保存在LIST的18-21列,各条线路保存顺序不限,每条线路数据连续存放。

第一行起为竖曲线资料,第18列为前坡度(上坡为正),第19列为变坡点里程,第20列为变坡点高程,第21列为竖曲线半径(下凹为正)。

最后一行18列为后坡度。

5、横断面数据格式

各条线路对应的路面宽度、路肩宽度、路面超高(向路肩下坡为正)、边坡形式数据(简称数据)分段保存在LIST的22-24列,各条线路保存顺序不限,每条线路数据连续存放。

各行的22列为变化点里程,23列为左侧数据,24列为右侧数据。

6、边坡详细数据

各种边坡变坡点对应的距路肩宽度、高度数据分段保存在LIST的25-26列,各种边坡形式保存顺序不限,每种边坡数据连续存放。

每种边坡形式数据的第25列为变坡点距路肩高差,第26列为变坡点距路肩宽度。

二、修改程序

为了更方便的使用,GN子程序的线路选择模块暂写了“”,双引号里在正式程序里用序号和线路名称的对照表代替,大致格式如下,每组双引号里内容不超过20字符,每7行加一▲

例如:

“1:

ZHUXIAN”:

“2:

A-ZADAO”:

“3:

B-ZADAO”:

“4:

C-ZADAO”

“5:

D-ZADAO”:

“6:

E-ZADAO”:

“7:

F-ZADAO”▲

“8:

G-ZADAO”:

“9:

H-ZADAO”:

“10:

I-ZADAO”

三、程序使用

㈠运行AA程序

1、屏幕提示开始功能选项

F1Fangyang

F2Jiance

F3Suidao

分别代表“放样、检测、隧道”,按F1-F3选择相应功能(隧道部分尚未编写

2、屏幕接着提示

1:

线路1

2:

线路2

……

XL?

输入线路号

3、进入选中线路并执行相应功能。

4、执行完上述功能后屏幕提示

Cont

F1Yes

F2No

按F1重新返回第一步

按F2结束运行程序

㈡放样功能执行流程

1、屏幕提示

QD:

#####.###

ZD:

#####.###

K?

输入待测里程

里程在线路范围到下一步,否则结束本次放样计算。

2、屏幕提示

F1Daoxian

F2Shexian

F32Bian

分别表示以导线方式延伸测量、向周围放射测量、成对对称测量,按F1-F3执行相应计算。

J?

输入到起算点距离

A?

输入偏离起算方向角度(右转为正)

输出计算结果坐标

1:

X=######.###

Y=######.###

[2:

X=######.###

Y=######.###]

OK

3、执行完上述计算后屏幕提示

F1NEXT

F2K?

F3QUIT

按F1到2继续算下一点

按F2到1改变起算点里程从头算

按F3结束本次放样计算。

㈢检测功能执行流程

1、屏幕提示

F1Lumian

F2Bianpo

F32D

分别表示检查路面层高度误差、边坡宽度误差、只显示,按F1-F3执行相应计算。

2、屏幕提示

QD:

#####.###

ZD:

#####.###

K?

输入近似里程

里程在线路范围到下一步,否则结束本次检测计算。

X?

输入实测X坐标

Y?

输入实测Y坐标

输出计算结果里程、偏距:

K=######.###

J=###.###

如选择的功能是F32D则到

3、Z?

输入实测Z坐标

如选择功能是F1Lumian再

-H?

输入待测面与路面的高差。

输出计算结果高度误差和宽度误差

dG=###.###

dK=###.###

当选择功能是F1Lumian时输出的是相对指定层次的高度误差和测点相对所在指定层的路面外侧(全宽减土路肩)宽度超欠

当选择功能是F2Bianpo时输出的是测点相对路肩的高差和相对边坡面的宽度超欠,测点在边坡外为正。

而且询问是否换下一个坡脚点

NextPJ

F1Yes

F2No

关于手动输入数据

计算过程中出现数据库无路面或边坡数据时会要求输入

如无竖曲线数据时

ZG?

输入中桩高

如无路面数据时

CG?

输入超高

KD?

输入路面宽

TJ?

输入土路肩宽

CZ?

输入中央分隔带半宽

如是第二个点时会提示

NextLm

F1Yes

F2No

按F1重新输入路面数据

按F2使用旧路面数据

如无边坡数据时

H?

第一点相对路肩高

W?

第一点相对路肩宽

H?

第二点相对路肩高

W?

第二点相对路肩宽

NextBp

F1Yes

F2No

按F1再输入下一点高宽

按F2结束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2