您的位置:网站首页 > UG教程下载

UG二次开发工具在模具CAD系统设计中的应用

时间:2010-11-15 09:48:22 来源:

Unigraphics(简称UG)是当前世界上最先进和紧密集成的、面向制造行业的CAD/CAE/CAM高端软件。它基于完全的三维实体复合造型、特征建模、装配建模技术,能设计出复杂的产品模型,而且它还具有良好的开放性,提
供的二次开发程序设计模块UG/OPENGRIP与UG/OPENAPI和两个辅助开发模块UG/OPEN MenuScript与UG/
OPENUIStyler及其良好的高级语言接口,使UG的造型功能和计算功能有机地结合起来,便于用户开发符合自己要求的专用模具CAD系统[1]。
1 开发工具简介
Unigraphics为用户提供了强大而有效的二次开发工具,以满足用户的特定需求。
1.1二次开发工具的简介
1. 1. 1宏命令(Macro)
宏命令是UG平台上人机交互操作的一系列过程的记录。宏命令文件扩展名为*.macro。为ASII码形式。宏命令通过两种方式产生:一是软件自动记录;二是手工编写(用任一文本编辑器)。
1. 1. 2用户自定义特征(UserDefine Feature)
用户自定义特征是UG软件提供的造型特征之一,它可对一简单实体生成用户化的特征,特征的参数由用户自定义。通过这一功能可建立用户自定义特征库,在需要时直接调用。用户自定义特征文件扩展名为*. udf。
1. 1. 3程序设计模块(UG/OPEN)
UG/OPEN GRIP和UG/OPENAPI是UG提供的两个二次开发程序设计模块,具有与外部高级开发语言的接口,能够实现强大的图形绘制、装配、工程图的生成和一定的文件管理功能,主要进行UG的功能调用。UG/OPEN
API是一个完整可靠和面向对象的应用编程接口,它允许用户用当今最流行的过程化和面向对象的语言来开发自
己的应用程序,包括用户开发应用程序自动执行数控操作、创建几何体和绘图对象,以及执行其它用户所需的具
体专业知识的任务。同时,使用面向对象技术,用户可以按照自己的要求集成类、重载和派生类。UG/OPEN API
是用C语言编制的,它还能在程序中使用C语言支持的全部功能,并且支持对UG/OPEN GRIP程序的调用,有很大
的灵活性。
1. 1. 4用户界面开发模块(UG/OPENUIStyler)
UG/OPENUIStyler模块是UG提供的主要用于对话框的制作、实现UG参数化绘图的专用模块。用户使用此模块可快速建造UG风格对话框的可视化环境,并能生成相应的已被封装好的UG/OPEN UIStyler文件和程序代码,从而使用户在使用UG/OPEN UIStyler产生的对话框时,不必考虑图形界面(GUI)的实现。
1. 1. 5菜单脚本定义工具(UG/OPENMenuScript)
UG/OPENMenuScript是UG提供的主要用于制作用户菜单的专用模块。用户使用它能很方便地用ASCII文本文件来编辑UG菜单和为自己的应用程序模块创建用户菜单,以便与UG无缝集成。UG/OPENMenuscript支持用户对UG主菜单和快速弹出式下拉菜单的修改,通过它可以改变UG菜单的布局、添加新的菜单项以执行用户二
次开发程序、UserTools文件、操作命令等[2]。
1. 1. 6用户工具(UserTools)
用户工具是一种生成用户对话框的工具。它有两种功能:其一是在UG主菜单的UserTools下拉菜单中添加用户项:其二是生成弹出式对话框。用户工具生成的界面风格和UG界面一致,通过它可运行对话框文件、宏文件、
UG/openAPI及UG/openGRIP程序。用户工具生成的文件扩展名有*. utm和*. utd,其中* utm文件用于UG16.0
以前的版本,在主菜单UserTools中添加用户项,这需在UG的初始化文件ugii_env. dat文件中指明路径,自动装
载。*. utd文件可通过*. utm文件调用或*.men菜单文件调用。*. utm文件和*. utd文件可用W indows中的写字板进行编辑,并且该文件必须放在application目录中,以便UG启动自动加载。
2 二次开发的关键技术
UG(V18.0)提供的二次开发工具和方法,只有用程序将它们集成起来,才能实现用户需要的特定功能。本文通过应用实例探讨了利用VC++6. 0开发平台编程调用UG/OPENUIStyler对话框和UG/OPENAPI,进行API、UI-Styler及MenuScript联合开发模具CAD系统的基本方法和关键技术。
2. 1 UG工作目录的设置
在硬盘中建立工作文件夹,如D: user,再在user目录下建立application、startup和udo分别用于存放开发过程中所建立的文件。
2.2环境变量的设置
在进行UG/OPENAPI应用开发之前,应首先进行开发及运行的环境设置,以确保应用程序的开发、调试及运行过程的正常进行。设置UG启动时读取用户文件目录有三种方法。
 通过改变UG环境文件中的设置,指定UGIII_US-ER_DIR或UGII_SITE_DIR或UGII_VENDOR_DIR的放二次开发结果所使用的目录,并删除前面的“#”。如:UGII_USER_DIR=D: user。
 在customize_dirs. dat文件的末尾增加一条语句D:user。
 在操作系统的环境变量中设置。如: UGII_USER_DIR=D: user。
2.3编程向导的生成
将D: UGS180UGOPEN中的UgOpen_v18和UgOpe_v18. awx文件复制目录到D: MicrosoftVisual StudioMS-Dev98Template下,即可在VC新建工程是找到UG/OPENAppwizardV18向导,方便并简化了用户的开发[3]。
2.4应用菜单的建立
我们借助UG/OPENMenuScript可以方面地将自己开发的应用程序引入UG的标准菜单中,实现了快捷、方便地调用UG/OPEN UIStyler、UG/OPEN API和UG/OPENGRIP应用程序。使用UG/OPENMenuScript调用与应用系统对应的对话框。
编辑用户工具菜单定义文件。
用户工具菜单定义文件是一种文本文件,该文件扩展名为“.men”,它可以设定用户下拉式菜单的内容条目,并把用户所制定的应用程序与它对应。一般该文件必须放在UG180UGALLIANCEsite(或vendor) startup子目录中,以便在UG启动自动加载。
设置用户目录存放应用程序。
把对话框UIStyler代码文件(*. dlg)放到子目录ap-plication下,菜单文件(*.men)和与对话框对应的UG/OPENAPI(* dll)文件放在指定子目录starup下。启动UG后用户菜单自动加载,用户通过对相应菜单项目的操作调用应用程序[3]。
我们研究开发的轴瓦模具CAD系统首先在custom-izestartup下建立文件zhouwa.men,其内容如下:
//内燃机的zhouwa.men
//此程序必须放在startup目录中,以便启动UG后
装入
VERSION 120
EDITUG_GATEWAY_MAIN_MENUBAR
AFTER UG_HELP
CASCADE_BUTTONUISTYLER_DLG_CASCADE_BTN
LABEL二次开发
END_OF_AFTER
CASCADE_BUTTONUISTYLER_DLG_CASCADE_BTN
BUTTON SEQUENCEPLAN_BTN
LABEL轴瓦设计…
ACTIONS zhouwa. dlg //调用用户轴瓦设计的主程序
END_OF_MENU
编辑完成后重新启动UG18. 0便能看到主菜单上新添加的用户界面,如图1所示。

2.5对话框的设计
UG/OPENUIStyler为用户或第三方开发者提供一个可视化的对话框生成器,允许用户制定UG风格的对话框,并生成封装了对话框生成代码的UG/OPEN UIStyle文件(*. dlg),它为用户提供了丰富的对话框控件,用户可以根据需要使用这些控件构建对话框建立一个方便友好的图形界面[4]。
利用UIStyler,创建对话框及相应的回调函数原型,其步骤如下:
1)启动UG18.0,进入UIStyler界面。
2)创建“轴瓦设计”对话框界面,如图2所示。
“创建”对应的回调函数action_creat_tool_cb,“定位”对应回调函数action_position_tool_cb,保存到customize
application目录中,文件名设为zhouwa。此时, customizeapplication目录中将生成zhouwa. dlg、zhouwa_template. c、zhouwa. h三个文件,其中zhouwa. dlg文件是对话框文件,交给Unigraphics使用。zhouwa_template. c文件是代码文件,包含了所有回调函数定义。zhouwa. h文件是zhouwa_template. c文件的头文件,包含了控件标识的定义。
2. 6 UG内部应用程序的编制
UG/OPENAPI在W indows 2000平台下支持MicrosoftVisualC++6.0进行二次开发,用户通过在MicrosoftVisu-alC++6.0中设置相应的环境变量即可使用VC++编写、编译、链接用户的应用程序。用户使用UG/OPEN API开
发的应用程序有两种模式:内部模式(Internal模式)和外部模式(External模式),这里模式是指产生的可执行代码的类型,即共享库(Internal)或独立的可执行代码(Exter-nal),内部模式需要在UG环境下运行,用户可以进行交互操作,而外部模式不支持交互式操作,部分函数不能在外部模式中使用。使用内部模式编程,必须使用ufusr函数(主函数)作为程序运行的入口点,它可以看作是用户写的UG子程序或子函数。执行程序时,UG将程序装入内存并搜索ufusr,程序从这里开始执行,执行完后由一个re-turn语句返回UG。所有UG/OPEN API程序必须正确地开始和终止配置和返回UG/OPEN APILicense,用户使用两个函数UF_initialize()和UF_terminate()来实现这一点。
在定义变量后调用的第一个UG/OPEN API函数必须是UF_initialize(),且最后一个调用函数也必须是UF_termi-
nate()[1]。
在W indows2000平台下支持MicrosoftVisualC++6.
进行二次开发内部模式的应用程序,开发过程包括:在VC++6.0集成环境中编写源程序、编译和链接并生成DLL
文件、在UG中调试程序、交付使用等。
1)进入VC++6. 0,创建Projec:t File→New→Project。选UG/OPENW izard创建名为zhouwa的Workspace。
2)配置程序头文件zhouwa. h及库文件zhouwa. lib的目录路径:在project settings对话框中的link项中输出路径设置为customizeapplicationzhouwa. dll。
3)配置Projec:t project→settings→Debug,“Gategory”栏是Genera,l在“Exeutable for debug session:”栏输入UGS180UGIIugra.f exe。
4)在Project中添加对话框模板文件zhouwa_template。
5)修改对话框模板文件zhouwa_template. c。
6)编辑和生成zhouwa. dll文件。该文件可被UG/OPENMenuScript的zhouwa.men文件调用。
2.7系统的运行
进入UG18.0,创建新parts:File→New…→输入文件名“zhouwa”;进入实体建模CAD模块: Application→Modeling…。在主菜单中选择:二次开发→轴瓦设计,系统弹出“轴瓦设计”对话框,如图3所示。
在弹出的对话框中输入适当的参数,点击“轴瓦零件”按钮或“轴瓦模具”按钮,将进入相应的设计主菜单,选择相应的菜单项,可以在UG主画面上自动生成零件或模具的三维图形、各种视图和相应的技术参数。
3 结束语
运用UG开发工具和软件工程方法,建立和开发专用的模具CAD系统,界面简洁直观、操作方便、具有良好的人机交互性、可扩充性和移植性。该系统的使用不需要用户掌握UG软件的专业知识,适合产品系列化设计,大大
提高了轴瓦模具的设计效率,为基于UG的产品CAD/CAE/CAM系统开发和模具的自动化设计和制造打下良好的基础。
参考文献
1董正卫等. UG/OPENAPI编程基础.清华大学出版社,P1~20
2尹显东,刘春燕,崔树礼等. UG的二次开发及其应用技术研究.机械,2002(29)增刊:32-34
3吴家洲,吴波,杨叔子.UG软件的二次开发.机床与液压, 2001(5):89-91
4胡道钟.微机平台的UG二次开发技巧.CAD/CAM计算机辅助设计与制造,2001(1)13-15