Teamcenter Engineering中清单汇总功能的二次功能实现
2006/8/22 来源:e-works 作者:叶成刚;钱斌;陶杰

    核心提示:Teamcenter Engineering处理BOM方面虽然功能强大,但缺乏我公司设计人员需要的清单汇总及部分辅助功能。本文详细阐述了这些新功能的开发过程、方法和环境,为Teamcenter Engineering客户端的开发提供了完整的实施思路。

    1 前言

    美国UGS公司的Teamcenter Engineering是一套成熟的商品化PDM软件系统,该系统采用了C/S结构,其客户端及服务器端均能够进行二次开发以满足用户的特殊需求。其中,客户端是用JAVA语言开发的用户界面层,同样它的二次开发也使用JAVA语言;服务器端的二次开发则要利用ITK工具包及C语言,ITK实质上就是一套经过封装的C语言程序集[1]。由于Teamcenter Engineering版本的升级可能导致所开发程序需要改写并重新编译,所以二次开发的原则是尽可能利用Teamcenter Engineering已有的功能,减少二次开发量。基于此,二次开发的重心应放在客户端,而服务器端的已有功能则应尽量利用。

    我公司在实施Teamcenter Engineering之前,曾应用金蝶的K3系统管理零件编码(零件模型或图纸数据直接置于共享服务器上)。实施Teamcenter Engineering之后,发现新系统中找不到K3所具有的清单汇总功能,即对整机BOM或多个组件BOM按照零件编码进行单层或所有层的汇总显示方式。而在标准机基础上做客户化设计人员在做差异BOM校对时,对这一功能尤为倚重。另外,Teamcenter Engineering在BOM输出或打印方面,均没有非常合适的格式。

    所以,尽管Teamcenter Engineering中PSE程序处理BOM方面功能非常强大,但上述特殊需求的欠缺引起了少部分设计员应用中的抵触情绪,也影响了系统推广。为此,我们力图通过客户端二次开发的方法来解决这些特定需求,本文对这些功能的开发过程进行了详细阐述。本文的开发基于我公司目前应用的Teamcenter Engineering V9.1版本,对其它版本的开发同样具有借鉴意义。

    2 客户端开发环境搭建

    2.1 注册程序(Registry)

    Teamcenter Engineering客户端(Portal)的二次开发分为注册程序与开发程序两个阶段。对Portal开发而言,注册程序是一个至关重要的环节。所谓注册程序,就是要在Teamcenter Engineering的程序组内增添程序入口,用于启动新开发的程序。不论是二次开发,还是Portal自身的原开发,都是通过这一注册机制调用属性文件来定义应用程序的实现类(classes)、启动图标、本地化标题、搜索优先权等。

    注册程序的具体实现步骤如下:

    ① 运行实用程序(Utilities)组内的应用程序向导(Application Wizard),然后输入应用程序名称cllctbom;

    ② 通过点击选择的方法确定将程序装入IMAN组,即,使客户程序的按钮加入到该组(如有需要,也可在portal_user.properties中增加新组);

    ③ 输入客户程序的包名“com.haitian.technology.research.yechar”,系统将在选定目录下自动建立与包名对应的子目录,并在该子目录下自动生成六个空壳源文件:cllctbom.properties、cllctbom_user.properties、cllctbomApp.java、cllctbomAppMenuBar.java、cllctbomAppPanel.java、cllctbomAppToolBar.java。这些源文件正是后续开发程序阶段的起点,其中前两个文件是程序注册文件,在这两个文件内容发生冲突情况下,cllctbom_user.properties拥有更高的优先权;后四个应用类所处的层次及调用关系如下图1所示。

图1. 二次开发程序类所处层次与调用关系示意图

    ④ 上述过程完毕后,系统会在portal_user.properties中自动添加新程序的名称(TITLE)、图标(ICON)、会话(SESSION)等界面信息,此时可根据需要进行人工修改,如将名称改成中文“清单汇总”等。

    2.2 开发工具及环境搭建

    经过注册之后的新程序只是一个框架,并不能执行任何功能。程序开发阶段就是对前述空壳源文件进行代码编写、调试、编译的过程。所需要用的工具就是Java语言的编译环境,包括JDK或Jbuilder这样的JAVA集成开发环境(IDE)等。本文直接运用JDK1.3.1进行开发。

    1)环境变量设置

   ......点击查阅全文......↓