《UG软件开发应用》由会员分享,可在线阅读,更多相关《UG软件开发应用(75页珍藏版)》请在金锄头文库上搜索。
1、第二部分 UG软件的开发与应用二次开发涉及标准零件库、行业产品特征库、复杂零件的自动生成、零件成型与分析的集成、典 型产品的专家系统等领域。使企业拥有的UG软件本土化。 UG/Open二次开发工具vUG/Open GRIPGRIP (Graphics Interactive Programming)vUG/Open APIAPI (Application Programming Interface)v辅助开发模块 UG/Open MenuScripv辅助开发模块 UG/Open UIStylerUG/Open套件的相互关系图利用UG/Open应用程序和工具可以完成:v通过UG/Open API
2、二次开发模块可以对UG中的物体模型显示界面进行交互操作;v创建或者修改用户定义的对象UDO(User Defined Object),包括对对象和相关对象的相互联系关系的管理,提供一种更新和显示用户自定义对象的方法;v定制个性化的UG界面,方便用户调用第三方的应用软件;v添加新的UG/Open技术,并将其与UG集成。 2 UG/Open GRIP语言UG/Open GRIP语言的应用,主要包括以下几个方面:v 同类零件编程v 特有的几何功能v 计算和分析v 绘图v 零件的标准化v 文件管理v 数据访问2.1 GRIP语言概述2.1.1 GRIP语言开发环境GRADE利用建立UG/Open GR
3、IP应用程序的主要步骤: (1) 编写GRIP程序。GRIP源程序的后缀为grs。(2) 编译GRIP源程序。在GRADE(Grip Advanced Development Environment) 中进行编译、调试,生成GRIP源 程序的以gri为后缀的二进制文件。(3) 链接。在GRADE中,将编译成功后的gri文件进行链 接,生成以grx为后缀的可执行程序。(4) 执行。在UG环境中,执行grx程序 。建立UG/Open GRIP应用程序的主要步骤2.1.2 GRIP语句的格式1) 陈述格式(Statement Format)陈述格式的GRIP命令主要用于实体的生成和编辑,其由主词和辅
4、词组成。主词是GRIP语句的主要命令,如LINE、CIRCLE、 DELETE、CALL、HALT等。辅词是主词的修饰词,如ANGLE、ARROW、START 、END等,它通常放在“主词/”之后。LN1=LINE/0,0,0,10,0,0LN2=LINE/PARLEL,LN1,YSMALL,1.0其中:LINE为主词,PARLEL和YSMALL为辅词。GRIP中常用的几个辅词:vCENTER 中心vREADIUS 半径vDIAMTR 直径vSTART 开始(角)vEND 终止(角)vON 在上vTANTO 相切于vPROPTO 垂直于vPARAEL平行于vVECT矢量(三个分量)vANGLE
5、 角度(以度为单位)vDELTA 增量vENDOF 的端点vINTOF 的交点vCSYS 坐标系vAXIS 轴vSIZE 边数/尺寸vORIGIN 原点vTHRU 通过vLEFT 左边vRIGHT 右边vCNT 计数vNOTRIM 不修剪vDELETE 删除vBLANK 隐藏2) GPA符号格式(Global Parameter Access Symbol Format)GPA是全局存取(Global Parameter Access)格式的缩写 ,用于访问UG系统中各种对象的状态设置和参数。一个 GPA符号格式最长6个字母,且以body() /* 应用主体*/UF_terminate();2
6、) External模式External模式的UG/Open API程序在WIN2000以上版本 或UNIX下运行,不需UG环境支撑,External模式适用于不 需要图形界面操作的后台运行程序,如打印机、绘图仪等。External程序的一般格式:#include /* Additional include files as required. */int main(int argc, char *argv)variable declarationsUF_initialize();body() /* 应用主体*/UF_terminate();3.3 UG/Open API的函数名称及参数约定1
7、) 函数名称的约定标准名称约定:格式:UF_其中:UF表示UG/Open API的函数;area为应用或者模块 的缩写。如MODL和DISP分别是UG中modeling和Display功能 的缩写;name是被下划线分开的动词和名词,如 UF_MODL_create_block1()。 原有名称约定:格式: uc和uf它代表UG/Open API C语言程序。其中,通常是四 位数字或者三位数字加一个字母。例如uc1605是一个多重选择 菜单函数。2) 参数约定语法格式:(变量列表)例如,int UF_PART_open(Char *part_name, tag_t *part,UF_PART_
8、load_status_t *error_status)表示加载一个UG部件文件到UG界面中,并设为工作部件和显示部件。 3.4 UG/Open API的数据类型数据类型包括C语言标准数据类型和API的定义类型。API的数据结构命名规则如下:_t 数据类型(Date type) _p_t 数据类型的指针(Pointer to that type)_s 结构标识(Structure tag)_u_t 联合类型(Union type)_u_p_t 联合类型的指针(Pointer to a union type)_f_t 函数指针(Pointer to a function)例如:下述UF_ASSE
9、M_options_s的数据结构定义typedef struct UF_ASSEM_options_sint load_options;int part_list;Int load_substitution; UF_ASSEM_options_t, *UF_ASSEM_options_p_t;其中:UF_ASSEM_options_s是结构标识;UF_ASSEM_options_t是该结构的类型定义;UF_ASSEM_options_p_t是该结构类型的指针。 3.5 UG/Open API 应用程序的开发1) UG二次开发环境的设置(1) 安装Unigraphics。选择自定义,进行完全安装
10、,确保 ugopen和ugopenpp模块安装在系统中。(2) 安装Visual C+软件。检查VC目录,确保ugopen.awx和 ugopen.hlp文件(或ugopen_v19.awx、ugopen_v19.hlp)在VC的 Msdevcommonmsdv98tempalte目录下。(3) 设置绘图单位(默认为英寸)。在UG安装目录下的UGII 文件夹中找到UG的建模环境设置文件ugii_evn.dat,将其中的UGII_DEFAULTS_FILE=$UGII_BASE_DIRugiiug_English.def改为UGII_DEFAULTS_FILE=$UGII_BASE_DIRugi
11、iug_metic.def(4) 建立一个用于存放UG二次开发源代码的文件目录。2) 创建一个工程文件利用Visual C+的Unigraphics NX AppWizard创建一个工程文件3) 添加用户应用程序在工程文件的CPP文件中的适当位置,添加用户应用程序的相关内容:(1) 添加用户应用程序涉及到的头文件;(2) 添加用户函数的声明及调用;(3) 添加用户函数。4) 编译连接生成动态连接库文件.DLL5) 进入UG执行动态连接库文件3.6 UG/Open API 应用举例利用函数UF_MODL_create_block1()创建2个长方体。 1) 利用Visual C+创建一个应用程序
12、框架(1) 启动Visual C+,选择File New弹出对话框; (2) 选择 Projects Unigraphics NX AppWizard; (3) 为工程文件命名:Ugapitest,并指定文件存放路径: E:my_sourceUgapitest,然后选择OK,弹出对话框。(4) 选择内部应用模式和C+语言,选择Finish,弹出对话框;(5) 选择OK确认,创建一个Ugapitest工程。2) 向Ugapitest工程添加应用程序(1) 添加用户应用程序涉及到的头文件在Ugapitest.cpp文件的#include “Ugapitest.h”后添加创建实 体头文件#inclu
13、de。(2) 添加用户函数的声明添加本例应用函数声明:static void ugopen_api (void)。(3) 添加调用函数语句在int errorCode = UF_initialize();语句后添加ugopen_api()。(4) 添加用户函数在Ugapitest.cpp文件的最后添加用户函数语句void ugopen_api(void) 。3) 调试、编译生成动态链接库文件Ugapitest.dll4) 执行启动UG,新建一个部件文件,然后选择“文件执行 (T) NX Open(N) ,选择输入动态链接库文件 Ugapitest.dll,屏幕显示创建的实体图。4 UIStyl
14、er对话框4.1 UG/Open UIStyler的功能(1) 提供建造UG风格对话框的可视化环境,并能生成 UG/Open UIStyler文件和C代码,使用户在使用UG/Open UIStyler产生对话框时,不必考虑图形界面的实现。(2) 利用可视化环境快速生成UG风格对话框,通过选取 和放置控件,从而实现可见即可得。(3) 可以在对话框中实现用户自定义位图。(4) 提供了属性编辑器,从而允许开发人员设置和修改控 件属性。(5) UIStyler产生的对话框可在MenuScript中被调用,可以 实现在UG菜单上调用UIStyler产生的对话框,从而将用户应 用程序和UG完全融合。 4.
15、2 UIStyler对话框的设计UIStyler对话框的设计在UG界面环境下进行,首先是 启动UIStyler模块,然后通过人机对话进行对话框结构设计 和参数设置,最后与UG/Open API连接生成动态连接库文件。1) 启动UIStyler在Unigraphics的Gateway(入口)状态下,选择 ApplicationUser Interface Styler,即进入UIStyler状态。 UIStyler设计界面包括一个工具条和三个窗口:即控件工具 条,对话框属性(Dialog Properties)、对象浏览(Object Browser)以及设计对话框窗口。2) UIStyler控
16、件(工具条)UIStyler提供的控件如下图所示:3) UIStyler对话框介绍(1) 设计对话框设计对话框初始时为一个最基本的对话框,如下图所示。它 由三个系统按钮和对话框标题组成,用户可以利用控件在基本对 话框中加入用户自定义内容。(2) 对象浏览器(Object Browser)对象浏览器中包含对象识别标识、名称及类型,如下 图所示。3) 对话框属性(Dialog Properties)对话框属性中包括基本属性(Attributes)、被选属性 (Selection)和回调函数(Callbacks)等3张属性卡。界面设计完成后,点击save图标,保存生成3个对话 框文件(*.dlg、*_template.c和*.h):其中:*是输入的对话框文件名;*.dlg是保存对话框图形界面的文件;*.h文件是UIStyler对话框C语言的头文件,包括对话框及其控件的表识符和