3 清单汇总程序开发
3.1 界面设计
由于清单汇总涉及到父物料与子物料的多行并存显示,所以采用窗体分割方式加以总体处理,整个程序界面如图2所示。其主要特点如下:
① 为满足我公司的实际需要,全新设计表格模式HT_PartTableModel,用以表达零件属性;
② 用JComboBox 切换“单层汇总”和“所有层汇总”两种模式,方便地实现了单BOM的所有层汇总、多BOM的单层汇总、多BOM的所有层汇总;
③ 用JTabbedPane表达“子物料清单”和“汇总信息”两部分,其中“汇总信息”一屏用以显示差异BOM与母BOM汇总后的回收子物料(数量为负的子物料)、零子物料(数量为0的子物料)的统计信息和具体零件编码,免除了设计人员的人工校对。

图2. 清单汇总功能的程序界面及应用实例
3.2 系统流程
系统运行后的整个流程如下图3所示:其中“物料类型”一项是我公司的自定义零件属性之一,用“普通”来表达需要进出仓的实际零部件,“虚项”表达只用于指导装配的虚拟组件(无须进出仓)。所以在所有层汇总过程中,“虚项”类型的零件本身不被汇总,而它下面挂的子物料则要被搜索出来加以汇总,这一过程叠代进行,直至最底层全为“普通”类型为止。

图3. 系统流程图
3.3 辅助功能开发
在实际应用中,往往需要将BOM表输出或加以打印。然而,Teamcenter Engineering中PSE应用程序自带的HTML、文本或图形等几种输出或打印方式,效果均不理想。所以在“清单汇总”功能中,开发了拷贝BOM行(Excel格式)功能,即:点击该功能按钮后,整个BOM按照特定格式进入系列剪贴板,可以被粘贴到Excel文件或其它文本中。同时也开发了“打印BOM”功能,可以将BOM按照“所见即所得”方式打印出来。

图4. BOM输出等辅助功能的调用
另外,针对单个子物料的属性输出,还开发了“点击即拷贝”功能。也就是说,单击某一物料的“物料编码”、“物料名称”等各属性项,就可以将相应表格中的数据直接粘贴到其它文档中;单击零件的“序号” 项,可以将相应零件所有的属性项粘贴到其它文档中。上述辅助功能的开发为提高工作效率、避免文字输入出错带来了很大的便利。
4 结论
本文通过对Teamcenter Engineering V9.1系统的客户端进行二次开发,实现了清单汇总及一些辅助功能。这些功能在我公司均已得到一年多的实际应用,满足了设计人员的特殊需求,为PDM系统在公司设计部门的全面推广铺平了道路;同时也是对Teamcenter Engineering原有功能的一个有力补充。文中提供的实施思路和方法已得到实践验证,能为其它用户进行客户化开发时所借鉴。