资源描述
摘要
齿轮传动具有传动效率高、传动比准确、结构紧凑、工作可靠等优点,是机械行业中最重要的传动形式之一。渐开线圆柱齿轮的设计理论比较成熟,资料也很丰富。随着现代设计方法的不断发展,计算机辅助设计(CAD)技术已经成为现代机械设计的重要组成部分,它把计算技术引入设计过程,并以参数化设计技术和特征建模技术作为CAD系统的两项重要指标。但市场上现存的很多齿轮传动CAD系统,都或多或少地存在着诸如无三维造型或二维图纸以及尺寸驱动、仅实现了参数化设计过程、没有对渐开线齿廓进行精确建模、没有充分注重设计着的主观能动性等缺点。因此,设计出渐开线圆柱齿轮的集参数化设计、特征建模于一体的软件有着重要的实际意义。
论文论述的是在Windows XP操作系统开发平台下,利用功能强大的Visual Basic.NET语言为开发工具,结合AutoCAD 2004的三维绘图功能及面向对象技术,设计独立于AutoCAD2004的功能菜单,通过输入参数,调用函数,驱动CAD,从而实现齿轮的参数化建模。
关键词:参数化设计;AutoCAD二次开发;VB.NET;齿轮
Abstract
Gear transmission has many virtues such as high efficiency,exact transmission ratio,compact structure,reliable operation and so on.It is one of the most important transmission forms in the mechanical industry.Involute cylindrical gear’s design theories are extraordinarily mature and the data are very abundant.With the continuous development of modern design methods,CAD technology,which brings computer technology into design methods,acted as an important role in modern mechanical design.It takes parameterization design and feature-based modeling as the two important estimative targets of CAD systems.But many gear transmission CAD systems in the markets have one or more shortcomings such as having no three-dimensional models or drawings as well as the size drive,only realizing the process of parameterization design,having no precise model of involut tooth profile and paying little attention to the designers’subjective mobility.Therefore,to design a whole involute cylindrical gear system with parameterization design and feature-based modeling is very important.
The paper discuss about that namely develops under the platform of the Windows XP system,use function formidable Visual Basic.NET language is the development kit,unifies the AutoCAD 2004 three-dimensional cartography functions and the object-oriented technology,the design is independent to the AutoCAD2004 function menu,through the input parameter,the transfer function,actuates CAD,thus in realization gear parameter modeling.
Keywords: Parametric Design;Secondary development of AutoCAD;VB.NET;Gear
绪论
1参数化设计概述
1.1参数化设计概念
参数化设计是通过改动图形的某一部分或某几部分的尺寸,或修改己定义的零件参数,自动完成对图形中相关部分的改动,从而实现对图形的驱动。参数驱动的方式便于用户修改和设计。用户在设计轮尺寸廓时无需准确地定位和定形,只需勾画出大致轮廓,然后通过修改标注的尺寸值来达到最终的形状,或者只将零件的关键部分定义为某个参数,通过对参数的修改实现对产品的设计和优化。
参数化的含义有两种:设计参数化和图形参数化。设计参数化对应于产品设计过程,其特点是:控制产品的参数在整个设计过程中其数目、数值和类型不断发生变化,在设计的某一时刻还有可能发生参数转换,即控制参数由一组变为另一组。图形参数化对应于最终产品或某些常用零部件,此时控制参数只有数值变化,不存在参数类型和整组控制参数的转换。
CAD技术在机械工业中的一个重要应用就是参数化设计,能否实现参数化计也成为评价CAD系统优劣的重要技术指标,它更符合和贴近现代CAD中概念设计以及并行设计思想,工程设计人员在设计开始阶段可快速草拟产品的零件图,通过对产品形状及大小的约束最后精确成图。同一系列产品的第二次设计可直通过修改第一次设计来实现,设计参数不但可以驱动设计结果,而且影响产品整个开发周期,设计参数可以来自其他系统。参数化设计又是变量设计的前提,借助变量化设计思想可实现动态设计,机构设计的运动仿真模拟等。同时,参数化设计还能够使设计人员在设计的同时可实现参数化建立标准件的数据库,极大地方便后续工作。因此,参数化设计以及建库工具的研究对进一步提高设计和绘图效率以及柔性化设计具有十分重要的意义。
1.2参数化设计理论方法
近十几年来,因为参数化设计在工程实际中有广泛的应用价值,国内外从事CAD研究的专家学者对其投入极大的精力和热情进行研究,从方法上做了大量研究和尝试,取得了重大成果。目前参数化设计方法主要有以下几种:
(l)基于几何约束的数学方式
利用尺寸约束建立方程组,将几何约束转变为一系列以特征点为变元的非方程组,对于给定的约束,通过数值方法解非线性方程组,一次解出所有特征点的坐标值,确定出几何细节。采用该方法必须输入充分且一致的尺寸约束,才能求解约束方程组。但由于非线性方程组求解过程本身的不足,求解稳定性的问题并没有得到根本解决,现在有不少研究正在寻求提高求解稳定性的途径
(2)基于几何推理的人工智能法
人工智能的发展,促进了参数化设计方法的发展,产生了几何推理法。这种方法又有两个方面:一是建立在专家系统的基础上,采用谓语表示几何约束,推理机制导出几何细节。这种方法可检验几何约束模型的合理性并能处理局修改,但系统庞大,对递归约束无法处理。二是扩展现有的数据结构,使其拓扑信息,并通过程序实现从几何约束到几何细节的推理。但由于在推理过程查询匹配规则,所以用这种方法建立的系统过于庞大,而且速度较慢。
(3)基于特征的实体造型方法
特征是作为捕捉设计者意图的方式而提出的,以取代用直线、圆弧、圆等几何元素构图的方式。特征实体具有一定的智慧,它们不但具有明确的工艺特构结构,而且能始终记忆自己的功能属性和与其它相关实体的适应关系。修改某一特征实体,会自动引起整个设计模型的相关变化,其中包括实体本身的物理量(如质心和惯性矩等数据)的变化。
(4)基于辅助线法
这种方法的几何图形轮廓线都建立在辅助线的基础上,辅助线的求解条件在作图的过程中已明确规定,由辅助线来管理图形的几何约束和结构约束,并直接定义图形的约束集,这样就可以在图中搜索和检查求解条件,使约束的表达得以简化,减小了约束方程的求解规模。从本质上讲,这种方法属于几何约束的变量几何法,不同之处是用辅助线来表达约束。当图形比较简单和有规则时,这种法的求解速度较快,但当图形比较复杂时,作辅助线会增加作图的操作,影响作图速度,而且要保证用辅助线定义图形约束集的完整性比较困难。
(5)基于关系的建模方法
关系模型的建立能方便地进行修改以适应不同用户的特殊要求,从而大大提高设计速度。以关系型数据结构构造参数化模型是德国西门子公司首先提出来在系统内,关系可建立在所在系统能识别的对象之间,也可在任意大的模型中建立任意复杂的关系模型,这种关系的建立过程是以符合设计师设计习惯的、非常简便自然的方式进行。
(6)知识驱动的智能化设计
知识驱动的基本思想是要寻求、记录不同类型知识的方法,这些知识用来策划、设计和完成一种产品、项目或工程,是将人工智能(包括知识库、知识规则、逻辑推理等)与CAX集成系统有机地结合为一体。但知识库必须储存大量专家的经验、知识及己知的事实和采用这些知识的规则,并且知识库中的知识数据能推理机制所采纳,可以通过相应的软件来添加、修改和维护,因此这种基于知识的智能化设计仍然在研究和发展中。
2AutoCAD二次开发的发展回顾
AutoCAD是一种具有高度开放结构的CAD软件开发平台,它提供给编程者一个强有力的二次开发环境。随着AutoCAD在机械设计、制图中的广泛应用,设计制图的工作效率已有明显的提高。可以说,AutoCAD是目前最为流行的工程图形处理软件之一,其较为完善的绘图功能和友好的人机对话界面,给用户以耳目一新的感觉。R10版本以前,可供使用的开发工具主要是AutoLisp;R11版本推出ADS是其最显著的特点;随着R13版推出ARX,AutoCAD进入了全新的面向对象开发环境,但这些开发工具都有其不足之处,AutoLisp运行速度不快,开发界面单调且不友好;对于VBA开发语言,其与AutoCAD形成了一个统一的整体,虽然二者之问的通信十分简单和高效,但也存在自身的不足。ADS是建立在C语言基础上的,而C语言是面向Windows编程的,学习难度相对较大;对于ARX程序,尽管其运算速度快,功能比以上两种工具更强大,但程序中的错误造成的危险也大,同时开发ARX程序对开发人员要求更高。因此,上述工具在AutoCAD上进行二次开发都受到了一定的局限。
3 AutoCAD二次开发在国内外的研究动态与发展趋势
3.1国内外的研究现状
目前,国内CAD技术的应用已逐步进入高级阶段,许多用户都针对本行的特点对CAD进行二次开发,CAD二次开发技术几乎在各个行业中都有应用实例,并已有许多商品化软件问世。但各行业CAD二次开发技术的发展水平存在较大差距,机械、电子、建筑、航空航天等是最早应用二次开发技术,其二次开发程度也最高,开发出的CAD系统能够集计算、参数化画图、数据管理为一体并直接与计算机辅助制造(CAM)和计算机辅助工艺设计(CAPP)有机结合。目前国内已开发成功一批符合工程需要的应用软件,逐渐形成了一批具有较高素质的研究开发队伍。
其他行业的CAD二次开发技术则相对落后,有的仅仅是一小部分工程技术人员的个人行为,还没有形成专门从事CAD二次开发的研究队伍。虽然也出现了一些CAD应用软件,但大多数仅仅针对某一类型的产品或产品的一部份而开发的小型应用系统,解决的问题也比较有限。
国外成功的CAD技术开发企业为了加快CAD技术开发步伐,都选择了高起点的CAD技术开发战略,即利用已有的技术成果,在此基础上二次开发自己的CAD技术,而不是将人力物力浪费在低水平的重复开发上,这样既可以提高效率,又能保证自己的产品具有较高的技术含量和水平。
3.2发展趋势
随着制造业的发展,CAD技术也日渐成熟。在七十年代,发展了一批CAD软件,用于各种分析和模拟,如有限元分析软件、运动模拟软件、优化设计软件等,为设计决策提供了重要的依据,大大提高了设计的效率,为增强产品竞争力发挥了积极的作用。但是这些CAD系统仅仅努力使人工设计过程计算机化,用计算机代替图板,停留在对产品零件的几何描述水平上,没有涉及到设计的本质。随着生产技术的不断进步,设计师在设计活动中所要面对的信息量也在持续不断地增长,希望新型的CAD系统能在产品设计过程中的各个阶段,尤其是概念设计和方案设计等智能程度更高的阶段,都能够积极、有效地参与设计活动。为适应当今时代激烈的市场竞争和快速发展变化的需要,CAD系统也呈现出日新月异的局面。近期CAD技术开发研究的发展趋势是智能化、网络化、高度集成化、可视化。
(1)智能化
将人工智能思想、方法和技术引入到CAD系统的研究与开发中,开辟了智能CAD的新领域,成为当前CAD的研究热点之一。智能CAD(Intelligent CAD——简称ICAD)涉及到许多不同的领域,如认知心理学、计算机科学、人工智能科学等等,目前ICAD在设计问题求解的研究方面提出了许多适合于计算机处理的方法,如基于空间关系推理的设计、功能推理设计、基于多Agent的设计、面向对象的设计、基于特征的设计、基于事例的设计等。
(2)网络化
网络技术是计算机技术与通讯技术相互渗透结合的产物。CAD系统只有通过网络互联起来,才能达到资源共享和协调作用,发挥更大的效益。近年来,计算机支持的协同设计环境的研究是CAD技术发展方向之一。网络CAD技术的发展将有助于提高和改善设计的工作效率与质量,充分体现群体的作用,使设计人员不受地理位置的限制,就能进行方案讨论和产品设计。
(3)高度集成化
为适应设计与制造自动化的要求,特别是CIMS的要求,进一步提高集成水平是CAD技术发展的一个重要方向。应在以下几方面提高水平:几何造型应从传统的实体造型到参数化特征造型转变,以便建立包括几何信息在内的完整的产品信息模型;CAD/CAM系统内应有统一的数据库及其数据管理系统;集成系统内部应包括种类更多、功能更为完善的设计与制造应用软件。
(4)可视化
科学计算可视化(VISC)是80年代末期发展起来的一门技术。可视化技术使设计者处在自己想象的设计空间,亲临现场似地对产品和工程进行设计和布置,从而充分发挥设计者的聪智慧,使设计进行得尽善尽美。VISC技术符合当今信息时代人类处理大量复杂数据的需要,必将成为人类信息交流的新形式。
4 AutoCAD二次开发的目的和意义
利用三维CAD技术进行产品设计,是未来制造业的发展趋势。现代三维CAD技术的一个主要特点就是其可实现机械产品参数化设计。参数化设计有时也称为尺寸驱动,所谓尺寸驱动就是指当设计人员改变了模型尺寸数值的大小时,模型将随之发生相应的变化。许多机械零件的形状结构具有共同特征,只是在相对大小或局部特征上存在一定的差异,如果能够通过一个模板模型衍生出不同的模型,就会大大提高设计效率。
CAD技术推动了几乎一切领域的设计和制造革命,其开发和应用水平已成为衡量一个国家现代化水平的重要标志。我国一贯重视CAD技术的引进、推广和应用工作,但同时也非常重视CAD软件的自主开发。目前,国内实际使用的CAD系统可分为两大类:一类是国内主权版的CAD系统,另一类是国外商品化的CAD系统。由于国外CAD系统发展早、技术先进、产品成熟、售后服务周到,仍占据着主要的市场份额。国际和国内的知名的CAD/CAM软件如AUTOCAD、Pro/Engineer、UGⅡ、I-DEAS、Solid Works以及华正CAXA系统等,都是商品化的通用平台。这些通用软件需要考虑各行业、各地区用户的需要,而并非针对某一领域甚至某种产品的专用软件,因此用它来完成某一具体产品的设计时往往不是很方便。因为不同企业有不同的产品,其设计方法、产品结构不尽相同,即使是面向某一类对象的专用的商品化CAD软件,也难以满足形形色色的具体需要,所以不可能从软件公司买到适合所有产品设计需要的软件。因此,欲利用CAD技术取得积极效果,必须以通用CAD软件为基础,结合自身实际情况,进行不同程度的用户化、本地化开发,以建立应用绘图系统和数据库,形成具有自身特色的CAD系统,这也是CAD软件均提供二次开发手段的原因。如果能在引进的原始CAD系统基础上,根据本企业或行业的常规性产品或工程设计的实际需要,将设计手册、制造手册中的各种数据、典型的结构、计算方法与公式及产品标准、技术要求、外构件、原材料的样本、手册,本企业或行业产品的典型结构、经验数据、工装情况等方面的资料、数据、图形等与现有CAD系统有机地融合起来,使设计人员从繁重的重复劳动中解放出来,做到数据共享;甚至更一步,将本企业或行业多年来的设计经验总结出来,形成有特色的设计规范、设计方法、典型结构、标准、通用零部件、功能模块,并相应地在CAD系统内建立起数据库、图形库、方法库、知识库及其应用程序,从而真正发挥CAD系统的效用和优越性。CAD二次开发的意义不仅在于提高设计效率,而且还是提高产品设计质量的重要途径,是提升CAD应用水平的重要手段。
5本课题研究的主要内容
本课题是在以Windows XP操作系统为平台,利用功能强大的Visual Basic.NET面向对象程序设计的特点,结合AutoCAD2004的三维绘图功能及技术,设计独立于AutoCAD2004的功能菜单,通过输入参数,调用函数,驱动CAD,从而实现渐开线标准直齿圆柱齿轮的参数化建模。本课题主要内容包括以下几个方面:
(1)参数的设定
主要利用Visual Basic.NET框架结构,通过调用其函数,实现对实体特征地描述,主要是根据输入的基本工作参数,系统通过分析计算,可确定出零件的几何参数、特征参数和建模的控制参数等。我们需要在能完整表述零件特征的条件下归纳出几何特征参数。基本的原则是,在能够实现功能的前提下,选用尽量少的参数。因为参数越少,使用起来越方便,而参数越多,程序实现起来越繁琐,一般来说,运行的速度也相对较慢。而且过多的参数会使参数化失去其原有的意义。
(2)三维建模
通过程序的控制,实现三维模型的参数化。由于复杂曲面的零件三维建模过程比较复杂,而且需要做的前期工作也比较多,所以非常占用设计者的设计时间。而设计出的CAD系统,只需要设计者输入几个主要参数,便可以完成对零件的建模。在设计的过程中,对于系统的通用性也进行了一定的考虑。
(3)
.
第一章AutoCAD二次开发方法
1.1引言
作为CAD工业旗帜产品的AutoCAD,伴随着近年来整个PC基础工业的突飞猛进,正在迅速而深刻地影响着人们从事设计和绘图的基本方式。从始至今,AutoCAD均是一种定位于全球各大领域和各类专业的通用微机CAD平台软件,其完备的系统开放性和丰富的个性化能力,是其能在各行各业应用中生机勃勃的基本要素。AutoCAD允许用户和开发者在几乎所有方面对其进行修改和扩充,进行二次资源开发,能最大限度地满足用户的特殊要求,形成更广泛的应用领域AutoCAD最重要的特点就是它可以和高级语言交换数据,即支持高级语言编程。
1.2 AutoCAD二次开发的形式
所谓“二次开发”是指由熟悉产品设计同时又掌握计算机应用技术的人员开发出针对某一产品的CAD应用软件。基于AutoCAD提供的开发手段,常见的二次开发的形式有:参数化CAD、成组CAD、交互式CAD和智能化CAD等。
(1) 参数化CAD
参数化CAD应用软件主要用于标准化、系列化和通用化程度比较高的定型产品。如模具、刀具、量具、夹具、液压系统、组合机床等。对于这类产品,一般设计都较为简单。如量具CAD中光滑极限量规CAD,设计时,首先可以先定制不同类型量规的图标选单,然后根据设计要求调入所设计量规的标准图样,输入设计的主要参数,通过计算机查询量规的数据库中的数据,进行必要的计算,将查询或计算得到的数据,在标准图样上进行变量代换,实现参数化绘图,最后生成符合设计要求的图样。可见,这类软件使用时效率较高,但由于专业性较强,使其推广受到限制。因此,它适于企业技术人员自行进行开发。
(2) 组成CAD
成组CAD应用软件利用成组技术的原理,将需要设计的零件特征编码与原设计的零件特征编码相比较,通过屏幕提示,决定是对源设计中零件直接引用或者是进行修改。成组CAD中源设计的零件是根据“复合零件”方法进行设计,它应将零件族内的零件功能要素集于一身,同时还应对每个功能要求的参数进行标准化处理[26]。在设计中,这个“复合零件”可以用“块”的形式进行组合,每个“块”相应做成参数化形式,供修改使用。如轴承CAD中可将轴承的内圈、外圈等做成相应的“块”,设计时根据输入的参数及数据库中的数据,与“复合零件”进行比较,对轴承的结构,如外圈、滚动体等,决定是否进行修改,最后进行参数化绘图,生成轴承的图样,这样,只要建立起适合本行业或本企业产品类型适当的“复合零件”库,就可满足生产中的设计要求。但是,由于成组CAD是针对某一类或一系列产品进行开发,所以应用的广泛性受到了一定程度上的约束。
(3) 交互式CAD
交互式CAD应用软件由于利用人机交互的方式进行设计,模拟了设计人员的设计过程。适用于各类产品的设计,特别是对于一些单件、小批生产的通用化和标准化较低的产品。如非标准刀具蜗轮滚刀CAD中,将与蜗轮滚刀有关的设计和计算数据建立起相应的数据库,利用AutoCAD中选单的定制及设计人机交互的对话框等,从而满足在设计时人机交互的需要。对于有些标准的结构,可先做成标准的图库,如带柄式蜗轮滚刀的莫氏锥柄的结构,在设计中,可将其直接从图库中调出,从而提高交互设计的速度。交互式CAD具有应用广泛性,使用灵活性、设计对象的适应性等特征,但对于开发人员的设计水平要求较高。
(4) 智能化CAD
智能化CAD就是将人工智能技术与CAD技术融一体而建立起来的系统。这一系统在更高的创造性思维活动层次上给予设计人员有效的辅助,是真正意义上的计算机辅助设计。人工智能中的专家系统技术、实例推理技术、约束满足技术、神经网络技术等已经得到了广泛的研究。如专家系统技术的引入,可以引进专家设计的思路,提供设计方案的选择,最终能够模拟专家设计过程,根据设计中的问题提出合理的解决方案。显然,采用智能化CAD的专家设计系统也可能使一般的设计人员做出专家级水平的设计来。目前,智能化CAD主要用于原理方案的设计,产品数学模型的建立及对产品计算优化、结构设计等方面。真正意义上的应用软件在国内还不多见。
1.3 AutoCAD二次开发工具的比较
AutoCAD软件包是美国AutoCAD公司的产品,因其功能强大而被广泛应用于我国的机械、电子、航空等领域。但在使用中也遇到一些问题,由于AutoCAD是一种通用的软件。它很难满足各行业的行业标准。然而,AutoCAD开放式结构和其所提供的多种开发工具,使用户能完全摆脱AutoCAD的限制,根据自己的需要对其进行二次开发,这也是AutoCAD广受人们青睐的主要原因之一。迄今为止,AutoCAD已经相继提出了三代二次开发工具,如图1-1所示:
图1-1 AutoCAD二次开发工具
各种开发工具都有其自身的特点和使用场合,在此仅对其中几种主要流行的开发工具进行探讨,指出它们各自的优缺。
(1)AutoLISP开发工具
AutoLISP是AutoCAD最早的一种二次开发语言。它是一种嵌入在AutoCAD内部的CommonLisp程序设计语言子集,并扩充了极强的图形处理功能。此外还可为AutoCAD添加某些特殊的函数功能,如制作幻灯片、菜单等。
AutoLISP应用程序既可完成通常的科学计算和数学分析,又能直接调用几乎全部AutoCAD命令。这两者的有机结合,使它成为专业CAD开发者强有力的理想工具。而Lisp是目前研究和开发人工智能与专家系统CAD的主要编程语言。AutoLISP有如下优点:(1)语言规则十分简单,易学易用。对计算机了解不太深入的工程专业人员,仅需经短期的学习,就可以熟练掌握这门语言。该语言的简洁性是其它许多计算机语言所无法相比的。(2)直接针对AutoCAD,解释执行,易于交互。AutoLISP提供的大多数函数都是直接针对AutoCAD操作的,用AutoLISP可编写访问AutoCAD图形数据库(DWG)的操作。(3)解释执行立竿见影。程序员既可以一次运行一段AutoLISP代码,也可以在AutoCAD的“Cornmand:”下逐条键人AutoLISP指令,立即得到结果。随着计算机技术的发展,CAD编程逐渐复杂,代码越来越庞大,AutoLISP的缺点也越来越明显。如,综合处理能力差、程序运行速度慢、软件质量不易保证、开发环境集成度低和与人的思维方式不太一致等。由于AutoLISP的这些特点,它仅适合于有能力的终端用户作些自己的开发任务,如今AutoLISP的使用已经逐渐被其它几种开发工具所取代。
(2)ADS开发系统
ADS是AutoCAD提供的基于C语言开发应用程序的系统。它对开发人员的C语言要求较高。ADS是从AutoCAD R11开始提供的。ADS作为一组AutoLISP外部函数由AutoLISP解释器装入、解释并请求AutoCAD运行,由于ADS使用C语言编程,因此,执行速度较快,并且,经过编译的程序安全性较高。在国内常见的应用软件多是使用ADS进行开发的。由于ADS程序必须通过AutoLISP解释加载,所以,ADS各方面使用性能相应受到限制,同时,随着网络技术的迅速发展,面向过程的ADS已有些力不从心了。正因为如此,在AutoCAD R13中提供了面向对象的开发工具ARX。
(3)ObjectARX开发工具
ObjectARX是AutoCAD R13之后推出的第一个全额的面向对象的开发工具,在此之前,ADS已经能在AutoCAD上开发较大规模的程序,然而计算机技术的发展不仅要求CAD的交互性、综合性,同时对自动化、智能化也提出了更高的要求。特别是当前,面向对象的编程技术已经成为软件开发的主流,传统的结构化编程模式正逐步被面向对象以及消息驱动编程模式所代替。在这种情况下,Autodesk公司推出了ARX开发工具,该开发工具充分支持C++以及面向对象的编程技术,无论在程序的运行速度、通用性、功能上都是相当强大的。ARX应用程序实质上是一个动态联接库(DLL),它直接与AutoCAD进行通讯,与AutoCAD溶为一个整体,并具有ADS程序及AutoLISP程序所不具备的访问和控制AutoCAD的能力,而且运行速度上比后两者更快。值得注意的是,开发ARX程序对软件开发人员的技术要求比开发AutoLISP程序及ADS程序更高,所需的硬件配置也比后两者高。
(4)VB开发工具
VB是一种可视化的、面向对象的Windows开发语言。VB从问世之初,就有易用和开发效率高的特点.随着VB语言的不断升级,这一特点显得越来越突出,同时.由于该语言平台的不断完善和计算机性能的不断提高,VB语言本身的缺陷显得并不那么重要。由于它具有易学、易用的特点.在软件开发领域有着越来越多的应用场台。在这种前提下,Autodesk在AutoCAD R14.0以上版本中设置了VB开发工具的接口。使得用户可以在VB语言环境下对AutoCAD进行二次开发。在利用VB对AutoCAD进行二次开发时,为了调用AutoCAD中的各种对象,必须在VB工程中引用AutoCAD的对象库,引用之后.就可以在VB中方便地操作AutoCAD的各种对象了。
(5) Visual LISP开发工具
Visual LISP(VLISP)是为加速AutoLISP程序开发而设计的软件工具,是AutoLISP的换代产品,与AutoLISP完全兼容,并提供它的所有功能。VLISP的集成开发环境具备许多功能,使编写、修改代码以及测试和调试程序更加容易。另外,VLISP还提供了用于发布由AutoLISP编写的独立应用程序的工具。
Visual LISP有一个交互式智能控制台,它还具有强大的文本编辑器和格式化器,使编程更加轻松高效。此特性使Visual LISP成为编写LISP程序更有效的工具。然而,Visual LISP只是AutoLISP功能的扩展。没有实质更为强大的功能。
第二章VB.NET平台上AutoCAD二次开发技术
2.1引言
应用VB进行AutoCAD的二次开发具有很大的优势,它是一种面向对象的可视化编程工具,具有快速的开发环境,其语法简单、功能强大、界面清晰,同时还可以弥补AutoCAD在其他方面的不足。Autodesk在AutoCAD R14以上版本中设置了VB开发工具的接口,使得用户可以在VB语言环境下对AutoCAD进行二次开发。VB.NET是微软新推出的开发平台,具有众多优点。基于.NET平台对AutoCAD进行二次开发,可充分利用.NET的各种优势,在保证功能强大的前提下大大提高开发速度。
2.2 .NET框架和AutoCAD对象模型
.NET是微软的大型分布式软件系统的开发战略。它的核心组成部分是.NET框架,即一个用于Internet的组件模型,是.NET框架所有其他功能得以实现的基础。.NET Framework类库是一个与公共语言运行库紧密集成的可重用的类型集合。.NET框架中的类为开发人员提供了一个统一的、面向对象的、层次化的、可扩展的类库集。组件模型可以使软件的各个组成部分用不同的编程语言编写,然后组合成一个可以运行的软件系统。.NET框架不仅代表了软件界软件复用、重组、互操作研究的发展方向,而且也给制造业软件应用开发和集成带来了巨大影响。Microsoft.NET框架为开发人员提供了一个极为方便的开发环境,从而简化了安全、可靠、可扩展、高可用性的网络服务的建立、部署及其不断发展。在AutoCAD中,对象是分层的,这个分层结构就是用户应用程序能够操作的对象模型,其中根对象是Application,对对象的操作都是依对象模型的分层关系来逐级操作的。
2.3基于VB.NET的开发
2.3.1.NET API简介
在新推出的AutoCAD 2004中,Autodesk为其开发增加了.NET API。.NET API提供了一系列托管的外包类(Managed Wrapper Class),使开发人员可在.NET框架下,使用任何支持.NET的语言,对AutoCAD进行二次开发。其优点是完全面向对象,在拥有与C++相匹配的强大功能的同时,具有方便易用的特点,是较理想的AutoCAD二次开发工具。
2.3.2 VB.NET与VB的主要区别
VB.NET是Visual Basic的下一个版本。微软不是简单的在VB6.0的基础上增加了一些新特性,而是重新更换定制了这个产品。VB.NET与VB在开发界面上基本一致,在基本语法上,VB.NET与VB相似,而在结构上已经发生了完全不同的变化。
.NET框架中由类定义了Common Type System(通用类型系统),它使得数据类型在用不同.NET语言编写的程序之间保持一致,因此,VB.NET对数据类型进行了大量的变化。例如Short数据类型代替了Integer,Integer类型现在变为32位,Long变为64位。Variant类型也由Object(对象)数据类型所替代,String数据类型产生自.NET系统类库,被设计为不可改变的文本字符串。同时还增加了Char数据类型,用来处理单个字符值或创建字符值的数组等等。随着数据类型的变化,VB.NET还增强了声明和使用变量的方法,可以在一个语句中声明一个类型的多个变量,且在声明变量的同时,完成对变量初始值的设置。此外,VB.NET在数组和过程的语法方面,也有一定的变化和调整。
与VB6.0相比,VB.NET不但具备了任何面向对象编程语言所具有的抽象性、封装性、多态性,而且在继承性上是第一个支持完全继承的VB版本。通过完全继承,类可以获得现有类的现有接口和行为。这是通过一个叫Subclassing(再细分类)的过程,继承现有类的这些行为完成的。引入完全继承后,VB.NET是真正的面向对象语言。在保证功能强大的前提下大大提高开发速度。
2.3.3 .NET的特点
VisualStudio.NET是Mierosoft公司推出的具有战略性发展的新一代开发平台。VisualStudio.NET框架将Mierosoft公司的所有编程语言的开发环境统一起来,并且可以创建、配置和运行Wbe服务以及Windwos平台的应用。在.NTE框架中,所有的编程语言,从高层的JvaascriPt到低层的C++语言,一律是等同的,它们都将生成托管代码,并且可以一次编写,随处运行。.NTE框架还可以使不同的语言之间进行交互,即一种语言可以使用另一种语言所编写的组件。还可以从另一种语言编写的类派生新类或创建实例.
(1)高效率开发
通过.NETFrnalweork为我们提供的一个庞大而有结构清晰的类型,使得我们的编程变得异常轻松,还有自动垃圾回收机制等等一系列新的特性,可以让我们的程序员腾出更多的精力放在考虑如何实现客户所需要的业务逻辑上,而不是计算机的控制上为内存如何分派之类的事情头痛。甚至无论你是开发哪一种应用程序,无论是CS/、BS/、还是智能设备还是数据库编程,都可以使用你最熟悉的一种编程语言而不需要去学习诸如C++、APS、SQL等等各不相同的多用语言。.NET还带来了多种语言之间的无缝集成,例如一个系统同时可以采用多用编程语言来开发,VB.net编写的类可以方便的再用C#继承,这些都大幅度地提高了我们的开发效率。
(2)多平台特性
不可否认,到目前为止.NTE应用程序还只能运行于Windwos平台上,但.NTE天生就为跨平台应用做好了准备,据我们所知,微软自己还有第三方开发商己经在为.NTE程序运行在Unix、052、Linux等等系统上工作着(如开源项目Mono)。我们还可以看到我们的.NET应用程序将可以运行在PAD甚至手机上。不久的将来,我们将可以只关心我们的应用程序将如何满足客户的需求而不用考虑基于何种平台来开发。
(3)无接触部署
借助于.NTE的反射特性,.NTE应用程序都可以精确的描述自身。这就使得无接触部署成为可能,.NET应用程序无需在注册表中储存信息,只需简单的XCOPY便可正确的在用户的机器上运行,这使得企业的部署成本将会大为降低。
(4)消除DllHell
同样是基于.NTE的反射特性,每一个应用程序将可以清楚地知道自己需要使用哪一个Dll,同一个Dn的不同版本可以彼此和平共处,从而彻底消除让我们头痛的Dl1Hell。
(5)可信赖计算
长期以来,微软系统的安全性问题一直备受垢病。但终于,比尔盖茨决定改变这种现状。在.NTE中,这种安全性的考虑直接放到了代码级。通过一系列的技术,如代码访问安全(CodeAccessSecurity)、基于角色的安全、强名称 (StrongName)、权限和权限集等等,最大限度地保证了系统的安全性
第三章齿轮关键尺寸工艺参数分析确定
3.1引言
展开阅读全文