PDM实现集成的方法及举例
作者:2013/9/17 6:59:35

实现应用系统与PDM集成的体系结构如图7-3所示。

图7-3 基于PDM应用集成的体系结构

 

实现集成的方法

实现应用系统与PDM系统的有效集成,首先,要分析清楚应用系统的结构、功能、产生的数据类型与操作方式;其次,要明确该应用系统在整个信息系统,中的作用与地位,向其他应用系统提供什么信息,从其他应用系统获取什么信息,这些信息的存储形式是什么,应用系统与PDM集成可能达到的层次等。基于上述分析,构造应用集成的局域模型,并把局域模型集成到PDM系统的全局数据模型中去,得到一个能够支持该应用系统的扩展的PDM全局数据模。

 

构造应用集成局域模型的步骤如下:

    ①分析应用系统的结构和功能,扩展应用工具类的定义,实现对应用系统本身的管理。一般应用系统都是***的、完整的系统,有自身的操作界面,系统在统一界面控制下完成自己的工作;而另外一些应用系统所具有的各个功能模块.除了数据输入输出有关联外,各模块行为完全***,互不相关。因此,在集成这两种应用系统时,应用工具类的定义是不完全相同的。

 

    ②分析应用系统产生的数据对象以及与其他应用系统共享的数据对象,定义数据对象的描述属性以及数据对象的操作行为,扩展相应的数据模型。

 

③分析应用系统数据对象之间存在的关系,并分析这些数据对象属于哪个应用管理领域,确定数据对象应该插人到PDM系统类树的哪一个父类下。在此基础上,分析这些不同对象之间的关系类的属性和行为,修改和完善PDM系统的全局数据模型,包括属性的扩展以及

方法的增加等。

 

    ④扩展用户界面,增加新的菜单项和对话框。

    ⑤对于更高层次的集成,如接***换和紧密集成,往往涉及更深层的数据模型的定义,需要对PDM系统与应用系统双方的数据模型进行转换和关联约束处理,并使用双方的开发工具。以保证其数据的一致性。

 

    下面以我国高华公司的二维CAD系统GHCAD与国外PDM系统Metaphase的应用封装为例,说明上述方法。

 

GHCAD与PDM集成的需求分析

    GHCAD是一个二维CAD绘图软件,它与PDM集成的主要日的是对其产生的图形文件在PDM中实现有效管理。GHCAD本身是一个***的应用软件,它产生的图形文件有*. dwg, * . dxf , *. dwd三种类型,前两种是二维绘图中的通用图形格式文件,后一种是该系统自定义的、内部使用的格式文件。由于集成只涉及图形文件的管理.所以集成的层次***在应用封装较为合适。

 

GHCAD集成数据模型的建立

1.工具类和数据文件类的定义

    GHCAD与Metaphase集成需定义两个数据模型,如图7-4所示。一是对应用工具类的扩展,把GHCAD定义成GheadTool类,并插人到Meta-phase的Tool类下。成为它的子类;二是对数据文件类的扩展,把(GHCAD产生的图形文件定义成GhcadData类,并插人到Metaphase的ToolData类下面,成为其子类。同样,将GHCAD产生的数据文件类GhcadDwg, GhcadDxf及GhcadDwd插人到GhcadData类下。成为其子类。

 

2.工具类和数据文件类的行为操作定义

    行为操作定义因系统不同而不同,如工具的***、应用数据文件的编辑、工艺文件信息的输出等。这里仅给出了***应用工具的场景图,如图7-5所示。图中列出了***应用工具时的8个行为操作的数。

图7-4 应用封装的工具和数据文件类定义

 

图7-5***应用工具的场景图

 

应用封装的实现

    基于Metaphase的开发环境,实现应用封装的基本过程如图7-6所示。Metaphase提供了面向对象的MODeL语言和C语言函数,用它们来定义相应的类及其属性以及在类和对象之上的消息和方法。其具体内容有:定义应用工具类,增加和修改操作工具的方法,建立工具类与相关消息、方法、服务器之间的关系,实例化被封装的应用工具类,定义应用输出数据类等,然后通过编译生成相应的客户机/服务器程序,并把该模块集成到PDM系统中。

 

图7-6 基于Metaphase的应用封装的实现过程

 

(1)定义GHCAD应用工具类

define instantiable GhcadTool with parent Tool;

{

leonFamilyC-“ghead”;            //图标属性

DcfaultCommandC=“Rhead”;         //黙认命令属性

    (2)增加和修改GHCAD的操作方法

    为了实现GHCAD应用封装的基本要求,需要在查询工具类得到Ghcad-Tool工具对象后,***该应用工具。为此,需要增加和修改以下几个方法:

 

    ①根据用户输入的路径***应用工具,并跟踪工作目录下数据文件的变化:

    class message GhcadTool:DoLauch (input: string toolClassName,

                                              NULL  ObjecrPtr toolObj::

                                      update: NULL   ObjectPtr tooloo::

                                      inPur:  ObjectPtr  dialogObj::

                                      outPut: integer    *mfail);

    ②验证是否可以***应用工具:

    class message GheadTool:ValidateForLaunch(inpur: string className,

                                                      NULL  ObjecrPtr toolObj::

                                              update: NULL   ObjectPtr tooloo::

                                              inPur:  ObjectPtr  dialogObj::

                                              outPut: integer    *mfail);

③从应用产生的数据***应用工具(这种情况适用于直接编辑该应用数据):

    message PdmRoot:ValidareLaunchWithGhead(input:ObjectPtr this,

                                                      NULL  ObjecrPtr toolObj::

                                              update: NULL   ObjectPtr itemObj::

                                              outPut: integer    *mfail);

    ④双击应用工具图标***应用工具:

    message GheadTool:OPen(update:ObjectPtr this::

                            outPut:integer    *mfail);

    (3)建立类与消息、方法、服务器之间的关系

    define server usersvr;        //usersvr为用户自定义服务器名

    attaeh class message  DoLaunch to GheadTool in server usersvr;

    attaeh class message ValidateForLaunch to GhcadTool in server usersvr;

    attaeh message Open to GhcadTcol in server usersvr;

    atraeh message ValidateLaunchWithGhcad to PdmRoot in server usersvr;

    (4)实例化GheadTool应用工具类

    当定义了GhcadTool应用工具类后,需要实例化该工具类,对其相关属性进行赋值。

      class GheadTool

{

        ToolName=‘GhcadTool’;

        Application=‘GhcadTool’;

        Command=‘ghcad’;

  }

   Commit;

    完成上述几部分定义后,再利用MetaPhase的编译环境进行相应编译,***后得到图7-7右下角所示ghcad图标。

图7-7集成到 Metaphase中的应用工共实例GHCAD

本文由:http://www.pdm.so 英泰PDM发布,转载请声明

商户名称:上海御云信息科技有限公司

版权所有©2025 产品网