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
上一篇:注射模工艺腿设计和铣削优化方案
下一篇:《创意编程》课程的教学设计
电脑编程技巧与维护投稿 | 电脑编程技巧与维护编辑部| 电脑编程技巧与维护版面费 | 电脑编程技巧与维护论文发表 | 电脑编程技巧与维护最新目录
Copyright © 2018 《电脑编程技巧与维护》杂志社 版权所有
投稿电话: 投稿邮箱: