摘 要:UG软件是美国EDS公司开发的一套集CAD/CAM/CAE一体的高端软件。UG是一个通用软件,用户必须在此基础上进行二次开发,才能满足专门模具设计的需要,提高设计效率。本文探讨UG二次开发技术,重点研究通过VC编程调用UG/OPEN API函数设计模具的技术。
关键词:UG 二次开发 UG/OPEN
1. 引言
Unigraphics(简称UG)在CAD/CAM上表现出了强大的功能,但UG为通用支撑软件系统,仅具有CAD/CAM的基本功能,没有提供专用产品所需要的完整计算机辅助设计/制造功能.由于机械产品的千变万化,需要针对具体对象在选用的CAM软件平台上进行二次开发,来设计出界面友好、功能强大和使用方便的专用产品的CAD/CAM系统.本文介绍UG/OPEN UIStyler、UG/OPEN GRIP和UG/OPEN API的二次开发技术。
UG/Open二次开发模块为UG软件的二次开发工具集,便于用户进行二次开发工作,利用该模块可对UG系统进行用户化剪裁和开发,满足用户的开发需求。UG/Open包括以下几个部分:UG/Open Menuscript开发工具,对UG软件操作界面进行用户化开发,无须编程即可对UG标准菜单进行添加、重组、剪裁或在UG软件中集成用户自己开发的软件功能;UG/Open UIStyle开发工具是一个可视化编辑器,用于创建类似UG的交互界面,利用该工具,用户可为UG/Open应用程序开发独立于硬件平台的交互界面;UG/Open API开发工具,提供UG软件直接编程接口,支持C、C++、Fortran和Java等主要高级语言;UG/Open GRIP开发工具是一个类似APT的UG内部开发语言,利用该工具用户可生成NC自动化或自动建模等用户的特殊应用。
2 UG/OPEN MenuScript
用这一工具可以实现用户化的菜单。UG/OPEN MenuScript支持UG主菜单和快速弹出式菜单的设计和修改,通过它可以改变UG菜单的布局。添加新的菜单项以执行用户GRIP、API二次开发程序、User Tools文件及操作系统命令等。应用UG/OPEN MenuScript编程有两种方法可以实现菜单用户化:
a)、添加菜单文件开发人员添加菜单文件到相应的菜单目录下,这些菜单文件是经过用户编辑的,符合自己要求的菜单文件。这是一种比较好的方法、
b)编辑标准菜单文件 开发者编辑存在的标准菜单文件。这种办法就会改变UG原来的界面,不能恢复。开发者可以通过文本编辑器,例如记事本编辑UG菜单文件。UG/Open API提供UG/Open API程序与UG/OPEN MenuScript
程序的接口函数。
3 UG/OPEN UIStyler
UIStyler是开发UG对话框的可视化工具,生成的对话框能与UG集成,让用户更方便、更高效地与UG进行交互操作。利用这个工具可以避免复杂的图形用户接口GUI的编程,直接将对话框中的基本控件组合生成功能不同的对话框。
开发人员进入UG,点击Aplication→UserInterfaceStyler就可以进入对话框设计的界面。该界面包括一个工具条和三个窗口:对象浏览窗口、资源编辑器窗口以及设计对话框窗口。应用工具条能够快速点击图标,在设计对话框上添加删除控件,进行对话框界面的设计;对象浏览器窗口显示对话框上所有控件的信息,选中某一控件即可在资源编辑器窗口中进行相应的操作;资源编辑器窗口用于设置修改控件的属性、消息等操作;设计对话框窗口用来显示对话框的界面。
当界面设计完成后,保存UIStyler编写的对话框时生成3个文件: *.dlg、*_template.c及 *.h文件。其中, *.dlg是保存对话框图形界面的文件; .h文件是UIStyler对话框C语言的头文件,包括对话框及其控件的标识符和函数原型的申明;*_template.c是UIStyler对话框C语言的模板文件,包括各种定义和命令。用户的主要工作是修改 *_template.c模板文件并在其中添加用户代码,以确定UIStyler对话框被调用的形式及其所能实现的功能。对模板文件的修改工作可在VC中完成,然后和 .h编译连接生成 .DLL文件。
应用UIStyler这一工具可以使开发人员方便、快速地设计出与UG界面风格一致的对话框,避免其他复杂的编程。而且可以和用其他开发工具开发出的结果进行集成。UG/Open UIStyler工具和UG/Open Menu Script工具一样,都只具有某一方面的功能:UG/Open UIStyler用于对话框的开发, UG/Open Menu Script用于菜单的开发。
4 UG/OPEN GRIP
GRIP(Graphics Interactive Programming)是一种专用的图形交互编程语言,开发者可以用GRIP编程的方法自动实现在UG下进行的绝大部分操作.GRIP命令很像英语单词,语法与BASIC和FORTRAN相似,有某些情况下对于一些高级操作,用GRIP编程的方法比用UG交互的方法更有效,在UG交互环境下可以实现的功能用GRIP几乎全都可以实现.UG提供了一个名叫UG/Open GRIP的GRIP语言编辑器,用这个工具可以编辑、修改、编译、连接程序.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语言常用于开发一些规模比较小的程序。