弧面凸轮数控转台的设计概要_第1页
弧面凸轮数控转台的设计概要_第2页
弧面凸轮数控转台的设计概要_第3页
弧面凸轮数控转台的设计概要_第4页
弧面凸轮数控转台的设计概要_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、弧面凸轮数控转台的设计3D建模与装配摘要:弧面凸轮机构是一种高速装置,广泛的应用于各种机械传动中。为适应当代社会对弧面凸轮制造加工精度等方面的要求,本设计利用UG强大的二次开发功能,通过运用UG/API语言进行编程,从而开发出弧面凸轮的建模命令,使得弧面凸轮的3D建模与装配变得简单。关键词:弧面凸轮,UG二次开发,3D建模,装配The Design Of Globoidal Indexing Cam NC rotate table3D construction mode and AssemblyAbstract:Globoidal indexing cam mechanism is a hig

2、h speed indexing drivingdevice,it is widely used in many kinds of mechanical transmission .In order to fit the social request of Arc Cam manufacturing and processing precision, this Design used a strong secondary development function of UG. By using UG/API programming, therefore, to develop a modeli

3、ng command Arc Cam. And make it easy to 3D Modeling and assembling.Keywords: Globoidal indexing cam, Secondary development function of UG, 3D Modeling and assembling.第1章 绪论11课题的研究背景弧面凸轮减速器是一种新型、高效的减速器,在国内尚属于研究阶段。该减速器可取代涡轮蜗杆减速器,且具有优良的特性。它可通过调整中心距进行预紧,达到无间隙啮合,长期运转后可保持良好精度,传动效率高,热损耗小。该机构不仅精度高,而且体积小、重量轻

4、、传动效率高、寿命长,适宜于高速高精度及高效率的场合。我国对弧面分度凸轮机构的研究始于20 世纪70 年代末, 上海工业大学, 天津大学、合肥工业大学、吉林工业大学、山东工业大学、陕西科技大学(原西北轻工业学院)、大连轻工业学院、上海工程技术大学等高校以及山东诸城锻压机床厂、西安钟表机械厂、芜湖电工机械厂等厂家都在弧面分度凸轮机构的研究、制造方面取得了一批成果弧面凸轮在经历了几十年的发展后,凸轮机构学的理论研究已经达到较高的水平, 为凸轮机构的设计制造奠定了坚实的理论基础。当今, 凸轮机构的设计已广泛采用解析法并借助计算机来完成, 但目前国内文献介绍的凸轮机构CAD、 CAM 只能设计几种平面

5、或空间凸轮机构。而基于UG软件的二次开发模块开发了弧面凸轮的三维CAD软件,为弧面凸轮数控加工模拟以及建立弧面凸轮的运动仿真系统奠定了基础。因此,现代弧面分度凸轮机构的设计建模技术有着广泛的工程应用背景和研究意义 。随着计算机技术和现代设计理论与方法的迅速发展,三维设计软件尤其是Unigraphics 在机械零件和产品设计中的日益普及,弧面凸轮实体在三维软件特别是在UG中的绘制变得越来越重要。但UG中并无弧面分度凸轮的实体建模命令,这就得要我们借助UG强大的二次开发功能,通过定制弧面凸轮设计界面,达到直接建立三维实体的目的。建模技术是CAD的核心技术,参数化造型技术和特征造型技术是新一代继承化

6、CAD系统应用研究的热点理论。目前国内外对二维图形参数化和简单三维实体的参数化造型较为成熟。对复杂的三维实体的参数化造型尚不多见,特别是弧面分度凸轮这类形状复杂、精确齿形的三维实体参数化造型设计更少。由于弧面凸轮形状复杂,绘制齿形曲线较复杂。并且弧面凸轮各参数间都有严格的函数关系,再加上随着当代机械制造业的不断发展,弧面凸轮的精度要求也越来越高,其实体的绘制较为麻烦。弧面凸轮并不是一个标准件,它的各个参数随着设计要求的不同而不同。如果每设计一个齿轮都要画一个对应的实体部件的话,那不仅增加了设计者的劳动量,还大大降低了设计效率,阻碍了企业的生产和发展。参数化设计是新一代智能化、集成化CAD系统的

7、核心内容,也是当前CAD技术的研究热点。用大型的三维软件实现弧面凸轮的参数化造型已成为设计者的迫切需求,弧面凸轮体参数化造型有重要的意义:(1)弧面凸轮传动的参数化设计与建模系统是CAD技术与弧面凸轮设计相结合的产物,也是两者发展的趋势所在。(2)实现设计过程自动化避免了设计人员手动查阅大量的数据,也避免了手工取点造型的复杂过程,该系统的开发,可以将手算设计的工作人员从繁琐、低效的工作中解放了出来。(3)实现弧面凸轮了的参数化设计以及其精确的造型,可以将设计计算、三维造型与绘制工程图的无缝结合,同时为弧面凸轮的有限元分析、机构仿真和数控加工等工作奠定基础。本课题利用UG的二次开发技术,为解决弧

8、面凸轮参数化设计问题提供了可行的方法,通过直接输入弧面凸轮设计条件,利用计算得出的设计参数进行实体建模,实现弧面凸轮的参数化设计,提高弧面凸轮设计的效率和准确性。亲,由于某些原因,没有上传完整的毕业设计(完整的应包括毕业设计说明书、相关图纸CAD/PROE、中英文文献及翻译等),此文档也稍微删除了一部分内容(目录及某些关键内容)如需要的朋友,请联系我的Q&Q:2215891151,数万篇现成设计及另有的高端团队绝对可满足您的需要12课题的研究内容和解决方法本课题利用大型软件UGNX5.0来实现弧面凸轮的三维参数化造型,通过改变弧面凸轮的一些基本参数,生成其相应弧面凸轮。要达到相应的设计

9、要求,首先要知道弧面凸轮的廓面方程,画出弧面凸轮模型后,还应知道UG二次开发的知识,灵活运用UG系统提供的二次开发工具,在模型的基础上编制相应的程序,最后完成弧面凸轮参数化设计模块的开发。具体内容和步骤如下:(1) 研究弧面凸轮的廓面方程和各参数间的关系并建立数学模型;(2)深入掌握UG二次开发的各种方法,并熟练运用UG/OPEN 开发工具,在建立弧面凸轮的数学模型的基础上,对各弧面凸轮实现三维参数化造型;(4) 在构建弧面凸轮模块框架的基础上,深入研究菜单的制作技术以确定本课题应采用的最佳菜单制作技术。UG 软件是集CAD/CAM/CAE一体化的三维参数化软件,是当今世界上最为先进的计算机辅

10、助设计、制造和分析软件,在国内使用相当广泛。另外它所提供的二次开发语言模块UG/Open API、UG/Open GRIP和辅助开发模块UG/Open Menu script与UG/Open UI Styler及其良好的高级语言接口,使UG的图形功能和计算功能有机的结合起来,便于用户去开发各种基于自身需要的专用CAD系统。使用UG/Open API和UG/Open GRIP中任何一个模块都能实现UG的二次开发,再结合辅助模块,就能开发出UG界面的应用模块。因此,合理利用UG的二次开发语言模块和辅助模块,就可以实现在UG环境下对弧面凸轮进行参数化设计。第二章 弧面分度凸轮机构设计基础2.1 弧面

11、分度凸轮廓面理论 弧面凸轮的工作廓面是空间不可展曲面,很难用常规的机械制图方法进行测绘,也不能用展成平面轮廓线的方法设计。针对弧面分度凸轮机构实际啮合过程中滚子曲面与弧面凸轮廓面互为共扼曲面的特点,利用空间包络曲面的共扼原理进行设计计算,推导弧面分度凸轮的廓面方程。2.2 共轭曲面原理 共轭曲面是机构中两构件上用以实现给定运动规律连续相切的一对曲面,研究的是相互接触且有相对运动的两个曲面。对于空问共扼曲面问题用图解法求解困难较大,因此一般结合微分几何和刚体运动学,以向量、矩阵或对偶数等为工具的解析法,研究一对共扼曲面的儿何形状与这对曲面相对运动的关系。 已知共轭运动和共扼曲面中的一个曲面,求另

12、一个曲面,是共轭曲面理中的基本问题。求解方法有包络法和运动法等,因包络法比较繁琐,多用运动法求解。与共扼曲线相仿,一对共轭曲面在啮合过程中连续相切的条件是两曲面在接触点处的相对速度应与过该点所作这对共轭曲面的公法线垂直。根据这个原理,在给定的曲面1上任选一点,找出该点进入接触位置曲面所需的转角和位移,用坐标转换法或向量回转法等即可求得接触点在固定空间中的位置,即啮合曲面上的一个对应点。同时也可求出曲面2上的对应点。这样一个一个点求解,最后可求得整个啮合曲面及与曲面1共轭的曲面2。 根据共扼曲面原理,凸轮工作廓面与从动盘滚子曲面间的共轭接触点必须满足下列三个基本条件: (1)在共V- E接触位置

13、,两曲面上相对应的一对共辘接触点必须重合。 (2)在共桃接触点处,两曲面间的相对运动速度必须垂直于其公法线。 (3)两曲面在共轭接触点处必须相切,不产生干涉,且在共轭接触点处无曲率干涉。 根据以上原理,当己知凸轮和分度盘的运动规律之后,就可以由滚子圆柱面方程,通过坐标变换,推导出凸轮廓面方程。2.3 齐次坐标变换 所谓齐次坐标变换,就是要把被变换坐标系描述的矢量变换成用其参考坐标系所描述的矢量。在笛卡尔坐标系o'x'y'z'中点(x',y ',z')向另一个笛卡尔坐标系oxyz变换,变换后的坐标(x, y,z)可由下式求得: x= y=

14、z= -坐标系o'x' y'z'的原点在坐标系oxyz中的坐标; nx , ny , nz -坐标系o'x' y'z'的o'x'轴对坐标系oxyz的3个方向余弦; -坐标系o'x' y'z'的o' y'轴对坐标系oxyz的3个方向余弦; -坐标系o'x' y'z'的o' z'轴对坐标系oxyz的3个方向余弦。若()是o'x' y'z'系的齐次坐标,()是oxyz的齐次坐标,而我们总可以认为

15、,则 1(1)将此式写成矩阵形式,即: 1(2) 那么 1(3)T是一个44阶矩阵,称为笛卡尔坐标系的齐次坐标变换,它沟通了两个坐标系的关系:表示了坐标系中o'x'y'z'的点x',经过T变换后变成了坐标系oxyz中的点X。 为oxyz坐标系原点o向o'x'y'z'原点o'移动的位移矢量。为oxyz坐标系转向o'x'y'z'相吻合的旋转矩阵。故齐次坐标变换矩阵可以分解为一个平移和一个旋转矩阵之积 即:1-(4)2.4坐标系的建立 基于共扼曲面原理和齐次坐标变换理论,研究弧面分度凸轮机

16、构的空间啮合曲面的关系和几何参数间的内在联系,需要建立合理的坐标系。坐标系选择的合理与否,不仅影响所要求的廓面方程的形式,也影响推导求解过程中的繁简程度。如图(a)所示,建立笛卡尔右手直角坐标系。 (1)与机架相连的坐标系 坐标系的原点与转盘转动中心重合,X,轴沿转盘转动中心与凸轮中心连线,Y,轴与X,轴组成的平面与转盘的旋转平面平行,Z:轴与转盘的转动轴线重合,按右手法则可知Z,轴垂直纸面向外。 (2)与机架相连的定坐标系 坐标系的原点与凸轮中心重合,轴和,轴重合,轴与凸轮转动轴线重合,选择轴的方向时,应使面对轴的箭头方向看,为逆时针。根据右手法则,Z轴垂直纸面向内,与Y,轴间的夹角为 (3

17、)与凸轮相连的动坐标系 坐标系的原点与凸轮中心重合。X在通过轮中心坏并垂直于凸轮转动轴线的平面上。Y轴Z轴组成的平面垂直于凸轮的转动轴线,Z轴是凸轮的转动轴线,和重合且方向一致。 (4)一与转盘相连的动坐标系 坐标系的原点与转盘中心重合。X沿滚子的自转轴线,即转盘的径向线。与间的夹角为,即滚子的位置角,由量起,逆时针方向为正。轴与为轴组成的平面为滚子的中心平面,它与转盘的旋转平面平行。轴即为转盘的转动轴线,和重合,垂直纸面向外。图1为垂直于轴的滚子截面示意图。 图1: 圆锥滚子弧面分度凸轮机构的坐标系:从动盘中心至滚子近端面的距离;、:分别为共轭啮合点的啮合角和滚子的长度参数;:圆柱滚子长度。

18、2.5弧面分度凸轮廓面方程求解 设滚子在动坐标系中的向量表达式如下所示 式中为滚子上啮合点的啮合角,为啮合点在轴上的坐标,为小端滚子半径,为滚子的锥角。 根据图1所建立的弧面凸轮机构的坐标系,通过将滚子柱面在坐标系的向量表达式转换到( xyz ) c 中,可求得弧面分度凸轮与滚子啮合传动的共轭啮合点在中的向量表达式 ,即弧面分度凸轮的曲面方程如(2) 式所示: 式(2)中各参数表示如下: 式中的和必须基于啮合方程进行确定,在坐标系中,啮合方程如下: 其中, 表示滚子在共轭啮合点在坐标系中的单位法向矢量, 表示共轭啮合点在中的相对滑动速度。求得单位法向矢量与相对滑动速度如式: 其中 式中: 为从

19、动转盘的角速度与弧面分度凸轮角速度之比。 Unigraphics(简称UG)是当前世界上最先进和紧密集成的、面向制造行业的CAID/CAD/CAE/CAM高端软件。它为制造业产品开发的全过程提供解决方案,主要功能包括:概念设计、工程设计、性能分析和制造。此外,UG软件还提供了CAD/CAE/CA业界最先进的编程工具集,以满足用户二次开发模块的开发和应用需要。 第三章 UG二次开发的工具31 UG软件概述 UGnx建立在为客户提供无与伦比的解决方案的成功经验基础之上,这些解决方案可以全面地改善设计过程的效率,削减成本,并缩短进入市场的时间。通过再一次将注意力集中于跨越整个产品生命周期的技术创新,

20、 NX 的成功已经得到了充分的证实。NX是一个交互的计算机辅助设计、计算机辅助制造和辅助工程(CAD/CAE/CAM)系统。CAD功能自动化是在今天制造公司中见到的一般工程、设计和制图能力;CAM功能利用NX描述完成零件的设计模型,为现代机床提供NC编程;CAE功能横越一广范的工程学科,提供许多的产品、装配和零件的性能防真能力。NX是一个全三维、双精度系统,它允许用户精确地描述几乎任一几何形状。通过组合这些形状,用户可以设计、分析产品和建立他们的工程图。一但设计完成,制造应用允许用户选择描述零件的几何体,加入制造信息,如刀具直径并自动生成一刀具位置,源文件(CLSF),它可用来驱动大多数NC机

21、床。目前UGS公司已经推出NX5产品,本次设计中使用的是NX5版本的软件。NX5的特点是:1、为了数字化产品开发集成的自动化;2、在所有开发学科中的新能力,包括工业设计、防真、工装、加工和管理;3、在一个全面的产品生命周期管理(PLM)解决力案内的领先前沿的CAD、CAE和CAM技术。通过NX可以建立、存储、恢复和操纵设计与制造信息,典型地通过建立描述一零件的几何体开始工作。NX功能被划分成共同功能的一系列“应用(Application)”共18个模块,各模块分别为:1、入口(Gateway):对所有其他交互应用的首要必备的应用;2、建模(Modeling):包括实体、特征、自由形状、钣金特征

22、建模和用户定义特征;3、装配(Assembilies):支持装配建模;4、几何公差模块(Geometric Tolerancing Module):让用户捕捉公差;5、产品和制造信息(PMI Introduction):可用于在三维环境中对产品形成文档说明;6、分析(Analysis):包括注塑模流动分析、运动应用和ICAD;7、制图(Drafting):可将三维模型生成二维视图;8、高质量图像(High Quality Image):生成逼真照片的图像;9、知识熔接(Knowledge Fusion):允许用户应用工程知识驱动规则和设计意图到NX中的几何模型和装配;10、制造(Manufac

23、turing):可进行虚拟加工和自动加工编程;11、开放的用户界面设计(Open User Interface Styler):允许用户和第三方开发商生成NX对话框;12、编程语言(Programming Languages):包括GRIP和API;13、质量控制(Quallity Control);14、走线(Routing):定义围绕和通过其他NX装配的装配;15、钣金(Sheet Metal):包括钣金设计、冲压和多零件加工的栅格;16、电子表格(Spreadsheet):提供一在Xess或者电子表格应用和NX间的智能界面;17、Web Express;18、Wire Harness:可

24、在用于描述产品机械装配的同一三维空间建立电气布线的表示。3.2 UG二次开发相关工具概述UG NX软件提供了CAD/CAE/CAM业界最先进的编程工具集,以满足用户二次开发的需要,这组工具集称之为UG/Open,以开放性架构面向不同的软件平台提供灵活的开发支持。UG/Open包括以下几个部分:UG/Open Menu scrip开发工具,对UG软件操作界面进行用户化开发,无须编程即可对UG标准菜单进行添加、重组、剪裁或在UG软件中集成用户自己的软件功能;UG/Open UI Styler开发工具是一个可视化编辑器,用于创建类似UG的交互界面,利用该工具,用户可为UG/Open应用程序开发独立于

25、硬件平台的交互界面;UG/Open API开发工具提供了UG软件直接编程接口,支持C、C+、Fortran和Java等主要高级语言;UG/Open GRIP开发工具是一个类似API的UG内部开发语言,利用该工具用户可生成 NC自动化或自动建模等用户的特殊应用。利用UG/Open提供的应用程序和开发工具,用户可以在其提供的平台上开发出适合自己需要的CAD产品。3.2.1 UG/Open Menu Script UG/Open Menu Script不仅可以使用户利用ASC文件来编辑UG的菜单,也可以以一种无缝集成的方式为用户开发的应用程序创建菜单。Menu Script同时也提供了一个菜单栏报告

26、工具,以帮助用户查看定制的菜单,诊断错误。对于菜单的自定义大致可以分为如下三个层次。(1)自定义菜单 该级别的自定义允许单个用户或者管理员重新安排UG的功能,去除在其产品开发过程中不需要的功能。这种级别的自定义不需要编程实现。(2)自定义UG功能 该级别的自定义允许单个用户或者管理员取代或增加标准的UG功能,并添加其自己定义的功能。(3)添加自定义应用 该级别的自定义其目的在于使用户或第三方开发商开发的应用程序完全集成在UG中。该级别的自定义需要编程实现。UG的菜单文件是扩展名为.men的文本文件,可以使用Windows 的记事本进行编辑。UG/Open Menu Script提供了一套用于定

27、义UG菜单的脚本语言。实际上,UG系统的菜单文件也是用该脚本语言编写的。UG为主菜单栏、快捷菜单栏提供了丰富的系统菜单文件,这些菜单文件默认情况下都保存在UG_BASE_DIR/ug/menus文件夹下。3.2.2 UG/Open UI Styler UI Styler是开发UG对话框的可视化工具,生成的对话框能与UG集成,让用户更方便、更高效地与UG进行交互操作。UG/Open UI Styler模块提供了强大的制作UG风格窗口的功能,其主要功能如下:(1) 提供了让开发人员建造UG风格对话框的可视化环境,并能生成UG/Open UI Styler文件和C代码,从而使用户在使用UG/Open

28、 UI Styler产生的对话框时,不必考虑图形用户界面(Graphical User Interface缩写为GUI )的实现。(2) 利用可视化环境快速生成UG风格对话框,从而减少开发时间。(3) 通过选取和放置控件,从而能实现所见即所得。(4) 可以在对话框中实现用户自定义位图。(5) 提供了属性编辑器,从而允许开发人员设置和修改控件属性。(6) UI Styelr产生的对话框可以在Menu Script中被调用,因此可以实现在UG菜单项上调用UI Styler产生的对话框,从而将用户应用程序和UG软件完全融合。应用UI Styler这一工具可以使开发人员方便、快速地设计出与UG界面风格

29、一致的对话框,避免其他复杂的编程。而且可以和用其他开发工具开发出的结果进行集成。UG/Open UI Styler工具和UG/Open Menu Script工具一样,都只具有某一方面的功能:UG/Open UI Styler用于对话框的开发,UG/Open Menu Script用于菜单的开发。3.2.3 UG/Open GRIP UG/Open GRIP(Graphics Interactive Programming)是一种专用的图形交互编程语言。这种语言与UG系统集成,实现UG下的绝大多数的操作。GRIP语言与一般的通用语言一样,有其自身的语法结构,程序结构,内部函数,以及与其他通用语

30、言程序相互调用的接口。一个GRIP语句是由一个或几个GRIP命令组成,GRIP命令是GRIP语言的基本组成部分。GRIP命令有三种表示格式:a)陈述格式。主要用于生成和编辑实体。b)GPA符号格式。GPA是全局参数存取(Global Parameter Access)的缩写,用于访问UG 系统中各种对象的状态和参数。c)EDA符号格式。EDA是实体数据存取(Entity Data Access)的缩写,用于访问UG数据库,能够访问各种对象的功能性数据。例如在属性、绘图和尺寸标注以及几何体等领域与UG进行交互操作时,其参数可用EDA格式的命令取得。用GRIP语言编写GRIP源程序,可以在wind

31、ows的记事本中进行,记为*.grs;或者在GRIP高级开发环境(GRAD-Grip Advanced Development Environment)中编写。执行GRIP程序必需进入UG环境中,运行 UG/OpenGrip。GRIP编程语言是面向工程师的语言,具有简单、易学、易用的特点,但是所编写的程序长、复杂。要考虑程序的各个细节问题。因此,GRIP语言常用于开发一些规模比较小的程序,例如,同类零件建模、计算和分析、数据访问等程序。与GRIP语言相比较,用API函数编程则可实现功能复杂的操作。3.2.4 UG/Open API 作为UG NX5.0与外部应用程序之间的接口,UG/Open

32、API是一系列函数的集合。通过UG/Open API的编程,用户几乎能够实现所有的UG NX5.0功能。开发人员可以通过用C+语言编程来调用这些函数,从而实现用户的需要。(1) 对UG part文件及相应模型进行操作,包括建立UG NX5.0模型、查询模型对象、建立并遍历装配体,以及创建工程图等。(2) 在UG NX5.0中创建交互式程序界面。(3) 创建并管理用户定义对象等。应用函数时应注意所有的UG/Open API应用必须及时进行初始化和终止,以确保获取或者释放UG/Open API的执行许可权限。初始化函数是UF_ initialize (),当开始调用UG/Open API的函数时应

33、先调用UF_ initialize()来获取执行许可权限。一般来说,我们在变量声明完成后,第1个调用UG/Open API的函数就是UF_ initialize()。终止函数是UF_ terminate(),当不再调用UG/Open API的函数时必须调用UF_ terminate()来释放执行许可。UG/Open API程序能在两种不同环境(依赖于程序的连接方式)下运行,即Internal环境(也称为“Internal开发模式”)和External模式。其中Internal环境下的程序只能在UG NX5.0的界面环境(session)下运行,在运行这些程序时他们被加载到UG NX5.0的运行

34、空间中(UG NX5.0分配的内存);External模式开发的程序能在操作系统(Windows NT/2000/XP及UNIX)下运行,不在UG NX5.0环境中或作为UG NX5.0的子进程运行。尽管没有图形显示,但UG/Open API提供了函数用于打印机或绘图仪输出,也可以输出为CGM文件等其他数据文件。33系统菜单的制作UG软件为用户提供了一个调用二次开发结果的交互式接口:User Tools。它的功能是生成弹出式对话框或工具条,其界面风格与UG界面风格一致。通过执行对话框或工具条,操作相应的控件就可运行菜单文件、宏文件、UG/Open GRIP程序、UG/Open API程序和其他

35、二次开发文件。通过编写对话框定义文件(*.utd)来实现User Tool工具的功能。编写文件完成以后,在UG 中执行ToolsCustomizeUser ToolsLoad选择所编写的*.utd文件即可弹出需要的对话框或工具条。*.utd这个文件是文本文件,可用 Windows中的记事本进行编写和编辑。一种比较简单的实现方法:拷贝UG中的模板文件Usertoo1.utd到UG启动目录下,然后编辑模板文件,实现所需要的功能。在以前较早版本中例如V13,运用User Tools工具必须编写两个文件:菜单定义文件(*.utm)和对话框定义文件(*.utd),然后通过执行菜单项弹出相应的对话框或工具

36、条。现在,较高的UG版本已经省略产生菜单这一步,操作同上所述。在UG 界面中应用File Execute UG/Open菜单执行UG/Open API程序或UG/Open GRIP程序,操作一次只能执行一个程序,而且必须找到程序所在的路径。若利用User Tools这个工具,用户可以将多个GRIP或API函数所编写的程序集成到一个User Tools对话框或者工具条中,一个程序对应一个控件,通过操作控件来调用程序,使用起来就非常方便。 虽然各种菜单的制作方法,在结构、内容和开发过程上有一定的差异,但是在整个构建过程中有其共性和相同的部分,就是菜单制作之前应先设置系统环境变量。设置了系统环境变量

37、,UG才能找到开发内容所在目录。系统环境变量设置方法有以下两种:方法一:打开$UG_BASE_DIR/ugii目录下的ugii_env.dat文件(该文件包含Unigraphics系统的全部环境变量及系统路径定义),找到下面两条语句:#UG_VENDOR_DIR=$UGALLIANCE_DIR/vendor和#UG_ SITE_DIR= $UGALLIANCE_DIR/site。将它们前面的注释符号“#”删除,以使它们起作用。这两条语句其实指明了供用户放置二次开发文件的目录。在Unigraphics初始安装时,它们不起作用,当删除了“#”号后,UG/OPEN才能从这些目录下得到二次开发的功能扩

38、展。这两个目录的功能和结构是完全相同的,下面都有startup和application两个目录。其中startup存放Unigraphics启动时需载入的动态共享库(以ufsta()为入口的.dl1)及菜单脚本文件(.men);application目录存放具体的功能扩展程序文件(如应用模块的功能扩展共享库( .dl1)及对话框资源文件( .dlg)。Unigraphics下设置的这两个目录是为不同等级的开发者提供的,vendor目录下放置Unigraphics指定的开发商的二次产品,site目录下存放其余开发者的产品。因此vendor目录下同类内容的文件要比site目录下的优先载入。此外,在

39、ugii_env.dat文件中还有一条语句,是用来设置用户自己二次开发内容的目录:#UG_USER_DIR =$HOME,同样将其前面的“#”号删除,并在其后使用用户自己的目录替换$HOME。例如,UG_USER_DIR=E:ugapi,在此目录下也必须建立目录startup和application,存放的内容和site及vendor下的startup、application一样,不过它的优先级更低。 方法二:打开UG安装目录UG_BASE_DIR UGmenus下的custom_dirs.dat(用记事本打开),在文件最后添加开发的文件夹的绝对路径。在添加的文件里建立两个子目录:startu

40、p和application ,分别用来放置开发的各种文本文件(.men文件)、动态库文件和对话框文件。 上述两种方法中第二种方法较简单方便,本课题采用第二种方法。打开UG安装目录UG_BASE_DIR UGmenus下的custom_dirs.dat,在文件最后添加开发的文件夹的绝对路径E: tulun_open。在E: tulun_open文件夹下建立startup和application两个子目录。 本课题只涉及到弧面凸轮的参数化设计,因此应在一个主菜单下建立一个子菜单。在E:tulun_openstartup下建立文件disign.men,代码如下:VERSION 120 /版本号EDI

41、T UG_GATEWAY_MAIN_MENUBAR /编辑UG系统刚启动时菜单BEFORE UG_HELP /定义菜单位于【帮助】菜单前CASCADE_BUTTON DESIGN /定义一级菜单ID,为下拉菜单LABEL 二次开发 /主菜单标题END_OF_BEFORE /结束BEFORE定义MENU DESIGN BUTTON DESIGN_OK /定义二级菜单ID LABEL 弧面凸轮 /第一个子菜单标题ACTIONS tulun.dlg /调用对话框END_OF_MENU /结束菜单的定义菜单运行效果图运行结果如图所示: 第四章 程序设计4.1 总体方案设计 建立好实体模型后,接下来就是

42、利用API程序将模型中的表达式的值与对话框联系起来。程序的功能是针对部件的设计参数,对设计参数进行查询、修改,根据新的参数值更新模型从而实现设计变更。因此,程序对三种齿轮的功能是一样的,在对各个模型编写程序时只需要根据各个模型的参数对程序中所调用模型参数做一些修改,其他在程序的编写思路、程序所用的函数和结构等都可以相同。 要实现程序针对某个模型的设计参数进行查询、修改,主要的程序设计思路是先读取对话框中的参数,然后把对话框中的参数传递给模型中的表达式,改变表达式中相应参数的值,更新模型。程序运行后,就能实现把设计者输入对话框的参数转化成模型尺寸的变化,实现设计目的。但是由于此种参数化设计的方法

43、是建立在模型的基础上进行的,对话框的设计也是针对某个实体模型,编写程序时使用的参数也是针对具体某一个模型的。因此,在程序运行时应首先检测当前打开的模型是否就是该程序和对话框所对应的模型,只有打开了相对应的模型时程序才继续运行,否则退出。另外,为了方便设计者使用,让使用者在打开对话框时就能直接看到当前模型的各个参数,在调用对话框时应首先将当前模型中表达式中的对应参数读出,并传递给对话框,显示在对话框上。因此,程序设计时,首先检测当前显示的部件是否为程序对应的部件文件,接着使用构造函数将模型中的表达式中的参数值读出并传递到对话框上,然后是用户输入参数值后读取参数并传递给模型,更新模型。程序流程如下

44、图所示:检测是否为与程序相对应部件读取模型表达式中参数值,调用对话框读取对话框中的数值将读取的参数值传递到模型中的表达式中,更新模型开始退出是否图4-1 程序设计流程图4.2 对话框设计程序要将对话框和部件模型联系起来,在程序中必然要调用对话框,并有相应的程序相应对话框中的控件。UG中建立好对话框后,保存对话框时系统还自动生成另外两个文件,分别是与对话框关联的.c和.h文件,在编写程序时要使用这两个文件。因此,在编写程序前必须先建立对话框,建立好对话框后再利用对话框生成的文件进行编程。现以直齿圆柱齿轮为例,介绍对话框的建立和程序编写的过程。(1)在UG中,单击下拉菜单“应用”“用户界面编辑器”

45、,即可进入UI Style模块,操作界面如图4-2所示。图4-2 UIStyle 操作界面由图中我们可以看出,在操作界面中,除下拉菜单和“标准”工具栏外,该界面主要有:项目工具栏:包括UI Style模块所提供的对话框控件;编辑的对话框:可视化显示正在编辑的对话框;对象浏览器:在对象浏览器中可以选择对话框本身或其中包含的控件,之后在编辑器中对其资源属性进行编辑;资源编辑器:对在对象浏览器中被选择的控件的资源属性进行编辑。在建立对话框时,我们可以充分利用以上工具。首先,编辑对话框的属性。选择对象浏览器中最顶层的对话框,就可以在资源编辑器中对对话框的属性进行编辑。如图4-3所示:图4-3 编辑对话

46、框属性界面资源编辑器中包括“属性”、“选择”、和“回叫”三个选项卡。“属性”选项卡中可编辑对话框标题、提示语、对话框名、对话框类型等。根据需要设置后如图4-3所示。“选择”选项包括:启用:选择是否希望当显示对话框的同时可以对UG图形窗口中的对象进行选择;类型:设置在UG图形窗口中选择对象的方式是否变化;范围:用于确定被选对象所在范围是否变化。该选项中不需设置,界面如图4-4 所示:图4-4 选择选项在回调选项卡中,所有对话框都可以包含一些基本的回调函数,主要包括:应用、后退、取消、确定、构造、毁坏等。根据程序需要编辑后如图4-5所示:图4-5 回叫选项卡编辑好对话框属性后,应在对话框中添加相应

47、的控件,本课题中只需要输入齿轮的一些参数,只需添加一定数量的“实数”控件就可以了。添加好控件后应该对控件的属性进行编辑,其界面如图4-6 所示:图4-6 “实数”控件资源编辑器由图可看出,其中包含:属性、微调按钮、回叫、布局设置四个选项卡。属性选项卡中可以编辑标签、控件名等。在这里只需对属性进行编辑其余的可保持默认状态。图4-6显示的就是编辑后的结果。要注意的是,在资源编辑器中编辑任何一个选项卡后,都要单击编辑器底部的“应用”按钮,这样所编辑的内容才会被保存。最后,直齿圆柱齿轮的对话框如图4-7所示:图4-7 对话框设计结果编辑好对话框后,将对话框保存在开发路径下的application文件夹

48、中。4.3 程序设计UG/Open API 应用程序是利用UG/Open API,采用C语言进行程序设计,使用C编译器和连接器创建的能够在外部(External)环境或内部(Internal)环境运行的可执行程序(文件名后缀为EXE)或动态连接库(文件名后缀为DLL)形式的程序。对于不同的操作系统平台,在编译和连接生成UG/Open API 应用程序时,编译选项和所需的系统库文件是不同的。要使用UG/Open API 应用程序正常运行,必须正确设置编译和连接选项。本次设计采用Windows操作系统,Visual C+6.0集成开发程序来编程,具体步骤如下:步骤一:检查目录Microsoft V

49、isual StudioCommonMSDev98Template下是否有文件ugopen.awx及ugopen.hlp,若有,进入步骤二;否则从UG安装目录下的UG_BASE_DIR/ugopen下拷贝这两个文件到以上目录中。步骤二:启动VC+6.0,选择下拉菜单“文件”“新建”,系统弹出新建对话框如图4-8所示。在对话框中选择“工程”选项卡,在项目类别中选择“Unipraphics NX App Wizsrd V1”。在右侧“位置”中指定位置,在“工程名称”中输入工程名称,如下图4-8,最后单击“确认”。图4-8 新建对话框步骤三:在系统弹出的“步骤 1 共 2 步”对话框中,可以选择“i

50、nternal application”内部模式,生成DLL文件,也可以选择“external application”外部模式,生成EXE文件。另外,在产生的原代码中可以选择使用“C+”语言,也可以使用“C”语言。如果选择外部模式,完成工程的创建。这里选择内部模式,C+语言,如图4-9所示。单击“下一步”。图4-9 步骤1对话框步骤四:在系统弹出的“步骤 2 共 2 步”对话框中,选择如何激活和卸载应用程序。各复选框和当选框的含义如表4-1和表4-2所示,这里选择如图4-10 所示各项,单击“完成”按钮完成应用程序的创建。表4-1 应用程序的加载选项含义Automatically(ufsta

51、)使用ufsta函数作为入口函数,可以在UG启动后自动加载应用程序Explicitly(ufusr)使用ufusr函数作为入口函数,可以在UG环境下选择菜单“文件”“执行”“NX打开”,打开“执行用户函数”对话框,选择应用程序进行手动加载From a User Exit使用用户出口函数作为入口函数,例如使用ufget函数,将在UG打开一个文件时,激活应用程序;使用ufcre函数,将在UG创建一个部件文件时,激活应用程序表4-2 应用程序的卸载选项含义Automatically, when the Unigraphics session terminatesUG进程结束时自动卸载Automati

52、cally, when the application completes应用程序结束时自动卸载Explicitly, via an unload dialog 应用程序手动卸载图4-10 步骤二对话框单击“完成”后,系统弹出一个“确认信息”对话框,如图4-11所示,列出工程的所有信息,确认无误后单击“确认”,进入编程界面,同时系统将在指定目录下创建一个UG NX5.0开发框架。图4-11 确认对话框步骤五:按快捷键F7,编译工程,出现编译成功信息,如图4-12所示。图4-12 编译工程打开“w”选项卡,分别单击“spur_cams.files”、“Source Files”和“Header

53、Files” 前面的“+”,双击“spur_ cams.cpp”,就能看见文件中的内容。步骤六:将UG/Open UI Styler 模块生成的对话框文件spur_cams _template.c和spur_cams.h分别重新命名为spur_cams_dialog.cpp和spur_cams _dialog.h,复制到工程所在的文件夹内。在VC+中选择菜单“工程”“增加到工程”“文件”,将上述两个文件加入工程中,结果如图4-13所示。注意应将spur_cams_dialog.cpp中头文件的#include<spur_cams.h>修改为#include “spur_cams_d

54、ialog.h”。图4-13 将对话框文件加入工程效果图步骤七:在工程中编写程序。从前面的程序设计思路可知,该程序中主要包括:入口函数程序、主程序、检测部件程序、获取表达式程序、传递对话框中数值程序。入口函数程序是将菜单中定义的按钮和程序连接起来,当点击对应的按钮时调用可执行程序,调用程序后执行主程序。在主程序中先检测部件是否是对应的部件,否时弹出提示信息,退出;是的话调用对话框,执行对话框中的程序,程序运行结束后退出。现就几个主要程序做简单介绍。主程序,程序代码如下:int resp; /设置变量 int errorCode = UF_initialize(); /程序初始化if ( 0 =

55、 errorCode ) if(PRO_DESIGN_check_part() /调用部件检查程序 uc1601("当前显示模型不是弧面凸轮部件,不能进行参数化设计",1); return UF_MB_CB_CONTINUE; /不是对应部件时弹出对话框提示,并退出 LaunchProDesignDialog( &resp); /调用对话框 errorCode = UF_terminate(); return UF_MB_CB_CONTINUE;在主程序中有检测部件程序和调用对话框程序,调用对话框程序是系统自动生成的,只需要在上面加上函数名就可以了,而检测部件程序是需要自己编写的,主要程序代码如下:变量声明part_tag=UF_PART_ask_display_part();if(part_tag=NULL_TAG)return 1; /检测是否有部件显示,没有部件显示时返回1UF_PART_ask_part_name(part_tag,p

温馨提示

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

评论

0/150

提交评论