ug 二次开发 由一个对话框打开另一个对话框_UG软件二次开发工具的使用

摘要:本文简单介绍了UG软件二次开发的工具及其使用方法,帮助学习UG软件开发的人员尽快掌握这些工具的使用,提高设计效率。  

关键词:UG;二次开发;UG/Open GRIP;UG/Open UIStyler 中图分类号:TP31文献标识码:A文章编号:1007-9599 (2010) 01-0000-02      UG软件是美国EDS公司开发的一套集CAD/CAM/CAE为一体的高端软件。由于其强大的设计、分析、制造和产品数据管理的功能,国内外许多企业都将它作为首选软件。但是UG软件与其它CAD软件一样是一个通用软件,专业针对性差,因而不能满足各种各样具体产品的设计需要,在实际的工程设计中难以达到理想的效果,几乎不能真正实现灵活高效的特点。因而UG软件的二次开发就成为CAD技术推广应用过程中必须面对和解决的课题之一。   二次开发就是把商品化、通用化的CAD系统用户化,本地化的过程,二次开发后能大大提高设计人员的设计效率,缩短设计周期。因此UG软件的二次开发人员必须掌握几种UG软件的开发工具及其使用方法,才能为企业开发出本地化的UG软件。   UG/Open是一系列UG开发工具的总称,是UG软件为用户或第三方开发人员提供的最主要的开发工具。它主要由UG/OpenGR IP、UG/Open API、UG/Open MenuScrip t和 UG/ Open UISt yler四个部分组成。      一、UG/OPEN GRIP      UG/OPEN GRIP(Graphics Interactive Programming)是一种专用的图形交互编程语言。这种语言与UG系统集成,能够实现强大的图形绘制、装配、工程图的生成和一定的文件管理功能,主要进行UG的功能调用。   GRIP程序一般是在UG平台下编制的,有独特的开发工具、编译链接过程、程序语法和文件格式,具体开发过程如下:   (一)编写源程序:在UG Open GRIP环境界面中,选择Edit,用记事本创建或打开一个.grs文件,也就是GRIP源文件。   (二)编译源程序:选择Compile对源程序进行编译生成扩展名为.gri的编译文件,如果主程序中含有子程序,则两者要分别进行编译,链接时主程序自动对子程序进行链接。   (三)链接程序:选择Link将扩展名为.gri的文件链接生成可执行的GRIP文件,扩展名为.grx,这个文件就是UG可以识别的执行文件。   (四)运行程序:链接生成的.grx文件,可以通过UG的菜单项File->Execute UG/Open->Grip直接运行。也可以通过用户化的菜单或对话框调用,通过用户自定义菜单调用时,执行文件.grx必须存放在用户目录下的/application目录中。   GRIP编程语言是面向工程师的语言,具有简单、易学、易用的特点,但是所编写的程序长、复杂,要考虑程序的各个细节问题。因此GRIP语言常用于开发一些规模比较小的程序,例如同类零件建模、计算和分析、数据访问等程序。与GRIP语言相比较,用API函数编程则可实现功能复杂的操作。      二、UG Open API      UG/Open API也称作User Function,是一个允许程序访问并影响UG对象模型的程序集,为开发方提供了近2000个UG操作的函数,它可以对UG的图形终端文件管理系统和数据库进行操作,几乎所有能在UG界面上的操作都可以用UG/Open API函数实现。UG/Open API程序分为内部程序(Internal UG/Open API程序)和外部程序(External UG/Open API程序)。内部程序必须在UG环境下运行,根据所编制的程序进行交互操作。外部程序在操作系统中执行,不进入到UG环境中,程序执行过程不能进行交互操作。与外部程序相比较,内部程序更简短、执行更快。绝大部分的UG/OPEN API函数或子程序可以在这两种模式下使用。只有极少数的函数(主要是用户界面函数)只能在Internal模式中使用,下面介绍一下内部应用程序。   内部应用程序使用ufusr函数作为程序运行的入口点,它可以看做是用户写的UG子程序子函数。执行程序时,UG将程序装入内存并搜索ufusr,从这里开始运行。其函数形式如下:   #include/*of头文件*/   /*其他需要包含的文件*/   void ufusr(char *param,int *retcod,int parm_len)   {   variable declarations /*变量声明*/;   UF_initialize();/*获得许可证*/;   Body()/*程序体*/;   UF_terminate(); /*放弃许可证*/;   }      三、UG/OPEN MenuScrip      UG/Open MenuScript模块是UG提供的专用模块,主要用于制作用户菜单。用户菜单的生成有两种方式:第一添加菜单文件,开发人员添加菜单文件到相应的菜单目录下,这些菜单文件是经过用户编辑的,符合自己要求的菜单文件。这是一种比较好的方法。第二编辑标准菜单文件,开发人员编辑存在的标准菜单文件,使之符合自己的要求,并且覆盖原来的菜单文件,这种方法会改变UG原来的界面,不能恢复,须谨慎使用。建议用户使用第一种方法开发定制菜单。   用户添加菜单文件必须放在用户目录的startup子目录下,UG在启动时能够自动加载添加菜单文件。   作为添加菜单文件的主要格式如下:   表示说明块的脚本有:VERSION 120//版本号、EDIT//声明编辑某个菜单条   表示菜单项的脚本:AFTER//用于给出增加菜单的位置、CASCADE BUTTON//用于声明为下拉菜单项、LABEL//给出下拉菜单的标签、END OF AFTER。   菜单命令可以由以下的脚本完成:MENU//给出所属菜单项的标签、BUTTON //在下拉菜单中增加菜单命令,菜单命令的按钮标签、LABEL//给出菜单命令的名称、ACTIONS//规定选中菜单命令时所执行的动作、END OF MENU//结束说明。   其中ACTIONS可以调用的程序包括GRIP编译的*.grx类型、UG/OPEN API做的*.exe文件及其它语言开发的可执行文件(*.exe)。下图就是利用上面讲的方法设计的超声振动系统的菜单。         四、UG/Open UIstyler      U IStyler是开发UG对话框的可视化工具,使开发者可以正确地编写UG的对话,并产生相应的对话框文件(*.dlg)。该文件自动封装了与创建一段对话有关的代码,而无需开发者对图形界面编程的细节有详尽的了解,这样就大大地降低了开发时间。   开发人员进入UG,点击Application→User Interface Styler就可以进入对话框设计的界面。该界面包括一个工具条和三个窗口:对象浏览窗口、资源编辑器窗口以及设计对话框窗口。应用工具条能够快速点击图标,在设计对话框上添加删除控件,进行对话框界面的设计;对象浏览器窗口显示对话框上所有控件的信息,选中某一控件即可在资源编辑器窗口中进行相应的操作;资源编辑器窗口用于设置修改控件的属性、消息等操作;设计对话框窗口用来显示对话框的界面。   当界面设计完成后,保存UIStyle编写的对话框时生成3个文件:.dlg、template.c及.h文件。其中:.dlg是保存对话框图形界面的文件;.h文件是UIStyler对话框C语言的头文件,包括对话框及其控件的表识符和函数原型的申明;template .c是UIStyler对话框C语言的模板文件,包括各种定义和命令。用户的主要工作是修改template.c模板文件并在其中添加用户代码,以确定UIStyler对话框被调用的形式及其所能实现的功能。对模板文件的修改工作可在VC中完成,然后和.h编译连接生成.DLL文件。   应用UIStyler这一工具可以使开发人员方便、快速地设计出与UG界面风格一致的对话框,避免其他复杂的编程,而且可以和用其他开发工具开发出的结果进行集成。   总之,利用UG/Open二次开发工具,开发人员可以在较短的时间内,根据用户使用的要求,开发出界面简捷直观,操作方便,与UG有机结合在一起,具有良好的人机交互,令用户满意的本地化UG软件。      参考文献:   [1]王庆林.UG/Open GRIP实用编程基础[M].北京:清华大学出版社,2002   [2]董正卫,田立中,付宜利.UG/OPEN API编程基础[M].清华大学出版   [3]孟广军, 张 明,王安敏.UG软件的用户界面开发技术[J].机械,2004,5:39-42   作者简介:   张新香(1969-),高级教师,硕士学位,主要从事UG软件的二次开发及教学工作。现就职于青岛工贸职业学校。 

选自:中国论文网

0506ab93e66c1e6afc147425e076d65b.gif

来源:UG经验技巧

各位有好的解决方法可以在文章下方评论或者点击原文和作者一起交流。

问题解决交流,专业人才寻求,来模具论坛(www.mouldbbs.com)或点击下方小程序,入模具技术群请加客服微信wwwmouldbbscom。

免责声明

本公众号所载文章为本公众号原创或根据网络搜集编辑整理,文章版权归原作者所有。如涉及作品内容、版权和其它问题,请跟我们联系!文章内容为作者个人观点,并不代表本公众号赞同或支持其观点。本公众号拥有对此声明的最终解释权。                             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值