版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要齿轮传动具有传动效率高、传动比准确、结构紧凑、工作可靠等优点,是机械行业中最重要的传动形式之一。渐开线圆柱齿轮的设计理论比较成熟,资料也很丰富。随着现代设计方法的不断发展,计算机辅助设计(CAD)技术已经成为现代机械设计的重要组成部分,它把计算技术引入设计过程,并以参数化设计技术和特征建模技术作为CAD系统的两项重要指标。但市场上现存的很多齿轮传动CAD系统,都或多或少地存在着诸如无三维造型或二维图纸以及尺寸驱动、仅实现了参数化设计过程、没有对渐开线齿廓进行精确建模、没有充分注重设计着的主观能动性等缺点。因此,设计出渐开线圆柱齿轮的集参数化设计、特征建模于一体的软件有着重要的实际意义。论文论述的是在WindowsXP操作系统开发平台下,利用功能强大的VisualBasic.NET语言为开发工具,结合AutoCAD2004的三维绘图功能及面向对象技术,设计独立于AutoCAD2004的功能菜单,通过输入参数,调用函数,驱动CAD,从而实现齿轮的参数化建模。关键词:参数化设计;AutoCAD二次开发;VB.NET;齿轮AbstractGeartransmissionhasmanyvirtuessuchashighefficiency,exacttransmissionratio,compactstructure,reliableoperationandsoon.Itisoneofthemostimportanttransmissionformsinthemechanicalindustry.Involutecylindricalgear’sdesigntheoriesareextraordinarilymatureandthedataareveryabundant.Withthecontinuousdevelopmentofmoderndesignmethods,CADtechnology,whichbringscomputertechnologyintodesignmethods,actedasanimportantroleinmodernmechanicaldesign.Ittakesparameterizationdesignandfeature-basedmodelingasthetwoimportantestimativetargetsofCADsystems.ButmanygeartransmissionCADsystemsinthemarketshaveoneormoreshortcomingssuchashavingnothree-dimensionalmodelsordrawingsaswellasthesizedrive,onlyrealizingtheprocessofparameterizationdesign,havingnoprecisemodelofinvoluttoothprofileandpayinglittleattentiontothedesigners’subjectivemobility.Therefore,todesignawholeinvolutecylindricalgearsystemwithparameterizationdesignandfeature-basedmodelingisveryimportant.ThepaperdiscussaboutthatnamelydevelopsundertheplatformoftheWindowsXPsystem,usefunctionformidableVisualBasic.NETlanguageisthedevelopmentkit,unifiestheAutoCAD2004three-dimensionalcartographyfunctionsandtheobject-orientedtechnology,thedesignisindependenttotheAutoCAD2004functionmenu,throughtheinputparameter,thetransferfunction,actuatesCAD,thusinrealizationgearparametermodeling.Keywords:ParametricDesign;SecondarydevelopmentofAutoCAD;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上进行二次开发都受到了一定的局限。3AutoCAD二次开发在国内外的研究动态与发展趋势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(IntelligentCAD——简称ICAD)涉及到许多不同的领域,如认知心理学、计算机科学、人工智能科学等等,目前ICAD在设计问题求解的研究方面提出了许多适合于计算机处理的方法,如基于空间关系推理的设计、功能推理设计、基于多Agent的设计、面向对象的设计、基于特征的设计、基于事例的设计等。(2)网络化网络技术是计算机技术与通讯技术相互渗透结合的产物。CAD系统只有通过网络互联起来,才能达到资源共享和协调作用,发挥更大的效益。近年来,计算机支持的协同设计环境的研究是CAD技术发展方向之一。网络CAD技术的发展将有助于提高和改善设计的工作效率与质量,充分体现群体的作用,使设计人员不受地理位置的限制,就能进行方案讨论和产品设计。(3)高度集成化为适应设计与制造自动化的要求,特别是CIMS的要求,进一步提高集成水平是CAD技术发展的一个重要方向。应在以下几方面提高水平:几何造型应从传统的实体造型到参数化特征造型转变,以便建立包括几何信息在内的完整的产品信息模型;CAD/CAM系统内应有统一的数据库及其数据管理系统;集成系统内部应包括种类更多、功能更为完善的设计与制造应用软件。(4)可视化科学计算可视化(VISC)是80年代末期发展起来的一门技术。可视化技术使设计者处在自己想象的设计空间,亲临现场似地对产品和工程进行设计和布置,从而充分发挥设计者的聪智慧,使设计进行得尽善尽美。VISC技术符合当今信息时代人类处理大量复杂数据的需要,必将成为人类信息交流的新形式。4AutoCAD二次开发的目的和意义利用三维CAD技术进行产品设计,是未来制造业的发展趋势。现代三维CAD技术的一个主要特点就是其可实现机械产品参数化设计。参数化设计有时也称为尺寸驱动,所谓尺寸驱动就是指当设计人员改变了模型尺寸数值的大小时,模型将随之发生相应的变化。许多机械零件的形状结构具有共同特征,只是在相对大小或局部特征上存在一定的差异,如果能够通过一个模板模型衍生出不同的模型,就会大大提高设计效率。CAD技术推动了几乎一切领域的设计和制造革命,其开发和应用水平已成为衡量一个国家现代化水平的重要标志。我国一贯重视CAD技术的引进、推广和应用工作,但同时也非常重视CAD软件的自主开发。目前,国内实际使用的CAD系统可分为两大类:一类是国内主权版的CAD系统,另一类是国外商品化的CAD系统。由于国外CAD系统发展早、技术先进、产品成熟、售后服务周到,仍占据着主要的市场份额。国际和国内的知名的CAD/CAM软件如AUTOCAD、Pro/Engineer、UGⅡ、I-DEAS、SolidWorks以及华正CAXA系统等,都是商品化的通用平台。这些通用软件需要考虑各行业、各地区用户的需要,而并非针对某一领域甚至某种产品的专用软件,因此用它来完成某一具体产品的设计时往往不是很方便。因为不同企业有不同的产品,其设计方法、产品结构不尽相同,即使是面向某一类对象的专用的商品化CAD软件,也难以满足形形色色的具体需要,所以不可能从软件公司买到适合所有产品设计需要的软件。因此,欲利用CAD技术取得积极效果,必须以通用CAD软件为基础,结合自身实际情况,进行不同程度的用户化、本地化开发,以建立应用绘图系统和数据库,形成具有自身特色的CAD系统,这也是CAD软件均提供二次开发手段的原因。如果能在引进的原始CAD系统基础上,根据本企业或行业的常规性产品或工程设计的实际需要,将设计手册、制造手册中的各种数据、典型的结构、计算方法与公式及产品标准、技术要求、外构件、原材料的样本、手册,本企业或行业产品的典型结构、经验数据、工装情况等方面的资料、数据、图形等与现有CAD系统有机地融合起来,使设计人员从繁重的重复劳动中解放出来,做到数据共享;甚至更一步,将本企业或行业多年来的设计经验总结出来,形成有特色的设计规范、设计方法、典型结构、标准、通用零部件、功能模块,并相应地在CAD系统内建立起数据库、图形库、方法库、知识库及其应用程序,从而真正发挥CAD系统的效用和优越性。CAD二次开发的意义不仅在于提高设计效率,而且还是提高产品设计质量的重要途径,是提升CAD应用水平的重要手段。5本课题研究的主要内容本课题是在以WindowsXP操作系统为平台,利用功能强大的VisualBasic.NET面向对象程序设计的特点,结合AutoCAD2004的三维绘图功能及技术,设计独立于AutoCAD2004的功能菜单,通过输入参数,调用函数,驱动CAD,从而实现渐开线标准直齿圆柱齿轮的参数化建模。本课题主要内容包括以下几个方面:(1)参数的设定主要利用VisualBasic.NET框架结构,通过调用其函数,实现对实体特征地描述,主要是根据输入的基本工作参数,系统通过分析计算,可确定出零件的几何参数、特征参数和建模的控制参数等。我们需要在能完整表述零件特征的条件下归纳出几何特征参数。基本的原则是,在能够实现功能的前提下,选用尽量少的参数。因为参数越少,使用起来越方便,而参数越多,程序实现起来越繁琐,一般来说,运行的速度也相对较慢。而且过多的参数会使参数化失去其原有的意义。(2)三维建模通过程序的控制,实现三维模型的参数化。由于复杂曲面的零件三维建模过程比较复杂,而且需要做的前期工作也比较多,所以非常占用设计者的设计时间。而设计出的CAD系统,只需要设计者输入几个主要参数,便可以完成对零件的建模。在设计的过程中,对于系统的通用性也进行了一定的考虑。(3).第一章AutoCAD二次开发方法1.1引言作为CAD工业旗帜产品的AutoCAD,伴随着近年来整个PC基础工业的突飞猛进,正在迅速而深刻地影响着人们从事设计和绘图的基本方式。从始至今,AutoCAD均是一种定位于全球各大领域和各类专业的通用微机CAD平台软件,其完备的系统开放性和丰富的个性化能力,是其能在各行各业应用中生机勃勃的基本要素。AutoCAD允许用户和开发者在几乎所有方面对其进行修改和扩充,进行二次资源开发,能最大限度地满足用户的特殊要求,形成更广泛的应用领域AutoCAD最重要的特点就是它可以和高级语言交换数据,即支持高级语言编程。1.2AutoCAD二次开发的形式所谓“二次开发”是指由熟悉产品设计同时又掌握计算机应用技术的人员开发出针对某一产品的CAD应用软件。基于AutoCAD提供的开发手段,常见的二次开发的形式有:参数化CAD、成组CAD、交互式CAD和智能化CAD等。参数化CAD参数化CAD应用软件主要用于标准化、系列化和通用化程度比较高的定型产品。如模具、刀具、量具、夹具、液压系统、组合机床等。对于这类产品,一般设计都较为简单。如量具CAD中光滑极限量规CAD,设计时,首先可以先定制不同类型量规的图标选单,然后根据设计要求调入所设计量规的标准图样,输入设计的主要参数,通过计算机查询量规的数据库中的数据,进行必要的计算,将查询或计算得到的数据,在标准图样上进行变量代换,实现参数化绘图,最后生成符合设计要求的图样。可见,这类软件使用时效率较高,但由于专业性较强,使其推广受到限制。因此,它适于企业技术人员自行进行开发。组成CAD成组CAD应用软件利用成组技术的原理,将需要设计的零件特征编码与原设计的零件特征编码相比较,通过屏幕提示,决定是对源设计中零件直接引用或者是进行修改。成组CAD中源设计的零件是根据“复合零件”方法进行设计,它应将零件族内的零件功能要素集于一身,同时还应对每个功能要求的参数进行标准化处理[26]。在设计中,这个“复合零件”可以用“块”的形式进行组合,每个“块”相应做成参数化形式,供修改使用。如轴承CAD中可将轴承的内圈、外圈等做成相应的“块”,设计时根据输入的参数及数据库中的数据,与“复合零件”进行比较,对轴承的结构,如外圈、滚动体等,决定是否进行修改,最后进行参数化绘图,生成轴承的图样,这样,只要建立起适合本行业或本企业产品类型适当的“复合零件”库,就可满足生产中的设计要求。但是,由于成组CAD是针对某一类或一系列产品进行开发,所以应用的广泛性受到了一定程度上的约束。交互式CAD交互式CAD应用软件由于利用人机交互的方式进行设计,模拟了设计人员的设计过程。适用于各类产品的设计,特别是对于一些单件、小批生产的通用化和标准化较低的产品。如非标准刀具蜗轮滚刀CAD中,将与蜗轮滚刀有关的设计和计算数据建立起相应的数据库,利用AutoCAD中选单的定制及设计人机交互的对话框等,从而满足在设计时人机交互的需要。对于有些标准的结构,可先做成标准的图库,如带柄式蜗轮滚刀的莫氏锥柄的结构,在设计中,可将其直接从图库中调出,从而提高交互设计的速度。交互式CAD具有应用广泛性,使用灵活性、设计对象的适应性等特征,但对于开发人员的设计水平要求较高。智能化CAD智能化CAD就是将人工智能技术与CAD技术融一体而建立起来的系统。这一系统在更高的创造性思维活动层次上给予设计人员有效的辅助,是真正意义上的计算机辅助设计。人工智能中的专家系统技术、实例推理技术、约束满足技术、神经网络技术等已经得到了广泛的研究。如专家系统技术的引入,可以引进专家设计的思路,提供设计方案的选择,最终能够模拟专家设计过程,根据设计中的问题提出合理的解决方案。显然,采用智能化CAD的专家设计系统也可能使一般的设计人员做出专家级水平的设计来。目前,智能化CAD主要用于原理方案的设计,产品数学模型的建立及对产品计算优化、结构设计等方面。真正意义上的应用软件在国内还不多见。1.3AutoCAD二次开发工具的比较AutoCAD软件包是美国AutoCAD公司的产品,因其功能强大而被广泛应用于我国的机械、电子、航空等领域。但在使用中也遇到一些问题,由于AutoCAD是一种通用的软件。它很难满足各行业的行业标准。然而,AutoCAD开放式结构和其所提供的多种开发工具,使用户能完全摆脱AutoCAD的限制,根据自己的需要对其进行二次开发,这也是AutoCAD广受人们青睐的主要原因之一。迄今为止,AutoCAD已经相继提出了三代二次开发工具,如图1-1所示:图1-1AutoCAD二次开发工具各种开发工具都有其自身的特点和使用场合,在此仅对其中几种主要流行的开发工具进行探讨,指出它们各自的优缺。(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是从AutoCADR11开始提供的。ADS作为一组AutoLISP外部函数由AutoLISP解释器装入、解释并请求AutoCAD运行,由于ADS使用C语言编程,因此,执行速度较快,并且,经过编译的程序安全性较高。在国内常见的应用软件多是使用ADS进行开发的。由于ADS程序必须通过AutoLISP解释加载,所以,ADS各方面使用性能相应受到限制,同时,随着网络技术的迅速发展,面向过程的ADS已有些力不从心了。正因为如此,在AutoCADR13中提供了面向对象的开发工具ARX。(3)ObjectARX开发工具ObjectARX是AutoCADR13之后推出的第一个全额的面向对象的开发工具,在此之前,ADS已经能在AutoCAD上开发较大规模的程序,然而计算机技术的发展不仅要求CAD的交互性、综合性,同时对自动化、智能化也提出了更高的要求。特别是当前,面向对象的编程技术已经成为软件开发的主流,传统的结构化编程模式正逐步被面向对象以及消息驱动编程模式所代替。在这种情况下,Autodesk公司推出了ARX开发工具,该开发工具充分支持C++以及面向对象的编程技术,无论在程序的运行速度、通用性、功能上都是相当强大的。ARX应用程序实质上是一个动态联接库(DLL),它直接与AutoCAD进行通讯,与AutoCAD溶为一个整体,并具有ADS程序及AutoLISP程序所不具备的访问和控制AutoCAD的能力,而且运行速度上比后两者更快。值得注意的是,开发ARX程序对软件开发人员的技术要求比开发AutoLISP程序及ADS程序更高,所需的硬件配置也比后两者高。(4)VB开发工具VB是一种可视化的、面向对象的Windows开发语言。VB从问世之初,就有易用和开发效率高的特点.随着VB语言的不断升级,这一特点显得越来越突出,同时.由于该语言平台的不断完善和计算机性能的不断提高,VB语言本身的缺陷显得并不那么重要。由于它具有易学、易用的特点.在软件开发领域有着越来越多的应用场台。在这种前提下,Autodesk在AutoCADR14.0以上版本中设置了VB开发工具的接口。使得用户可以在VB语言环境下对AutoCAD进行二次开发。在利用VB对AutoCAD进行二次开发时,为了调用AutoCAD中的各种对象,必须在VB工程中引用AutoCAD的对象库,引用之后.就可以在VB中方便地操作AutoCAD的各种对象了。VisualLISP开发工具VisualLISP(VLISP)是为加速AutoLISP程序开发而设计的软件工具,是AutoLISP的换代产品,与AutoLISP完全兼容,并提供它的所有功能。VLISP的集成开发环境具备许多功能,使编写、修改代码以及测试和调试程序更加容易。另外,VLISP还提供了用于发布由AutoLISP编写的独立应用程序的工具。VisualLISP有一个交互式智能控制台,它还具有强大的文本编辑器和格式化器,使编程更加轻松高效。此特性使VisualLISP成为编写LISP程序更有效的工具。然而,VisualLISP只是AutoLISP功能的扩展。没有实质更为强大的功能。第二章VB.NET平台上AutoCAD二次开发技术2.1引言应用VB进行AutoCAD的二次开发具有很大的优势,它是一种面向对象的可视化编程工具,具有快速的开发环境,其语法简单、功能强大、界面清晰,同时还可以弥补AutoCAD在其他方面的不足。Autodesk在AutoCADR14以上版本中设置了VB开发工具的接口,使得用户可以在VB语言环境下对AutoCAD进行二次开发。VB.NET是微软新推出的开发平台,具有众多优点。基于.NET平台对AutoCAD进行二次开发,可充分利用.NET的各种优势,在保证功能强大的前提下大大提高开发速度。2.2.NET框架和AutoCAD对象模型.NET是微软的大型分布式软件系统的开发战略。它的核心组成部分是.NET框架,即一个用于Internet的组件模型,是.NET框架所有其他功能得以实现的基础。.NETFramework类库是一个与公共语言运行库紧密集成的可重用的类型集合。.NET框架中的类为开发人员提供了一个统一的、面向对象的、层次化的、可扩展的类库集。组件模型可以使软件的各个组成部分用不同的编程语言编写,然后组合成一个可以运行的软件系统。.NET框架不仅代表了软件界软件复用、重组、互操作研究的发展方向,而且也给制造业软件应用开发和集成带来了巨大影响。Microsoft.NET框架为开发人员提供了一个极为方便的开发环境,从而简化了安全、可靠、可扩展、高可用性的网络服务的建立、部署及其不断发展。在AutoCAD中,对象是分层的,这个分层结构就是用户应用程序能够操作的对象模型,其中根对象是Application,对对象的操作都是依对象模型的分层关系来逐级操作的。2.3基于VB.NET的开发2.3.1.NETAPI简介在新推出的AutoCAD2004中,Autodesk为其开发增加了.NETAPI。.NETAPI提供了一系列托管的外包类(ManagedWrapperClass),使开发人员可在.NET框架下,使用任何支持.NET的语言,对AutoCAD进行二次开发。其优点是完全面向对象,在拥有与C++相匹配的强大功能的同时,具有方便易用的特点,是较理想的AutoCAD二次开发工具。2.3.2VB.NET与VB的主要区别VB.NET是VisualBasic的下一个版本。微软不是简单的在VB6.0的基础上增加了一些新特性,而是重新更换定制了这个产品。VB.NET与VB在开发界面上基本一致,在基本语法上,VB.NET与VB相似,而在结构上已经发生了完全不同的变化。.NET框架中由类定义了CommonTypeSystem(通用类型系统),它使得数据类型在用不同.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引言齿轮的原始设计方法己被淘汰,取而代之是现代的齿轮参数化设计,最近提出的基于知识工程的参数化设计方法,这种参数化设计方法通过为产品建立个产品知识库,不仅能完成参数化设计的尺寸驱动和特征驱动,而且能实时地检设计,提出设计建议,进行人机对话,是一种智能化CAD。这种设计方法的提出齿轮的设计精度迅速提高,为我国机械行业增添了辉煌的一笔。由于齿轮种类繁多,有关于齿轮的材料、设计、计算理论、制造检验等复杂。这样给设计人员带来了沉重的负担,且在设计过程中很容易出错。为齿轮进行参数化设计,参数化设计的引入使齿轮设计不仅在质量上提高了而选材、设计工作量上也减少了负担,而且提高了齿轮的设计精度。目前国内机械行业都采用了参数化设计齿轮,随着高精密机器的问世对齿轮的设计要来越来高,参数化程序完成后,可以大幅度地提高产品设计的效率。基于国乏完整开发齿轮的参数化设计系统现状,本章的齿轮的参数化设计系统开发很强的实用价值。它不仅解决了烦琐的设计工作和复杂的计算过程,而且使精度大大提高。3.2齿轮参数化设计流程3.2.1齿轮的失效形式主要有:轮齿折断、齿面磨损、齿面点蚀、齿面胶合、变形等。影响齿轮失效的主要因素是:齿根弯曲强度、齿面接触强度和齿轮置形式。根据齿轮的主要失效形式,齿轮的设计一般按照满足齿面接触强度和齿曲强度两大设计准则。由实践可知,齿轮的结构形式、材料、热处理方式、环境都会影响齿轮的寿命。在闭式齿轮传动中,通常保证接触强度为主。对于那些硬齿面齿轮或者材质很脆的齿轮,一般以齿根弯曲强度为主。在开式的齿轮传动中应保证齿损和齿根抗折断能力来进行设计。为了延长开式和半开式齿轮的寿命可视具要增大模数。3.2.2按齿面接触强度设计程序步骤1.确定工作环境和原始参数己知输入功率p1,小齿轮转速n1,齿数比u和工作寿命,根据工作环境和应用条件可以选用传动方案、精度等级,根据齿轮材料的选择原则选择合适的材料、齿面硬度。2.齿数的选择根据工作条件、环境选取小齿轮的齿数z,:开式时z一般在20到40之间,半开式或闭式时z,一般在17到20之间。大齿轮的齿数=u*,并圆整。3.设计选取齿宽系数d根据齿轮的分布状况选取齿宽系数d..4.初选载荷系数,一般取1.2一1.4。5.计算小齿轮传递扭矩=95.5×(3.1)式中:—小齿轮的传动扭矩(N.mm)p1—输入功率(KW)n1—小齿轮转速(r/min)6.根据齿轮的齿面硬度查文献[3]图10一21得小齿轮的接触疲劳强度极限(单位为MPa)和大齿轮的接触疲劳强度极限(MPa)。7.根据文献查[3]表10一6查得齿轮的配对材料选择弹性影响系数8.计算应力循环次数:=60*j(3.2)=*u(3.3)式中:——为小齿轮循环次数——为大齿轮循环次数j——为齿轮毎转一圈时,同一齿面啮合的次数——为齿轮的工作寿命(单位为h)9.根据齿轮的循环次数可查得齿轮的接触疲劳寿命系数;小齿轮的接触疲劳寿命系数,大齿轮的接触疲劳寿命系数。10.选择安全系数,并计算接触疲劳需用应力。一般选择安全系数S=l.25一1.5小齿轮的接触疲劳许用应力:[]=(3.4)小齿轮的接触疲劳许用应力:(3.5)[]——小齿轮的接触疲劳许用应力(MPa)[]——小齿轮的接触疲劳许用应力(Mpa)11.计算小齿轮的分度圆直径因按齿面接触疲劳强度设计齿轮时将齿轮的较小接触疲劳许用应力代入公式2.32(3.6)式中:——小齿轮分度圆直径(mm)12.计算圆周速度vv=(3.7)式中:v——圆周速度(m/s)13.计算齿轮宽度b和齿轮宽度和高度的比b/h根据齿宽bb=(3.8)计算后再作适当圆整式中:——齿宽系数,由文献[3]查表10-7查得模数=/;齿高h=2.25,这样b/h就可以得出。14.计算载荷系数K根据v和齿轮的精度等级查文献[3]图10-8可得动载荷系数;根据载荷情况、工作机器,查文献[3]表10-2查得使用系数,根据/b的比值,可查文献[3]图10-3可得、。15..根据齿轮等级精度和小齿轮的相对支承的位置由文献[3]表10-4可得;根据b/h、,查文献[3]图10-13可得,故:K=(3.9)16.按实际载荷系数校正所算得的分度圆直径=(3.10)式中:——分度圆直径(mm)17.计算模数mm=/(3.11)按齿根弯曲强度设计设计程序步骤1.根据齿面硬度,查文献[3]图10-20得出小齿轮的齿根弯曲疲劳强度极限(Mpa)和大齿轮的齿根弯曲疲劳强度极限(Mpa)。2.查文献[3]图10-18得齿轮的弯曲疲劳寿命系数、。3.计算弯曲许用应力。选用弯曲疲劳安全系数S=1.2一1.4小齿轮的弯曲许用应力:=(2.12)大齿轮的弯曲许用应力:=(2.13)式中:——小齿轮的弯曲许用应力(Mpa)——大齿轮的弯曲许用应力(Mpa)4.计算载荷系数K。K=(3.14)式中可依据和b/h,查文献[3]图10-13得。5.选取齿形系数和应力校正系数根据齿数,查文献[3]表10-5得出小齿和大齿的齿形系数、和应力校正系数、。6.计算大、小齿轮的的数值,并加以比较。7.计算模数m,与前面的模数进行比较,选取合适的模数并将模数标准化。8.计算出齿轮几何尺寸。齿轮分度圆直径d=z*m(单位min);中心距a=(d+dZ)/2(单位mm);齿宽b=,小齿轮的齿宽略微放大。9.验算齿轮圆周力=(单位N);计算(单位N/mm)的数值并与前面的比较,验证是否合适。10.依据设计的结果参数化绘图3.2.3齿轮设计实例试设计带式输送机减速的高速级齿轮传动,已知输入功率=10Kw,小齿轮的转速=960r/min,齿数比u=3.2,由电动机驱动,工作寿命15年(每年工作300天),两班制(每班工作8小时),带式输送工作平稳,转向不变。选定齿轮类型、精度等级、材料及齿数选用直齿圆柱齿轮传动运输机为一般工作及其,速度不高,故选用7级精度(GB10095-88)。材料选择。由文献[3]表10-1选择小齿轮材料为40Cr(调质),硬度为280HBS,大齿轮的材料为45钢(调质),硬度为240HBS,二者材料硬度差为40HBS4)选小齿轮齿数=24,大齿轮齿数=3.2×24=76.8,取=77。2.按齿面接触强度设计由文献[3]设计计算公式(10-9a)进行计算,即式3.62.32(1)确定公式内的各计算数值1)试选载荷系数=1.32)计算小齿轮传递的转矩。===9.948103)由文献[3]表10-7选取齿宽系数=14)由文献[3]表10-6查得材料的弹性影响系数=189.8.5)由文献[3]图10-21d按齿面硬度查得小齿轮的接触疲劳极限=600;大齿轮的接触疲劳极限=550。6)由文献[3]式10-13计算应力循环次数。=60j=60×960×1×(2×8×300×15)=4.147×==1.296×7)由文献[3]图10-19取接触疲劳寿命系数=0.90;=0.95。8)计算接触疲劳许用应力。取失效概率为1%,安全系数S=1,由文献[3]式(10-12)得==0.9×600=540==0.95×550=522.5(2)计算1)试算小齿轮分度圆直径,代人中较小的值。2.32=2.32mm=65.396mm2)计算圆周速度。v===3.293)计算齿宽b。b==1×65.396mm=65.396mm4)计算齿宽与齿高之比。模数==65.396/24mm=2.725mm齿高h=2.25=2.25×2.725mm=6.13mm==10.675)计算载荷系数。根据v=3.29,7级精度,由文献[3]图10-8查得动载系数=1.12;直齿轮,==1;由文献[3]表10-2查得使用系数=1;由文献[3]用插值法查得7级精度、小齿轮相对支承非对称布置时,=1.432。由=10.67,=1.432查文献[3]图10-13得=1.35;故载荷系数K==1×1.12×1×1.423=1.5946)按实际的载荷系数校正所算得的分度圆直径,由文献[3]式(10-10a)得==65.396×=69.995mm7)计算模数m。m==mm=2.92mm3.按齿根弯曲强度设计由文献[3]式(10-5)得弯曲强度的设计公式为m确定公式内的各计算数值1)由文献[3]图10-20c查得小齿轮的弯曲疲劳强度极限=500;大齿轮的弯曲强度疲劳极限=380;2)由文献[3]图10-18取弯曲疲劳寿命系数=0.85,=0.88;3)计算弯曲疲劳许用应力。取弯曲疲劳安全系数S=1.4,由文献[3](10-12)得===303.57===238.864)计算载荷系数K。K==1×1.12×1×1.35=1.5125)查取齿形系数。由文献[3]表10-5查得=2.65;=2.226。6)查取应力校正系数。由文献[3]表10-5查得=1.58;=1.764。7)计算大、小齿轮的并加以比较。==0.01379==0.01644大齿轮的数值大。(2)设计计算mmm=2.05mm对比计算结果,由齿面接触疲劳强度计算的模数m大于由齿根弯曲疲劳强度计算的模数,由于齿轮模数的m的大小主要取决于弯曲强度所决定的承载能力,而齿面接触疲劳强度所决定的承载能力,仅与齿轮直径(即模数与齿数的乘积)有关,可取由弯曲强度算得的模数2.05并就近圆整为标准值m=2.5,按接触强度算得的分度圆直径=69.995mm,算出小齿轮齿数==28大齿轮齿数=3.2×28=89.6,取=90。这样设计出的齿轮传动,既满足了齿面接触疲劳强度,又满足了齿根弯曲疲劳强度,并做到结构紧凑,避免浪费。4.几何尺寸计算(1)计算分度圆直径=m=28×2.5mm=70mm=m=90×2.5mm=225mm(2)计算中心距a==mm=147.5mm(3)计算齿轮宽度=1.2×0.3×m×=25.2mm=1.2×0.3×m×=81mm5.结构设计当为圆柱齿轮,若齿根圆到键槽底部的距离e<2(为端面模数);当为锥齿轮时,按齿轮小端尺寸计算而得e<1.6时,均应将齿轮和轴做成一体,叫做齿轮轴。若e值超过上述尺寸时,齿轮与轴以分开制造为合理。当齿顶圆直径160mm时,可以做成实心结构的齿轮;当齿顶圆直径500mm时,可做成腹板式结构,腹板上开孔的数目按结构尺寸大小及需要而定。大齿轮结构参数确定:=-(10-14)m=第四章基于VB.NET的齿轮参数化设计4.1引言正如前面所述,目前时为流行的AutCoAD工具主要viusalLiPs、VB和ObjectARX,它们各具优势。但随着软件的发展和新技术的推行,微软的.NTE战略,目前越来越多的公司和企业采用.NET技术。作为世界主要的设计和数字内容资源创建公司,拥有全世界有400多万客户的Autodesk,在微软.NTE平台上为所有Autodesk绘画文件格式构建分析和可视化应用程序。因此,对于AutoCAD2004及以前的版本,可以使用AetiveX来进行AutoCAD的.NET的开发;对于AutoCAD2005,有了真正的可以开发.net程序的ObjeetARX⑧managedwrapperclaSSeS,其功能还不完善。随着Aut0CAD20O6的发布,objectARx⑧managedwrapperelasses的性能被大幅度提升,提供了以前ObjectARX才有的一些函数和功能。总的来说,在.NET上进行AutCoAD开发将越来越流行。4.2连接AutoCAD4.2.1创建一个新的VisualBasic.NET项目运行VisualBasic.NET即运行MicrosoftVisualStudio2008,选择【文件】/【新建】/【项目】,出现“新建选项”对话框,如图4.2.1所示。在“项目类型”栏选择【VisualBasic项目】,在“模板”栏选择【Windows窗体应用程序】,然后在下面“名称”栏输入要创建的项目的名称“毕业设计齿轮参数化设计”,在“位置”栏输入项目文件图4.2.1【新建项目】对话框所在的路径“E:\二次开发,或者从列表中选择一个位置。默认情况下,新项目将创建于VisualBasic.NET菜单【工具】/【选项】/【环境】/【项目和解决方案】中设置的位置。单击【确定】按钮,得到如图4.2.2所示VisualBasic.NET编程环境。4.2.2引用AutoCAD对象库在编写VisualBasic.NET代码前,需要在VisualBasic.NET编程环境中引用AutoCAD对象库。在VisualBasic.NET编程环境中选择【项目】/【添加引用】/COM,在选择AutoCAD2004TypeLibrary,如图4.2.3所示,然后单击【选择】和【确定】按钮。4.2.3创建AutoCAD对象变量,启动运行AutoCAD图4.2.2编程环境图4.2.3引用对象库在Form1窗体中添加一个命令按钮Button1,更改属性窗口的Text为“连接AutoCAD”,如图4.2.4所示,双击Button1,在出现的代码窗体的Button_Click事件过程输入下面代码:图4.2.4Button1PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickCall连接AutoCAD()EndSub由于有多个窗体要使用AutoCAD对象变量,因此选择【项目】/【添加模块】,弹出【添加新项】对话框,选择【模板】/【模块】,单击【添加】按钮。在Module1代码窗体输入如下代码:PublicAcadAppAsAutoCAD.AcadApplicationSub连接AutoCAD()OnErrorResumeNextAcadApp=GetObject(,"AutoCAD.Application")IfErr.NumberThenErr.Clear()AcadApp=CreateObject("AutoCAD.Application")IfErr.NumberThenMsgBox("不能运行AutoCAD,请检查是否安装了AutoCAD")ExitSubEndIfEndIfAcadApp.Visible=True'界面可视AcadApp.WindowState=AutoCAD.AcWindowState.acMax'界面最大化AppActivate(AcadApp.Caption)'显示AutoCAD界面EndSub这样就可以在任何地方调用“连接AutoCAD”过程了。因此只要运行程序,单击“连接AutoCAD”按钮就可以看到AutoCAD界面出现,也就完成AutoCAD的连接与启动。4.3齿轮结构参数化三维造型(1)腹板式结构齿轮是一个绕轴线旋转而成的三维体,建立其数学模型如图4.3.1所示。图4.3.1数学模型图4.3.2Form2窗体控件在Form1窗体上添加一个新的按钮Button2,修改其Text属性为“齿轮绘图”,双击Button2,输入如下代码:PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickDimfrmAsNewForm2frm.ShowDialog()EndSub当单击“齿轮绘图”按钮时,会自动弹出Form2窗体。前提是得新建一个Form2窗体,步骤为【项目】/【添加Windows窗体】,弹出【添加新项】对话框,选择【模板】/【Windows窗体】,单击【添加】按钮,完成Form2窗体的添加。在Form2窗体上添加控件如图4.3.2所示。定义窗体级变量,在Form2_Load事件中给控件赋初值。由于求数学模型各点坐标时要要用到较多的三角函数,因此引入命名空间System.Math,导入Math数学类,使得可以不加限定地使用Math类型的每个成员的标识符。程序清单4.3.1:导入Math数学类,定义窗体级变量,赋初值(Form2_Load事件)ImportsSystem.Math‘在Form2代码窗体第一行输入‘------------------------------------------------------------------Dim刀具AsObjectDimDa,D0,D1,D2,D3,D4,n1,B,CAsDouble'齿数结构参数DimZ,m,AfAsDouble'齿数、模数、压力角ConstPi=3.141592'圆周率PrivateSubForm2_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.Text="齿轮结构参数化三维造型"Me.GroupBox1.Text=""Me.Label1.Text="齿数Z"Me.Label2.Text="模数m"Me.Label3.Text="压力角Af"Me.Label4.Text="轴径D4"Me.Label5.Text="齿宽B"Me.Label6.Text="D0"Me.Label7.Text="D3"'赋初值Me.TextBox1.Text=40'齿数Me.TextBox2.Text=6'模数Me.TextBox3.Text=20'压力角Me.TextBox4.Text=CInt(Val(Me.TextBox1.Text)*Val(Me.TextBox2.Text)*0.3)'轴径D4D4=Val(Me.TextBox4.Text)Me.TextBox5.Text=CInt(1.2*Val(Me.TextBox4.Text))'齿宽BDa=Val(Me.TextBox1.Text)*Val(Me.TextBox2.Text)+2*Val(Me.TextBox2.Text)Me.TextBox6.Text=Da-12*Val(Me.TextBox2.Text)'D0Me.TextBox7.Text=1.6*D4'D3Me.CheckBox1.Text="画腹板孔"Me.CheckBox1.Checked=True'画腹板孔Me.Button1.Text="齿轮结构造型"Me.Button2.Text="结束"EndSub(2)如图4.3.1所示,先绘制1到10点所围成的齿轮上部分轮廓的右边部分。用模型空间的AddLightWeightPolyline方法创建LightWeight多义线plineObj,绘制1到10点所围成的剖面轮廓。方法为:plineObj(0)=AcadApp.ActiveDocument.ModelSpace.AddLightWeightPolyline(points)上式points为数组,代表LightWeightPoly多义线通过的点,其元素数目为通过点数的2倍。本例共10个点,因此定义为points(19),索引号从0到19,共20个元素。注意,此处数组元素数目不能多,也不能少。多义线plineObj上的各点的X,Y坐标分别为:points(0)=0:points(1)=D4/2'1点的X,Y坐标points(2)=B/2-n1:points(3)=points(1)'2点points(4)=points(2)+n1:points(5)=points(3)+n1'3点points(6)=points(4):points(7)=D3/2'4点points(8)=C/2:points(9)=points(7)+n1'5点points(10)=points(8):points(11)=D0/2-n1'6点points(12)=points(6):points(13)=points(11)+n1'7点points(14)=points(12):points(15)=Da/2-n1'8点points(16)=points(14)-n1:points(17)=points(15)+n1'9点points(18)=0:points(19)=points(17)'10点(3)做1到10点所围成的剖面轮廓的镜像,镜像轴为Y,得到齿轮上半部分轮廓的左边部分。point1(0)=0:point1(1)=0:point1(2)=0point2(0)=0:point2(1)=1:point2(2)=0plineObj(1)=plineObj(0).Mirror(point1,point2)(4)将齿轮上半部分轮廓的左、右边部分创建为面域,并进行布尔运算。布尔运算共有三种形式:布尔交(AutoCAD.AcBooleanType.acIntersection)、布尔减(AutoCAD.AcBooleanType.acSubtraction)、布尔和(AutoCAD.AcBooleanType.acUnion)。规则是,对象A与对象B进行布尔运算,结果返回给对象A.regionObj=AcadApp.ActiveDocument.ModelSpace.AddRegion(plineObj)regionObj(0).Boolean(AutoCAD.AcBooleanType.acUnion,regionObj(1))(5)将上半部分轮廓绕齿轮轴线旋转,旋转角度angle为360度,得到齿轮结构旋转体。solidObj=AcadApp.ActiveDocument.ModelSpace.AddRevolvedSolid(regionObj(0),axisPt,axisDir,angle)(6)为了后面继续造型方便,将得到的齿轮结构绕Y轴旋转90度。旋转轴为空间两点rotatePt1、rotatePt2确定,旋转角为rotateAngle。solidObj.Rotate3D(rotatePt1,rotatePt2,rotateAngle)(7)创建一立方体,做布尔减运算,用齿轮结构旋转体减去立方体,得轴孔上的键槽。length=D4*0.3:width=D4*0.3:height=B*1.1boxObj=AcadApp.ActiveDocument.ModelSpace.AddBox(center,length,width,height)solidObj.Boolean(AutoCAD.AcBooleanType.acSubtraction,boxObj)这里center为立方体型心。立方体长length、宽width为键的尺寸,高height本应与齿轮轴孔长B相等,但若取为B,布尔减运算后有微小的面积不能被消除,故乘1.1,是被减部分略长,不影响结果。(8)创建直径为D2的圆柱体,将其绕轴线做环形阵列,数目为6,做布尔减运算,用齿轮结构旋转体减去6个圆柱体,得到6个圆孔。SetcylinderObj=AcadApp.ActiveDocument.ModelSpace.AddCylinder(center,radius,height)retObj=cylinderObj.ArrayPolar(7,2*Pi,basePnt)Fori=0To5solidObj.Boolean(AutoCAD.AcBooleanType.acSubtraction,retObj(i))Nexti圆孔的数目根据结构需要也可以为4或8等,一般为6.也可以不要圆孔,用窗体上的复选框CheckBox1的Checked属性确定。当160mm是,可以做成实心结构齿轮,此时无圆孔,并且B=C.用下面条件语句实现。IfDa<=160ThenC=B:D0=(Da+D4)/2:D3=D0:D2=0:Me.CheckBox1.Checked=False(9)把创建渐开线齿轮刀具3D模型的代码用过程“Sub齿轮刀具()”形式编写,标准渐开线齿轮齿槽曲线数学模型如图4.3.3所示,将为切制齿轮的刀具。编程的详细过程如下:①先绘制0点到6点所围成的齿轮齿槽上半部分轮廓的右边部分。第0、1、2点,用AddLightWeightPolyline方法创建轻便多义线,曲线上第0点为齿轮根圆上点,第2点为齿轮基圆上点,第1点为界于0和2之间的点,0、1、2点构成齿轮根部的过度曲线,其弯曲程度由指定第1点凸度(SetBulge)为0.2实现。第2、3、4点,用AddSpline方法创建非均匀有理B样条曲线。第3点为齿轮分度圆上点,第4点为齿轮齿顶圆上点。第4、5、6点,用AddLightWeightPolyline方法创建轻便多义。第5、6视为齿轮刀具的外部结构点,可以任意确定。第2点到4点之间为渐开线,坐标由渐开线方程计算得到,之间的点越多,齿廓越精确,。本例用非均匀有理B样条曲线AddSpline拟合2、3、4点,足可满足一般精度计算要求。②镜像(Mirror)齿轮齿槽上半部分轮廓的右边部分线段,得到左部线段,镜像轴为Y轴。③将左右边部分线段创建为面域(AddRegion),将面域拉伸(AdExtrudeSolid)到3D齿轮刀具实体。④将齿轮刀具实体绕齿轮中心做环形阵列(ArrayPolar),阵列数目与齿轮的齿数相同。程序清单4.3.2:完成创建标准渐开线齿轮刀具3D模型(Sub齿轮刀具)Sub齿轮刀具()DimR,Rf,Rb,RaAsSingleR=m*Z/2'齿轮分度圆半径Rf=(R-1.25*m)'齿轮根圆半
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能在银行风控中的应用-第427篇
- 2026年贵州省遵义市住房和城乡建设局人员招聘笔试备考试题及答案详解
- 2026年廊坊市广阳区住房和城乡建设局人员招聘考试备考题库及答案详解
- 2026年潍坊水源技工学校青州校区暑期教师招聘笔试模拟试题及答案详解
- 2026年北海市海城区住房和城乡建设局人员招聘笔试备考试题及答案详解
- 2026年亳州蒙城县城区公办小学面向县域内农村学校公开选调教师260名笔试参考题库及答案详解
- 2026湖北江汉明珠控股集团有限公司社会招聘岗位计划调整笔试备考题库及答案详解
- 2026年莆田市涵江区住房和城乡建设局人员招聘笔试备考试题及答案详解
- 2026年沈阳市皇姑区住房和城乡建设局人员招聘考试备考题库及答案详解
- 2026年渝中区万盛区住房和城乡建设局人员招聘笔试参考试题及答案详解
- 水利工程安全生产保证措施方案
- 《塑料材质食品相关产品质量安全风险管控清单》
- 官方兽医题库及答案(更新版)
- 嵌甲性甲沟炎的外科治疗
- DZ∕T 0270-2014 地下水监测井建设规范(正式版)
- 园林绿化景观工程报价
- (高清版)WST 442-2024 临床实验室生物安全指南
- 办理退休委托书
- 企业安全防汛知识培训
- 08S523 建筑小区塑料排水检查井
- GB/T 8923.1-2011涂覆涂料前钢材表面处理表面清洁度的目视评定第1部分:未涂覆过的钢材表面和全面清除原有涂层后的钢材表面的锈蚀等级和处理等级
评论
0/150
提交评论