UG平台下BOM生成系统的开发

2011-07-03 02:08王耀东崔洪斌耿建璞
制造业自动化 2011年19期
关键词:工程图二次开发文件夹

王耀东,崔洪斌,耿建璞

(河北科技大学 机械电子工程学院,石家庄 050035)

0 引言

从设备的技术资料管理而言,目前很多企业仍然采用人工方式管理产品的技术资料,资料的管理和维护占用了大量的物理空间和人力资源。如何将它们有效地管理起来,即在节省存储空间和人力资源的同时,又能够满足用户方便、快捷地查询、获取所需文档的要求,是多数企业需要解决的问题。

为此,本文以UG 6.0为研究对象,就BOM管理系统进行相关的研究与开发[1]。

1 系统总体设计框架

图1所示是UG平台下装配BOM信息管理系统的总体设计框架,它主要由以下五部分组成:

1)UG装配体。它是系统的基础,它的装配结构树反映了构成产品零部件的装配关系和层次关系,所有的BOM信息都是围绕装配结构树上的零部件而展开的。

2)基于UG平台的编码器。它的功能是用来对UG装配体中新建的零部件进行编码或对已有的编码进行查询。

图1 装配BOM信息管理系统的总体设计框架

3)基于UG平台的二次开发接口。该部分的功能是把UG装配体的二维工程图的明细表信息导出到Excel报表中,同时,也把在Excel中对装配BOM信息的修改反馈到UG的装配BOM信息浏览界面上,它充当着UG与数据库之间联系纽带的角色。

4)Excel报表。该部分的功能是存储所有的装配BOM信息,这不仅保证了UG与信息管理系统之间装配BOM信息数据的一致性,而且也间接地充当UG与信息管理系统之间桥梁的角色。

5)信息管理系统浏览器。它的功能是查看装配零部件的装配BOM信息,同时也可对这些信息进行添加、查找、修改和补充[2]。

2 VB开发环境及UG接口技术

Visual Basic语言是目前流行的高级编程语言,该语言功能强大,并且支持OLE自动化技术。能够通过Windows里的COM的dIiPsathc接口,使不同程序之间进行通信。UG还提供了大量与Visual Basic语言接口的类型库,让使用者在UG自动化组件的程序中参考,因此本文采用Visual Basic对UG进行二次开发。

在开发之前,必须在Visual Basic环境下引用以下的类型库,这样才能通过OLE自动访问UG提供的对象,并在此基础上进行二次开发。下面是有关库的介绍:

l)UG Assembly Type Library:装配类型库(Assembly.tlb)。

2)UG draft Type Library:制图类型库(draf.tlb)。

3)UG Frame work Support Type Library:框架结构支持类型库(framewokr.tlb),支持二维对象,主要用于制图,草图环境中,如布局,轮廓等。

在Visual Basic的集成对象中的“工程”菜单中选择“引用”命令,弹出如图2所示对话框,在对话框中添加上述类库[3,4]。

图2 应用UG类型库

3 应用实例的开发

3.1 开发前准备[5]

图3 模板

从UG6安装目录下面的UGSNX 6.0UGOPENvs_fi les文件夹中拷贝VB文件夹到 Microsoft Visual Studio 2005文件夹下覆盖原来文件。这样就在Microsoft Visual Studio 2005中建立了一个模板如图3所示,不必在编程时添加NXOpen.dll、NXOpen.Utilities.dll、NXOpenUI.dll、NXOpen.UF.dll四个动态连接库。

3.2 菜单的制作

1) 二次开发主目录的建立:在硬盘上建立一个目录存放开发的内容,例如在F盘下建立一个名My Direction的文件夹,用于存放二次开发的内容。

2) 二次开发子目录的建立:在My Direction 下建立三个子目录startup 、application 和udo,分别存放具体的开发内容。将菜单文件(.men)、工具栏文件(.tbr)、对话框文件(.dlg)和二次开发的可执行文件(.exe)放入application文件夹中(由用户激活)。将菜单文件(.men)、工具栏文件(.tbr)、对话框文件(.dlg)和二次开发的动态链接库文件(.dll)放入StartUp文件夹中(UG系统启动时会自动加载运行)。将用户自定义的特征对象文件放入udo文件夹中。

3) 二次开发目录的注册:在$U GⅡ BASE DIR U GII menus 目录下,找到custom dirs.dat ,用记事本打开,在最后一行输入盘符:My Direction ,存盘,退出。

4) 利用UG/MenuScript,创建文本文件BOM.txt并放置于Strartup文件夹中,在文本文件中编写如下代码:

VERSION 120// 菜单脚本文件的版本号

EDITUG_GATEWAY_MAIN_MENUBAR

!*****添加UG的顶级菜单*****

BEFORE UG_HELP//编辑主菜单,并置于HELP菜单前位置

CASCADE_BUTTON tashebei//定义顶级菜单ID

LABEL 塔设备//定义顶级菜单标题

END_OF_BEFORE

!*****一级级联子菜单*****

MENU tashebei //编辑第一级菜单,为顶级菜单的下拉菜单

CASCADE_BUTTON BOMguanli

LABEL BOM管理

ACTIONS BOM //运行BOM模块

SEPARATOR

CASCADE_BUTTON CAM

LABEL 辅助制造

ACTIONS CAM //运行CAM模块

END_OF_MENU

完成菜单代码的编写后,用men扩展名取代扩展名txt并保存。

打开UG 6.0,可以看到按菜单文件定制的菜单,如图4所示。

图4 定制UG下拉菜单

3.3 对话框激活接口模块的开发

定义:系统环境变量UGII_USER_DIR为F:My Direction;

此接口模块用于链接菜单项与对话框,即通过菜单项激活对话框窗口的程序。在工程项目中通过添加模块→接口,并命名为“接口模块.v b”,其代码如下所示:

Function Startup(ByVal args As String()) As Integer//UG环境初始化

Dim theSession As Session = Session.GetSession()

… …

theUI.MenuBarManager.AddMenuAction("daijingpinghan_M", AddressOf BOM) //菜单注册函数

… …

Public Function BOM(ByVal button Event As NXOpen.MenuBar_

.MenuButtonEvent) As NXOpen.MenuBar.MenuBarManager.CallbackStatus

//窗体显示程序

Dim frm As New BOM… …

End Function

3.4 Excel表与UG关联

最后,然后将 UG安装目录下的moldwizardmoldwizard_add_in.xla 拷贝到 Program FilesMisrosoftoffi ceOffi ceXLStart这样当导出到Excel表中后作的任何修改只需保存就可以关联到UG中。至此完成项目的开发,单击图4中塔设备 BOM管理按钮,弹出如图5所示登陆窗体。

用户输入自己的登录用户名和密码即可进入系统主界面,如图6所示,此时系统已根据用户名将相应的功能权限和对象赋予用户。

图5 登陆窗体

图6 系统主界面

该系统面实现的功能是:在UG二维工程图中生成明细表后,将明细栏导出到Excel中,并将此Excel表链接到系统主界面中,这样在VB中做的修改、添加、删除等操作都可以关联到UG二维工程图的明细栏。

该系统与生产管理系统(Access数据库)相连接,PDM(产品数据管理)人员可以通过本系统查看零件库存信息,物料需求信息和生产进度信息。

4 结束语

结合技术资料管理现状,建立了BOM管理系统,该系统通过UG NX6.0、VB2005、Access和

Excel的链接,使得用户快速的查询到自己需要的信息,并实现了对UG二维工程图明细栏信息的修改。为制造企业资料的管理和维护节省了大量的空间资源和人力资源。

[1] 俞晓梅,袁孝竞,等.石油化工设备选用手册-塔器[M].北京:化学工业出版社,2010.

[2] 赵文龙.CAD平台下装配BOM信息管理的研究与实践[D] 重庆大学,2004.

[3] 席炜.基于Solid Edge的装配BOM信息管理的研究与实践 [D] 苏州大学,2006.

[4] 董正卫,田立中,付宜利.UG/OPEN API 编程基础[M].北京:清华大学出版社,2002.

[5] 唐鑫辉,秦晓英,崔洪斌,刘文学.NET环境下利用.UG/NXOpen和UG/Journal对UG的二次开发[J].现代制造工程,2011,(4):60-62.

猜你喜欢
工程图二次开发文件夹
四合一铅笔刀设计
Fast Folders,让你的文件夹四通八达
面向工程认证的机制专业工程图学(一)课程教学探索
西门子Operate高级编程的旋转坐标系二次开发
MASTERCAM工程图出图功能研究
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
不容忽视的空文件夹