现在的位置:主页 > 期刊导读 >

浅谈BASIC编程语言在工程测量中的应用

来源:电脑编程技巧与维护 【在线投稿】 栏目:期刊导读 时间:2020-09-01

【作者】网站采编

【关键词】

【摘要】BASIC(Beginners All-Purpose Symbolic Instruction Code)语言是一种直译式的、设计给初学者的编程语言,由于BASIC语言简单、易学的基本特性,且具备通过微电脑作为载体撰写程式的优势,使其在科

BASIC(Beginners All-Purpose Symbolic Instruction Code)语言是一种直译式的、设计给初学者的编程语言,由于BASIC语言简单、易学的基本特性,且具备通过微电脑作为载体撰写程式的优势,使其在科学计算和数据处理等方面普遍流行。

BASIC语言在工程测量领域同样有所涉及:如内业数据批量处理时,测量人员常常会使用Microsoft Office办公系统中的Excel软件,在Excel软件中包含的宏语言VBA(Visual Basic for Application)就是windows环境下的一种BASIC语言;另如路基、隧道等结构物放样时,施工断面很难通过内业方法提前计算,需要根据实际施工里程进行中边桩坐标计算,测量人员常常会使用CASIO fx-5800P计算器进行现场计算,而CASIO fx-5800P计算器采用就是类结构化BASIC语言。测量人员将需解决的问题的思路、方法和手段通过BASIC语言告诉计算机(器),使得计算机(器)能够根据人的指令一步一步去工作,完成复杂、繁重的计算任务。

本文结合马鞍山郑蒲港铁路项目跨X024县道公跨铁立交桥的线路平面设计资料,采用Excel软件中Visual Basic编辑器与CASIO fx-5800P计算器分别撰写BASIC语言程式,实现线路中边桩坐标的快速计算。

1线路平面设计资料

设计单位提供的《曲线要素表》如表1所示。

表1曲线要素表交点名称桩号坐标X(m)坐标Y(m)转角切线长T1切线长T2缓曲参数A1圆半径Ry缓曲参数A2缓曲长Ls1圆弧长Ly缓曲长Ls2曲线全长外距QDK0+000...0725JD1K0+151...432右15°01′37.40″45...0.0..+242...9961右15°03′06.17″45...0.0..+369...4868

2线元表

依照设计单位提供的《曲线要素表》整理出《线元表》,如表2所示。

表2线元表点名桩号坐标X(m)坐标Y(m)方位角线型曲线长(m)QDK0+000.0003 494 949.135 0500 226.072 5105°54′46.27″直线+105.6663 494 920.164 1500 327.689 2105°54′46.27″右转缓25HYK0+130.6663 494 912.910 8500 351.610 9108°46′39.51″右转圆+171.2343 494 896.799 9500 388.794 0118°04′30.43″右转缓25HZK0+196.2343 494 884.306 9500 410.445 6120°56′23.67″直线+196.8053 494 884.013 2500 410.935 6120°56′23.67″右转缓25HYK0+221.8053 494 870.805 6500 432.158 7123°48′16.91″右转圆+262.4813 494 845.531 5500 463.971 7133°07′36.61″右转缓25HZK0+287.4813 494 827.844 4500 481.636 1135°59′29.85″直线+369.3083 494 768.991 0500 538.486 8135°59′29.85″

采用Excel软件中VBA方法进行数据批量处理。

(1)在新建的Excel表中输入需要计算的“桩号”、“偏距”、“偏角”等数据,排版后添加“命令按钮”控件,如图1所示。

图1在Excel表中添加“命令按钮”控件

(2)双击“命令按钮”控件,撰写在敲击“命令按钮”的行为下执行的BASIC语言程式,包括声明部分、自定义变量类型、建立判断和循环等语句、设置超限、建立基础数据库、执行计算公式、计算结果输出等部分的内容,程序清单如下

Private Sub CommandButton1_Click() '声明部分

Dim A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,Z1,Z2,Z3,Pi As Double '自定义变量类型

Pi=3. '变量赋值

A=4 '变量赋值

Do While Worksheets("X024县道改移工程").Cells(A,1).Value<>"" '建立循环语句

B=Worksheets("X024县道改移工程").Cells(A,1).Value

If B<0 Or B>369.308 Then

MsgBox CStr(B)& "超出计算范围→计算中断" '设置超限

GoTo 1

End If

If B>=0 And B<=105.666 Then '建立基础数据库

Z=105.912 852 8 C=Z*Pi/180 D=0 E=3 494 949.135 F=500 226.072 5

GoTo 2

End If

………

2:G=E+(B-D)*Cos(C) '直线计算公式

H=F+(B-D)*Sin(C)

I=Worksheets("X024县道改移工程").Cells(A,6).Value

J=C+I*Pi/180

K=Worksheets("X024县道改移工程").Cells(A,5).Value

N=Worksheets("X024县道改移工程").Cells(A,10).Value

O=C+N*Pi/180

P=Worksheets("X024县道改移工程").Cells(A,9).Value

L=G+K*Cos(J) m= h+K*Sin(J)Q=G+P*Cos(O)R= h+P*Sin(O)

Worksheets("X024县道改移工程").Cells(A,2).Value=Z '成果输出

Worksheets("X024县道改移工程").Cells(A,3).Value=G

Worksheets("X024县道改移工程").Cells(A,4).Value= h

Worksheets("X024县道改移工程").Cells(A,7).Value=L

Worksheets("X024县道改移工程").Cells(A,8).Value= m

文章来源:《电脑编程技巧与维护》 网址: http://www.dnbcjqywh.cn/qikandaodu/2020/0901/439.html

上一篇:注射模工艺腿设计和铣削优化方案
下一篇:《创意编程》课程的教学设计