基于UG二次开发的直齿、斜齿圆柱齿轮及锥齿轮的参数化建模 下载本文

基于UG二次开发的直齿、斜齿圆柱齿轮及锥齿轮的参数化建模

UG软件提供了CAD/CAE/CAM业界最先进的编程工具集,以满足用户二次开发的需要,这组工具集称之为UG/Open,是一系列UG开发工具的总称,它们随UG一起发布,以开放性架构面向不同的软件平台提供灵活的开发支持。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自动化或自动建模等用户的特殊应用[9]。利用UG/Open提供的应用程序和开发工具,用户可以在其提供的平台上开发出适合自己需要的CAD产品。 2.2.1 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环境中,运行File—Execute

5

学士学位论文

UG/Open—Grip。

GRIP编程语言是面向工程师的语言,具有简单、易学、易用的特点,但是所编写的程序长、复杂。要考虑程序的各个细节问题。因此,GRIP语言常用于开发一些规模比较小的程序,例如,同类零件建模、计算和分析、数据访问等程序。与GRIP语言相比较,用API函数编程则可实现功能复杂的操作[10]。 2.2.2 UG/Open API

作为UG NX4.0与外部应用程序之间的接口,UG/Open API是一系列函数

的集合。通过UG/Open API的编程,用户几乎能够实现所有的UG NX4.0功能。开发人员可以通过用C++语言编程来调用这些函数,从而实现用户的需要。

(1) 对UG part文件及相应模型进行操作,包括建立UG NX4.0模型、查

询模型对象、建立并遍历装配体,以及创建工程图等。 (2) 在UG NX4.0中创建交互式程序界面。 (3) 创建并管理用户定义对象等。

应用函数时应注意所有的UG/Open API应用必须及时进行初始化和终止,以确保获取或者释放UG/Open API的执行许可权限。

初始化函数是UF_ initialize (),当开始调用UG/Open API的函数时应先调用UF_ initialize()来获取执行许可权限。一般来说,我们在变量声明完成后,第1个调用UG/Open API的函数就是UF_ initialize()。

终止函数是UF_ terminate(),当不再调用UG/Open API的函数时必须调用UF_ terminate()来释放执行许可。

UG/Open API程序能在两种不同环境(依赖于程序的连接方式)下运行,即Internal环境(也称为“Internal开发模式”)和External模式。其中Internal环境下的程序只能在UG NX4.0的界面环境(session)下运行,在运行这些程序时他们被加载到UG NX4.0的运行空间中(UG NX4.0分配的内存);External模式开发的程序能在操作系统(Windows NT/2000/XP及UNIX)下运行,不在UG NX4.0环境中或作为UG NX4.0的子进程运行。尽管没有图形显示,但UG/Open API提供了函数用于打印机或绘图仪输出,也可以输出为CGM文件等其他数

6

基于UG二次开发的直齿、斜齿圆柱齿轮及锥齿轮的参数化建模

据文件[11]。

2.2.3 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文件夹下[12]。

使用UG/Open Menu Script自定义UG菜单可以有两种方法,分别是使用

Add-on菜单文件和复制和编辑系统菜单文件。使用Add-on菜单方法是添加编辑量很小的菜单文件到菜单文件的目录中,使用Add-on菜单可以移出用户不需要的菜单项;添加新的菜单和菜单项;重新组织UG的菜单;修改菜单和菜单项的标题;为已经存在的应用按钮添加动态库和菜单文件。复制和编辑系统菜单文件是指复制、编辑系统菜单文件并将其放置在特定的目录下,覆盖原始菜单文件。系统推荐使用Add-on菜单文件方法,该方法不仅编辑起来比较方

7

学士学位论文

便、易于维护,而且其功能也相当强大,基本可以满足应用开发的所有需求。使用Add-on菜单文件的另一个优点在于它可以被UG很方便地自动加载。对于与具体应用模式无关的菜单文件放置在startup文件夹下,与具体应用模式相关的菜单文件放置在相应的application文件夹下,通过使用MENU_FILES声明,即可将菜单名与应用模式按钮相关联,点击该应用模式按钮后即可自动加载与其相关联的菜单文件。复制和编辑系统菜单文件方法不推荐使用,这主要是由于其编辑起来相当复杂,特别是对于像ug_main.men这样大型的菜单文件,其维护也非常麻烦。 2.2.4 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) 可以在对话框中实现用户自定义位图。

(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

8