基于UG二次开发的直齿斜齿圆柱齿轮及锥齿轮的参数化建模.docx
《基于UG二次开发的直齿斜齿圆柱齿轮及锥齿轮的参数化建模.docx》由会员分享,可在线阅读,更多相关《基于UG二次开发的直齿斜齿圆柱齿轮及锥齿轮的参数化建模.docx(76页珍藏版)》请在冰点文库上搜索。
基于UG二次开发的直齿斜齿圆柱齿轮及锥齿轮的参数化建模
基于UG二次开发的直齿、斜齿圆柱齿轮及锥齿轮的参数化建模
摘要
在机械加工中,孔加工占机械加工的比例在30%以上,特别是在汽车与航空等行业中麻花钻的应用极为广泛。
由于长期以来,麻花钻的设计大多是靠工程师的经验来进行,在设计过程中,难免会出现重复性的工作,从而降低了设计效率。
同时通常的设计都是在二维图纸上进行设计,不能得到可视化的麻花钻三维造型,这就阻碍了麻花钻的数控刃磨加工及利用一些分析软件对麻花钻的钻削过程进行分析。
在UG中利用麻花钻参数表达式绘制麻花钻实体模型,实现麻花钻在UG的参数化设计。
从而实现产品的快速设计。
UG/Open二次开发模块是UG软件的二次开发工具集,利用该模块可对UG系统进行用户化开发,可满足用户进行各种二次开发的需求。
学习了UG二次开发的各种工具,了解了各种工具的特点和适用范围。
选择UG/OpenAPI编程语言,结合使用UG/OpenMenuScript和UG/OpenUIStyler开发工具,实现了基于UG二次开发工具的直齿圆柱齿轮、斜齿轮、直齿锥齿轮的参数化设计。
关键词:
麻花钻,二次开发,参数化,API
KeyWords:
parameter,gear,UG/Open,API
目录
第1章绪论……………………………………………………………………1
1.1课题的研究背景…………………………………………………………1
1.2课题的研究内容和解决方法…………………………………………2
第2章UG二次开发的研究………………………………………………4
2.1UG软件概述……………………………………………………………4
2.1.1UG软件的功能介绍…………………………………………………4
2.1.2UG功能模块…………………………………………………………5
2.2UG二次开发相关工具概述……………………………………………5
2.2.1UG/OPENGRIP…………………………………………………………6
2.2.2UG/OPENAPI…………………………………………………………7
2.2.3UG/OPENMenuScript………………………………………………7
2.2.4UG/OPENUIStyler……………………………………………………9
2.2.5UserTools工具………………………………………………………9
第3章二次开发方案的选择…………………………………………11
3.1列举可行的方案………………………………………………………11
3.2方案的选择……………………………………………………………13
3.3利用二次开发工具制作系统菜单……………………………………14
3.3.1设置系统环境变量…………………………………………………14
3.3.2制作菜单…………………………………………………………15
第4章齿轮常用的齿形曲线——渐开线……………………………18
4.1渐开线的形成原理……………………………………………………18
4.2渐开线的数学模型……………………………………………………19
4.3渐开线齿廓的绘制………………………………………………20
第5章直齿圆柱齿轮的参数化设计…………………………………22
5.1数学模型………………………………………………………………22
5.2齿轮三维建模…………………………………………………………23
第6章斜齿轮的参数化设计………………………………………………26
6.1数学模型………………………………………………………………26
6.2齿轮三维建模……………………………………………………………27
第7章直齿锥齿轮的参数化设计………………………………………28
7.1数学模型…………………………………………………………………28
7.2齿轮三维建模……………………………………………………………29
第8章程序设计……………………………………………………………30
8.1总体方案设计…………………………………………………………30
8.2对话框设计………………………………………………………………31
8.3程序设计…………………………………………………………………36
第9章结论……………………………………………………………………48
致谢………………………………………………………………………………50
参考文献…………………………………………………………………………51
附录………………………………………………………………………………52
第1章绪论
1.1课题的研究背景
齿轮机构用于传递空间任意两轴之间的运动和动力,具有质量小、体积小、传动比大和效率高等优点,已广泛应用于汽车、船舶、机床、矿山冶金等领域,它几乎适用于一切功率和转速范围,是现代机械中应用最广泛的一种传动机构。
目前齿轮传动技术已成为世界各国机械传动发展的重点之一。
齿轮设计在齿轮制造应用过程中占有重要地位。
传统的齿轮设计过程繁冗,效率低,采用传统的设计方法设计一组较为合理的齿轮副要反复修正参数、多次校核计算,花费很长时间才能实现。
另外,齿轮类零件的绘图工作(包括几何绘图、标注、参数表填写等内容)也是一项繁杂而费时的工作[1]。
但齿轮类零件大部分具有相似的结构和形状,在新产品的设计和图纸绘制过程中,不可避免地要多次反复修改,进行零件形状、尺寸的综合协调和优化.这时寻求一种简便、合理的设计方法,提高设计工作效率,是齿轮设计工作者的迫切愿望。
因此,借助CAD技术实现其绘图过程的参数化和自动化,对于提高设计效率和保证设计质量具有重要意义[2]。
因此,现代齿轮机构的设计建模技术有着广泛的工程应用背景和研究意义。
随着计算机技术和现代设计理论与方法的迅速发展,三维设计软件尤其是Unigraphics在机械零件和产品设计中的日益普及,齿轮实体在三维软件特别是在UG中的绘制变得越来越重要。
但基于UG的齿轮设计系统一般都局限于齿轮二维轮廓的绘制或三维实体建模,齿轮参数的设计计算难以与CAD系统很好地集成,给齿轮的CAD/CAM带来不利影响[3]。
建模技术是CAD的核心技术,参数化造型技术和特征造型技术是新一代继承化CAD系统应用研究的热点理论[4]。
目前国内外对二维图形参数化和简单三维实体的参数化造型较为成熟。
对复杂的三维实体的参数化造型尚不多见,特别是齿轮这类形状复杂、精确齿形的三维实体参数化造型设计更少。
这有多方面原因:
一方面齿轮二维图形参数化设计能够满足传统的齿轮加工要求;另一方面运用低级CAD软件对复杂的三维实体很难实现参数化虚拟造型设计。
随着塑料齿轮的广泛应用和快速成型与虚拟制造技术的迅速发展,传统的二维图形已不能满足现在的设计、加工要求[5]。
因此,在三维软件上绘制齿轮实体变得十分重要。
但是,由于齿轮形状复杂,且齿形曲线有一定的规律,绘制齿形曲线较复杂。
并且齿轮各参数间都有严格的函数关系,再加上随着当代机械制造业的不断发展,齿轮的精度要求也越来越高,齿轮实体的绘制较为麻烦。
齿轮并不是一个标准件,它的各个参数随着设计要求的不同而不同。
如果每设计一个齿轮都要画一个对应的实体部件的话,那不仅增加了设计者的劳动量,还大大降低了设计效率,阻碍了企业的生产和发展。
参数化设计是新一代智能化、集成化CAD系统的核心内容,也是当前CAD技术的研究热点[6]。
用大型的三维软件实现齿轮的参数化造型已成为设计者的迫切需求,齿轮体参数化造型有重要的意义:
(1)齿轮传动的参数化设计与建模系统是CAD技术与齿轮设计相结合的产物,也是两者发展的趋势所在。
(2)实现设计过程自动化避免了设计人员手动查阅大量的数据,也避免了手工取点造型的复杂过程,该系统的开发,可以将手算设计的工作人员从繁琐、低效的工作中解放了出来。
(3)实现齿轮的参数化设计以及渐开线齿廓的精确造型,可以将设计计算、三维造型与绘制工程图的无缝结合,同时为齿轮的有限元分析、机构仿真和数控加工等工作奠定基础。
(4)采用建立原始齿轮结构模型并驱动其特征参数,为其它复杂曲面的造型提供了有益的参考。
本课题利用UG的二次开发技术,为解决齿轮参数化设计问题提供了可行的方法,通过直接输入齿轮设计条件,利用计算得出的有关设计参数(模数、齿数、压力角、变位系数、齿顶高系数、顶隙系数等)进行实体建模,实现齿轮的参数化设计,提高齿轮设计的效率和准确性。
1.2课题的研究内容和解决方法
本课题利用大型软件UGNX4.0来实现齿轮的三维参数化造型,通过改变齿轮的一些基本参数,生成其相应齿轮。
要达到相应的设计要求,首先要知道如何在UG中绘制齿轮部件,要绘制齿轮必然要知道齿轮的啮合原理及各个参数间的关系,还应熟知渐开线的数学模型,精确画出渐开线。
画出齿轮模型后,还应知道UG二次开发的知识,灵活运用UG系统提供的二次开发工具,在模型的基础上编制相应的程序,最后完成齿轮参数化设计模块的开发。
具体内容和步骤如下:
(1)研究直齿、斜齿圆柱齿轮及直齿锥齿轮的基本啮合理论和各参数间的关系并建立数学模型;
(2)渐开线数学模型的建立,通过对齿轮的啮合原理的深入研究,建立渐开线数学模型,得到渐开线方程;
(3)深入掌握UG二次开发的各种方法,并熟练运用UG/OPEN开发工具,在建立直齿圆柱齿轮、斜齿轮和直齿锥齿轮的数学模型的基础上,对各齿轮实现三维参数化造型;
(4)在构建齿轮模块框架的基础上,深入研究菜单的制作技术以确定本课题应采用的最佳菜单制作技术。
UG软件是集CAD/CAM/CAE一体化的三维参数化软件,是当今世界上最为先进的计算机辅助设计、制造和分析软件,在国内使用相当广泛。
另外它所提供的二次开发语言模块UG/OpenAPI、UG/OpenGRIP和辅助开发模块UG/OpenMenuscript与UG/OpenUIStyler及其良好的高级语言接口,使UG的图形功能和计算功能有机的结合起来,便于用户去开发各种基于自身需要的专用CAD系统。
使用UG/OpenAPI和UG/OpenGRIP中任何一个模块都能实现UG的二次开发,再结合辅助模块,就能开发出UG界面的应用模块。
因此,合理利用UG的二次开发语言模块和辅助模块,就可以实现在UG环境下对齿轮进行参数化设计。
第二章UG二次开发的研究
Unigraphics(简称UG)是当前世界上最先进和紧密集成的、面向制造行业的CAID/CAD/CAE/CAM高端软件。
它为制造业产品开发的全过程提供解决方案,主要功能包括:
概念设计、工程设计、性能分析和制造。
此外,UG软件还提供了CAD/CAE/CAM业界最先进的编程工具集,以满足用户二次开发的需要。
本章先讨论UG软件的主要功能,然后简单介绍二次开发各功能模块的特点和应用。
2.1UG软件概述
2.1.1UG软件的功能介绍
UG是知识驱动自动化技术领域中的领先者。
它实现了设计优化技术与基于产品和过程的知识工程的组合,显著地改进了如汽车、航天航空、机械、消费产品、医疗仪器和工具等工业的生产率。
它为各种规模的企业递交可测量的价值;更快地递交产品到市场;使复杂产品的设计简化;减少产品成本和增加企业的竞争实力[7]。
NX是一个交互的计算机辅助设计、计算机辅助制造和辅助工程(CAD/CAE/CAM)系统。
CAD功能自动化是在今天制造公司中见到的一般工程、设计和制图能力;CAM功能利用NX描述完成零件的设计模型,为现代机床提供NC编程;CAE功能横越一广范的工程学科,提供许多的产品、装配和零件的性能防真能力。
NX是一个全三维、双精度系统,它允许用户精确地描述几乎任一几何形状。
通过组合这些形状,用户可以设计、分析产品和建立他们的工程图。
一但设计完成,制造应用允许用户选择描述零件的几何体,加入制造信息,如刀具直径并自动生成一刀具位置,源文件(CLSF),它可用来驱动大多数NC机床[8]。
目前UGS公司已经推出NX5产品,本次设计中使用的是NX4版本的软件。
NX4的特点是:
1、为了数字化产品开发集成的自动化;2、在所有开发学科中的新能力,包括工业设计、防真、工装、加工和管理;3、在一个全面的产品生命周期管理(PLM)解决力案内的领先前沿的CAD、CAE和CAM技术。
2.1.2UG功能模块
利用NX,可以建立、存储、恢复和操纵设计与制造信息,典型地通过建立描述一零件的几何体开始工作。
NX功能被划分成共同功能的一系列“应用(Application)”共18个模块,各模块分别为:
1、入口(Gateway):
对所有其他交互应用的首要必备的应用;2、建模(Modeling):
包括实体、特征、自由形状、钣金特征建模和用户定义特征;3、装配(Assembilies):
支持装配建模;4、几何公差模块(GeometricTolerancingModule):
让用户捕捉公差;5、产品和制造信息(PMIIntroduction):
可用于在三维环境中对产品形成文档说明;6、分析(Analysis):
包括注塑模流动分析、运动应用和ICAD;7、制图(Drafting):
可将三维模型生成二维视图;8、高质量图像(HighQualityImage):
生成逼真照片的图像;9、知识熔接(KnowledgeFusion):
允许用户应用工程知识驱动规则和设计意图到NX中的几何模型和装配;10、制造(Manufacturing):
可进行虚拟加工和自动加工编程;11、开放的用户界面设计(OpenUserInterfaceStyler):
允许用户和第三方开发商生成NX对话框;12、编程语言(ProgrammingLanguages):
包括GRIP和API;13、质量控制(QuallityControl);14、走线(Routing):
定义围绕和通过其他NX装配的装配;15、钣金(SheetMetal):
包括钣金设计、冲压和多零件加工的栅格;16、电子表格(Spreadsheet):
提供一在Xess或者电子表格应用和NX间的智能界面;17、WebExpress;18、WireHarness:
可在用于描述产品机械装配的同一三维空间建立电气布线的表示。
2.2UG二次开发相关工具概述
UG软件提供了CAD/CAE/CAM业界最先进的编程工具集,以满足用户二次开发的需要,这组工具集称之为UG/Open,是一系列UG开发工具的总称,它们随UG一起发布,以开放性架构面向不同的软件平台提供灵活的开发支持。
UG/Open包括以下几个部分:
UG/OpenMenuscrip开发工具,对UG软件操作界面进行用户化开发,无须编程即可对UG标准菜单进行添加、重组、剪裁或在UG软件中集成用户自己的软件功能;UG/OpenUIStyler开发工具是一个可视化编辑器,用于创建类似UG的交互界面,利用该工具,用户可为UG/Open应用程序开发独立于硬件平台的交互界面;UG/OpenAPI开发工具提供了UG软件直接编程接口,支持C、C++、Fortran和Java等主要高级语言;UG/OpenGRIP开发工具是一个类似API的UG内部开发语言,利用该工具用户可生成NC自动化或自动建模等用户的特殊应用[9]。
利用UG/Open提供的应用程序和开发工具,用户可以在其提供的平台上开发出适合自己需要的CAD产品。
2.2.1UG/OpenGRIP
UG/OpenGRIP(GraphicsInteractiveProgramming)是一种专用的图形交互编程语言。
这种语言与UG系统集成,实现UG下的绝大多数的操作。
GRIP语言与一般的通用语言一样,有其自身的语法结构,程序结构,内部函数,以及与其他通用语言程序相互调用的接口。
一个GRIP语句是由一个或几个GRIP命令组成,GRIP命令是GRIP语言的基本组成部分。
GRIP命令有三种表示格式:
a)陈述格式。
主要用于生成和编辑实体。
b)GPA符号格式。
GPA是全局参数存取(GlobalParameterAccess)的缩写,用于访问UG系统中各种对象的状态和参数。
c)EDA符号格式。
EDA是实体数据存取(EntityDataAccess)的缩写,用于访问UG数据库,能够访问各种对象的功能性数据。
例如在属性、绘图和尺寸标注以及几何体等领域与UG进行交互操作时,其参数可用EDA格式的命令取得。
用GRIP语言编写GRIP源程序,可以在windows的记事本中进行,记为*.grs;或者在GRIP高级开发环境(GRAD-GripAdvancedDevelopmentEnvironment)中编写。
执行GRIP程序必需进入UG环境中,运行File—ExecuteUG/Open—Grip。
GRIP编程语言是面向工程师的语言,具有简单、易学、易用的特点,但是所编写的程序长、复杂。
要考虑程序的各个细节问题。
因此,GRIP语言常用于开发一些规模比较小的程序,例如,同类零件建模、计算和分析、数据访问等程序。
与GRIP语言相比较,用API函数编程则可实现功能复杂的操作[10]。
2.2.2UG/OpenAPI
作为UGNX4.0与外部应用程序之间的接口,UG/OpenAPI是一系列函数的集合。
通过UG/OpenAPI的编程,用户几乎能够实现所有的UGNX4.0功能。
开发人员可以通过用C++语言编程来调用这些函数,从而实现用户的需要。
(1)对UGpart文件及相应模型进行操作,包括建立UGNX4.0模型、查询模型对象、建立并遍历装配体,以及创建工程图等。
(2)在UGNX4.0中创建交互式程序界面。
(3)创建并管理用户定义对象等。
应用函数时应注意所有的UG/OpenAPI应用必须及时进行初始化和终止,以确保获取或者释放UG/OpenAPI的执行许可权限。
初始化函数是UF_initialize(),当开始调用UG/OpenAPI的函数时应先调用UF_initialize()来获取执行许可权限。
一般来说,我们在变量声明完成后,第1个调用UG/OpenAPI的函数就是UF_initialize()。
终止函数是UF_terminate(),当不再调用UG/OpenAPI的函数时必须调用UF_terminate()来释放执行许可。
UG/OpenAPI程序能在两种不同环境(依赖于程序的连接方式)下运行,即Internal环境(也称为“Internal开发模式”)和External模式。
其中Internal环境下的程序只能在UGNX4.0的界面环境(session)下运行,在运行这些程序时他们被加载到UGNX4.0的运行空间中(UGNX4.0分配的内存);External模式开发的程序能在操作系统(WindowsNT/2000/XP及UNIX)下运行,不在UGNX4.0环境中或作为UGNX4.0的子进程运行。
尽管没有图形显示,但UG/OpenAPI提供了函数用于打印机或绘图仪输出,也可以输出为CGM文件等其他数据文件[11]。
2.2.3UG/OpenMenuScript
UG/OpenMenuScript不仅可以使用户利用ASCⅡ文件来编辑UG的菜单,也可以以一种无缝集成的方式为用户开发的应用程序创建菜单。
MenuScript同时也提供了一个菜单栏报告工具,以帮助用户查看定制的菜单,诊断错误。
对于菜单的自定义大致可以分为如下三个层次。
(1)自定义菜单
该级别的自定义允许单个用户或者管理员重新安排UG的功能,去除在其产品开发过程中不需要的功能。
这种级别的自定义不需要编程实现。
(2)自定义UG功能
该级别的自定义允许单个用户或者管理员取代或增加标准的UG功能,并添加其自己定义的功能。
(3)添加自定义应用
该级别的自定义其目的在于使用户或第三方开发商开发的应用程序完全集成在UG中。
该级别的自定义需要编程实现。
UG的菜单文件是扩展名为.men的文本文件,可以使用Windows的记事本进行编辑。
UG/OpenMenuScript提供了一套用于定义UG菜单的脚本语言。
实际上,UG系统的菜单文件也是用该脚本语言编写的。
UG为主菜单栏、快捷菜单栏提供了丰富的系统菜单文件,这些菜单文件默认情况下都保存在UGⅡ_BASE_DIR/ugⅡ/menus文件夹下[12]。
使用UG/OpenMenuScript自定义UG菜单可以有两种方法,分别是使用Add-on菜单文件和复制和编辑系统菜单文件。
使用Add-on菜单方法是添加编辑量很小的菜单文件到菜单文件的目录中,使用Add-on菜单可以移出用户不需要的菜单项;添加新的菜单和菜单项;重新组织UG的菜单;修改菜单和菜单项的标题;为已经存在的应用按钮添加动态库和菜单文件。
复制和编辑系统菜单文件是指复制、编辑系统菜单文件并将其放置在特定的目录下,覆盖原始菜单文件。
系统推荐使用Add-on菜单文件方法,该方法不仅编辑起来比较方便、易于维护,而且其功能也相当强大,基本可以满足应用开发的所有需求。
使用Add-on菜单文件的另一个优点在于它可以被UG很方便地自动加载。
对于与具体应用模式无关的菜单文件放置在startup文件夹下,与具体应用模式相关的菜单文件放置在相应的application文件夹下,通过使用MENU_FILES声明,即可将菜单名与应用模式按钮相关联,点击该应用模式按钮后即可自动加载与其相关联的菜单文件。
复制和编辑系统菜单文件方法不推荐使用,这主要是由于其编辑起来相当复杂,特别是对于像ug_main.men这样大型的菜单文件,其维护也非常麻烦。
2.2.4UG/OpenUIStyler
UIStyler是开发UG对话框的可视化工具,生成的对话框能与UG集成,让用户更方便、更高效地与UG进行交互操作。
UG/OpenUIStyler模块提供了强大的制作UG风格窗口的功能,其主要功能如下:
(1)提供了让开发人员建造UG风格对话框的可视化环境,并能生成UG/OpenUIStyler文件和C代码,从而使用户在使用UG/OpenUIStyler产生的对话框时,不必考虑图形用户界面(GraphicalUserInterface缩写为GUI)的实现。
(2)利用可视化环境快速生成UG风格对话框,从而减少开发时间。
(3)通过选取和放置控件,从而能实现所见即所得。
(4)可以在对话框中实现用户自定义位图。
(5)提供了属性编辑器,从而允许开发人员设置和修改控件属性。
(6)UIStyelr产生的对话框可以在MenuScript中被调用,因此可以实现在UG菜单项上调用UIStyler产生的对话框,从而将用户应用程序和UG软件完全融合。
应用UIStyler这一工具可以使开发人员方便、快速地设计出与UG界面风格一致的对话框,避免其他复杂的编程。
而且可以和用其他开发工具开发出的结果进行集成。
UG/OpenUIStyler工具和UG/OpenMenuScript工具一样,都只具有某一方面的功能:
UG/OpenUIStyler用于对话框的开发,UG/OpenMenuScript用于菜单的开发。
2.2.5UserTools工具
UG软件为用户提供了一个调用二次开发结果的交互式接口:
UserTools。
它的功能是生成弹出式对话框或工具条,其界面风格与UG界面风格一致。
通过执行对话框或工具条,操作相应的控件就可运行菜单文件、宏文件、UG/OpenGRIP程序、UG/OpenAPI程序和其他二次开发文件。
例如,执