当前位置:文档之家› 基于UG的标准零件库管理系统

基于UG的标准零件库管理系统

第27卷 第1期2006年3月
大连铁道学院学报
JOURNAL OF DAL I A N RA I L WAY I N STI T UTE
Vol.27 No.1
 Mar.2006 
 文章编号:100021670(2006)01200852033研究简报3
基于UG的标准零件库管理系统
界面开发的关键技术
李占涛1,孔宪庶1,董丕明1,詹俊峰2,岳高峰2
(1.大连交通大学机械工程学院,辽宁大连116028;2.中国标准化研究院,北京100088)3
关键词:I S O13584;P L I B;标准零件库;界面;动态链接库
中图分类号:TK730.2;O357.5 文献标识码:A
在课题《UG环境下基于I S O13584中P L I B标准的标准零件库的研究及建立》的开发过程中,作者编写了符合I S O13584中P L I B标准的机械类国家标准件的EXPRESS几何图形程序,通过转换器,可以将这些几何图形程序自动地转换为GR I P绘图程序.
在此基础上,建立了客户端标准零件库.为了便于UG用户利用该零件库的数据,必须对UG进行二次开发,生成用户界面,以便选取零件、选择或输入参数,得到标准零件的三维几何模型.然而,目前UG的二次开发工具不支持MFC,开发的界面单调,功能有限,使用不便.尝试利用动态链接库技术调用MFC,编写了UG下的用户界面,并取得了成功.
本文对基于UG的标准零件库系统界面开发的开发工具与关键技术进行讨论.
1 课题中涉及到的UG二次开发工具
UG/OPEN是一系列UG开发工具的总称,是UG软件为第三方开发人员提供的最主要的开发工具,主要由UG/OPE N AP I、UG/OPE N GR I P、UG/OPE N MenuScri p t和U G/O PEN U IStyle r四个部分组成[1].
(1)UG/OPE N AP I
UG/OPEN AP I又称U serFuncti on,是Unigraphics与外部应用程序之间的接口,实质上是一个函数集合,包括近2000个UG操作的函数,几乎所有能在UG界面上的操作都可以通过UG/OPE N AP I函数实现.可以实现:三维模型的生成、访问和修改;生成工程图;创建运行在UG下的交互式程序界面;以及装配操作.
本课题中采用UG/OPEN AP I作为UG与界面程序之间的接口,采用内部程序模式.
(2)UG/OPE N GR I P
UG/OPEN GR I P(Graphics I nteractive Pr ogra mm ing)也是UG重要的二次开发工具,与UG/OPEN AP I 相比,GR I P的功能要简单一些.尽管如此,这种语言与UG系统集成,仍能实现UG下的绝大多数的操作.GR I P语言的语法特点,与F ORT RAN语言类似,对本课题而言,这是十分重要的.因为根据I S O13584标准,零件的几何特征采用中性语言EXPRESS描述,以F ORT RAN语言联编.因此我们在后置开发器中,选用GR I P作为目标语言.GR I P源程序可以在W indows的记事本中进行,记为.grs,或者在GR I P高级开发环境(GRAD Gri p Advanced Devel opment Envir on ment)中编写,然后在GRAD中编译和连接后生
3收稿日期:2005201220
作者简介:李占涛(1972-),男,硕士在读1
 大连铁道学院学报第27卷86
成.grx可执行文件.
本课题中,用UG/OPE N AP I编写主程序,在主程序中调用GR I P绘图子程序,在UG下生成标准零件的三维图形.
(3)UG/OPE N MenuScri p t
UG/OPEN MenuScri p t提供一套用于定义Unigraphics菜单的脚本语言.这一工具可以供用户创建并编辑Unigraphics的下拉菜单及工具条.通过它可以改变UG菜单的布局、添加新的菜单项以执行用户GR I P、AP I二次开发程序、U serTools文件及操作系统命令等.
本课题中,利用UG/OPE N MenuScri p t添加菜单文件,在UG启动时自动加载.用UG/OPE N AP I编写UG/OPE N AP I程序与UG/OPE N MenuScri p t程序的接口函数.
(4)UG/OPE N U I Styler
UG/OPEN U I Styler是开发UG对话框的可视化工具,生成的对话框能与UG集成.
UG/Open U I Styler的优点是显而易见的,首先它生成的界面,具有Unigraphics风格,而风格统一是界面设计的重要原则.而且,开发人员在构造界面的同时,能够得到UG/OPE N U I Styler文件和C代码, U I Styler产生的对话框可以直接被MenuScri p t文件所调用,从而自动实现UG和用户界面的接口.缺点是U I Styler中包含的控件较少,仅有Label、Edit B ox、Op ti on、ComBo Box、Butt on等几种控件.与U I Styler相比,MFC的控件更丰富,功能更强大.
2 在本课题中调用M FC的必要性及调用方法
本课题用户界面具有以下特点:
(1)零件种类多.数据库中,保存了十七大类,近200个品种的国家标准机械零件的基本数据.用UG/Open U I Styler构造的对话框,难以满足要求.
(2)数据库查询十分频繁.而MFC的与数据库有关的类,功能十分强大,可以满足要求.
(3)本课题中采用了MFC中的树视(Tree V ie w)、组合框(ComboBox)等控件,利用其丰富的消息机制,完成了许多复杂而灵活的功能,这是用UG/Open U I Styler难以实现的.
在UG/OPEN AP I程序中,不能直接调用MFC函数.但是可以通过动态链接库间接调用[2].因此可以调用MFC编写界面子程序,生成动态链接库,然后在主程序中调用这个子程序即可.
3 本课题中对UG二次开发的实现过程
本文的目标是在UG界面上添加菜单“标准零件库”,用户点击后,弹出“标准零件库”对话框,在用户选择零件后,列出该零件的参数供用户选择.用户点击“确定”按钮后,自动生成三维模型.内部实现机制如图1所示.
图1 运行流程图
(1)UG系统启动后,自动读入MenuScri p t文件Plib.men,加载自定义菜单.
(2)当用户点击该菜单后,执行自定义菜单的响应函数,此处是Gate.dll,这个动态链接库程序,是用UG/OPE N AP I写成的,但是本课题中,对这个UG/OPE N AP I的编译环境做了特别的设置,以便调用第二级动态链接库程序[3].
 第1期李占涛等:基于UG的标准零件库管理系统界面开发的关键技术87
(3)Gate.dll中调用第二级动态链接库程序Query.dll.这是界面程序,在这个程序里调用了MFC.用户在这个界面上选择零件和对应的参数.点击“确定”按钮后,传出参数,退出界面程序.
(4)继续执行Gate.dll,调用GR I P程序,在UG下生成三维模型.
4 界面设计的基本步骤
(1)利用记事本编辑MenuScri p t(UG菜单文件),本课题中文件名为Plib.men,然后保存到UG安装目录下的文件夹中.在此文件中为UG添加名为“标准零件库”的主菜单,位置在“hel p”菜单之前.菜单文件中使用语句ACTI O NS Gate.dll使用户在点击菜单“标准零件库”时,执行Gate.dll,Gate.dll动态链接库是连接界面程序和UG的接口.图2是开发后的UG主菜单.
图2开发后的主菜单
(2)在VC++6.0环境下,选择File->Ne w->Works pace,在创建项目对话框中,选择UG/OPEN AP IW izard.项目名称为Gate.dll,类型为Dyna m ic L inked L ibrary.通过修改相关代码,实现MFC调用.
(3)用VC的Appwizard创建Query项目.创建时,采用MFC App W izard(DLL)2>Regular DLL using shared MFC DLL选项,并在项目中增加界面所需的对话框(图3).
该界面能够满足下面的要求:①以树状菜单显示全部国标零件.②用户选取零件后,自动提供默认规格.③用户可以选取所需的规格.选择主参数后,系统能自动显示相应的其他参数.④用户点击确定按钮后,系统进行检验,确保用户选择或输入的参数符合国家标准.如果不符,提示用户重新选择.图3是在UG界面上运行的对话框.⑤此时,退出界面程序,继续执行接口Gate.dll.调用GR I P绘图文件,在UG 环境下,得到零件的三维模型.图4是最终生成的一个螺尾锥销的模型.
本文综合运用UG的多种二次开发工具,借助于动态链接库技术,调用MFC开发复杂用户界面及零件库管理系统,取得了预期效果.
参考文献:
[1]元勋.UG二次开发工具的使用[J].机械制造与自动化,2002,10:70272.
[2]张军波.利用DLL在UG16.0微机版中构造用户界面[J].计算机工程,2001,12:46248.
[3]董正卫,田立中,付宜利.UG/OPE N AP I编程基础[M].北京:清华大学出版社,2002.。

相关主题