Teamcenter中物料清单的二次开发研究

2017-05-22 12:30潘勇
科技视界 2017年4期
关键词:二次开发代码客户端

潘勇

【摘 要】本文分析了Teamcenter平台客户端二次开发的关键技术,对物料清单的二次开发进行研究,开发了BOM自动生成功能模塊,使之能自动生成符合企业需求的BOM,并与Teamcenter平台无缝集成,保障产品BOM信息的一致性和规范性,提高企业产品数据管理效率及质量,并为将来BOM在企业各部门间的传递及转换打下坚实基础。

【关键词】产品生命周期管理;Teamcenter平台;二次开发;物料清单

【Abstract】The paper analyzes and illustrates the key technology of application development in Teamcenter platform client, and application development of BOM functions is studied, developed BOM automatic generation function module, it can automatically generate BOM, this function can count up the data to meet the requirements, and embedded Teamcenter platform. It ensures the consistency and normative of the BOM information, and improves the efficiency and quality of product data management, and lay a solid foundation for the transfer and transformation of BOM in different departments in the future.

【Key words】PLM; Teamcenter platform; application development; Bill of Materials(BOM)

0 引言

随着人们对单一数据源认识度的提升,产品研制人员逐步发现了产品研制阶段各个环节之间数据关联的重要性,产品全生命周期管理(Product Lifecycle Management,PLM)也孕育而生。PLM系统是覆盖了从产品诞生到消亡的产品全过程的、开放的、互操作的一整套应用方案[1]。PLM系统不仅仅是一套软件、一个系统,更是一种先进的管理思想,迎合了目前国内众多企业消灭蓝图或纸质工程图,规范基础数据,共享产品数据,为企业实施和推广智能制造打下扎实的基础。

物料清单(Bill?of?Materials,BOM)是构成一个物料项的所有子物料项的清单,其主要目的是体现产品结构和产品配置,用来反映产品零部件之间装配的层次关系及相关属性,是PLM、ERP 等信息化系统中最重要的基础数据之一,贯穿于整个设计、制造过程[2]。

Teamcenter平台软件是当前主流的PLM系统软件之一,尽管它的BOM管理功能非常强大,但每个企业的实际状况及需求都不一样,因此,二次开发是PLM系统实施过程中必不可少的一个环节。本文通过基于Teamcenter的客户端二次开发的方法,来解决这些企业特定需求,同时也为后续基于Teamcenter平台的二次开发提供借鉴。

1 BOM的结构和特点及企业BOM管理现状分析

1.1 BOM结构和特点

BOM用来描述产品零部件组成和零部件之间的相互关系,以及每个部件所需要的各子部件的数量,是制造企业中最重要的产品数据之一[3]。BOM是一种树型结构,称为产品结构树,如图1所示。利用这些数据之间的层次关系,可以生成不同形式、格式和结构的物料清单,以满足不同类型的应用需求。

产品BOM 是PLM、ERP 等信息化系统中最重要的基础数据,是各系统之间信息共享和集成的关键数据之一。产品BOM首先产生于产品设计阶段,贯穿于整个产品生命周期,从产品研发一直到售后服务、报废终止使用。合理规划及管理各部门的BOM,是实现产品全局数据统一的基础,是企业实现制造信息化的前提[4]。

1.2 企业BOM管理现状分析

BOM的准确性、有效性,不同形式BOM之间的一致性,BOM的更新等一直是制造企业产品数据管理中的难题。主要表现在:(1)手工创建及维护BOM,缺乏BOM表的自动生成等基本功能,各部门经常投入大量的人力、物力管理BOM;(2)各种BOM都是以Excel文件的形式,杂乱无序地存在于不同部门的计算机系统中,彼此之间缺乏必要的关联,以至于无法在一个部门获取准确的、最新的及有效的产品BOM,也无法保证这些数据能在整个企业范围内得到充分的共享;(3)产品数据管理基础薄弱,业务流程管理不够规范,部门职责不清,无明确的职能部门管理及维护BOM,等等。

2 Teamcenter客户端BOM二次开发

Teamcenter 平台的二次开发分为客户端和服务器端两部分,客户端的二次开发应用Java 语言,服务器端的二次开发采用集成工具包(Integrated Tool Kit,ITK)和C 语言。本文采用Java 语言,基于Eclipse平台进行插件开发,主要包括开发环境的设置、注册程序、菜单定制、调用模板、BOM生成及导出等操作[5]。

2.1 获取Teamcenter中的应用程序

获取Teamcenter中的应用程序,即结构管理器(PSE)应用程序,代码如下:

2.2 获取PSE中的BOMLine对象

在获取结构管理器及TCSession 之后,可以根据PSE获取需要的BOMLine,一般情况下有两种获取BOMLine 的选择方式,一种是直接在代码中获取PSE中首行BOMLine,再根据算法来获取所需要的BOMLine,代码如下:

另一种是获取选中的BOMLine行,让后遍历其子零部件,代码如下:

2.3 獲取零/部件的属性信息

BOM生成的主要步骤:1)获取PSE中BOMLine属性,这是BOMLine的固有属性,如“bl_quantity”表明当前BOMLine对象的数量,这些在PSE中可以进行添加或者修改;2)获取BOMLine所对应的零/部件版本(Item Revision)本身的属性,如企业定制的图号“z4_DrawingNo”等属性,这些信息可以通过getStringProperty()等方法获得。代码如下:

这样,BOM生成过程中所需要的信息分别通过不同的办法进行获取,满足了进行BOM生成的需要。

2.4 遍历PSE中所有零部件

BOM生成需要遍历产品的整个产品树结构,所以需要遍历PSE中的所有零部件,其代码的基本思路如下:

(1)首先获取顶层装配的下一层(定义为第二层)的所有子对象,将其存放在数组bomlines[]中;

(2)使用if条件语句,判断第二层中的所有子对象是否还有子零件,若有则重新调用(1)中的方法获取其结构;

(3)依此类推,直至获取整个装配结构。

2.5 调用Excel模板,并将零/部件属性信息写入模板中

根据企业的实际需求,定制特有的BOM模板,调用模板并将值写入文件中。代码如下:

2.6 把BOM保存至顶层或选定对象版本下

为了BOM数据统一管理及维护,需要将所生产的BOM,添加到Bomline对应的对象下,跟随对象一起进行审签、发布及变更等。具体代码如下:

2.7 保存后打开BOM

为了方便快速查看,在完成添加后,打开已生成的BOM。

3 应用实例

3.1 BOM生成过程

在实际应用中,需要将BOM以Excel格式输出,并自动加载到相应的零部件版本下,与零部件的三维模型、二维工程图等数据一下完成审签流程,最终发布。在Teamcenter中BOM生成的流程如图2所示。

3.2 Teamcenter中实现

笔者参与了公司PLM系统的建设,以Teamcenter8.3、NX8.5 为软件平台,数据库为Oracle,以Eclipse4.3、JDK1.7为开发环境,应用Java语言进行BOM二次开发。

BOM生成的过程如下:

(1)启动Teamcenter,集成环境下启动NX设计软件,开始设计工作;

(2)零部件设计完成后,将其顶层部件发送到Teamcenter结构管理器中,BOM生成菜单界面如图3所示:

(3)通过菜单,自动生成BOM,并将BOM 以Excel 格式输出。如下图4所示:

(4)通过二次开发,将生成的BOM加载到相应的零部件版本下(如下图5所示),与零部件一起完成审签流程,并实现自动电子签字,保证了BOM的有效性,精确性。将来若产品结构发生变更,则只需再次生成BOM,即可更新BOM。且可通过Teamcenter自带的BOM功能,进行两次BOM结构的比较,快速找到不同点。

4 结语

本文主要探讨了企业BOM管理问题,介绍了Teamcenter二次开发的有关技术,以及基于该平台BOM二次开发的详细方法,此功能已成功应用于企业,满足了企业对产品数据管理的需求,极大地提高企业的效率,为该企业的产品数据的统一有序管理打下了坚实的基础。

【参考文献】

[1]张隽,翟正军.基于单一产品数据源的复杂产品设计制造协同技术研究[J].微电子学与计算机,2009(03).

[2]杨承启.PDM中有关BOM的研究及其应用[J].电子机械工程,2004(02).

[3]黄夫理,朱文华,叶振宇,鲁刚.Teamcenter中的BOM生成算法研究[J].现代制造工程,2012(10).

[4]堵士俊,吉卫喜,孙斌,钱德成.BOM的存储结构与遍历算法的优化及实现[J]. 计算机系统应用,2015(03).

[5]吴思达,周传宏.Teamcenter二次开发中PSE产品结构的获取及自动排序功能的实现[J].计算机工程与科学,2008(08).

[责任编辑:朱丽娜]

猜你喜欢
二次开发代码客户端
浅谈基于Revit平台的二次开发
浅谈Mastercam后处理器的二次开发
创世代码
创世代码
创世代码
创世代码
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
西门子Easy Screen对倒棱机床界面二次开发