佳工机电网 在线工博会 我的佳工网 手机版 English
关键字  
  选择展区 >>
您的位置: 首页 > CAD/CAM/PDM/PLM展区 > PDM/PLM/CAPP展厅 > 产品库 > 技术论文 > 正文 产品库 会展 人才 帮助 | 注册 登录  
PDM/PLM/CAPP
 按行业筛选
 按产品筛选
查看本类全部文章
e展厅 产品库 最新动态 技术文章 企业目录 资料下载 视频/样本 反馈/论坛
  技术应用 | 基础知识 | 外刊文摘 | 业内专家 | 文章点评 投稿 发表科技文章 
Teamcenter二次开发中PSE产品结构的获取及自动排序功能的实现
作者:吴思达 周传宏
欢迎访问e展厅
展厅
3
PDM/PLM/CAPP展厅
图文档管理系统, CAPP...
1 引言

产品生命周期管理(Product Lifecycle Management,简称PLM)是覆盖了从产品诞生到消亡的产品全过程的、开放的、互操作的一整套应用方案[1]。PLM不仅仅只是一套软件、一个系统,更是一种先进的管理思想,使得当代企业能够面向客户市场,快速重组产品每个生命周期中的组织结构、业务过程和资源分配,从而能够使企业实现整体利益最大化。对实施PLM而言,由于各个企业的状况及要求都是不一样的,必须满足不同企业特殊的需要。因此,二次开发是PLM实施过程中必不可少的一个环节。

2 Teamcenter系统架构

Teamcenter原先是全球著名的软件咨询和服务公司UGS公司的产品,现被西门子收购。它是一个以产品为中心的、覆盖产品生命周期各种活动与数据的、基于Web协同的集成解决方案.Teamcenter Gngilleering 2005由四层架构组成,分别是:

(1)客户层:包括富客户端和瘦客户端,此层主要用于和用户进行信息交互。

(2)Web层:是一个运行在J2EE服务器(如事件服务器BEAWebLogic)上的一个Java应用程序,主要负责客户层和企业服务层信息的交换。

(3)企业服务层:包括一系列对Teamcenter服务和服务管理器进行配置的资源,此层主要用于向下连接并操纵数据库,向上为应用组件服务,如Web处理机制、API应用集成接口等。

(4)资源层:包括数据库、卷和文件管理系统,其中文件管理系统包括FMS和TCFS。

①Teamcenter File Management System(FMS)用于从富/瘦客户端及Teamcenter Visualization上/下载数据。

②Teamcenter File service(TCFS)提供各种与卷有关的服务。

Teamcenter的开发包括客户端和服务器端的开发:客户端的开发可以使用Java语言,而服务器端的开发可以通过集成开发工具ITK及C语言来实现。Teamcenter服务器端提供了丰富的配置工具。应尽量利用Teamcenter服务器端已有的功能,以减少开发量及避免因系统升级可能导致的程序废弃。基于以上考虑,本文将二次开发的重心放在客户端。

3 客户端开发环境的搭建

3.1 程序注册

Teamcenter Engineering客户端的二次开发分为注册程序与开发程序两个阶段。所谓注册程序,就是要在Teamcenter Engineering的程序组内增添程序人口。由于是在PSE的基础上添加一个新的功能菜单。因此可以通过在客户化程序包com\ugsolutions\iman\pse目录下新建一个名为pse_user.properties文件,在其中添加相应的注册程序,及建立相应的Java文件。具体注册内容如下:

(1)在pse_user.properties中注册功能菜单的Java文件名及路径。

com.ugsolutions.iman.pse.PSEApplication.MENUBAR=com.ugSolutions.iman.pse.HTPSEApplicationMenuBar

其中,HTPSEApplicationMenuBar为排序菜单的Java文件名。

(2)在pse_user.properties中注册排序子菜单名称和相应Java文件名及路径。

SortActiorn.NAME=BOM\u6392\u5e8f

SortAction=com.ht.pse.check.SortAction

其中,\u6392\u5e8f可以通过在DOS环境中输入native2ascii编译获得;SortAction为排序事件的Java文件名。

(3)新建相应的Java文件,HTPSEApplicationMenuBar.java用于在PSE菜单栏中添加一个父菜单及一个排序子菜单,程序全路径为com.ugsolution.iman.pse.HTPSEApplicationMenuBar;sortAction.java用于实现零组件在PSE中的排序,程序全路径为com.ht.pse.check.SortAction。新建的两个类所处的层次及调用关系如图2所示。

newmaker.com
二次开发程序类所处的层次

3.2 开发工具

程序注册后,接下来就需要对前述空壳源文件进行代码编写、调试及编译。所需要用的工具就是Java语言的编译环境,包括JDK或Eclipse这样的Java集成开发环境等。

4 装配结构获取及自动排序功能

每一个零组件的修订版下都有一张包含此零组件信息的属性表,根据企业的特殊要求,需要按各零组件修订版下属性表中的图号属性顺序输出报表。尽管Teamcenter的PSE具有很强大的功能,本身就能在PSE中对零组件按照其ltemID进行自动排序,或者可以通过手动改变Sequence No的值来调整产品结构。但是,由于企业的特殊要求,需要将装配件(包括总装配件下的所有子装配)下的所有零组件按其修订版下的属性表中的图号进行自动排序。因此,额外开发出一个专门的排序功能菜单以满足其要求。

在对产品结构进行排序前,首先要先获取其装配结构,本文采用递归算法来获取其装配结构,以及采用冒泡排序算法来对各子装配进行排序。以下以测试产品结构为例分别介绍程序实现的基本方法。

4.1 产品结构的获取

递归的含义是:为了描述问题的某一状态,需要用到它的上一状态;而描述上一状态,也必须用到它(指上一状态)的上一状态,这种用自己来定义自己的方法,称为递归定义。程序设计中,在调用一个函数的过程中又出现直接或间接调用函数本身,这称为递归调用[2]。

由于一个装配件下可能还存在着若干个子装配件,整个装配的层次依具体产品的不同而变化,因此不能用固定次数的循环来获取其整个产品结构,而使用递归算法很容易解决这个问题。程序的基本思路如下:

(1)首先定义一方法BOMSort(IMANComponentBOMLine Topline),用于获取顶层装配的下一层的所有子对象,如上罩、可控硅部件、后板组件和前板组件,将其存放在一数组中如childlist口,然后按其各自属性表中的图号屑性进行排序,有关排序在4.2节排序功能的实现中介绍。

(2)使用一循环程序分别判断上罩、可控硅部件、后板组件和前板组件下是否还有子装配:若有则重新调用BOMsort(IMANComponentBOMLine currentLine)方法获取其结构并对其子装配进行排序。

(3)依此类推,直至完成对整个装配件最底层子装配的排序,整个程序类似于X重循环,只是X(产品装配结构的层次)随着产品结构的不同而变化。在测试产品结构中,X为3,即最多为三层装配。递归算法获取装配结构的流程图如图所示。图中,X表示装配的层次,ix表示第X层装配下第i个零组件的序号,数组如childlistx[]用于存放位置为X层装配下的各个零组件。

newmaker.com
递归算法获取装配结构的流程图

4.2 排序功能的实现

在获取产品装配/子装配结构后,同时需要对其按照各、零组件修订版屑性表中的图号属性从小到大进行排序,即图号小的在前。本文采用冒泡排序算法对产品装配结构进行排序。冒泡排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止[3]。冒泡排序法可以通过一个固定的二重循环来实现,排序功能的流程图如图所示。图中,i、j表示要比较的零组件在数组childlistx[]中的序号.Size为数组childlistx[]的大小。

newmaker.com
排序功能流程图

本文实现了PSE产品结构的自动排序功能,满足了设计人员的特殊需求,避免了因手动排序带来的时间浪费及错误,提高了工作效率,为PLM系统在公司设计部门的全面推广铺平了道路,也是对Teamcenter Engineering原有功能的一个有力补充,也可以被其他PLM系统所借鉴。

参考文献:
[1] 凌卫青,严隽薇,王坚.面向PLM的产品数据管理技术及其工具分析[J].计算机工程,2005,31(24):1-3.
[2] 卢荣华,柳炳祥,余玉沽,等.递归与循环算法分析[J].电脑知识与技术。2005(12):151-154.
[3] 李好,王永强.冒泡排序算法的分析与改进[J].唐山学院学报,2006,19(4):102-103.
[4] 赖朝安.IMAN的二次开发关键技术[J].计算机工程与应用。2001,37(24):25-26.(end)
文章内容仅供参考 (投稿) (如果您是本文作者,请点击此处) (4/28/2009)
查看更多PDM/PLM/CAPP相关文章: more
·产品数字化定义中的技术状态标识 韩志忠 胡秦赣 吕保良 (4/23/2009)
·面向大批量定制的船舶辅机设计制造一体化集成技术研究 陈超 唐文献 (4/23/2009)
·从集成角度分析PLM解决方案两大类别 newmaker (4/22/2009)
·制造企业通过信息化压缩成本中心 (4/21/2009)
·PDM选型:影响选型的“人情世故”要素 newmaker (4/19/2009)
·利用信息技术提升模具设计效率 北京比亚迪汽车模具有限公司 佟振宇 (4/17/2009)
·实现企业健康发展:利用PLM减少生产废品和返工的四个步骤 (4/14/2009)
·基于SolidWorks的深孔件冷挤压工艺设计 (4/12/2009)
·PDM与ERP之间信息集成的实现方法 乔立红 张毅柱 (3/22/2009)
·PLM项目执行与控制阶段 非知之艰,行之维艰 newmaker (3/12/2009)
查看相关文章目录:
·CAD/CAM/PDM/PLM展区 > PDM/PLM/CAPP展厅 > PDM/PLM/CAPP文章
文章点评 查看全部点评 投稿 进入贴吧


对 PDM/PLM/CAPP 有何见解?请到 PDM/PLM/CAPP论坛 畅所欲言吧!


网站简介 | 企业会员服务 | 广告服务 | 服务条款 | English | Showsbee | 会员登录  
© 1999-2024 newmaker.com. 佳工机电网·嘉工科技