弧面凸轮数控转台的设计—3D建模与装配正文_第1页
弧面凸轮数控转台的设计—3D建模与装配正文_第2页
弧面凸轮数控转台的设计—3D建模与装配正文_第3页
弧面凸轮数控转台的设计—3D建模与装配正文_第4页
弧面凸轮数控转台的设计—3D建模与装配正文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1 弧面凸轮数控转台的设计 3D 建模与装配 摘要 : 弧面凸轮 机构是一种高速装置,广泛的应用于 各种机械传动中。 为适应当代社会对弧面凸轮制造加工精度等方面的要求,本设计利用 UG 强大的二次开发功能,通过运用UG/API 语言进行编程,从而开发出弧面凸轮的建模命令,使得弧面凸轮的 3D 建模与装配变得简单。 关键词:弧面凸轮, UG 二次开发, 3D 建模,装配 The Design Of Globoidal Indexing Cam NC rotate table 3D construction mode and Assembly Abstract: Globoidal indexing cam mechanism is a high 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 modeling 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. 2 第 1 章 绪论 1 1 课题的研究背景 弧面凸轮减速器是一种新型、高效的减速器,在国内尚属于研究阶段。该减速器可取代涡轮蜗杆减速器,且具有优良的特性。它可通过调整中心距进行预紧,达到无间隙啮合,长期运转后可保持良好精度,传动效率高,热损耗小。该机构不仅精度高,而且体积小、重量轻、传动效率高、寿命长,适宜于高速高精度及高效率的场合。 我国对弧面分度凸轮机构的研究始于 20 世纪 70 年代末 , 上海工业大学 , 天津大学、合肥工业大学、吉林工业大学、山东工业大学、陕西科技大学 (原西北轻工业学院 )、大连轻工业学院、上海工 程技术大学等高校以及山东诸城锻压机床厂、西安钟表机械厂、芜湖电工机械厂等厂家都在弧面分度凸轮机构的研究、制造方面取得了一批成果 弧面凸轮在经历了几十年的发展后,凸轮机构学的理论研究已经达到较高的水平 , 为凸轮机构的设计制造奠定了坚实的理论基础。当今 , 凸轮机构的设计已广泛采用解析法并借助计算机来完成 , 但目前国内文献介绍的凸轮机构 CAD、 CAM 只能设计几种平面或空间凸轮机构。而基于 UG 软件的二次开发模块开发了弧面凸轮的三维 CAD 软件,为弧面凸轮数控加工模拟以及建立弧面凸轮的运动仿真系统奠定了基础。 因此 ,现代 弧面分度凸轮 机构的设计建模技术有着广泛的工程应用背景和研究意义 。随着计算机技术和现代设计理论与方法的迅速发展 ,三维设计软件尤其是 Unigraphics 在机械零件和产品设计中的日益普及, 弧面凸轮 实体在三维软件特别是在 UG 中的绘制变得越来越重要。 但 UG 中并无弧面分度凸轮的实体建模命令,这就得要我们借助 UG 强大的二次开发功能,通过定制弧面凸轮设计界面,达到直接建立三维实体的目的。 建模技术是 CAD 的核心技术,参数化造型技术和特征造型技术是新一代继承化 CAD系统应用研究的热点理论。 目前国内外对二维图形参数化 和简单三维实体的参数化造型较为成熟。对复杂的三维实体的参数化造型尚不多见,特别是 弧面分度凸轮 这类形状复杂、精确齿形的三维实体参数化造型设计更少。由于 弧面凸轮 形状复杂,绘制齿形曲线较复杂。并且 弧面凸轮 各参数间都有严格的函数关系,再加上随着当代机械制造业的不断发展, 弧面凸轮 的精度要求也越来越高, 其 实体的绘制较为麻烦。 弧面凸轮 并不是一个标准件,它的各个参数随着设计要求的不同而不同。如果每设计一个齿轮都要画一个对应的实体部件的话,那不仅增加了设计者的劳动量, 还 大大降低了设计效率,阻碍了企业的生产和发展。参数化设计是 新一代智能化、集成化 CAD 系统的核心内容,也是当前 CAD 技术的研究热点。 用大型的三维软件实现 弧面凸轮 的参数化造型已成为设计者的迫切需求, 弧面凸轮 体参数化造型有重要的意义 : ( 1) 弧面凸轮 传动的参数化设计与建模系统是 CAD 技术与 弧面凸轮 设计相结合的产物,也是两者发展的趋势所在。 ( 2)实现设计过程自动化避免了设计人员手动查阅大量的数据,也避免了手工取点造型的复杂过程,该系统的开发,可以将手算设计的工作人员从繁琐、低效的工作中解放了出来。 3 ( 3)实现 弧面凸轮了 的参数化设计以及 其 精确 的 造型,可以将设计计算、三维造 型与绘制工程图的无缝结合,同时为 弧面凸轮 的有限元分析、机构仿真和数控加工等工作奠定基础。 本课题利用 UG 的二次开发技术 ,为解决 弧面凸轮 参数化设计问题提供了可行的方法 ,通过直接输入 弧面凸轮 设计条件,利用计算得出的设计参数进行实体建模 ,实现 弧面凸轮的参数化设计 ,提高 弧面凸轮 设计的效率和准确性。 1 2 课题的研究内容和解决方法 本课题利用大型软件 UGNX5.0 来实现 弧面凸轮 的三维参数化造型,通过改变 弧面凸轮 的一些基本参数,生成其相应 弧面凸轮 。要达到相应的设计要求,首先要知道 弧面凸轮的廓面方程, 画出 弧面凸轮 模型后, 还应知道 UG 二次开发的知识,灵活运用 UG 系统提供的二次开发工具,在模型的基础上编制相应的程序,最后完成 弧面凸轮 参数化设计模块的开发。具体内容和步骤如下: (1) 研究 弧面凸轮的廓面方程 和各参数间的关系并建立数学模型; (2)深入掌握 UG 二次开发的各种方法,并熟练运用 UG/OPEN 开发工具,在建立 弧面凸轮 的数学模型的基础上,对各 弧面凸轮 实现三维参数化造型; (4) 在构建 弧面凸轮 模块框架的基础上,深入研究菜单的制作技术以确定本课题应采用的最佳菜单制作技术。 UG 软件是集 CAD/CAM/CAE 一体化的三维参 数化软件,是当今世界上最为先进的计算机辅助设计、制造和分析软件,在国内使用相当广泛。另外它所提供的二次开发语言模块 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 环境下对 弧面凸轮 进行参数化设计。 4 第二章 弧面分度凸轮机构设计基础 2.1 弧面分度凸轮廓面理论 弧面凸轮的工作廓面是空间不可展曲面,很难用常规的机械制图方法进行测 绘,也不能用展成平面轮廓线的方法设计。针对弧面分度凸轮机构实际啮合过程 中滚子曲面与弧面凸轮廓面互为共扼曲面的特点,利用空间包络曲面的共扼原理 进行设计计算,推导弧面分度凸轮的廓面方程。 2.2 共 轭 曲面原理 共 轭 曲面是机构中两构件上用以实现给定运动规律连续 相切的一对曲面,研究的是相互接触且有相对运动的两个曲面。对于空问共扼曲面问题用图解法求解困难较大,因此一般结合微分几何和刚体运动学,以向量、矩阵或对偶数等为工具的解析法,研究一对共扼曲面的儿何形状与这对曲面相对运动的关系。 已知共轭运动和共扼曲面中的一个曲面,求另一个曲面,是共轭 曲面 理中的基本问题。求解方法有包络法和运动法等,因包络法比较繁琐,多用运动法求解。与共扼曲线相仿,一对共 轭 曲面在啮合过程中连续相切的条件是两曲面在接触点处的相对速度应与过该点所作这对共轭曲面的公法线垂直。根据这个原理,在给定 的曲面 1 上任选一点,找出该点进入接触位置曲面所需的转角和位移,用坐标转换法或向量回转法等即可求得接触点在固定空间中的位置,即啮合曲面上的一个对应点。同时也可求出曲面 2 上的对应点。这样一个一个点求解,最后可求得整个啮合曲面及与曲面 1 共 轭 的曲面 2。 根据共扼曲面原理,凸轮工作廓面与从动盘滚子曲面间的共 轭 接触点必须满足下列三个基本条件 : (1)在共 V- E 接触位置,两曲面上相对应的一对共辘接触点必须重合。 (2)在共桃接触点处,两曲面间的相对运动速度必须垂直于其公法线。 (3)两曲面在共 轭 接触点处必须相切,不产生干涉,且在共 轭 接触点处无曲率干涉。 根据以上原理,当己知凸轮和分度盘的运动规律之后,就可以由滚子圆柱面方程,通过坐标变换,推导出凸轮廓面方程。 2.3 齐次坐标变换 所谓齐次坐标变换,就是要把被变换坐标系描述的矢量变换成用其参考坐标系所描述的矢量。在笛卡尔坐标系 oxyz中点 (x,y ,z)向另一个笛卡尔坐标系 oxyz 变换,变换后的坐标 (x, y,z)可由下式求得 : x= x x x xn x o y a z p y= y y y yn x o y a z p z= z z z zn x o y a z p xpypzp-坐标系 ox yz的原点在坐标系 oxyz 中的坐标 ; nx , ny , nz -坐标系 ox yz的 ox轴对坐标系 oxyz 的 3 个方向余弦 ; ,x y zo o o-坐标系 ox yz的 o y轴对坐标系 oxyz 的 3 个方向余弦 ; 5 ,x y za a a-坐标系 ox yz的 o z轴对坐标系 oxyz 的 3 个方向余弦。 若 ( 1 2 3 4, , ,x x x x)是 ox yz系的 齐次坐标, (1 2 3 4,xxxx)是 oxyz 的齐 次坐标,而我们总可以认为 44xx,则 1 1 2 3 4 2 1 2 3 4x x x xy y y yx n x o x a x p xx n x o x a x p x 3 1 2 3 444z z z zx n x o x a x p xxx 1 ( 1) 将此式写成矩阵 X TX 形式,即 : 11223 344000 1x x x xy y y yz z z zxn o a pxn o a pxxx n o a p xx x 1 ( 2) 那么 1 ( 3) T 是一个 4 4 阶矩阵,称为笛卡尔坐标系的齐次坐标变换,它沟通了两个坐标系的关系:表示了坐标系 中 oxyz的点 x,经过 T 变换后变成了坐标系 oxyz 中的点X。 为 oxyz 坐标系原点 o 向 oxyz原点 o移动的位移矢量。 x x xy y yz z zn o aR n o an o a 为 oxyz 坐标系转向 oxyz相吻合的旋转矩阵。 故齐次坐标变换矩阵可以分解为一个平移和一个旋转矩阵之积 即: 6 1-(4) 2.4 坐标系的建立 基于共扼曲面原理和齐次坐标变换理论,研究弧面分度凸轮机构的空间啮合曲面的关系和几何参数间的内在联系,需要建立合理的坐标系。坐标系选择的合理与否,不仅影响所要求的廓面方程的形式,也影响推导求解过程中的繁简程度。如图 (a)所示,建立笛卡尔右手直角坐标系。 (1)与机架相连的坐标系 ()fXYZ坐标系1k的原点fO与转盘转动中心重合, X,轴沿转盘转动中心与凸轮中心连线, Y,轴与 X,轴组成的平面与转盘的旋转平面平行, Z:轴与转盘的转动轴线重合,按右手法则可知 Z,轴垂直纸面向外。 (2)与机架相连的定坐标系 ()gXYZ坐标系2k的原点gO与凸轮中心重合,gX轴和tX,轴重合,gZ轴与凸轮转动轴线重合,选择gZ轴的方向时,应使面对gZ轴的箭头方向看,c为逆时针。根据右手法则, Z 轴垂直纸面向内,与 Y,轴间的夹角为 /2 (3)与凸轮相连的动坐标系 ()cXYZ坐标系3k的原点CO与凸轮中心重合 。 X 在通过 轮中心坏并垂直于凸轮转动轴线 的平面上 。 Y 轴 Z 轴 组成的平面垂直于凸轮的转动轴线, Z 轴是凸轮的转动轴线,cZ和gZ重合且 方向一致。 (4)一与转盘相连的动坐标系 ()tXYZ坐标系4k的原点fO与转盘中心重合。 X 沿滚子的自转轴线,即转盘的径向线。ffOX与ttOX间的夹角为 ,即滚子的位置角,由ttOX量起,逆时针方向为正。fY轴与为轴组成的平面为滚子的中心平面,它与转盘的旋转平面平行。fZ轴即为转盘的转动轴线,fZ和tZ重合,垂直纸面向外。图 1 为垂直于fX轴的滚子截面示意图。 7 图 1: 圆锥滚子 弧面分度凸轮机构的坐标系 :从动盘中心至滚子近端面的距离; 、 u :分别为共轭啮合点的啮合角和滚子的长度参数; h :圆柱滚子长度。 2.5 弧面分度凸轮廓面方程求解 设滚子在动坐标系 ()rXYZ中 的向量表达式如下所示 式中 为滚子上啮合点的啮合 角, u 为啮合点在rZ轴上的坐标, 为小端滚子半径, u为滚子的锥角。 根据图 1所建立的弧面凸轮机构的坐标系,通过将滚子柱面 在 ()rXYZ坐标系的向量表达式转换到 ( xyz ) c 中 ,可求得弧面分度凸轮与滚子啮合传动的共轭啮合点在 ()cXYZ中的向量表达式 mcR,即弧面分度凸轮的曲面方程如 (2) 式所 示: 式 (2)中各参数表示如下: 8 式中的 和 u 必须基于啮合方程进行确定,在坐标系 ()fXYZ中,啮合方程如下: 其中 , kfN表示滚子在共轭啮合点在坐标系 ()fXYZ中的单位法向矢量 , kmfV表示共轭啮合点在 ()fXYZ中的相对滑动速度。求得单位法向矢量与相对滑动速度如式 : 其中 式中 : t为从动转盘的角速度与弧面分度凸轮角速度之比。 Unigraphics(简称 UG)是当前世界上最先进和紧密集成的、面向制造行业的CAID/CAD/CAE/CAM 高端软件。它为制造业产品开发的全过程提供解决方 案,主要功能包括:概念设计、工程设计、性能分析和制造。此外, UG 软件还提供了 CAD/CAE/CA 业界最先进的编程工具集,以满足用户二次开发 模块 的 开发和应用需要。 9 第三章 UG 二次开发 的工具 3 1 UG 软件概述 UGnx 建立在为客户提供无与伦比的解决方案的成功经验基础之上,这些解决方案可以全面地改善设计过程的效率,削减成本,并缩短进入市场的时间。通过再一次将注意力集中于跨越整个产品生命周期的技术创新, NX 的成功已经得到了充分的证实 。 NX 是一个交互的计算机辅助设计、计算机辅助制造和辅助工程( CAD/CAE/CAM)系统。 CAD 功能自动化是在今天制造公司中见到的一般工程、设计和制图能力; CAM 功能利用 NX 描述完成零件的设计模型,为现代机床提供 NC 编程; CAE 功能横越一广范的工程学科,提供许多的产品、装配和零件的性能防真能力。 NX 是一个全三维、双精度系统,它允许用户精确地描述几乎任一几何形状。通过组合这些形状,用户可以设计、分析产品和建立他们的工程图。一但设计完成,制造应用允许用户选择描述零件的几何体,加入制造信息,如刀具直径并自动生成一刀具位置,源文件( CLSF),它可用来驱动大多数NC 机床。目 前 UGS 公司已经推出 NX5 产品,本次设计中使用的是 NX5 版本的软件。 NX5的特点是: 1、为了数字化产品开发集成的自动化; 2、在所有开发学科中的新能力,包括工业设计、防真、工装、加工和管理; 3、在一个全面的产品生命周期管理( PLM)解决力案内的领先前沿的 CAD、 CAE 和 CAM 技术。 通过 NX 可以建立、存储、恢复和操纵设计与制造信息,典型地通过建立描述一零件的几何体开始工作。 NX 功能被划分成共同功能的一系列 “应用( Application) ”共 18 个模块,各模块分别为: 1、入口( Gateway):对所有其他交互应 用的首要必备的应用; 2、建模( Modeling):包括实体、特征、自由形状、钣金特征建模和用户定义特征; 3、装配( Assembilies):支持装配建模; 4、几何公差模块( Geometric Tolerancing Module):让用户捕捉公差; 5、产品和制造信息( PMI Introduction):可用于在三维环境中对产品形成文档说明; 6、分析( Analysis):包括注塑模流动分析、运动应用和 ICAD; 7、制图( Drafting):可将三维模型生成二维视图; 8、高质量图像( High Quality Image):生成逼真照片的图像;9、知识熔接( Knowledge Fusion):允许用户应用工程知识驱动规则和设计意图到 NX 中的几何模型和装配; 10、制造( Manufacturing):可进行虚拟加工和自动加工编程; 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:可在用于描述产品机械装配的同一三维空间建立电气布线的表示。 3.2 UG 二次开发相关工具概述 UG NX 软件提供了 CAD/CAE/CAM 业界最先进的编程工具集,以满足用户二次开发的需要,这组工具集称之为 UG/Open,以开放性架构面向不同的软件平台提供灵 活的开发 10 支持。 UG/Open 包括以下几个部分: UG/Open Menu scrip 开发工具,对 UG 软件操作界面进行用户化开发,无须编程即可对 UG 标准菜单进行添加、重组、剪裁或在 UG 软件中集成用户自己的软件功能; UG/Open UI Styler 开发工具是一个可视化编辑器,用于创建类似UG 的交互界面,利用该工具,用户可为 UG/Open 应用程序开发独立于硬件平台的交互界面; 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 同时也提供了一个菜单栏报告工具,以帮助用户查看定制的菜单,诊断错误。对于菜单的自定义大致 可以分为如下三个层次。 ( 1)自定义菜单 该级别的自定义允许单个用户或者管理员重新安排 UG 的功能,去除在其产品开发过程中不需要的功能。这种级别的自定义不需要编程实现。 ( 2)自定义 UG 功能 该级别的自定义允许单个用户或者管理员取代或增加标准的 UG 功能,并添加其自己定义的功能。 ( 3)添加自定义应用 该级别的自定义其目的在于使用户或第三方开发商开发的应用程序完全集成在 UG中。该级别的自定义需要编程实现。 UG 的菜单文件是扩展名为 .men 的文本文件,可以使用 Windows 的记事本进行编辑。UG/Open Menu Script 提供了一套用于定义 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 UI Styler 产生的对话框时,不必考虑图形用户界面 (Graphical User Interface 缩写为 GUI )的实现。 (2) 利用可视化环境快速生成 UG 风格对话框,从而减少开发时间。 (3) 通过选取和放置控件,从而能实现所见即所得。 (4) 可以在对话框中实现用户自定义位图。 11 (5) 提供了属性编辑器,从而允许开发人员设置和修改控件属性。 (6) UI Styelr 产生的对话框可以在 Menu Script 中被调用,因此可以实现在 UG 菜单项上调用 UI Styler 产生的对话框,从而将用户应用程序和 UG 软件完全融合。 应用 UI Styler 这一工具可以使开发人员方便、快速地设计出与 UG 界面风格一致的对话框,避免其他复杂的编程。而且可以和用其他开发工具开发出的结果进行集成。 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 语言与一般的通用语言一样,有其自身的语法结构,程序结构,内部函数,以及与其他通用语言程序相互调用的接口。 一个 GRIP 语句是由一个或几个 GRIP 命令组成, GRIP 命令是 GRIP 语言的基本组成部分。 GRIP 命令有三种表示格式: a)陈述格式。主要用于 生成和编辑实体。 b)GPA 符号格式。 GPA 是全局参数存取 (Global Parameter Access)的缩写,用于访问 UG 系统中各种对象的状态和参数。 c)EDA 符号格式。 EDA 是实体数据存取 (Entity Data Access)的缩写,用于访问 UG 数据库,能够访问各种对象的功能性数据。例如在属性、绘图和尺寸标注以及几何体等领域与 UG 进行交互操作时,其参数可用 EDA 格式的命令取得。 用 GRIP 语言编写 GRIP 源程序,可以在 windows 的记事本中进行,记为 *.grs;或者在 GRIP 高级开发环境 (GRAD-Grip Advanced Development Environment)中编写。执行 GRIP程序必需进入 UG 环境中,运行 FileExecute UG/OpenGrip。 GRIP 编程语言是面向工程师的语言,具有简单、易学、易用的特点,但是所编写的程序长、复杂。要考虑程序的各个细节问题。因此, GRIP 语言常用于开发一些规模比较小的程序,例如,同类零件建模、计算和分析、数据访问等程序。与 GRIP 语言相比较,用 API函数编程则可实现功能复杂的操作。 3.2.4 UG/Open API 作为 UG NX5.0 与外部应用程序之间的接口, UG/Open 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 的函数时应先调用 UF_ initialize()来获取执行许可权限。一般来说,我们在变量声明完成后,第 1 个调用 UG/Open 12 API 的函数就是 UF_ initialize()。 终止函数是 UF_ terminate(),当不再调用 UG/Open API 的函数时必须调用 UF_ terminate()来释放执行许可。 UG/Open API 程序能在两种不同环境(依赖于程序的连接方式)下运行,即 Internal环境(也称为 “Internal 开发模式 ”)和 External 模式。其中 Internal 环境下的程序只能在 UG NX5.0 的界面环境 (session)下运行,在运行这些程序时他们被加载到 UG NX5.0 的运行空间中( UG NX5.0 分配的内存); External 模式开发的程序能在操作系统 (Windows NT/2000/XP及 UNIX)下运行,不在 UG NX5.0 环境中或作为 UG NX5.0 的子进程运行。尽管没有图形显示,但 UG/Open API 提供了函数用于打印机或绘图仪输出,也可以输出为 CGM 文件等其他数据文件。 3 3 系统菜单 的 制作 UG 软件为用户提供了一个调用二次开发结果的交互式接口: User Tools。它的功能是生成弹出式对话框或工具条,其界面风格与 UG 界面风格一致。通过执行对话框或工具条,操作相应的控件就可运行菜单文件、宏文件、 UG/Open GRIP 程序、 UG/Open API 程序和其他二次开发文件 。 通过编写对话框定义文件 (*.utd)来实现 User Tool 工具的功能。编写文件完成以后,在 UG 中执行 ToolsCustomizeUser ToolsLoad选择所编写的 *.utd 文件即可弹出需要的对话框或工具条。 *.utd 这个文件是文本文件,可用 Windows 中的记事本进行编写和编辑。一种比较简单的实现方法:拷贝 UG 中的模板文件 Usertoo1.utd 到 UG启动目录下,然后编辑模板文件,实现所需要的功能。在以前较早版本中例如 V13,运用User Tools 工具必须编写两个文件:菜单定义文件 (*.utm)和对话框定义文件 (*.utd),然后通过执行菜单项弹出相应的对话框或工具条。现在,较高的 UG 版本已经省略产生菜单这一步,操作同上所述。在 UG 界面中应用 File Execute UG/Open 菜单执行 UG/Open API 程序或 UG/Open GRIP 程序,操作一次只能执行一个程序,而且必须找到程序所在的路径。若利用 User Tools 这个工具,用户可以将多个 GRIP 或 API 函数所编写的程序集成到一个User Tools 对话框或者工具条中,一个程序对应一个控件,通过操作控件来调用程序,使用起来就非常方便。 虽然各种菜单的制作方法 ,在结构、内容和开发过程上有一定的差异 ,但是在整个构建过程中有其共性和相同的部分 ,就是菜单制作之前应先设置系统环境变量。设置了系统环境变量, UG 才能 找到开发内容所在目录。系统环境变量设置方法有以下两种: 方法一:打开 $UG_BASE_DIR/ugii 目录下的 ugii_env.dat 文件 (该文件包含 Unigraphics系 统 的 全 部 环 境 变 量 及 系 统 路 径 定 义 ) , 找 到 下 面 两 条 语 句 :#UG_VENDOR_DIR=$UGALLIANCE_DIR/vendor 和 #UG_ SITE_DIR= $UGALLIANCE_DIR/site。将它们前面的注释符号 “#”删除,以使它们起作用。这两条语句其实指明了供用户放置二次开发文件的目录。在 Unigraphics 初始安装 时,它们不起作用,当删除了 “#”号后, UG/OPEN 才能从这些目录下得到二次开发的功能扩展。这两个目录的功能和结构是完全相同的,下面都有 startup 和 application 两个目录。其中 startup 存放Unigraphics 启动时需载入的动态共享库 (以 ufsta()为入口的 .dl1)及菜单脚本文件 (.men);application 目录存放具体的功能扩展程序文件 (如应用模块的功能扩展共享库 ( .dl1)及对话 13 框资源文件 ( .dlg)。 Unigraphics 下设置的这两个目录是为不同等级的开发者提供的, vendor目录下放置 Unigraphics 指定的开发商的二次产品, site 目录下存放其余开发者的产品。因此 vendor 目录下同类内容的文件要比 site 目录下的优先载入。此外,在 ugii_env.dat 文件中还有一条语句,是用来设置用户自己二次开发内容的目录: #UG_USER_DIR =$HOME,同样将其前面的 “#”号删除,并在其后使用用户自己的目录替换 $HOME。例如,UG_USER_DIR=E:ugapi,在此目录下也必须建立目录 startup 和 application,存放的内容和 site 及 vendor 下的 startup、 application 一样 ,不过它的优先级更低。 方法二:打开 UG 安装目录 UG _BASE_DIR UG menus 下的 custom_dirs.dat(用记事本打开),在文件最后添加开发的文件夹的绝对路径。在添加的文件里建立两个子目录: startup 和 application ,分别用来放置开发的各种文本文件( .men 文件)、动态库文件和对话框文件。 上述两种方法中第二种方法较简单方便,本课题采用第二种方法。打开 UG 安装目录UG _BASE_DIR UG menus 下的 custom_dirs.dat,在文件最后添加开发的文件夹的绝对路径 E: tulun_open。在 E: tulun_open 文件夹下建立 startup 和 application 两个子目录。 本课题 只 涉及到 弧面凸轮 的参数化设计,因此应在一个主菜单下建立 一 个子菜单。在E:tulun_openstartup 下建立文件 disign.men,代码如下: VERSION 120 /版本 号 EDIT 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 /结束菜单的定义 菜单运行效果图 运行结果如图所示: 14 第 四 章 程序设计 4.1 总体方案设计 建立好实体模型后,接下来就是利用 API 程序将模型中的表达式的值与对话框联系起来。程序的功能是针对部件的设计参数,对设计参数进行查询、修改,根据新的参数值更新模型从而实现设计变更。因此,程序对三种齿轮的功能是一样的,在对各个模型编写程序时只需要根据各个模型的参数对程序中所调用模型参数做一些修改,其他在程序的编写思路、程序所用的函数和结构等都可以相同 。 要实现程序针对某个模型的设计参数进行查询、修改,主要的程序设计思路是先读取对话框中的参数,然后把对话框中的参数传递给模型中的表达式,改变表达式中相应参数的值,更新模型。程序运行后,就能实现把设计者输入对话框的参数转化成模型尺寸的变化,实现设计目的。但是由于此种参数化设计的方法是建立在模型的基础上进行的,对话框的设计也是针对某个实体模型,编写程序时使用的参数也是针对具体某一个模型的。因此,在程序运行时应首先检测当前打开的模型是否就是该程序和对话框所对应的模型,只有打开了相对应的模型时程序才继续运行,否 则退出。另外,为了方便设计者使用,让使用者在打开对话框时就能直接看到当前模型的各个参数,在调用对话框时应首先将当前模型中表达式中的对应参数读出,并传递给对话框,显示在对话框上。因此,程序设计时,首先检测当前显示的部件是否为程序对应的部件文件,接着使用构造函数将模型中的表达式中的参数值读出并传递到对话框上,然后是用户输入参数值后读取参数并传递给模型,更新模型。程序流程如下图所示: 图 4-1 程序设计流程图 检测是否为与程序相对应部件 读取模型表达式中参数值,调用对话框 读取对话框中的数值 将读取的参数值传递到模型中的表达式中,更新模型 开始 退出 是 否 15 4.2 对话框设计 程序要将对话框和部件模型联系 起来,在程序中必然要调用对话框,并有相应的程序相应对话框中的控件。 UG 中建立好对话框后,保存对话框时系统还自动生成另外两个文件,分别是与对话框关联的 .c 和 .h 文件,在编写程序时要使用这两个文件。因此,在编写程序前必须先建立对话框,建立好对话框后再利用对话框生成的文件进行编程。现以直齿圆柱齿轮为例,介绍对话框的建立和程序编写的过程。 ( 1)在 UG 中,单击下拉菜单 “应用 ”“用户界面编辑器 ”,即可进入 UI Style 模块,操作界面如图 4-2 所示。 图 4-2 UIStyle 操作界面 由图中我们可以看出, 在操作界面中,除下拉菜单和 “标准 ”工具栏外,该界面主要有:项目工具栏:包括 UI Style 模块所提供的对话框控件;编辑的对话框:可视化显示正在编辑的对话框;对象浏览器:在对象浏览器中可以选择对话框本身或其中包含的控件,之后在编辑器中对其资源属性进行编辑;资源编辑器:对在对象浏览器中被选择的控件的资源属性进行编辑。 在建立对话框时,我们可以充分利用以上工具。首先,编辑对话框的属性。选择对象浏览器中最顶层的对话框,就可以在资源编辑器中对对话框的属性进行编辑。如图 4-3 所示: 16 图 4-3 编辑对话框属性界面 资源编辑器中包括 “属性 ”、 “选择 ”、和 “回叫 ”三个选项卡。 “属性 ”选项卡中可编辑对话框标题、提示语、对话框名、对话框类型等。根据需要设置后如图 4-3 所示。 “选择 ”选项包括:启用:选择是否希望当显示对话框的同时可以对 UG 图形窗口中的对象进行选择;类型:设置在 UG 图形窗口中选择对象的方式是否变化;范围:用于确定被选对象所在范围是否变化。该选项中不需设置,界面如图 4-4 所示: 17 图 4-4 选择选项 在回调选项卡中,所有对话框都可以包含一些基本的回调函数,主要包括:应用、后退、取消、确定、构造、毁坏等。根据 程序需要编辑后如图 4-5 所示: 图 4-5 回叫选项卡 编辑好对话框属性后,应在对话框中添加相应的控件,本课题中只需要输入齿轮的一些参数,只需添加一定数量的 “实数 ”控件就可以了。添加好控件后应该对控件的属性进行编辑,其界面如图 4-6 所示: 18 图 4-6 “实数 ”控件资源编辑器 由图可看出,其中包含:属性、微调按钮、回叫、布局设置四个选项卡。属性选项卡中可以编辑标签、控件名等。在这里只需对属性进行编辑其余的可保持默认状态。图 4-6显示的就是编辑后的结果。要注意的是,在资源编辑器中编辑任何一个选项卡后, 都要单击编辑器底部的 “应用 ”按钮,这样所编辑的内容才会被保存。最后,直齿圆柱齿轮的对话框如图 4-7 所示: 图 4-7 对话框设计结果 编辑好对话框后,将对话框保存在开发路径下的 application 文件夹中。 19 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 Visual 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 步 ”对话框中,可以选择 “internal application”内部模式,生成 DLL 文件,也可以选择 “external application”外部模式,生成 EXE 文件。另外,在产生的原代码中可以选择使用 “C+”语言,也可以使用 “C”语言。如果选择外部模式,完成工程的创建。这里选择内部模式, C+语言,如图 4-9 所示。单击 “下一步 ”。 20 图 4-9 步骤 1 对话框 步骤四:在系统弹出的 “步骤 2 共 2 步 ”对话框中,选择如何激活和卸载应用程序。各复选框和当选框的含义如表 4-1 和表 4-2 所示,这里选择如图 4-10 所示各项,单击 “完成 ”按钮完成应用程序的创建。 表 4-1 应用程序的加载 选项 含义 Automatically(ufsta) 使用 ufsta 函数作为入口函数,可以在 UG 启动后自动加载应用程序 Explicitly(ufusr) 使用 ufusr 函数作为入口函数,可以在 UG 环境下选择菜单 “文件 ”“执行 ”“NX 打开 ”,打开 “执行用户函数 ”对话框,选择应用程序进行手动加载 From a User Exit 使用用户出口函数作为入口函数,例如使用 ufget 函数,将在UG 打开一个文件时,激活应用程序;使用 ufcre 函数,将在 UG创建一个部件文件时,激活应用程序 表 4-2 应用程序的卸载 选项 含义 Automatically, when the Unigraphics session terminates UG 进程结束时自动卸载 Automatically, when the application completes 应用程序结束时自动卸载 Explicitly, via an unload dialog 应用程序手动卸载 21 图 4-10 步骤二对话框 单击 “完成 ”后,系统弹出一个 “确认信息 ”对话框,如图 4-11 所示,列出工程的所有信息,确认无误后单击 “确认 ”,进入编程界面,同时系统将在指定目录下 创建一个 UG NX5.0开发框架。 图 4-11 确认对话框 22 步骤五:按快捷键 F7,编译工程,出现编译成功信息,如图 4-12 所示。 图 4-12 编译工程 打开 “File View”选项卡,分别单击 “spur_cams.files”、 “Source Files”和 “Header Files” 前面的 “+”,双击 “spur_ cams.cpp”,就能看见文件中的内容。 步

温馨提示

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

评论

0/150

提交评论