资源描述
摘要 摘要通过多年的设计实践CAD技术以简单、快捷、存储方便等优点已在工程设计 中承担着不可替代的重要作用.CAD技术的应用使工程设计人员如虎添翼,在更加 广阔的天地里施展才华.但随着CAD在工程中的大量应用及其技术的成熟,一些 优缺点也显露出来。而VBA作为一个集成的开发环境,能够使AutoCAD数据与 其它的VBA应用程序,如Microsoft Excel软件,直接共享,实现无缝连接,交换 数据.计算机辅助设计技术也称为CAD技术,是英文Computer Aided Design的缩 写,它是指在设计过程中,利用计算机作为工具,帮助工程师进行设计的一切实 用技术的总和。CAD技术领域很广,用的最为广泛的是二、三维的几何形体建模、绘图,各种机械零部件的设计、电路设计、建筑结构设计、力学分析等等计算机辅助设计作为一门学科始于60年代初,一直到70年代,由于受到计 算机技术的限制,CAD技术的发展很缓慢,进入80年代以来,计算机技术突飞 猛进,特别是微机和工作站的发展和普及,再加上功能强大的外围设备,如大型 图形显示器、绘图仪、激光打印机的问世,极大地推动了 CAD技术的发展,CAD 技术已进入实用化阶段,广泛服务于机械、电子、宇航、建筑、纺织等产品的总 体设计、造型设计、结构设计、工艺过程设计等环节在工业化国家如美国、日本和欧洲,CAD已广泛应用于设计与制造的各个领域 如工程建筑、装饰、机械、电子,汽车、造船、航天、服装、玩具等行业,实现 了 100%的计算机绘图。CAD系统的销售额每年以3040%的速度递增,各种 CAD软件的功能越来越完善,越来越强大,国内于70年代末开始CAD技术的大 力推广应用工作,已经取得可喜的成绩。VBA(Visual Basic Application)是一种完全面向对象体系结构的编程语言,由于其在开发方面的易用性和具有强大的功能,因此许多应用程序均嵌入该语言 作为开发工具。Autodesk公司也在AutoCAD R14.01版本开始内置了 VBA开发工 具,同时提供了适用于VBA开发的ActiveX Automation对象模型。直到90年代 早期,使应用程序自动化还是充满挑战性的领域。对每个需要自动化的应用程序,人 们不得不学习一种不同的自动化语言。例如:可以用EXCEL的宏语言来使EXCEL 自动化,使用WORD BASIC使WORD自动化,等等。微软决定让它开发出来的应用 程序共享一种通用的自动化语言 Visual Basic For Application(VBA),可以认为一 摘要_VBA是非常流行的应用程序开发语言VASUAL BASIC的子集。实际上VBA是 寄生于应用程序的版本.本文介绍CAD,VBA的概念和作用以及如何利用VBA编程建立AutoCAD2002 与Excel2000的通信,实现数据交换,快速绘制公路纵断面地面线以及把EXCEL 表转换成ATUOCAD表。关键词,CAD VBA 公路纵断面设计 AutoCAD与Excel的通信ABSTRACTABSTRACTCAD technology has played an irrq)laceable role in engineering design for its advantages such as simplicity,convenience,and easy storage during years of practice.Although the application of CAD technology greatly enhances the efficiency of designers,some shortcomings arise.VBA being a compositive develop environment can achieve direct share between AutoCAD data and other VBA applications such as Microsoft Excel.CAD technology(Computer Aided Design)refers to the practical technology mediated by computer the aid the engineer during the design process.CAD technology is most widely used in two or three dimensional geometric modeling,plotting,mechanical accessory design,circuitry design,architecture design and mechanics analysis,etc.CAD as a knowledge began in the I960%and developed slowly for the constrains of compute technology until the end of 1970*3.in the 1980*8,CAD became practical for the popularity of micro computer and stations,and it served difiusely in mechanism,electronics,astrionics and spinning.CAD now is applied in all areas concerns design and manufacture in industrial society such as USA,European and Japan.The sale of CAD increases by 30%to 40%each year and the functions of the CAD software become more and more powerful.The implementation of CAD technology in China has been quite productive since the end of 197Os.VBA(Visual Basic fbr Application)is an absolute object-oriented programming language,and many qiplications embeds this language as a developing tool for its simplicity and powful functions.Autodest Corporation embedded VBA into CAD since version R14.01 as well as provided ActiveX Automation object model which is adapted to VBA developing.VBA is a universal mABSTRACTautomatic language for implications developed by Microsoft,which can be regarded as a subcategory of the popular programming language Visual Basic.This article introduces the concept of CAD and VBA as well as their functions.It also elaborates how to bwld up communications between AutoCAD 2002 and Excel 2000 to achieve data exchange;how to plot road desighing efficiently and how to convert an Excel table into an AutoCAD table.Key Words:CAD VBA The road longitudinal section supposes AutoCAD and Excel to achieve data exchangeiv第一章引言第一章引言1.1 课题来源及研究意义随着交通与建筑等行业的日趋飞速发展,CAD技术的应用已成为工程设计人员 在工程设计中不可或缺的一部分。CAD即计算机辅助设计与制图,是指运用计算 机系统辅助一项设计的建立、修改、分析或优化的过程.CAD软件必须有能接受 和使其运行的物体,即硬件来支持它才能有实际意义,这样就存在了 CAD系统。CAD系统是由硬件、软件组成,硬件包括处理运算设备、图形显示设备、外部存 储设备、数据图形输入输出设备以及有关的信息传输等硬件平台设备、软件包括 系统软件、支撑(图形、汉字等)软件和专业应用软件。我国主要使用的CAD软件 是美国AUTODESK公司开发的AUTODESK软件,它是一个功能强大、易学易用、具有开放型结构的软件口不仅便于用户使用,而且系统本身可不断地扩充和完善,它被广泛地应用于微机及工作站上。因此,国内外软件开发商在此基础上进行有关 工程设计专业的二次开发,如建筑行业:华远的HOUSE软件、建研院的ABD集成 化软件和BICAD软件、理正的CAD软件、方圆公司的方圆三维室内设计系统等。随着CAD技术的不断发展,其覆盖的工作领域也不断地扩大,如工程设计CAD项 目的管理、初步设计、分析计算、绘制工程、统计优化等。CAD技术的应用正在 有力而迅速地改变着传统的工程设计方法和设计生产的管理模式。高速公路是20世纪30年代在西方发达国家开始出现的为汽车交通提供 特别服务的基础设施,经过70多年的探索和发展,目前全世界已有80多 个国家和地区拥有高速公路,通车里程超过了 20万公里,其中美国、日本、德国、加拿大等发达国家已经构筑起与本国经济和社会发展相适应的高速 公路网。高速公路不仅是交通运输现代化的重要标志,同时也是一个国家 现代化的重要标志。审视世界高速公路发展史,我们不难发现,以“快速、安全,经济、舒适”为特征的高速公路如同汽车一样,从诞生的那一刻起,就深刻影响着它所服务的每一个人和触及的每一寸土地,高速公路的发展 不仅仅是经济的需要,也是人类文明和现代生活的一部分。从1988年我国 大陆第一条高速公路正式通车到现在,我国的高速公路建设取得了举世瞩 目的成就。而现代高速公路的设计离不开CAD的广泛应用CAD是CAE.CAM和PDM的基础。在CAE中无论是单个零件、还是整机的有限 电子科技大学硕士学位论文元分析及机构的运动分析,都需要CAD为其造型、装配;在CAM中,则需要CAD 进行曲面设计、复杂零件造型和模具设计:而PDM则更需要CAD进行产品装配后 的关系及所有零件的明组1(材料、件数、重量等)。在CAD中对零件及部件所做的 任何改变,都会在CAE、CAM和PDM中有所反应。所以如果CAD开展的不好,CAE.CAM和PDM就很难做好。但是当我们面对很多相当繁琐的图纸设计时,光靠CAD是相当费时的,此时 我们需要借助VBA来简化设计的过程。Microsoft VBA是一个面向对象的编程环 境.它提供了与Visual Basic(VB)相似的丰富的开发能力.VBA和VB的最主要 的区别在于VBA运行在与AutoCAD相同的处理空间,从而提供了一个具有 AutoCAD智能的,非常快的编程环境。VBA同时也提供与其它有VBA编程能力的应用程序的应用集成。这意味 着AutoCAD利用其它应用程序的对象库可以控制其它应用程序,例如Microsoft Word和Excel。它的优点在于:Visual Basic编程环境易学易用;VBA运行在与 AutoCAD相同的处理空间。使程序执行速度非常快.对话框构建快速,高效。允 许开发者快速地定制程序原形和收到设计的及时反馈。工程可以单独存在,亦可 嵌入在图形中。这就给了开发者在发行他们的应用程序时极大的灵活性。所以 VBA与CAD的结合在工程设计中的作用是不可限量的。大大的提高了工作效率。1.2 论文主要研究内容和本人工作本文以CAD和VBA的基本技术和优势为基础,利用VBA编程实现一些工程设 计上常见的比较繁琐的工作并对此项工作进行较为深刻研究和总结。主要的研 究内容有:(DCAD技术的优点与缺点。通过多年的设计实践CAD技术以简单.快捷、存储方便等优点已在工程设计中承担着不可替代的重要作用.许多工程都应用了 计算机进行辅助设计和辅助绘图,尤其建立了计算机网络辅助设计与管理后,不仅 能提高设计质量,缩短设计周期,而且创造了良好的经济效益和社会效益,CAD技 术的应用使工程设计人员如虎添翼,在更加广阔的天地里施展才华.但随着CAD 在工程中的大量应用及其技术的成熟,它的一些缺点也暴露无遗,所以也有很多 人不接受这一技术,认为它限制了建筑设计业的发展。(2)VBA技术的优点0 VBA作为一种新一代的标准宏语言,具有上述跨越多 种应用软件并且具有控制应用软件对象的能力,使得程序设计人员仅需学习一种 2第一章引言统一的标准宏语言,就可以转换到特定的应用软件上去,程序设计人员在编程和 调试代码时所看到的是相同的用户界面,而且VBA与原应用软件的宏语言相兼 容,以保障用户在代码和工作上的投资。有了 VBA以后,多种应用程序共用一 种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调 用能力。(3)应用VBA程序语言绘制公路纵断面。公路设计中,在没有专业设计软件 辅助的情况下,绘制公路纵断面图是很繁琐的事,需要进行大量的、重复的操作,既劳神,又容易出错。特别在公路外业勘测阶段,需要在短时间内将所测量的中 桩高程转化成纵断面图上的地面线,才可以进行路线纵坡设计,分析测量成果(选 线)是否合理。(4)应用VBA实现EXCEL表到AUTOCAD表的转换。在工程制图中,常常 需要在图中插入绘制表格,利用Microsoft Excel、AutoCAD都提供的VBA功能,编制程序进行转换,格Microsoft Excel表格按原来样子转换,即把Microsoft Excel 表格中的文字和线条信息全部读取出来,在AutoCAD文件里按照一一对应的方 式写出来,确保转换后的表格与原表格一致.这样彻底避免了前种方法的缺点,便于表格内容编辑。1.3 论文章节安排本论文共分六章,各章的主要内容如下:第一章为引言,简要阐述论文的研究主题、背景和意义,明确作者所做主要 工作,安排论文章节.第二章对CAD以及VBA进行了概述。其中包括CAD和VBA的概念,功能以及 优势进行了阐述。第三章是实例L应用VBA程序语言绘制公路纵断面,主要对用VBA程序开 发绘制公路断面,进行了研究和阐述.第四章是实例2,应用VBA实现EXCEL表到AUTOCAD表的转换.主要对 用VBA程序实现第五章是系统的实现EXCEL表到AUTOCAD表的转换,进行了 研究和阐述。第五章是通过VBA与CAD的结合的应用与研究,进行了详细的总结和归纳,第六章是论文的结束部分.对本论文的研究工作进行了总结,并对今后在该 3电子科技大学硕士学位论文领域里进一步的理论研究工作进行了展望。1.4 本章小结本章属于论文的引言部分。主要介绍了本课题的研究背景及意义,并对本论 文研究的主要内容和作者在工程设计过程中所作的工作进行了介绍,并在本章的 最后对整个论文的章节安排进行了说明。第二章CAD与VBA概述第二章CAD与VBA概述2.1 CAD概述计算机辅助设计技术也称为CAD技术,是英文Computer Aided Design的缩 写,它是指在设计过程中,利用计算机作为工具,帮助工程师进行设计的一切实 用技术的总和。CAD技术领域很广,用的最为广泛的是二、三维的几何形体建模、绘图,各种机械零部件的设计、电路设计、建筑结构设计、力学分析等等.2.1.1 CAD系统的软件和硬件一个CAD系统由硬件和软件两部分组成,要想充分发挥CAD的作用,必须 要有高性能的硬件和功能强大的软件。先进的CAD系统的硬件由计算机及其外围 设备和网络组成。计算机分为大型机,中、小型机、工作站和微机四大类.目前 应用较多的是CAD工作站,国内主要是微机和工作站.在现代大型企业中,单机 CAD的工作方式已经逐渐不能满足要求,CAD技术一般都在网络环境下使用。CAD系统的软件主要包括支撑软件和应用软件。支撑软件除了 Windows这样 的操作系统外,主要指的是图形支撑软件平台,目前比较流行的图形支撑软件有 美国AutoDesk公司的AutoCAD。另一类是应用软件,它是根据本领域工程特点,利用支撑软件系统开发的解决本工程领域特定问题的应用软件系统。目前在二维 CAD软件方面,国内已经开发出众多的应用软件,主要包括基于AutoCAD平台 和自主平台两类应用软件。应用软件的性能对CAD的效率有极大的影响,所以应 特别重视它的开发和应用。2.1.2 世界主流CAD软件介绍1)Unigraphics(UG)L UG是UnigraphicsSolutions公司的拳头产品。在UG中,优越的参数化 和变量化技术与传统的实体、线框和表面功能结合在一起,这一结合被实践证明 是强有力的,并被大多数CAD/CAM软件厂商所采用。UG最早应用于美国麦道飞 机公司。它是从二维绘图、数控加工编程、曲面造型等功能发展起来的软件。90 5电子科技大学硕士学位论文年代初,美国通用汽车公司选中UG作为全公司的CAD/CAE/CAM/CIM主导系统,这进一步推动了 UG的发展。2)S0LIDEDGEi.SOLIDEDGE 是真正 Windows 软件。SOLIDEDGE 与 MicrosoftOffice 兼容,与Windows的OLE技术兼容,这使得设计师们在使用CAD系统时,能够 进行Windows下字处理、电子报表、数据库操作等。SOLIDEDGE具有友好的 用户界面。SOLIDEDGE是基于参数和特征实体造型的新一代机械设计CAD系统,它是为设计人员专门开发的,易于理解和操作的实体造型系统。3)AutoCADi.AutoCAD是Autodesk公司的主导产品。Autodesk公司是世界第四大PC软件公司。目前在CAD/CAE/CAM工业领域内,该公司是拥有全球用户量最多的 软件供应商,也是全球规模最大的基于PC平台的CAD和动画及可视化软件企业。Autodesk公司的软件产品已被广泛地应用于机械设计、建筑设计、影视制作、视 频游戏开发以及Web网的数据开发等重大领域。AutoCAD是当今最流行的二维 绘图软件,它在二维绘图领域拥有广泛的用户群。AutoCAD有强大的二维功能,如绘图、编辑、剖面线和图案绘制、尺寸标注以及二次开发等功能,同时有部分 三维功能。4)Pro/Engineeri.Pro/Engineer系统是美国参数技术公司.(ParametricTechnologyCorporation,简称 PTC)的产品。PTC公司提出的单一数 据库、参数化、基于特征、全相关的概念改变了机械CAD/CAE/CAM的传统观念,这种全新的概念已成为当今世界机械CAD/CAE/CAM领域的新标准。利用该概念 开发的第三代机械CAD心AE/CAM产品Pro/Engineer软件能将设计至生产全过程 集成到一起,让所有的用户能够同时进行同一产品的设计制造工作,即实现所谓 的并行工程。5)国产CAD软件L 我国从八十年代初期开始进行CAD相关技术的研究,近年来,我国CAD技术的开发和应用取得了长足的发展,除对许多国外软件进行了汉化和二次开发 6第二章CAD与VBA概述以外,还诞生了不少具有自主版权的CAD系统,由于这些软件价格便宜,符合本 国国情和标准,所以受到了广泛的欢迎,赢得了越来越大的市场份额。但由于国 外CAD/CAM软件出现得较早,开发和应用的时间也较长,所以它们发展比较成 熟,国产CAD软件与上述发达国家产品还有一定差距。2.L 3 CAD技术在工程设计中的作用通过多年的设计实践CAD技术以简单、快捷、存储方便等优点已在工程设计 中承担着不可替代的重要作用。许多工程都应用了计算机进行辅助设计和辅助绘 图,尤其建立了计算机网络辅助设计与管理后,不仅能提高设计质量,缩短设计周期,而且创造了良好的经济效益和社会效益,CAD技术的应用使工程设计人员如虎添 翼,在更加广阔的天地里施展才华。但随着CAD在工程中的大量应用及其技术的成 熟,它的一些缺点也暴露无遗,所以也有很多人不接受这一技术,认为它限制了 建筑设计业的发展。那么CAD究竟利大于弊还是弊大于利,怎样才能对它善加利 用,我们不妨对CAD的双重性做一个剖析。CAD技术在工程设计中的优点CAD技术的长处使得人们趋之若瞥,它主要表现在:劳动强度降低,图面清洁手绘绘图,工作人员常常手里拿着几只不同粗细的墨笔,丁字尺、三角板、曲线板等工具不停的在手里更换,而且一旦画错,修改非常费事,甚至从头来过,图面修修补补显的脏乱。用CAD绘图则可以一只鼠标做你想做的任何事情。它有 统一的线型库、字体库,图面整洁统一。CAD软件所提供的UNDO功能让你不必 担心画错,它可以使你返回到你画错之前的那一步.你更可以在电脑系统后台运 行一些音乐播放软件,一边听音乐一边工作。CAD软件绘图真正做到方便、整洁、清洁、轻松.设计工作的高效及设计成果的重复利用CAD之所以高效,因其最伟大的功能之一:COPY%一些相近、相似的 工程设计,图纸只要简单修改一下就行了,或者直接套用,而你只需按几下键盘、7电子科技大学硕士学位论文鼠标.CAD软件可以将建筑施工图直接转成设备底图,使水暖、电气的设计师不 会在描绘设备底图上浪费时间。而且现在流行的CAD软件大多提供丰富的分类图 库、通用详图,设计师需要时可以直接调入。重复工作越多,这种优势越明显。结构计算的高效,一个普通的框架结构,以往手工计算需要一个星期左右时间,用CAD快的一天就可以完成.4精度提高建筑设计的精度一般标注到毫米,结构计算的精度也不是很高,施工时的 精度更低,但对于一些特型或规模大、复杂的建筑离开了 CAD困难将成倍增长。CAD在日影分析、室内声场分析、灯光照度分析等方面的计算精度、速度也是手 工计算无法比拟的。资料保管方便CAD软件制作的图形、图象文件可以直接存储在软盘、硬盘上,资料的保 管,调用极为方便.你可以将设计项目刻录成光盘,数据至少可以保存50年。你 可以将以前的图纸通过扫描仪,数字化仪输入电脑,避免资料因受潮、虫蛀以及 破坏性查阅造成的不必要损失。资料的管理更有科学性,只要一台电脑就可以管 理的井井有条,资料室也将告别成排的资料柜,因为一个院所从成立到现在所有 的资料几张光盘就装下了.4 CAD在建筑表现图上的优势这也是CAD在建筑设计上最出风头的。CAD制作的建筑效果图其透视关 系、光影关系、建筑材料的质感,都可真实再现,惟妙惟肖,在加上真实的树木、人、天空、汽车配景,几可乱真。如果在加上现场环境照片融合更有说服力.CAD 制作效果图优势还在于,只要建筑的三维模型搭建完成,就可以任意指定透视角 度,模型材质,快速生成多张效果图而无需从头做起,这是传统手绘效果图无法 比拟的。这一切都让设计师在建筑设计上收益非浅,在向甲方推销自己的设计成 果时也更有说服力。设计理念的改变8第二章CAD与VBA概述CAD的智能化将部分取代设计师的一些设计工作,而CAD对设计的标准 化、产业化起着巨大的推动作用。随着信息技术、网络技术的发展,跨地区合作 设计,异地招投标、设计评审也将普及0在第一时间接受科技信息,与世界同步.通过一根电话线“在家工作”将成为可能。CAD技术在工程设计中的缺点CAD技术在给建筑设计业带来巨大效益的同时其负面作用也日益显现,值 得我们深思。CAD技术对设计思想的束缚由于电脑屏幕尺寸的限制,设计师关注的往往是设计的局部,对全局的把 握有一定影响,使得整个建筑物的比例、体量失控。CAD的精确性要求其每一笔 都要有准确的数据,使得方案设计中需要的模糊性、随机性被扼杀,设计缺乏灵 感。另一方面CAD软件自身功能的局限性以及设计师对CAD软件掌握的熟练程 度,使得建筑师好的灵感、创意不能通过CAD表达出来,建筑师的思想、思路、灵感被束缚。CAD技术扼杀建筑艺术建筑是一门融科技、艺术、文化、哲学于一体的学科。建筑既是一件商品,也是一件艺术品。有关人事认为CAD技术的滥用会使建筑设计工作从一种艺术创 作变为一种工业化生产,CAD引以为荣的复制、套用的高效率手段,使得设计过 程本身就伤害了这一学科,而CAD的标准化、工业化使得建筑作品千篇一律,缺 乏灵气、缺乏个性和人情味,建筑已经变为纯粹的商品.而最有艺术气息的手绘 建筑效果图,也将要被电脑效果图取代,电脑效果图虽然正式可信,快捷方便,但它缺少手绘图所体现的个性,以及设计师笔下流露的特有的感觉。CAD浪费资源CAD是一项科技含量很高的技术,通常一名设计师要用半年到一年的时间 才能熟练掌握CAD软件及电脑知识。可是在科技飞速发展的今天你学习的步伐永 远追不上电脑、外设、CAD软件的更新、升级步伐.设计师不得不花费大量时间 应付这些变化。CAD的复杂、难懂使得设计师望而却步,一些院所专门设立、配9电子科技大学硕士学位论文 备电脑操作维修人员,甚至设立一个专门的CAD工作部,因为一个优秀的设计师 不一定是CAD高手,反之亦然.CAD对人力、时间的浪费可见一斑。其次,CAD对物质财力的浪费更甚。一个院所要想实现微机制图其硬件设 备如:电脑、工作站、绘图仪、复印机、扫描仪、数字化仪、数码相机、可录光 驱、UPS等的投资不菲,而它们的折旧率、升级费用也很高。它的软件投资也居 高不下,当然前提是使用正版软件。在国内一套建筑软件就要花费12万元,而 水暖、电、结构、预算各专业都配齐要十几到二十几万元,在加上操作系统软件、常用办公软件其花费惊人。CAD技术存在不可靠性CAD技术使得设计师不得不面对计算机病毒,CAD软件本身的更新升级,电脑资料的保存等一些不可靠因素。由于上述一个或几个原因设计师就得停止工 作,去解决与设计无关的问题,或者由于设计师的误操作和对CAD知识掌握不够,可能辛苦几天甚至几年的设计成果被误删、覆盖付之东流。国内某结构软件早期 版本的程序错误让人汗津,岁为造成重大损失并且在后续版本得到修正,但谁又 能保证现行的软件不存在问题呢。综上所述,CAD技术给设计师带来了极大的方便,但也带来了许多负面效 应.无论如何我们都应承认CAD给我们的好处,要正视它的局限性,善用它的长 处.2.2 VBA概述Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发 语言VASUALBASIC的子集,它是一种完全面向对象体系结构的编程语言,由 于其在开发方面的易用性和具有强大的功能,因此许多应用程序均嵌入该语言作 为开发工具.第二章CAD与VBA概述2.2.1 VBA的功能(1)创建对话框及其它界面。(2)创建工具栏。(3)建立模块级宏指令。(4)提供建立类模块的功能。(5)具有完善的数据访问与管理能力,可通过DAO(数据访问对象)对Access 数据库或其它外部数据库进行访问和管理。(6)能够使用SQL语句检索数据,与RDO(远程数据对象)结合起来,可建 立C/S(客户机/服务机)级的数据通信(7)能够使用Win32 Api提供的功能,建立应用程序与操作系统间的通信从功能上来说,VBA与VB几乎完全一样,或者说VBA是VB的一个子集.但它们之间更本质的区别在于VBA没有自己独立的工作环境,而必须依附于主应 用程序;而VB则不依附于任何其它的应用程序,具有完全独立的工作环境和编译、连接系统。由于VBA依附于主应用程序,因此它与主应用程序之间的通信简单而富有效 率,其代码完全是在进程内执行的.VBA的代码在AutoCAD中仍以解释的方式 执行,但由于它与AutoCAD共享内存空间,因此执行速度比ADS程序还要快.2.2.2 VBA的优点Microsoft VBA是一个面向对象的编程环境它提供了与Visual Basic(VB)相似 的丰富的开发能力.VBA和VB的最主要的区别在于VBA运行在与AutoCAD相 同的处理空间,从而提供了一个具有AutoCAD智能的,非常快的编程环境。VBA同时也提供与其它有VBA编程能力的应用程序的应用集成。这意味着 AutoCAD利用其它应用程序的对象库可以控制其它应用程序,例如Microsoft Word 和 Excel.VB是一个独立的开发版本,必须单独购买,但是它为AutoCAD VBA提供了 许多附加的组件,象外部数据库引擎和报告输出能力等。执行AutoCAD VBA有四点好处:a)Visual Basic编程环境易学易用;电子科技大学硕士学位论文b VBA运行在与AutoCAD相同的处理空间.使程序执行速度非常快。c 对话框构建快速,高效。允许开发者快速地定制程序原形和收到设计的及时反馈。d 工程可以单独存在,亦可嵌入在图形中.这就给了开发者在发行他们的应用程序时极大的灵活性VBA的启动和界面由于VBA集成在AutoCAD系统内部,因此用户必须先启动AutoCAD,然后 才能进入VBA IDE环境。启动VBA的方式为:菜单:【Took(工具)】Macor(宏)】【Visual Basic Editor VB编辑器)】命令行:vbaide启动VB编辑器后,其常用界面如图所示.图2-112第二章CAD与VBA概述实际上VBA是寄生于,B应用程序的版本,VBA和VB的区别包括如下几个 方面:a.VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL 等)自动化b.VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.C.要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序 是可执行文件(9EXE),而VBA开发的程序必须依赖于它的,父”应用程序,例如 EXCEL VBA 一个关键特征是所学的知识在微软的一些产品中可以相互转化.VBA可以称作EXCEL的“遥控器更确切地讲,VBA是一种自动化语言,它可以使常用的程序自动化,可以创建自 定义的解决方案.此外,还可以将EXCEL用做开发平台实现应用程序.EXCEL环境中基于应用程序自动化的优点使用VBA可以实现的功能包括:a,使重复的任务自动化.b.自定义EXCEL工具栏,菜单和界面.c.简化模板的使用.i自定义EXCEL使其成为开发平台.e.创建报表.对数据进行复杂的操作和分析.用EXCEL作为开发平台有如下原因:负EXCEL本身功能强大,包括打印,文件处理,格式化和文本编辑.b.EXCEL内置大量函数.c.EXCEL界面熟d,可连接到多种数据库.用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件 的打开和保存,打印,复制等.而用EXCEL作为开发平台,则由于EXCEL已经具备这 些基本功能,要做的只是使用它.录制简单的宏“宏”,指一系列EXCEL能够执行的VBA语句.13电子科技大学硕士学位论文 以改变单元格颜色为例,步骤如下:1 打开新工作簿,确认其他工作簿已经关闭。2 选择A1单元格。调出“常用”工具栏。3 选择“工具”一“宏”一“录制新宏L4 输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显 示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这 些宏。宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括,字 母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。5 选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”.6 单击“停止录制”工具栏按钮,结束宏录制过程。录制完一个宏后就可以执行它了。执行宏当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL 进行“遥控,但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用 EXCEL标准命令所无法实现的功能。而且,一旦熟悉了 EXCEL的“遥控力要执 行刚才录制的宏,可以按以下步骤进行:1 选择任何一个单元格,比如A3.2 选择“工具”一“宏”一“宏。显示“宏”对话框。3 选择“改变颜色,选择执行”,则A3单元格的颜色变为红色.试着选择 其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。查看录制的代码到底是什么在控制EXCEL的运行呢?看看VBA的语句如下.1 选择“工具”一“宏”一“宏”,显示“宏”对话框。2 单击列表中的“改变颜色”,选择“编辑”按钮。此时,会打开VBA的编辑器窗口(VBE。如代码下:(日期和姓名会有 不同)Sub改变颜色0f改变颜色Macrofxw记录的宏2000-6-1014第二章CAD与VBA概述With Selection.Interior.Colorindex=3.Pattern=xlSotid.PattemColorlndex=xlAutomaticEnd WithEnd SubSub改变颜色0:这是宏的名称。中间的以“m开头的五行称为,俵释,它在录制宏时自动产生以With开头到End With结束的结构是With结构语句,这段语句是宏的主要 部分.注意单词为election”,它代表“突出显示的区域“(即:选定区域)With Selection.Interior:它读作“选择区域的的内部”.这整段语句设置该区域内部的一些“属性其中:,Colorfadex=3:将该内部设为红色。注意:有一小圆点,它的作用在于简化语句,小圆点代替出现在With后的词,它是With结构的一部分另外:红色被数字化为 3.Pattern=xlSoUd:设置该区域的内部图案。由于是录制宏,所以,虽然并未设置 这一项,宏仍然将其记录下来(因为在“图案”选项中有此一项,只是为曾设置而已。xlSolid表示纯色。,PattonCoIorlndex=xlAutomatic:表示内部图案底纹颜色为自动配色。End With:结束 With 语句.End Sub:整个宏的结束语小结VBA最大特点和最大优点是利用面向对象(OOP 的ActiveX Automation 技术,使语言的引擎在技术上与开发环境分离。它的功能在很大程度上依赖于它 的客户显露的Automation接口 同时,由于VBA是基于ActiveX Automation技 术,它可以使用任何Automation技术的应用程序共同工作。VBA作为一个集成的开发环境,它提供了高质量的用户化编程能力,能够使 AutoCAD数据与其它的VBA应用程序,如Microsoft Excel软件,直接共享,实 现无缝连接,交换数据非常方便。15电子科技大学硕士学位论文2.3 高速公路工程设计在高速公路工程设计中常常会遇到绘制公路纵断面图,或者工程量清单等繁 琐的工作(工程量清单都要求以CAD的格式出图,但是CAD制表比EXCEL复 杂很多).而CAD确实可以完成二维绘图命令、二维图形编辑、文字标注与尺寸标注、道路工程制图、桥涵工程制图、图形打印、三维图形绘制等功能。但是CAD与 VB以及CAD和EXCEL的数据交互必须通过程序来实现,举个例子来说,在高 速公路工程设计中往往是在EXCEL里先把工程量清单做好,然后再转到CAD中,以CAD的形式输出,CAD是不能直接打开EXCEL的文件的.另外直接用CAD 画一些繁琐的工程图是很麻烦很花时间的,用VBA程序来实现,大大减轻了设计 人员的不必要的重复性劳动,为工程设计节约了时间。所以本篇论文就阐述了如何实现CAD与EXCEL之间的交互,以及利用VBA 程序来实现公路纵断面的绘制.2.4 软件工程设计2.4.1 软件工程的基本原理著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件 的
展开阅读全文