基于UGNXOpen二次开发的渐开线齿轮参数化造型学士学位论文_第1页
基于UGNXOpen二次开发的渐开线齿轮参数化造型学士学位论文_第2页
基于UGNXOpen二次开发的渐开线齿轮参数化造型学士学位论文_第3页
基于UGNXOpen二次开发的渐开线齿轮参数化造型学士学位论文_第4页
基于UGNXOpen二次开发的渐开线齿轮参数化造型学士学位论文_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于UGNXOpen 二次开发的渐开线齿轮参数化造型独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在年解密后适用本授权书。本论文属于不保密□。(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月日华中科技大学硕士学位论文华中科技大学硕士学位论文 I摘要渐开线齿轮常应用于各类机械传动系统中,具有传动平稳、承载能力强、体积小等优点,是一种典型的传动机构。但由于各种机械装备所需的齿轮型号和规格存在差异,因此齿轮的设计、生产仍以订制为主,其设计效率较低。实践证明,三维CAD技术对加速产品开发、提高产品质量、降低成本起着关键作用。因此开发实用的、高效的参数化齿轮造型系统已成为各企业的迫切要求。本文以功能强大的三维软件UG为开发平台,在深入掌握UG二次开发方法的基础上,选用UG/NXOpen和VisualBasic.NET为二次开发工具,实现了直齿圆柱齿轮、斜齿圆柱齿轮和锥齿圆柱齿轮的三维参数化造型。首先,从建立平面渐开线数学模型入手,分别建立直齿圆柱齿轮、斜齿圆柱齿轮及直齿圆锥齿轮的数学模型,然后实现齿轮的三维参数化造型,最后完成各个子系统应用程序的编写,实现UG内部调用。该渐开线齿轮参数化造型系统,是基于特征、参数化和模块化的,易于使用、扩充和维护,提高了设计效率,缩短了设计周期,为进一步的计算机辅助分析、辅助制造奠定基础,同时本设计方法的提出对其他类型齿轮造型有一定的指导借鉴意义。关键词:渐开线齿轮参数化造型二次开发VB.NETAbstractInvolutegears,whichhavemuchadvantagesuchashighstability,strongload-bearingcapacityandsmallsize,arewidelyusedinvarioustypesofmechanicaltransmissionsystem.Itisatypicaltransmission.Becausetherealesomedifferencesingearmodelnumberandspecification,itbecomesthekeywaytodesignandproducegearbyevoking.Therefore,ithasbecomeanurgentrequirementofenterprisestodevelopethpracticalandefficientparametricgearmodelingsystem.Inthispaper,basedonthree-dimensionalsoftwareUGdevelopplatform,usingUG/NXOpenandVisualBasic.NETassecondarydeveloplanguages,thethree-dimensionalparametricmodelingofspurgears.Helicalgearsandstraightbevelgearsarerealized.Startingwiththeestablishmentmathematicalmodelofplaneinvolute,themathematicalmodelsofspurgears,helicalgearsandbevelgearsareestablished,andthethree-dimensionalparametricmodelingofgearsisrealized.TheprogrammingofsystemapplicationsiscompletedtoachieveUGinnercall.Theinvolutegearparametricmodelingsystem,isbasedonthefeatures,parameters,modular,thesystemiseasytouse,easytomaintainandexpend.Italsoimprovesdesignefficiencyandshortensthedesigncycle.ItlaysthefoundationforCAEandCAM,.atheproposalofthismethodprovidesausefulreferenceformodelingothertypesofKeywords:involutegear,parameterizedmodeling,secondarydevelopment,VB.NET目录摘要AbstractII1绪论1.1课题背景(1)1.2参数化理论及其齿轮CAD系统的发展概况(2)1.3UG二次开发工具简介(3)1.4UG二次开发的环境配置与菜单制作(6)1.5主要研究内容及关键技术(8)2直齿圆柱齿轮参数化设计子系统的开发2.1渐开线的数学模型(9)2.2渐开线齿廓的绘制(11)2.3直齿圆柱齿轮的数学模型(14)2.4直齿圆柱齿轮的全参化建模(16)2.5子系统应用程序设计(18)3斜齿圆柱齿轮参数化设计子系统的开发3.1斜齿圆柱齿轮的数学模型(21)3.2斜齿圆柱齿轮的全参化建模(22)3.3子系统应用程序设计(26)4直齿圆锥齿轮参数化设计子系统的开发4.1直齿圆锥齿轮的数学模型(29)4.2直齿圆锥齿轮的全参化建模(30)4.3子系统应用程序设计(37)5总结及展望5.1总结(38)5.2展望(38)致谢(39)参考文献(40)1绪论1.1课题背景齿轮传动是现代机械中应用最广泛的一种传动形式,它可以传递空间任意两轴间的运动和力,其特点有:传动平稳,传动比精确,工作可靠、效率高、寿命长,使用的功率、速度和尺寸范围大。例如传递功率可以从很小至几十万千瓦;速度最高可达300m/s;齿轮直径可以从几毫米至二十多米。随着现代化工业的发展,齿轮装置已广泛应用于车辆、船舶、机床、矿山冶金等众多领域。齿轮的齿形包括齿廓曲线、压力角、齿高和变位等特性。目前常用齿廓曲线有渐开线、摆线和圆弧等,其中渐开线齿轮容易制造和便于安装,因此现代使用的齿轮中,渐开线齿轮占绝对多数。在压力角方面,我国标准齿轮的压力角是20°。小压力角齿轮的承载能力较小;而大压力角齿轮,虽然承载能力较高,但在传递转矩相同的情况下轴承的负荷增大,因此仅用于特殊情况。而齿轮的齿高已标准化,一般均采用标准齿高。而变位齿轮的优点较多,也大量用于各类机械设备中[1]。使用传统的齿轮设计方法其过程比较复杂而且效率低下,一般设计一组较为合理的齿轮副,需要花费较长的时间来反复的修正参数和进行多次强度计算,才能够实现。在绘图各种齿轮零件的二维工程图时也需要花费大量的时间精力。因为齿轮类零件的结构和形状基本相同,在设计新产品的过程中,不可避免地要进行多次的修改,还要进行形状、尺寸的优化。齿轮设计人员需要一种使用方便、合理的设计方法,来提高设计工作效率。这时可以通过三维CAD软件来实现齿轮设计的参数化和自动化,来大大的提高齿轮设计效率和保证齿轮设计质量。本文在参考国内外CAD设计及齿轮参数化方面的研究成果的基础上,开发了圆柱齿轮和圆锥齿轮的三维CAD系统,使用UGNX5.0来建立渐开线齿轮的全参数化模型,大大的提高了建模的效率,并为其后继的结构分析和制造工作打下基础。1.2参数化理论及其齿轮CAD系统的发展概况1.参数化理论的发展概况参数化设计是CAD技术在实际应用中提出的课题,它不仅可使CAD系统具有交互式绘图功能,还具有自动绘图的功能。目前它是CAD技术应用领域内的一个重要的、且待进一步研究的课题。利用参数化设计手段开发的专用产品设计系统,可使设计人员从大量繁重而琐碎的绘图工作中解脱出来,可以大大提高设计速度,并减少信息的存储量。参数驱动是一种新的参数化方法,其基本特征是直接对数据库进行操作。因此它具有很好的交互性,用户可以利用绘图系统全部的交互功能修改图形及其属性,进而控制参数化的过程;与其他参数化方法相比较,参数驱动方法具有简单、方便、易开发和使用的特点,能够在现有的绘图系统基础上进行二次开发[2]。而且适用面广,对三维的问题也同样适用。在早期的CAD技术中,二维绘图与三维绘图都是采用精确造型的方法。精确造型用固定的尺寸值定义几何元素,几何元素之间没有相互关联的关系。如果修改几何元素和其属性,则必须重新绘制整个图形,而参数化技术则可以自动修改整个图形,它是80年代兴起的第三代CAD系统的重要功能。第三代CAD技术使参数化设计得到了广泛的应用,产生了一些著名的参数化造型系统,如Pro/E、UG、Solidworks等,参数化成为先进CAD系统的必备功能之一。2.齿轮CAD系统的发展概况这些年,计算机辅助设计CAD技术在国外迅速发展。在各种新产品设计时大量应用了参数化设计方法。从而能够更快的跟踪市场、缩减产品设计周期和保证产品质量。而国内的很多设计人员还是习惯使用传统的手工绘图,效率低下[3]。而目前市场上尚缺乏一种能够满足三维设计要求的高级齿轮三维造型系统。这就需要由少数既掌握计算机应用技术又懂得产品设计的工程技术人员对现有的三维CAD软件进行二次开发,使开发后的齿轮CAD应用软件具有良好的人机界面,并融进了大量专业设计人员的经验,使一般的设计人员能够使用此软件进行产品设计,从而能够提高设计效率和质量。本课题的研究,即通过对机械原理和机械设计的深入分析,融入齿轮设计人员的设计经验,建立齿轮轮齿的数学模型,并开发一个基于UG软件的齿轮CAD系统,从而方便实用的进行齿轮的三维参数化造型。齿轮类零件参数化二维设计现状很多学者都对齿轮类零件的二维CAD参数化设计进行过相应的研究。通常二维CAD设计主要使用软件AutoCAD,但是运用AutoCAD进行二维设计也并不是很方便,有工作量大、操作繁琐、容易出错、难于修改等不便。严格的来说,基于AutoCAD的二维图形设计并不是标准的参数化设计技术,而只是一种精准的绘图技术。它虽然可以辅助工程设计人员进行计算机绘图,甩脱绘图板,但是它对一些复杂模型的建立及模型修改以后的图纸更新等问题,无法很好的解决。齿轮类零件参数化三维设计现状三维实体造型有三种层次的建立方法,即线框、曲面和实体,也就是分别对应于用一维的线,二维的面和三维的体来构造形体。通过计算机辅助设计建立的立体的、有光的、有色的生动画面,虚拟逼真地表达大脑中的产品设计效果,比传统的二维设计更符合人的思维习惯与视觉习惯[4]。三维造型技术从最初的三维CAD已发展到目前专用的基于特征造型的三维软件,常用软件有UG、SolidWorks、SolidEdge、MDT、Pro/E、3DSmax等。关于齿轮类零件的三维参数化设计,很多国内外学者也进行了大量的研究。1.3UG二次开发工具 UG是集CAD/CAE/CAM 一体化的三维参数化设计软件,是当今世界最先进的计算机辅助设计、制造和分析软件之一。自从UG出现以后,在航空航天、汽车、通用机械、工业设备、医疗器械以及其它高科技应用领域的机械设计和模具加工自动化的市场上得到了广泛的应用。在本文中主要采用UG作为设计平台来建立齿轮系统。UG作为一种功能强大的三维CAD/CAM/CAE软件,往往在实际操作中十分复杂,加上很多企业在产品设计过程中经常进行大量重复的操作,产品设计比较繁琐。很多企业在使用该软件一段时间后,都会提出二次开发的要求,希望通过进一步的开发使UG能更好地适应本企业的要求,从而进一步提高设计效率,减少使用UG过程中技术人员的重复操作。为此,UG专门提供了专门的二次开发工具,可供企业根据自身特点,开发用户自定义模块[5]。(1)UG/OPENAPIUG/OPEN是一系列UG二次开发工具的总称,是UG软件为广大用户或第三方开发人员提供的主要开发工具。其主要包括API(C语言编程接口)、GRIP(专用用户图形交互语言)、MenuScript(用户界面制作工具)和UIStyler(菜单脚本语言),如图1.1所示。它以开放性架构面向不同的软件平台提供灵活的开发支持,实现计算机的集成应用和数据共享。图1.1UG/OPEN的组成UG/OPENAPI(又称userFunction)[6]是一个允许用户访问且能够改变UG对象模型的程序集。UG/OpenAPI中封装了近2000个UG操作的函数。UG系统中大部分的操作都可以通过调用这些函数的组合来实现,是应用最为广泛的二次开发工具。UG/OPENAPI程序使用的是C或C++编程语言,按其连接方式可以分为两种:内部模式(Internal环境)和外部模式(External环境)。采用内部模式开发的程序,其优点是可以连接的更快且程序更小并能与用户实现交互,该程序以*.dll(动态链接库)的方式被调到UG的进程空间中,一旦调进便常驻内存,该类型程序的运行既可以从UG菜单界面来调用,另外还可以从UG/OpenMenuScript、userTools和UG/OpenGRIP里面调用;采用外部模式开发的程序以*.exe方式可以直接在操作系统下运行,独立于UG软件系统,其缺点是无法实时显示图形与用户交互[7]。(2)UG/NXOPENUGNX是UGS公司在并购了SDRC公司后整合了UG和l-DEAS所推出的三维CAX软件,建模功能非常强大,但是其二次开发工具UG/Open和UG/Open++仍然是UG时代的产品,相对于强大的建模功能,其二次开发工具的功能显得有些不足。在经过两个版本的过渡后,在UG的NX3.0版本中UGS公司引入了新一代的二次开发工具NXOPEN,新的开发工具以COMMONAPI[8]为基础,支持多个实用工具,如日志工具、NXOpen系列工具和知识熔接工具等。日志工具则可以将交互状态下执行的操作以文件的形式记录下来,并能够进行编辑和重放,日志可以用VB、C#,C++和Java等多种语言记录,极大地方便了二次开发。借助NXOpenfor.NET的功能,我们可以用VisualBasic.NET和VisualC#.NET来开发UGNX,而有了NXOpenforJava[9]我们就可以用Java来开发UGNX,NXOpenC/C++则是对原来的UG/Open和UG/Open++的重新包装,使用者可以用C/C++语言开发UGNX。新的二次开发工具的最显著特点有:支持更多的编程语言,除了原来可以使用的编程语言外,现在还可以使用Java、C#、VB.NET这些新一代的语言;支持分布式程序,可以通过.NET或JavaRMI[10]编写分布式程序。目前UG的二次开发绝大多数都是基于UG/Open架构使用GRIP或者C/C++语言开发。但是UGS公司从UGNX4.0开始已经停止对UG/Open的后续支持,UG/Open将不再增加新的函数,所有的二次开发的重点将转移到新一代的开发工具——NXOpen。NXOpen支持C++、Java和.NET开发语言,是完全面向对象的,可以使用.net框架类,可以使用代码自动生成JA(JournalandAutomation),可以写分布式客户机程序,并且几乎能够使用所有UG的功能。本文使用VB.NET编程语言开发基于UG/NXOpen的直齿圆柱齿轮、斜齿圆柱齿轮和直齿圆锥齿轮的三维参数化建模系统。(3)UG/OpenMenuScript开发者使用MenuScript来创建和编辑下拉菜单及工具栏,使用此工具可以改变UG的菜单布置和定制用户专用菜单项,来执行用户的应用开发程序或调用操作系统的某些命令。然后在文件custom_dirs.dat中注册用户工程的路径。再重新打开软件UG,在菜单栏上即可以看到用户定制的下拉菜单。1.4UG二次开发的环境配置与菜单制作1)设置系统环境变量在UG二次开发过程中,首先要设置系统环境变量,UG才能在相应目录中找到用户的开发内容。可通过两种方法来设置。方法一:将UGII_BASE_DIR\UGII\menus目录下的custom_dirs.dat文件用记事本打开,在文件的最后添加二次开发的文件夹路径。这个文件夹中通常有startup目录和application目录,分别用来放置二次开发的各种文本文件图形、文件、对话框文件、动态链接库文件等。方法二:将UG主目录下ugii_env.dat文件用记事本打开,在文件中找到下面的语句:#UGII_USER_DIR=${HOME}、#UGII_SITE_DIR=${UGALLIANCE_DIR}\site#UGII_VENDOR_DIR=${UGALLIANCE_DIR}\vendor[11],删除语句开头的注释符号“#”以激活相应的语句,共可提供三个目录来存放用户的二次开发文件。这三个目录的功能和结构是完全相同的,都有startup和application这两个目录,放置二次开发的各种文件。而UG设下的这三个目录user、site和vendor,是为了供给不同等级的开发者使用,vendor目录下存放UG指定开发商的二次开发产品,site下则存放其余开发者的产品,而user目录下存放用户自己开发的产品[12]。vendor目录的优先级别高于site目录,文件先载入,user目录优先级别最低,文件最后载入。由于方法一的操作更简单方便,所以本系统使用方法一来设置系统环境变量。2)虽然可以使用各种方法来制作菜单,在这些方法的使用中有一些相同的内容,相同的内容步骤如下:建立一个存放用户文件的主目录,本文中在D盘下建立一个名为“nxcapp”的文件夹,来存放二次开发的所有内容;在nxcapp下建立两个子目录startup和application,分别存放具体的开发内容;用记事本方式打开UG主目录的custom_dirs.dat文件,在最后一行输入D:\nxcapp,存盘,退出;结合本文齿轮系统的需要,编写菜单脚本文件,其文件名为NXCAPP.men,工具栏按键脚本文件名为NXCAPP.tbr,运行结果如图1.2所示,下面给出这两个文件代码。图1.2用户菜单和工具栏菜单脚本文件NXCAPP.men的内容如下:VERSION120EDITUG_GATEWAY_MAIN_MENUBARTOP_MENUCASCADE_BUTTONUG_CHILUNLABEL齿轮建模END_OF_TOP_MENUMENUUG_CHILUNBUTTONUG_CHILUN_ZHICHIYUANZHULABEL直齿圆柱齿轮MESSAGE生成一个直齿圆柱齿轮模型ACTIONSzhichiyuanzhu.dllBUTTONUG_CHILUN_XIECHIYUANZHULABEL斜齿圆柱齿轮MESSAGE生成一个斜齿圆柱齿轮模型ACTIONSxiechiyuanzhu.dllBUTTONUG_CHILUN_ZHICHIYUANZHUILABEL直齿圆锥齿轮MESSAGE生成一个直齿圆锥齿轮模型ACTIONSzhichiyuanzhui.dllEND_OF_MENU工具栏按键脚本文件NXCAPP.tbr的内容如下:TITLECHILUNVERSION160BUTTONUG_CHILUN_ZHICHIYUANZHULABEL直齿圆柱齿轮BITMAPD:\ProgramFiles\UGS\NX5.0\NXCAPP\Application\images01.bmp ACTIONS D:\Program Files\UGS\NX5.0\NXCAPP\Application\zhichiyuanzhu.dllBUTTONUG_CHILUN_XIECHIYUANZHULABEL斜齿圆柱齿轮BITMAPD:\ProgramFiles\UGS\NX5.0\NXCAPP\Application\images02.bmp ACTIONS D:\Program Files\UGS\NX5.0\NXCAPP\Application\xiechiyuanzhu.dllBUTTONUG_CHILUN_ZHICHIYUANZHUILABEL直齿圆锥齿轮BITMAPD:\ProgramFiles\UGS\NX5.0\NXCAPP\Application\images03.bmp ACTIONS D:\Program Files\UGS\NX5.0\NXCAPP\Application\zhichiyuanzhui.dll1.5主要研究内容及关键技术齿轮模块的开发包括两个部分:齿轮模板的建立及应用程序的设计。齿轮模板是基础,采用基于关键参数驱动的参数化、变量化相关性三维建模技术,建立齿轮的部件模型,部件模型能随着参数/变量的变化而变化,提取关键参数/变量,创建齿轮部件族模板。应用程序是实现手段,其设计包括三个方面:用户菜单设计、接口界面设计及应用程序设计。用户通过用户菜单,调用齿轮自动生成模块。通过接口界面输入关键参数,与应用程序实现交互。应用程序使用两种方法生成齿轮,一是访问齿轮模板,根据用户输入的参数,创建该部件族模板的一个实例,从而获得用户所要求参数的齿轮模型;二是新建一个部件,将齿轮模板作为组件添加进来,并设置为工作部件,再根据用户输入的参数修改用户表达式中数据,更新模型,也可以获得要求的齿轮[13]。齿轮模块的实现原理如图1.3所示,这样即实现了功能,又简化了编程。图1.3齿轮模块的实现原理2直齿圆柱齿轮参数化设计子系统的开发本章首先分析渐开线轮廓齿形曲线的特性,并建立相应的渐开线数学模型,以此来指导渐开线齿廓的参数化建模。其次,在上述研究的基础上进一步建立直齿圆柱齿轮、斜齿圆柱齿轮及直齿圆锥齿轮的数学模型,并使用UG/NXOpen实现各种齿轮的三维参数化造型。2.1渐开线的数学模型凡能满足齿廓啮合基本定律的一对齿廓称为共轭齿廓。理论上,可用作共轭齿廓的曲线很多,如渐开线齿廓、摆线齿廓和圆弧齿廓等。但在实际生产中,除了传动比要求外,还要考虑设计、制造、安装和使用等方面的问题。因为渐开线齿廓有容易制造和便于安装等优点,所以在机械中通常采用渐开线齿廓[14]。1.渐开线齿廓的形成直线BK沿半径为r的圆作纯滚b动时,直线上任一点K的轨迹称为该圆的渐开线。该圆称为渐开线的基圆,基圆半径为r。直线BK称为渐b开线发生线;角称为渐开线上Kk点的展角;角称为渐开线上K点k的滚动角[15]。图2.1渐开线齿廓曲线的计算如图2.1,A为渐开线在基圆上的起点,K为渐开线上任意点,其矢径为r,k渐开线AK段的展开角为。当渐开线作为齿轮的齿廓在点K啮合时,则此齿k廓在点K所受的正压力方向(即法线方向)与速度方向所夹的锐角为渐开线在k点K的压力角。由图可见,=∠BOK,+=,且 k k k k cos=r/r (2-1) k bk式中:r为基圆半径;b为渐开线在点K的压力角;kr为基圆圆心到渐开线上点K的矢量。kKBr() 又因tan= =b k k,故得=tan-,由上式知,展 kOB r k k k k kb开角是压力角的函数,称其为渐开线函数,工程上常用inv表示[16],即k k kinv=tan-(2-2) k k k式中:为渐开线AK段的展开角。k由式(2-1)及(2-2)可得渐开线的极坐标方程式为:r rb(2-3)kcoskktankk如己知基圆半径r和一个压力角值时,就可算出渐开线上相应点的极坐b k标(r、)。k k在直角坐标系中,如图2.1所示,为求得渐开线方程而做BQ、KP两条辅助线,则有:∠KBP=90-∠OBQ=。kK点坐标为:x=OQ+PK=OB*cos()+BK*sin()=r*cos()+r**sin()(2-4) k k k b k b k ky=BQ-BP=OB*sin()-BK*cos()=r*sin()-r**cos()(2-5) k k k b k b k k式中:为渐开线上K点的滚动角。k由式(2-4)及(2-5)可得渐开线的直角坐标方程式:xr*cos()r**sin()k b k b k kykrb*sin(k)-rb*k*cos(k)(2-6)如己知基圆半径r和滚动角值时,就可算出渐开线上相应点的坐标(x、b k ky),当算出若干点后,就可得出整条渐开线,渐开线齿轮的齿廓曲线是由两条k对称的渐开线所形成。2.2渐开线齿廓的绘制齿轮上所有齿都是相同的,具有统一特征。直齿轮的轮廓线为渐开线型,因此可直接利用UG中的Expression工具,根据公式(2-6)输入渐开线表达式:xt=(db/2)*cos(q)+(db/2)*q*u*sin(q)yt=(db/2)*sin(q)-(db/2)*q*u*cos(q)(2-7)zt=0式中:q为滚动角,取值范围为0-90度;u为单位转换值,将角度值转换为弧度值;db为基圆直径。按UG中LawCurve的ByEquation[17]方式,以坐标原点为基准点插入规则曲线。UG将自动计算xt、yt值并绘制渐开线,z轴坐标为0,绘制出的渐开线起点从x轴开始。将此渐开线先对x轴做镜像,再绕z轴逆时针旋转θ度,得到齿槽轮廓的另一条渐开线。另一条渐开线采用了矩阵变换的方式来求出方程式,从而解决了渐开线轮廓的对称问题,其精度相对手工取舍旋转角度的方式大大提高[18],为齿轮轮廓的精确绘制打下了良好的基础。在三维图形程序中,使用矩阵来进行几何变换。可以使用一个4×4的矩阵将任何点变换到另一个点。下面的例子中,我们用一个矩阵对点(x,y,z进行变化),产生了一个新的点(x',y',z':) M M M MM11M12M13M14 x'y'z'1xyz121 22 23 24MMMM31323334M41M42M43M44对点(x,y,z进行)一下运算,会得到一个新点(x',y',z':)x'=(x×M)+(Y×M)+(Z×M)+(1×M) 11 21 31 41y'=(x×M)+(Y×M)+(Z×M)+(1×M)z'=(x×M)+(Y×M)+(Z×M)+(1×M)22 32 4223 33 43最常用的变换包括:平移(translation),旋转(rotation)和缩放(scaling)。你可以将这些变换合并起来,组成一个矩阵,同时进行几种变换。下面的变换将一个点(x,y,z沿)x-轴进行旋转,得到了一个新的点(x',y',z':)1 0 0 00cossin00sincos0x'y'z'1xyz1 0 0 0 1下面的变化沿y-轴进行旋转:cos0sin00 1 0 0sin0cos0x'y'z'1xyz1 0 0 0 1下面的变换沿z-轴进行旋转:100100cos100100x'y'z'1xyz1 0 0 01希腊字母θ代表旋转的角度,用弧度来表示。从旋转轴向原点看,这个角度按顺时针方向来度量。使用矩阵可以通过矩阵相乘来将几个矩阵变换的效果合并起来。当我们对一个模型进行对x轴镜像和旋转时,不再需要用到两个矩阵。我们可以通过将镜像矩阵与旋转矩阵相乘来得到一个合并的矩阵。这一过程就被称为矩阵级联[19],可以用下面的公式来表示: T = T * T = 1 2 1 0 00cos()sin()00cos() sin()0100sin()cos()00sin()cos()00 0 0 100 0 100 0 0 0 010 0 010 0 将原渐开线方程(xt,yt,zt与矩阵级联) T[20]相乘,会得到一个新的渐开线方程:xt2=xt*cos(-th)+yt*sin(-th)yt2=xt*sin(-th)-yt*cos(-th)(2-8)zt2=zt其中旋转角度为th=(tan(a))/u-a+(s/d)/u,因为是逆时针旋转,所以取负。将新的方程式输入UG中表达式,再按UG中LawCurve的ByEquation方式,以坐标原点为基准点插入规则曲线,就绘制出第二条渐开线了。两个方程式中的所有参数可以随时进行修改,生成的两条渐开线将发生相应变化。生成的曲线如图2.2所示。图2.2齿槽渐开线

2.3直齿圆柱齿轮的数学模型渐开线直齿圆柱齿轮是渐开线齿轮中结构最简单的齿轮,实现直齿圆柱齿轮的参数化精确建模是实现其他齿轮建模的基础。渐开线直齿圆柱齿轮的重要的基本参数有:模数m、齿数z、分度圆压力角a、齿顶高系数ha、顶隙系数c、变位系数x、齿轮齿宽B,另外内孔键槽数据也是必不可少的重要参数,如表2.1所示。表2.1渐开线直齿圆柱齿轮参数表名称代号计算公式模数m2.5(用户输入)齿数z20(用户输入)齿顶高系数ha1(用户输入)顶隙系数c0.25(用户输入)压力角a20(用户输入)齿宽B20(用户输入)变位系数x0.1(用户输入)分度圆直径dd=m*z齿顶圆直径dada=m*(z+2*ha+x)齿根圆直径dfdf=m*(z-2*ha-2*c+x)基圆直径dbdb=m*z*cos(a)内孔直径d230(用户输入)轴直径d160(用户输入)键槽宽b15(用户输入)键槽深b235(用户输入)总宽bz50(用户输入)标准齿轮有许多优点,因而得到广泛的应用。但是标准齿轮也暴露出下列主要的缺点:①标准齿轮的齿数必须大于或者等于最小齿数z[21],否则会产生根min切。②标准齿轮不适用于实际中心距a’不等于标准中心距a的场合。因为当a’<a时,将无法安装,而当a’>a时,虽然可以安装,但将产生较大的齿侧间隙,影响传动的平稳性。③一对相互啮合的标准齿轮中,由于小齿轮的齿根厚小于大齿轮的齿根厚度,在其它条件相同的情况下,小齿轮更容易损坏[22]。为了弥补标准齿轮的不足,在机械传动中常采用变位齿轮传动。通过改变刀具与轮坯相对位置而达到不发生根切的方法称为变位法,采用这种方法制造的齿轮称为变位齿轮。以切制标准齿轮的位置为基准,刀具由基准位置沿径向移开的距离用xm表示,其中,m为模数,x为变位系数,并规定刀具离开轮坯中心的变位系数为正,反之为负。对应于x>0、x=0、x<0的变位分别称为正变位、零变位和负变位。用标准齿条刀具加工变位齿轮时,刀具变位后刀具上总有一条与分度线平行的直线作为节线与齿轮的分度圆相切并保持纯滚动。故变位齿轮的齿距p、模数m和压力角a仍等于标准齿形刀具。如图2.3所示,与标准齿轮相比,变位齿轮的分度圆、基圆不变,因而渐开线的形状也不变;变位齿轮的齿顶圆和齿根圆改变了,因而使用了渐开线上的不同部位。图2.3变位齿轮的齿廓2.4直齿圆柱齿轮的全参化建模本文在进行直齿轮设计的过程中,将UG中的三维参数化造型功能、表达式处理和曲面裁剪实体相结合,提出了一种全参数化的直齿轮三维设计方法。该方法的思路为:首先由输入的渐开线直齿轮参数,完成齿轮齿槽轮廓两条渐开线绘制,将渐开线沿z轴拉伸齿宽b的长度获得轮齿轮廓面,利用该面对实体进行裁剪操作生成单个齿槽实体,再将齿槽实体和齿顶圆圆柱通过布尔求差运算在齿顶圆圆柱上生成一个齿槽,最后对齿槽做阵列获得完整轮齿[23]。实践证明该方法精度高、简单、直接、设计效率高。在直齿圆柱齿轮造型中,通过方程曲线生成两条渐开线后,将它们延长3mm,如图2.4所示。再拉伸齿宽b的长度得到两个轮齿轮廓面b和c,在齿顶圆和齿根圆之间生成一段长度为齿宽b的实体a,用刚才的两个面裁剪得到单个齿槽实体,如图2.5所示。再以齿顶圆为截面线段拉伸一个齿宽b长的圆柱体,和齿槽实体做求差运算的得到图2.6所示实体。将生成实体a和曲面b、c裁剪实体a等三个特征合并为一个特征集,对此特征集绕齿轮轴线做圆周阵列,阵列数为齿数z,角度为360/z,从而获得所有轮齿。 图2.4延长渐开线图2.5渐开面裁减实体图2.6单个齿槽当标准齿轮的齿数大于40时,基圆直径db=m*z*cos(a)=m*40*cos200=37.59*m,齿根圆直径df=m*(z-2*ha-2*c)=m*(40-2*1-2*0.25)=37.5*m,基圆直径大于齿根圆直径。渐开线拉伸的曲面将不能裁剪实体a,所以需要将渐开线延长之后再拉伸成曲面b、c,才能裁剪。而对变位齿轮来说,齿根圆直径df=m*(z-2*ha-2*c+x)[24],基圆直径大于齿根圆直径时的齿数将由变位系数x决定。采用上述方法则无论齿数多少都能裁剪出单个齿槽实体。最后根据输入的齿轮内孔、键槽等数据绘制草图生成齿轮内部结构。先在草图上以轴直径d1做个圆并将其拉伸为轴,轴长度为总宽bz,布尔运算为求和,如图2.7所示。再根据内孔直径d2、键槽宽b1和键槽深b2建立内孔草图,在轴上拉伸出内孔结构,如图2.8所示。图2.7带轴直齿圆柱齿轮图2.8完整直齿圆柱齿轮接着建立直齿圆柱齿轮的部件族(标准件库)[25],首先在菜单【工具】里选择【部件族】,将需要用户输入的参数表达式添加到选定的列中,设置部件族的保存目录,再点击【创建】,自动打开Excel软件,在表格中输入顺序号、零件名称和相应参数的值后保存部件族,完成零件模板的创建。部件族成员可以加入到装配中,但对零件族成员的修改只能在模板中进行,还可以对部件族成员进行另名保存,这样该成员就成为一个独立的零件,而不再是零件族成员了,可以象操作零件一样对它进行操作。2.5子系统应用程序设计打开VisualStudio2005,选择菜单命令“文件”-“新建项目”,界面弹出新建项目对话框,在VisualBasic工程已安装的模板列表中查看是否有NX5_VB项,若没有此项,将NX5安装文件里提供的VB向导拷贝到MicrosoftVisualStudio8\VB\VBWizards和VBProjects[26]路径下。重新启动VisualStudio2005,自动创建NX5_VB项,此后即可建立dll或exe工程。二次开发中的一个重要部分就是建立对话框,并在对话框与程序之间进行参数的传递。NX下对话框的创建有好几种方法,常用的有:用NX自己的UTSYTLER,进入UserInterfaceStyler模块就可。MFC的方法,主要是应用与VC6.0的开发,直接用winform,主要是.net环境下。在VB中创建应用程序用户界面组件是非常容易的,为显示窗体我们无须编写大量代码,开发人员只需简单的将各种窗体组件拖进窗口就可以了。使用winform创建的对话框和主程序之间参数的传递在VB工程内部进行,也变的很简单。所以这里使用winform来创建对话框,建立直齿圆柱齿轮的参数输入对话框如图2.9所示:图2.9直齿圆柱齿轮用户参数表为了体现出UG新的二次开发工具NXOpen的用途,本课题齿轮系统的开发使用了两种方式,其中直齿圆柱齿轮的应用程序使用传统的UGOpenAPI函数编制,它已被整个封装在NXOPEN.UF中;斜齿圆柱齿轮和锥齿轮的应用程序使用全新的NXOpen开发方式。直齿圆柱齿轮的自动生成使用的是UG内部调用模式,在UG界面下通过菜单项或者工具栏按钮调用应用程序。应用程序的执行流程如下:如果显示部件为空则新建一个部件zhichilun.prt;使用UF函数调用UG的点选择对话框让用户确定一个定位点;调出直齿圆柱齿轮用户参数表,交互输入斜齿轮参数;API应用程序访问直齿圆柱齿轮模板,根据用户输入的参数,创建该部件族模板的1个实例,从而获得用户所要求参数的齿轮模型。在主程序的开始,应该声明NXOPEN名称空间ImportsNXOpen和ImportsSystem,由于程序中使用NXOPEN中封装的UF函数,则还应声明ImportsNXOpen.UF和ImportsNXOpen.UF.UFUI[27]等。在main模块中定义四个公共变量,分别取得UG通道和UF通道,再获得当前的工作部件和显示部件,代码如下:DimtheSessionAsSession=Session.GetSession()'取得UG通道DimtheUfSessionAsNXOpen.UF.UFSession=UFSession.GetUFSession'取得UG通道DimworkPartAsPart=theSession.Parts.WorkDimdisplayPartAsPart=theSession.Parts.Display在main(入口函数)函数中首先判断显示部件是否为空,为空则新建一个zhichilun.prt文件。然后使用UF函数调用点选择对话框,由用户指定一个点,函数调用代码如下:theUfSession.Ui.PointConstruct(message,base_method,point_tag,base_pt,response)显示直齿圆柱齿轮用户参数表对话框,如表3.1给上图的用户参数一个初始值,在确定按钮单击事件中将所有用户参数文本框的值赋给一个数组edg_len,然后调用主程序中的生成直齿齿轮的函数CreateModle,并将数组edg_len和点corner作为函数参数传递。使得函数CreateModle根据用户输入的参数建立一个斜齿圆柱齿轮。在CreateModle函数中,先定义一个变量获得前面建立的参数化直齿圆柱齿轮模板文件路径,代码如下:Dimengine_file_nameAsString="C:\DocumentsandSettings\Administrator\MyDocuments\chilun\zhichiyuanzhu.prt"打开此模板文件,并获得文件标识part_tag;theUfSession.Part.OpenQuiet(engine_file_name,part_tag,error_status)获得模板文件中零件族的标识family_tag[28];theUfSession.Part.AskFamilies(part_tag,family_count,family_tag)根据零件族的标识返回零件族的一行数据并赋值给数组new_data;theUfSession.Fam.AskMemberRowData(family_tag(0),1,new_data)将数组赋值为用户自定义的参数值,再利用此数组增加一行零件族数据;theUfSession.Fam.AddMember(family_tag(0),new_data,n)使用刚增加的一组零件族数据创建一个包含零件族实例的新部件文件;theUfSession.Part.CreateFamilyInstance(family_tag(0),5,part_tag,family_inst)将包含零件族实例的部件设置为显示部件,并保存;theUfSession.Part.AskPartName(part_tag,instance)part_inst=theUfSession.Part.AskPartTag(instance)theUfSession.Part.SetDisplayPart(part_inst)theUfSession.Part.Save()再把前面建立的zhichilun设为显示部件,并将刚创建的零件族实例包含进来;Dimpart1AsBasePart=theSession.Parts.FindObje"zhichilun"t()DimpartLoadStatus1AsPartLoadStatustheSession.Parts.SetDisplay(part1,True,True,partLoadStatus1)theUfSession.Part.Import(instance,modes,dest_csys,base_pt,1,part_inst)

3斜齿圆柱齿轮参数化设计子系统的开发3.1斜齿圆柱齿轮的数学模型斜齿圆柱齿轮的渐开线端面齿形轮廓的形成过程与直齿圆柱齿轮相同。不同的是,斜齿圆柱齿轮的轮齿方向与轴线倾斜了一个角度。假设把一个直齿圆柱齿轮垂直于其轴线作无数的剖面,则这些剖面与直齿圆柱齿轮相交,可得到无数的薄片轮齿,如果把这些无数薄片轮齿中的后面一个薄片都相对前一个绕轴线转动一个微小的角度,也就是使无数薄片中每个薄片的端面齿形都转过一个极小的位置,形成的齿面就是斜齿面。从端面上看,一对渐开线斜齿轮啮合就相当于一对渐开线直齿轮啮合。因此,它也满足齿廓啮合基本定律。在一对斜齿轮啮合传动时,两轮的瞬时接触线为一斜线,且由短变长,然后又由长变短。由于其啮合过程是逐渐进行的,所以克服了直齿轮啮合传动时总是沿着全齿宽同时进行的缺点,减少了传动的冲击、振动和噪声,提高了传动的平稳性,故斜齿轮适用于高速、重载的传动。由于斜齿轮圆柱齿轮的齿面为渐开线螺旋面,因而在不同方向的截面上其轮齿的齿形各不相同,故斜齿轮具有三套基本参数,即:在垂直于齿轮回转轴线的截面内定义的端面参数、在垂直于轮齿方向的截面内定义的法面参数和在通过齿轮回转轴线的截面内定义的轴面参数。由于在加工斜齿轮时,刀具通常是沿着螺旋线方向进刀的,所以斜齿轮的法面参数应该是与刀具参数相同的标准值[29]。但在计算斜齿轮的大部分几何尺寸时却需要按端面参数进行计算,因此必须建立法面参数与端面参数的换算关系。渐开线斜齿圆柱齿轮的重要的基本参数有:螺旋角β、齿数z、法面模数m、法面压力角a、法面齿顶高系数ha、法面顶隙系数c、法面变位系数x、齿轮齿宽B,另外内孔键槽数据也是必不可少的重要参数,如表3.1所示。表3.1渐开线斜齿圆柱齿轮参数表名称代号计算公式螺旋角β15(用户输入)法面模数mn2.5(用户输入)端面模数mtmt=mn/cos(β)齿数z30(用户输入)法面齿顶高系数han1(用户输入)端面齿顶高系数hathat=han*cos(β)法面顶隙系数cn0.25(用户输入)端面顶隙系数ctct=cn*cos(β)法面压力角an20(用户输入)端面压力角atat=arctan(tan(an)/cos(β))齿宽b20(用户输入)法面变位系数xn0.1(用户输入)端面变位系数xtxt=xn*cos(β)分度圆直径dd=mt*z齿顶圆直径dada=mt*(z+2*hat+xt)齿根圆直径dfdf=mt*(z-2*hat-2*ct+xt)基圆直径dbdb=mt*z*cos(at)内孔直径d230(用户输入)轴直径d160(用户输入)键槽宽b15(用户输入)键槽深b235(用户输入)总宽bz50(用户输入)3.2斜齿圆柱齿轮的全参化建模本文在设计斜齿圆柱齿轮的模型时,主要使用到了UG中的实体造型功能、表达式功能和自由曲面扫描功能,来建立其全参数化驱动的三维实体模型[30]。主要的步骤为:首先由用户交互输入的法面参数计算出端面参数,完成端面齿轮轮廓线绘制,将端面轮廓线沿螺旋线扫描获得斜齿轮廓面,用此轮廓面裁剪圆柱体生成具有单个齿槽实体,再通过布尔运算在齿轮圆柱上生成一个齿槽,最后对齿槽做阵列获得完整轮齿。这种建模方法操作简单、设计精度高、效率也高。1)齿轮轮廓线与螺旋线生成由上面分析可知,斜齿圆柱齿轮的三维参数化造型有两个重点:端面齿形曲线和螺旋线的生成。本方法从斜齿轮的端面轮齿轮廓线绘制开始,斜齿轮在端面上的轮廓线为渐开线型,其中斜齿轮的端面参数可按标准值法面参数计算,因此可直接利用直齿圆柱齿轮的表达式。这样,齿廓曲线的参数化造型参照上章的直齿圆柱齿轮的造型经验即可解决。因为需要使用端面轮廓线沿着螺旋线扫描来生成斜齿轮轮廓面,所以要绘制出分度圆上的螺旋线,作为引导线扫描。由于UG的自由曲面扫描方式中,沿着三条引导线生成的曲面才能不变形,所以要生成三条螺旋线[31]。图3.1所示是斜齿轮分度圆柱面的展开图,S是导程,β是分度圆上的螺旋角。根据三角形关系,可得出arc的长度(arc是分度圆圆柱面上螺旋线在端面上投影的弧长):arc=b*tan(β)(3-1)式中:b为斜齿轮齿宽。由几何学可得到:arc/rarc*2/d(3-2)式中:r为分度圆半径;为arc弧长在分度圆上对应的中心角的弧度值。在UG中三角函数值是度,因此,需要进图3.1斜齿轮分度圆柱面行转换。通过表达式绘制圆弧,必须以圆弧所对应的中心角为变量参数。系统提供的内部变量t的变化范围是0~1,所以要进行参数代换a*t(a是arc圆弧所对应的中心角的角度值),使其在0~arc*2/d的角度范围内变化。代入圆的方程,得到螺旋线的参数方程:xo=d/2*cos(a*t)yo=d/2*sin(a*t)(3-3)z=b*t这样绘制出来的螺旋线是从x轴开始的,z轴的取值范围是0-b,生成全齿宽上的螺旋线。将此螺旋线分别顺时针和逆时针旋转角度th可获得另外两条螺旋线。根据矩阵变换,求出另两条螺旋线的方程式:xo1=xo*cos(th)-yo*sin(th)yo1=xo*sin(th)+yo*cos(th)(3-4)zo1=b*txo2=xo*cos(-th)-yo*sin(-th)yo2=xo*sin(-th)+yo*cos(-th)(3-5)zo2=b*t在UG中表达式里输入三条螺旋线的参数方程式,再按LawCurve的ByEquation[32]方式,以坐标原点为基准点插入规则曲线。UG将自动计算x、y和z值并绘制出三条螺旋线。按照UG中自由曲面的Swept(扫描)方式,在对象窗口内依次选择三条螺旋线作为引导线,然后选取延长以后的端面轮廓线,在对齐方式中选择弧长对齐(AraLength)方式,得到如图3.2所示曲面。图3.2斜齿轮廓面图3.3斜齿圆柱齿轮与直齿圆柱齿轮造型过程相同,先用扫描得到的两个面裁剪在齿顶圆和齿根圆之间的一段实体得到单个齿槽实体,再以齿顶圆为截面线段拉伸一个齿宽b长的圆柱体,和齿槽实体做布尔求差运算的得到有一个齿槽的圆柱体。做单个齿槽的圆周阵列,阵列数为齿数z,从而获得所有轮齿[33]。最后根据输入的齿轮内孔、键槽等数据绘制草图生成齿轮内部结构,完成斜齿圆柱齿轮的绘制,如图3.3所示。3.3子系统应用程序设计斜齿圆柱齿轮的自动生成使用的是UG内部调用模式,在UG界面下通过菜单项或者工具栏按钮调用应用程序。应用程序的执行流程如下:如果显示部件为空则利用建模模板新建一个部件zhichilun.prt;使用UF函数调用UG的点选择对话框让用户确定一个定位点;调出斜齿轮用户参数表,交互输入斜齿轮参数;在当前部件文件中将已有的斜齿圆柱齿轮模板部件作为组件添加进来,放置位置为前面选择的定位点。按对话框输入的用户参数修改斜齿轮的表达式,将工作部件设置为原部件,更新模型。在VB.NET内部使用winform创建斜齿圆柱齿轮的参数对话框,在此对话框中用户输入要生成的斜齿轮参数,如图3.4所示:本系统的主程序编制将使用NX新的二次开发构架NXOPEN开发,在NXOPEN中使用代码自动生成JA[34](即操作录制)可以将交互状态下执行的操作以文件的形式记录下来,并能够进行编辑和重放,并且可以选择用VB、C#,C++和Java等多种语言记录,极大地方便了二次开发。操作录制是UG/NXOpen中增加的可以录制手工操作命令的工具。录制的一系列NXOpen程序命令。通过这些命令可以重现操作。然而,录制的程序往往是记录我们手工操作的命令流,其中很多信息是固定的操作,不具有灵活性。同时,不是所有的命令都能够被录制。正如UGHelp系统所说的:有些命令不能被记录,有些命令只能部分记录。所以,操作录制不能代替二次开发。图3.4斜齿圆柱齿轮用户参数表首先设置操作录制使用VB.NET,在菜单【首选项】里选择【用户界面】。在对话框“用户界面首选项”中的【操作记录】分页中选择【选择操作记录语言】为VB。在菜单工具条中选择【操作记录】,其中有几个常用命令:播放-录制暂停录制-停止录制-编辑[35]。根据前述的程序执行流程来录制相关操作,获得操作的命令流,再进行一定的修改就可得到自己的应用程序。选择【录制】,选择保存录制命令程序的目录。之后UG的菜单和工具条上会出现可录制的标示,如果没有的命令是不能被录制的。依次进行下列操作:新建一个名称为zhichilun的部件文件;添加组件,组件为前面建立的全参数化斜齿轮部件,选择放置点为某一点;将添加的组件设为工作部件,进入表达式修改用户参数;将zhichilun部件设为工作部件,保存此部件文件。选择【停止录制】结束本次录制。选择【编辑】进入操作纪录编辑器,可修改刚才所有操作的VB代码。在主程序的开始,应该声明NXOPEN名称空间ImportsNXOpen和ImportsSystem[36],如果程序中使用NXOPEN中封装的UF函数,则还应声明ImportsNXOpen.UF。在main模块中定义四个公共变量,分别取得UG通道和UF通道,再获得当前的工作部件和显示部件,代码如下:DimtheSessionAsSession=Session.GetSession()'取得UG通道DimtheUfSessionAsNXOpen.UF.UFSession=UFSession.GetUFSession'取得UG通道DimworkPartAsPart=theSession.Parts.WorkDimdisplayPartAsPart=theSession.Parts.Display在main(入口函数)函数中首先判断显示部件是否为空,为空则利用建模模板新建一个prt文件,使用commit函数。DimnXObject1AsNXObject=fileNew1.Commit()使用UF函数调用点选择对话框,由用户指定一个点,函数调用代码如下:theUfSession.Ui.PointConstruct(message,base_method,point_tag,base_pt,response)显示斜齿轮用户参数表对话框,如表4.1给上图的用户参数一个初始值,在确定按钮单击事件中将所有用户参数文本框的值赋给一个数组edg_len,然后调用主程序中的生成斜齿齿轮的函数CreateModle,并将数组edg_len和点corner作为函数参数传递。使得函数CreateModle[37]根据用户输入的参数建立一个斜齿圆柱齿轮。在CreateModle函数中,先定义一个变量获得前面建立的参数化斜齿轮模板,代码如下: basePart1=theSession.Parts.OpenBase("C:\Documents and Settings\Administrator\MyDocuments\GBT97\xiechiyuanzhu.prt",partLoadStatus1)Dimpart1AsPart=CType(basePart1,Part)再在当前部件文件中将参数化斜齿轮模板作为组件添加进来,放置位置为前面选择的定位点,并将其设为工作组件,代码如下:Dimcomponent1AsAssemblies.Componentcomponent1=workPart.ComponentAssembly.AddComponent(part1,"MODEL","MODEL1",basePoint1,orientation1,-1,partLoadStatus2)theSession.Parts.SetWorkComponent(component1,partLoadStatus3)在斜齿轮部件的表达式中查找用户参数,并将其赋值为对话框指定值,下面以压力角a和模数m为例,代码如下:Dimexpression1AsExpression=CType(workPart.Expressions.FindObject"a")(,Expression)Dimunit1AsUnit=CType(workPart.UnitCollection.FindObject"Degrees"(),Unit)workPart.Expressions.EditWithUnits(expression1,unit1,value(0))Dimexpression2AsExpression=CType(workPart.Expressions.FindObject"m")(,Expression)Dimunit2AsUnit=CType(workPart.UnitCollection.FindObject"MilliMeter"( ),Unit)workPart.Expressions.EditWithUnits(expression2,unit2,value(1))更改全部用户参数后需要更新模型,使用DoUpdate函数更新,参数为一个UndoMark[38],如果更新失败将回滚到UndoMark指定的位置,最后删除UndoMark块。DimmarkId1AsSession.UndoMarkIdmarkId1=theSession.SetUndoMark(Session.MarkVisibility.Visibl"Update,ExpressionData")DimnErrs2AsIntegernErrs2=theSession.UpdateManager.DoUpdate(markId1)theSession.DeleteUndoMark(markId1,"UpdateExpressionData")4直齿圆锥齿轮参数化设计子系统的开发4.1直齿圆锥齿轮的数学模型圆锥齿轮机构是用来传递空间两相交轴之间运动和动力的一种齿轮机构,其轮齿分布在截圆锥体上,齿形从大端到小端逐渐变小。由于圆锥齿轮大端和小端参数不同,为计算和测量方便,通常取大端参数为标准值。圆锥齿轮的轮齿有直齿、斜齿和曲齿等多种形式。其中,直齿圆锥齿轮由于其设计、制造和安装均较简便,故应用最为广泛。理论上的轮齿齿形圆柱齿轮的渐开线是位于一个平面上的,是平面渐开线。直齿锥齿轮适用于两相交轴之间的传动,其轮齿的齿廓曲线是在以两轴交点为顶点的基圆锥上展开的,定位于以锥顶为球心的球面上,故称球面渐开线。两轮的齿廓在球面上啮合是锥齿轮传动的啮合特点。当量圆柱齿轮由于球面曲线不能展开成平面曲线,这就给圆锥齿轮的设计和制造带来很多困难。为了在工程上应用方便,人们采用一种近似的方法来处理这一问题。为了设计和制造的方便,需要把球面啮合转化为平面啮合,因而引入了背锥概念。背锥与球面相切,并与分度圆锥直角相截,背锥齿形与球面渐开线非常接近,可以把锥齿轮的啮合近似地认为是背锥面上的齿廓啮合,而背锥可以展开成扇形平面,把两扇形齿轮补足为完整的圆柱齿轮后,就可得到齿形与锥齿轮大端实际齿廓相近的一对当量齿轮,其齿数称为锥齿轮的当量齿数Zv[39]。由于当量齿轮是齿形与直齿圆锥齿轮大端齿形十分相近的一个虚拟的直齿圆柱齿轮,所以,引入当量齿轮的概念后,就可以通过当量齿轮的啮合传动来研究圆锥齿轮的啮合传动。渐开线直齿圆锥齿轮的重要的基本参数有:齿数z、分度圆锥角q、模数m、压力角a、齿顶高系数ha、顶隙系数c、变位系数x、齿轮齿宽b,另外一些结构尺寸和内孔键槽数据也是必不可少的重要参数,如表4.1所示。4.2直齿圆锥齿轮的全参化建模圆锥齿轮的轮齿分布在一个圆锥体上,其齿廓曲线为球面渐开线。在现实加工设计中,由于球面无法展开成平面,致使圆锥齿轮的设计计算产生了很多困难,其设计和制造都是用与球面渐开线非常接近的锥面渐开线来代替球面渐开线。这个锥面所在的圆锥就是圆锥齿轮在大端处的背锥。将背锥展开成扇形齿轮并补足为完整的圆柱齿轮圆,就形成了圆锥齿轮的当量齿轮,当量齿轮的齿数称为当量齿数。当量齿轮的模数与圆锥齿轮大端模数相等。所以直齿圆锥齿轮的大端齿形近似地用当量齿轮(直齿圆柱齿轮)的齿形代替。表4.1渐开线直齿圆锥齿轮参数表名称代号计算公式模数m2.5(用户输入)齿数z20(用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论