欢迎来到天天文库
浏览记录
ID:31685667
大小:56.26 KB
页数:5页
时间:2019-01-17
《vba语言和cad技术在高速公路工程中应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VBA语言和CAD技术在高速公路工程中应用【摘要】本文讨论了VBA编程技术在高速公路设计中应用。以绘制公路纵断面图为例,将VBA融合在AutoCAD和Excel两个软件中,实现这两个软件之间的数据交互,可以有效降低工作量,减少错误。【关键词】高速公路设计VBA语言AutoCAD与Excel通信一、引言在高速公路设计过程中,公路纵断面图的绘制是一件繁琐的任务,由于其中大量的工作都是重复性的,若没有专业的工具进行辅助,则工作量是不可想象的。尤其是公路外业勘测时期,中桩高程的数据是实地量取的,在测完并记录下实测数据后,需要较快地将这些数据绘制为纵断面图的地面
2、线。之后基于绘制出来的地面线才能设计路线纵坡。而通常情况下在公路设计中先做好工程量的清单,这是在Excel软件中完成的,之后将这些清单从Excel中导出至CAD中,在这个导出导入的过程中就会存在格式转换的问题,因为Excel格式的文件在CAD中是不能直接打开的。此外,如果直接用CAD绘制工程图是比较繁琐的。为了解决这些问题,可以使用VBA设计相应的帮助程序来减少重复性劳动,提髙工作效率。VisualBasicForApplication(VBA)是VisualBasic的一个分支,但是与VB不同的是,VBA必须依附于主应用程序,或者说VBA并没有属于自
3、身的独立的工作环境。这意味着VBA与主程序共用同一段内存空间,两者之间的通信简洁而又高效。而对于支持VBA编程能力的其他软件之间也可以借助于VBA进行交互,由于AutoCAD和Excel两个软件均支持VBA,因此AutoCAD可以借助于VBA来实现对Excel的控制。此外VBA易学易用,可以创建对话框、工具栏,还可以编制模块宏指令和建立类模块,对于外部数据库也可以借助于数据访问对象DA0进行访问和管理;由于VBA是基于Windows平台的,可以使用WindowsAPI函数来进行编程,实现更强大的功能。本文以VBA在绘制公路纵断面中的应用为例,介绍VBA
4、在高速公路设计过程中的使用方法。二、VBA语言在绘制公路纵断面的应用纵断面设计图是高速公路设计文件中比较重要的一项,是道路纵断面设计成果的集中体现。一般来讲,地面线和设计线是纵断面图纸中的两条主要线。地面线的作用是表示中线上各桩点的高程沿中线地面的起伏变化而变化的,所以这条线是起伏不定的折线,同时也是一条依据多个离散点绘制的点线;设计线与地面线的形状有所不同,设计线比较规则,这是由于它是综合考虑技术、经济和艺术美感等多种因素而人为制定的几何线。正如引言中提到的,如果没有专业软件的辅助,手工绘制纵断面设计图的难度很大,这是由于不仅工作量比较大,而且细节众
5、多,极易出错;同样地如果只借助于CAD软件和Excel,两个软件之间的数据交换比较麻烦,因为两者间的数据格式不兼容,容易造成数据丢失。为了解决两个软件之间的数据交换问题,可以将VBA融入到这两个软件中。实现过程可以总的概括如下:首先在Excel和AutoCAD中分别利用VBA语言进行程序的编制,通过Excel中的VBA程序功能将Excel表格中的相关信息提取出来,这些信息主要包括桩号和相应的地面高程,然后利用AutoCAD软件中已经编写好的VBA程序将从Excel提取出来的信息读入进来,然后根据桩号和地面高程等信息进行中桩地面线的绘制。假如对于一个Mi
6、crosoftExcel表来说,其中存储着纵面设计所需要的中桩桩号和地面高程的数据信息,其中桩号在第一列,而对应的地面高程在同一行的第二列。对于AutoCAD软件来说,其不包含与表格对应的对象,这就需要将Excel表格中的数据进行一下转换,可以将水平距离根据Excel中的桩号来确定,而地面高程用来确定竖直方向上的高度。通过这种方法,再利用VBA进行数据通信时可以边读取Excel的一行数据,边在AutoCAD中绘制出相应的线条,最终完成两个软件之间的数据交换。具体的步骤如下:首先在CAD中创建VBA代码,点击菜单栏的“工具引用”选项,在弹出的列表框中选
7、择“MicrosoftExcel10.0ObjectLibrary",然后编写代码即可,代码如下:DimExcelAsExcel.ApplicationOnErrorResumeNextSetExcel=GetObject(,“Excel.Application")IfErrOThenSetExcel=CreateObject("Excel.Application")EndIf通过以上代码就可以在AutoCAD中创建Excel对象。在Excel中填入相关的中桩桩号和地面高程信息,然后利用VBA语言进行编程读入Excel对象中的信息。这里需要注意的是,E
8、xcel中的信息有可能包含比例信息,读入CAD中时需要进行比例的转换。这里假设地面高程的比例系
此文档下载收益归作者所有