AutoCAD VBA参数化绘图程序开发与实战编码
上QQ阅读APP看书,第一时间看更新

第1章 参数化绘图程序开发的技术范畴及应用领域

1.1 CAD技术的开发——参数化设计

1.1.1 CAD技术探析

CAD是Computer Aided Design(计算机辅助设计)的缩写,将人类的聪明才智和创造能力与计算机高速而精确的计算能力、大容量的储存和数据处理功能结合起来,帮助设计人员完成繁杂的设计任务,提高工作效率和质量。一个好的计算机辅助设计系统既能充分发挥人的创造性,又能充分利用计算机的高速分析计算能力,即要找到人和计算机的最佳结合点。

计算机辅助设计作为一门学科始于20世纪60年代初,当时CAD技术的发展很缓慢,进入90年代,计算机技术突飞猛进,特别是微机和工作站的发展和普及,再加上功能强大的外围设备,如大型图形显示器、绘图仪、激光打印机的问世,极大地推动了CAD技术的发展,CAD技术已进入实用化阶段,广泛服务于机械、电子、宇航、建筑、纺织等产品的总体设计、造型设计、结构设计、工艺过程设计等环节。

在工程设计中,计算机辅助设计一般包括两种内容:带有创造性的设计(方案的构思、工作原理的拟定等)需要发挥人的创造性思维能力,创造出以前不存在的设计方案;非创造性的工作,是一些繁琐重复性的计算分析和信息检索,完全可以借助计算机来完成,如绘图、设计计算等。计算机辅助设计包括的内容很多,如:概念设计、优化设计、有限元分析、计算机仿真、计算机辅助绘图、计算机辅助设计过程管理等。

随着现代工业文明的发展,传统的手工制图已经不能满足现代企业的要求。越来越多的企业对工业产品的外形和内部结构的要求越来越高,产品更新的速度越来越快,计算机辅助设计技术的引进显著地提高了制图的速度和质量,缩短了新产品设计开发的时间。CAD技术几乎推动了一切领域的设计革命,CAD技术的发展与应用水平已成为衡量科学技术现代化和工业现代化的重要标志之一。

1.1.2 CAD系统的基本构成

一个CAD系统由硬件和软件两部分组成,要想充分发挥CAD的作用,必须要有高性能的硬件和功能强大的软件。

1.CAD硬件的组成

先进的CAD系统的硬件由计算机及其外围设备和网络组成。那种单机CAD的工作方式在大中型企业中将逐渐被淘汰,因为它远远不能满足现代企业设计的要求。先进的CAD系统都是以网络的形式出现的,特别是在并行工程环境中进行产品的并行设计,目前应用较多的是CAD工作站。外围设备包括鼠标、键盘、扫描仪等输入设备和显示器、打印机、绘图仪、拷贝机等输出设备。网络系统包括中继器(增加网线长度)、网桥(同种网相连)、路由器(选择加工路线)、网关(不同协议相连)、Modem方式连接到网络上,以实现资源共享。

如图1.1.1所示为一个CAD硬件系统的基本构成。

图1.1.1 CAD硬件系统基本构成

2.CAD软件的组成

为了充分发挥计算机硬件的作用,CAD系统还必须配备各种功能齐全的软件。CAD系统的软件构成如图1.1.2所示。

图1.1.2 CAD系统的软件构成

软件分为两大类:支撑软件和应用软件。支撑软件包括操作系统(实现对硬件的控制和资源的管理),程序设计语言(Fortran、VB、C++、LISP、二次开发语言和汇编语言)及其编译系统,数据库管理系统(对数据的输入、输出、分类、存储、检索进行管理)和图形支撑软件(AutoCAD)。另一类是应用软件,它是根据本领域工程特点,利用支撑软件系统开发,解决本工程领域特定问题。应用软件的性能对CAD的效率有极大影响,所以应特别重视它的开发和应用。

应用软件系统包括:第一,设计计算方法库,如常用数学方法库、统计数学方法库、常规设计计算方法库、优化设计方法库、可靠性设计软件、动态设计软件等;第二,专业程序库,如介质流程计算库、常用构件设计软件包等;第三,专业图库,如设备视图库、行业标准符号库。

1.1.3 CAD软件的二次开发

1.CAD软件二次开发技术应用前景

CAD软件工程是一个复杂、高智能、高专业的投入过程,使用好的开发工具进行软件设计与开发已经成了人们的共识。很多大中型甚至小型企业都在努力引进这一新技术,以提高企业自身的技术素质,增强产品在国内外市场上的竞争能力。另外,CAD教学也得到了各高校的普遍重视,从而全面推广普及CAD技术,提高了我国CAD技术的整体水平。

国内许多企业已成功地将CAD技术应用于二维工程图的绘制,二维CAD软件日益成为工程师进行设计的一种必备工具。在制造业、工程设计、电气和电子电路、仿真模拟和动画制作、轻工、纺织、家电、服装、医疗乃至体育方面都能觅得其踪影。随着CAD应用技术在我国的普及与不断深入,CAD应用技术已越来越成为促进科研成果的开发和转化、实现设计自动化、推动企业技术进步、增强企业技术创新能力和竞争能力、加速国民经济发展的一项关键技术。

随着掌握微机CAD系统应用与开发设计的技术队伍不断扩大,企业也能很方便地通过各种渠道获得来自外部的包括版本升级、二次开发、应用培训等的技术支持。CAD技术的推广已经由“甩图板”阶段跨入到深化应用阶段,一些条件较好的企业,已从原来单机使用CAD软件转化为计算机网络应用,可以用三维设计软件进行结构三维图的实体造型,在方案的初期配合三维造型完成各种图像、动画,进行方案的预演及汇报,并在设计过程中利用建好的模型进行有限元分析和优化设计,达到提高产品设计质量、缩短设计周期的目的。

CAD技术是一种综合性技术,CAD技术的发展,除了机械设计的理论和算法外,还带动了许多新的设计方法和理论的发展,如计算机图形学、专家系统、优化设计、有限元分析、控制理论等。这些理论和方法的应用,又进一步提高了CAD技术,促进了机械产品的设计和制造。探索CAD软件二次开发中的方法与技术,无疑是有现实意义的。

2.CAD软件二次开发的现代技术

CAD软件的开发也由早期的DOS, UNIX下的冗长繁琐的程序设计变成了成熟软件现有基础上进行的高起点的二次开发。国际和国内知名的CAD软件如Pro/E、UG等,都是商品化的通用平台,基本上覆盖了整个制造行业,但专业针对性差,因而不能满足各种各样具体产品的设计需要。在现代的CAD设计中,常选择某种已有的实体建模软件作为图形支撑,某种数据库系统作为底层数据环境,利用用户界面工具,使用一种宿主语言,开发独立的CAD系统。随着CAD技术及其应用水平的不断完善和提升,必将对我国经济发展产生积极的影响。

例如,当我们绘制机械图时,大量机械、电子等系列产品中,同一基本结构形式的零部件的标准化、系列化图形的绘制,形状相似而细节上又有所差别的零件或是机构简图中的基本图元,比如一些螺母螺栓、齿轮凸轮机构、回转副、槽轮棘轮机构等,若我们逐一绘制,显然费时费力,事倍功半。系统自带的图块及复制、粘贴、插入等编辑功能又有着难以避免的局限性。因此,有必要对CAD进行二次开发,建立常用基本图元库、标准件图库等,实现参数化绘图,以简化绘图过程,减少重复性工作,真正充分发挥CAD快速、准确的优势。在工程设计中,传统的CAD技术缺乏智能性和创新性,已经无法满足实际发展的需要,所以将专家系统和人工智能应用于CAD系统是非常必要的。

CAD软件开发的目的是将设计出的软件系统作为设计工具。CAD技术在机械工业中的一个重要应用就是参数化设计,能否实现参数化设计也成为评价CAD系统优劣的重要技术指标。早期的CAD二次开发,过程化的参数化设计是采用较多的一种方法。当今CAD技术的主要潮流是参数化造型与变量化造型,而CAD的二次开发技术也正是基于这两大理论之上。

目前,在CAD系统的开放式结构中,面向对象的软件设计方法成为主导,该方法更能高效率反映客观事物的内在特性和内在联系,符合工程设计方法学,面向对象技术是API的主要形式。目前已有大量的面向对象的编程工具,利用这些工具开发的应用程序,可以通过对象的属性和操作来访问及控制系统,即系统的功能、数据和界面以对象的形式暴露给用户。

目前在二维CAD软件方面,主要包括基于AutoCAD平台和自主平台两类应用软件。成熟的现代CAD软件一般都有供用户进行二次开发的接口,如AutoCAD是美国Autodesk公司开发的计算机辅助设计与绘图相结合的综合软件,在AutoCAD 2014版中,Autodesk首次包括了Microsoft的VisualBasic for Applications(VBA),它们给用户提供一系列工具,可以完成用户界面定制、宏程序执行、编写外部程序等来扩充系统功能。将AutoCAD和Visual Basic的功能结合在一起,可以创建非常好的应用程序,从而在使用AutoCAD执行当前任务时,可以在很短的时间内创建出正常情况下需要好几个小时才能完成的图形。

参数化设计更符合和贴近现代CAD中概念设计以及并行设计的思想,工程设计人员在设计开始阶段可快速草拟产品的零件图,通过对产品形状及大小的约束最后精确成图。同时,参数化设计还能够使设计人员在设计的同时实现参数化建立标准件的数据库,极大地方便后续工作。同一系列产品的第二次设计可直接通过修改第一次设计来实现,设计参数可以来自其他系统。设计参数不但可以驱动设计结果,而且影响产品的整个开发周期。参数化设计又是变量设计的前提,借助变量化设计思想可实现动态设计、机构设计的运动仿真模拟等。因此,参数化设计以及建库工具的研究对进一步提高设计和绘图效率以及柔性化设计具有十分重要的意义。