[摘要]在深入研究UG二次开发技术的基础上,综合运用UG/Open MenuScript、UG/Open UIStyler、UG/Open API和Visual C++6.0等UG二次开发工具,开发建立了1套完整的汽车冲模三维参数化标准件库。该标准件库与UG的集成环境有机地结合在一起,界面友好,具有良好的可扩充性和可移植性。
[关键词] 冲模 标准件库 CAD UG
1 引言
美国EDS公司的Unigraphics(UG)是一个优秀的机械CAD/CAE/CAM一体化高端软件,它基于完全的三维实体复合造型、特征建模、装配建模技术,能设汁出任意复杂的产品模型。再加上技术上处于领先地位的CAM模块、内嵌的CAE模块,使CAD,CAE和CAM有机集成,可以使产品的设计、分析和制造一次完成,已经广泛应用于航空航天、汽车、通用机械、家用电器等领域”,。作为通用CAD/CAE/CAM软件,UG功能非常强大,但缺乏通用标准件库以及行业标准件库,而具体行业的产品设计总是会经常用到通用标准件和本行业标准件。若每次设计对每一零件均从头开始建模,则要做大量重复性工作,因此,有必要开发通用标准件库以及行业标准件库,以提高产品没计效率,缩短没计周期。
2 UG二次开发工具
UG软件提供了CAD/CAE/CAM业界最先进的编程工具集,以满足用户二次开发的需要,这组工具集称之为UG/Open,是一系列UG开发了具的总称,它们随UG—起发布,以开放性架构面向不同的软件平台提供灵活的开发支持,UG/Open套件主要由4个开发工具组成,如图1所示。利用UG/Open提供的应用程序和开发工具,用户可以在其提供的平台上开发出适合自己需要的CAD产品。
2.1 UG/Open CRIP语言
GRIP(Graphies Interactive Progrm'nming)是UG内嵌的专用图形交互编程语言,用户通过GRIP语言编程能够自动完成在UG下进行的绝大部分操作,如实体建模、工程制图、制造加工、系统参数控制、文件管理、图形修改等”。GRIP语言与一般通用语言一样,有完整的浯法规则,程序结构,内部函数。GRIP程序同样要经过编译、链接后,生成可执行程序,才能运行。使用GRIP进行编程的一般步骤为:
(1)编写源代码:利用文本编辑编写源代码,并以扩展名.grx存盘。
(2)编泽源程序:将源程序进行编译生成扩展名为.gri的编译文件。如果主程序中含有子程序,则两者要分别进行编译,链接时主程序自动对于程序进行链接。
(3)链接程序:将扩展名为.gri的文件链接生成可执行的GRIP文件,扩展名为.grx。
(4)运行程序:链接生成的.grx文件,可以通过用户化的菜单或对话框调用,也可以通过UG的菜单项File-Execute UG/Open-Grip…直接运行。
2.2 UG/Open APl程序
UG/Open API(Application Programming Interface,应用编程接口),是—个允许用户访问并影响UG对象模型(Object Model)的程序集,它提供了比GRIP更多的对UG及其模块进行操作的功能,包括建摸.装配、有限元分析、机构运动分析、制造等。它支持C/C++语言,可以充分发挥C语言编译、运行效率高,功能强大的特点。并且,这些APl函数可以无缝地集成到C++程序中,并利用强大的Microsoft Visual C++集成环境进行编译。这样,就可以充分地发挥出VC强大的功能和极其丰富的资源,包括MFC类库,使用面向对象的软件工程方法,优质高效地进行软件的开发。根据程序运行环境的不同,UG/Open APl程序可分为两种模式:
(1)外部(External)程序模式:UG/Open API外部程序可以脱离UG环境.在操作系统下单独运行,运行的结果通常不能在UG图形界面中显示,也无用户交互界面,所以应用较少。通常用于不需要图形界面的后台应用程序,如打印机或绘图仪输出。
(2)内部(Internal)程序模式:UG/Open APl内部程序只能在UG环境下运行,用VC将应州程序编译链接生成动态链接库(*.dll)文件,UG启动时会自动加载动态链接库,供用户莱单调用,用户开发的应用程序能与UG软件无缝集成。并且这种模式下有较好的人机交互性,因此应用较为广泛。
2.3 UG/Open MenuSeript
UG/Open MenuSeript是UG/Open的一个重要组成部分,支持UG上菜单和弹出式下拉菜单的修改,通过它可以改变UG菜单的布局、添加新的菜单项和工具条,生成用户化的菜单进而集成用户二次开发的特殊应用,应用MemiSeript进行用户菜单定制主要有两
种实现途径:
(1)通过编辑纯文本的菜单脚本文件(*.men)创建,修改UG的主荚单及下拉菜单,而不用开发C语言程序。
(2)利用C/C++语言编程调用UG/Open APl提供的MenuScript APl函数及于程序开发定制用户菜单。
2.4 UG/Open UIStyler
UG/Open UIStyler是一个构建UG风格对话框的直观可视化的编辑器。通过选择和放置对话框控件,能实现所见即所得,可以避免复杂的图形用户接口(GUI)编程。而且,UIStyler创建的对话框可以在MenuSeripl中调用,因此可以实现在UG菜单项上调用UlStyler创建的对话框,从而将用户应用程序和UG完全融合。
对话框创建完成后,会在具存放的目录下自动生成3个文件,分别是*.dig,*.template.C,和*.h文件。其中*.dlg是对话框资源文件,定义了对话框样式及控件事件的响应函数名称,存放在用户目录下面的\applleation目录内,供用户菜单调用;*.template.c是C语言源文件模板,它包含了对话框所有回调函数的定又,提供了一个具有对话框应用的程序框架,该程序框架通过调用UG/Open APl函数和访问对话框资塬文件,实现最初的对话框界而功能,在程序标明的位置添加用户代码,编写问调函数即可以实现具体的应用功能;*.h文件是对话框头文件.它包含了对话框控件标识的定义以及控件事件响应函数原型的声明,供Visual C++编写应用程序时使用。
3 汽车冲模标准件库的建立及其实现技术
汽车冲模标准件作为模具行业的常用零部件,有其鲜明的特点,通常包括标准模架、导向装置、安放装置,起重装置、限位装置、冲切装置,定位装置等。以中国模具工业协会2002年版>,没计开发了一套完整的汽车冲模三维参数化标准件库、该标准件库与UG的集成环境有机地结合在一起,界面简捷直观,操作方便,具有良好的人机交互、可扩充性和可移植性。
标准件库的建立综合运用了上述UG/OpenMenuSript、UG/Open UG/Open UIStyler、UG/Open API他Visual C++6.0等UG二次开发关键技术.其程序框如图2所示。其中,利用UG/Open MenuSeript编写用户菜单,直接挂在UG系统的主菜单上,形成与UG融合统个的界面;利用UG/Opea UISlyler制作UG风格的对话框,供用户莱单调用;通过Visual C++和UG/Open APl编写参数化设计应用程序,并生成动态链接库(Dynamic Link Library)文件,在UG启动时自动加载,实现了对UG的底层开发。
3.1 用户菜单设计
为了与uc交互界面风格保持一致,冲模标准件库采用了分级式下拉菜单,如图3所示,下拉菜单通过UG/Open MenuScript模块开发实现。即利用MenuScript提供的UG菜单脚本语言,编写成扩展名为*.men的文本文件,将其放在用户目录下的/startup目录内,通过设定uC的环境变量,uC在启动时会自动加载用户菜单文件,通过成uC用户菜单。
为了方便用户调用时快速检索到所要的标准件,将下拉莱单的最大深度设计为3级,且每一条下拉菜单最多不超过20个按钮。末级菜单上每一个按钮对应—个“QMxxxx”标准件号,点击末级菜单按钮即调出创建相应标准件的用户对话框,如图4所示。
3.2 用户对话框设计
冲模标准件库利用UIStyler制作UG风格的对话框,生成包含数据输入框、文本框、按钮、图片等控件的对话框,如图4所示。在对话框上部显示标准件图片,在对话框左上角显示对话框标题,在uc系统窗口左下角显示操作提示信息,这样可以使用户很方便地设计或选用标准件。
所有对话框都有6种基本同调函数,分别是Apply按钮的回调函数,Back按钮的回调函数、Cancel按钮的回调函数、OK按忸的回调函数、对话框构造函数和对话框析构函数。其中对话框构造函数在UG构建对话框完成之后、用户应用程序执行之前调用,在标准件库开发过程中,利用它进行对话框初始化操作,将标准件的常用规格及技术要求显示到信息窗口,供用户创建标准件时作参考,而不再需要查阅标准件设计手册。对话框析构函数在UC用户刘话框关闭时调用,程序编写时利用它进行关闭、清除信息窗口以及释放申请的内存空间等操作。
3.3 应用程序动态链接库产(*.dll)创建
UG/Open API应用程序是用C/C++语言编写的,它除了能够在UC的环境下对UG进行功能凋用外.还能在程序中实现软件的文件管理、流程控制、数据传输、窗口调用、数值计算等C/C++语言支持的全部功能,使用非常灵活。UG/Open APl应用程序设计牵涉到UG提供的头文件(*.h)、库文件(*.lib)以及C/C++语言编程环境,需要刘Visual C++编译环境进行设置,下面给出了VisualC++6.0编译环境设置方法及动态链接库的创建过程:
(1)建立一个空的动态链接库工程。
(2)配置程序头文件(*.h)、库文件(*.lib)的目录路径。其中头文件包括UG头文件,Visual C++6.O头文件及UC/Open U1Styler对话框头文件;库文件包括UG库文件,Visual C++6.O库文件。
(3)将对话框生成的C语言源文件模板文件*.template.c添加到Project中。
(4)编制应用程序。进入对话框回调函数内部进行程序编制,定义变量及UG对象,运用C/C++语言和UG/Open APl函数进行参数化建模设计。
(5)生成动态链接库(*.dll)文件。生成的*.dll文件放在用户目录下的/startup日录内,UG启动时会自动加载动态链接库文件,供用户菜单调用。
4 结束语
在研究UG/Open二次开发技术的基础上,综合运用UG/Open MenuScript、UG/Open UIStyler、UG/Open API和Visual C++6.0等UG二次开发工具,深入到UG系统内部,开发建立了1套完整的汽车冲模三维参数化标准件库。冲模标准件库在UG软件启动时自动加载到UG主菜单上,界面简捷直观,操作方便,与UG的集成环境有机地结合在一起,具有良好的人机交互、可扩充性和可移植性。使用冲模标准件库可以提高冲压模具的设计效率,缩短设计周期,提高模具的设汁质量和标准化水平,将模具设计工程师从繁琐的建模造型工作中解放出来,把更多的精力投入到技术方案创新上。
参考文献
1 曾向阳 基于UG的装配用三维标准件图库的开发[J]机械设计与研究,1998,(4)
2 王庆林 UG/OPEN GRIP 实用编程基础[M] 北京 清华大学出版社,2002
3 董正卫,田立中,付宜利 UG/OPEN API 编程基础[M] 北京 清华大学出版社,2002
4 中国模具工业协会汽车车身模具及装备委员会 汽车冲模标准汇编[M] 中国模协,天津,2002 |