1 引言
CAD/CAPP/CAM系统经过多年的发展和在企业中的成功应用,已成为企业进行产品研发不可缺少的重要工具。但与此同时,产品开发过程中的研发数据和技术文档呈现出“信息爆炸”性的增长势头;另一方面,由于企业各部门使用不同的应用系统,这些系统之间缺乏有效的信息传递和转换,因而形成“信息孤岛”。因此,需要将这些相互独立的应用系统集成到—个总体框架中,将各个应用系统产生的数据信息,利用统一的信息平台集中管理起来,使企业的相关人员能够方便的查询和借用使用各个系统的数据。
产品数据管理(Product Data Management,PDM)系统正是最好的CAX系统集成的平台,在PDM与各CAX系统集成的过程中,因为CAD系统是所有数据信息的源头,而且实施要求比较高,尤其是三维CAD系统,所以PDM与三维CAD系统的集成是其中最关键的一环。为此,针对PDM与三维CAD系统的集成进行了研究,研究了PDM与应用系统集成的框架和系统集成的三种模式、集成的主要功能,提出了基于XML的双向系统集成实现方案,最后以实例证明了提出的集成方案的可行性。
2 基于PDM的应用系统集成框架
PDM系统是指以软件为基础,管理与产品相关的信息和相关过程的技术,它提供产品全生命周期的信息管理,并可在在企业范围内为产品设计和制造建立—个并行化的协作环境。由于PDM系统底层能支持异构软硬件平台,中间层能提供分布式信息管理、通讯服务以及支持应用集成的功能,所以PDM被看作是最好的CAX系统集成框架。基于PDM的异构应用系统集成框架,如图1所示。
图1 基于PDM的异构应用系统集成框架
3 PDM系统与CAD系统集成的三种模式
目前,根据系统集成的紧密程度,可以将PDM与CAD系统的集成分为封装、接口和紧密集成三种模式。
3.1 应用封装
所谓“封装”是指把对象的属性和操作方法同时封装在所定义的对象之中,隐藏对象的属性和实现细节,对外仅公开接口,用户看不到对象的内部结构,但可以通过调用程序的操作来使用对象,当程序设计改变一个对象类型的内部结构数据表达时,可以不改变在该对象类型上的任何操作程序。封装模式是一种最简单的集成模式,实现起来也比较简单。但是利用这种集成模式集成的两个系统不能互相操作彼此的内部数据,因而集成的功能是有限的,适合PDM与二维CAD的集成。
3.2 接口模式
接口模式是比封装更高层次的集成模式,适合PDM与三维CAD系统的集成。它根据两个应用系统所提供的API函数抽取各自所需的信息,然后转换成相互约定的格式来实现信息交换。在这种模式下,应用系统通过API函数访问系统的内部数据。接口模式集成的特点是,按应用系统与PDM系统间共享数据模型,通过数据接口,实现应用系统的部分数据对象自动创建到PDM系统环境中,或从PDM调用应用系统所需要的某些数据对象。
3.3 紧密集成
紧密集成模式是最高层次也是最难实现的集成方式。在这一层次中,三维CAD系统成了PDM系统的有机组成部分,它们之间不仅可以共享数据,还可以共享操作和服务。但对于紧密集成,实现起来比较复杂,一般只有软件供应商才能做到。
通过比较以上PDM与CAD集成的三种模式,采用接口模式研究PDM与三维CAD系统的集成。
4 PDM与三维CAD系统集成的主要功能
PDM于三维CAD系统集成功能包括两个方面的内容:一是在三维CAD系统中可以将设计完成的三维模型文档、二维工程图文档及其中包含的产品结构信息与属性信息通过集成接口一起提交到PDM系统中,并能在PDM中自动生成产品结构树;二是在PDM系统中可以将最新的产品结构关系及相关的文档通过接口导入到三维CAD系统中,并能通过三维CAD系统重新生成模型或驱动模型发生变更。为此,设计了以下系统集成功能:
4.1 CAD端向PDM端集成的功能
CAD端向PDM端的集成是指设计人员在CAD系统的设计环境中,可以将产品信息传递到PDM系统,并能直接操纵PDM系统的功能。一般包括文档的注册、检入、检出以及生成PDM端产品结构树等功能。PDM/CAD接口的核心任务是,将CAD用户的工作结果连同有关的业务对象和数据对象一起构建在PDM数据库模型中。为此,首先必须将零部件的模型或工程图在PDM系统中进行注册,这样才能在需要的时候找到合适的零部件模型或工程图,从而避免不必要的重复设计。注册功能是指在模型被检入到PDM系统之前,从PDM编码系统中取得零部件编码等信息,并生成零件相关的联系链。
文档检入是指在产品设计完成后,将产品的所有设计信息都载入到PDM中,或者是将检出修改后的文档重新载入PDM,从而实现文档的管理。文档的检出是指对于已经上传到PDM服务器上的CAD文件,因为需要修改,或者是在新产品设计过程中,可以拿来直接或者稍加修改就可以使用,可以将其下载到本地CAD环境中。撤销检出功能可将检出撤销,并返回最初检入的模型,它可作用于在使用模型中打开的对象,并在检出该对象后撤销对其进行的变更。生成PDM端产品结构树功能是PDM与三维CAD双向集成的核心功能,它是指接口程序能够从三维CAD装配文件中提取其中的结构层次信息、零部件属性信息,在PDM中自动生成产品结构树,并将相关的技术文档自动挂接到产品结构树上,从而从整体上对产品的结构与关联的文档进行管理,并能根据需要生成各级物料清单(Bill of Material,BOM)。此功能的工作流程,如图2所示。
图2 生成PDM端产品结构树功能的工作流程
PDM端向CAD端集成的功能是指在PDM系统中,可以直接加载/浏览/圈阅三维CAD模型及其工程图,可以直接启动CAD系统以及将PDM系统中的产产品结构信息和指向产品模型文档的指针导入CAD系统中,以在CAD系统中重新装配模型或进行变型设计。
5 基于XML的双向系统集成实现方案
实施PDM与CAD集成的目的就是要实现两者之间数据的共享,而要达到这种目的,关键就是我们开发们集成接口能实现信息在系统之间高效、正确的交换。三维CAD与PDM系统双向交换的数据主要包括2个方面:(1)产品结构数据和基本属性数据;(2)产品模型和工程图文档。对于后者,实现起来比较简单。关于第一种数据的变换,因为涉及到产品结构数据和属性数据的提取,所以是集成接口开发的重点。
可扩展标记语言(Extensible Markup Language,XMIL)是1998年W3C推荐的数据表示和交换标准,具有平台无关性、易移植性、可扩展性、自描述性等优点。XML本身是一种结构化的语言,能够清晰的表达零部件的装配、参数表等各种复杂的关系,而且它还具有开放性,可让一般使用者采用DOM解析技术分析XML的Schema或DTD获取文档组织结构,所以XML非常适合作为数具的中间层表示或数据传输的接口,用于结构系统或异构平台间的数据交换。基于此,就选用XML文件作为PDM与三维CAD系统集成过程中数据交换的中间文件。
此方案的原理图,如图3所示。PDM系统与三维CAD系统之间的信息集成主要采取双向接口的方式实现,即产品信息能从CAD系统将产品结构和零部件信息的变化反映到PDM系统中,也能从PDM系统进行反向映射。在双向集成中,通过应用API技术和COM组件技术,分别在PDM端和三维CAD端开发DLL插件程序,在每次启动系统时,插件程序可以自动加载。在数据交换接口两端的DLL插件程序主要有两个功能:一是根据各自系统的应用程序接口API对需要交换的信息进行提取,然后生成XML格式的数据交换文件;二是对从源系统获取的XML格式数据交换文件进行解析,生成目标系统可以读取的数据结构。在此集成方案中,还有一个组成部分,那就是消息事务处理器。消息事务处理器主要完成PDM'与三维CAD间消息的发送和接收。
图3 基于XML的PDM与三维CAD双向系统集成方案
利用提出的集成解决方案,实现了三维CAD软件SolidWorks和TiPDM系统的双向集成。
通过在CAD端和PDM端分别集成相应的功能,在CAD端实现了文档的注册、检入、检出,撤销检出以及产品结构树生成等功能,在PDM端发现了模型的加载、浏览、圈阅以及把产品结构导入到CAD系统等功能。SolidWorks端的系统集成功能菜单显示。
此集成实例证明了提出的集成方案的可行性,同时也为PDM与其他CAX软件的集成提供了参考。
7 结束语
目前,三维CAD系统和PDM系统已经在大量制造企业部署和实施,但是要想使他们都能发挥理想的作用,二者之间的集成问题必须能够得到解决。提出的采用接口交换模式,以XML文件作为数据交换中间文件的集成方案,经过实例论证,可以很好的实现PDM与三维CAD双向系统集成,为以后企业进行PDM与三维CAD系统的双向集成提供了参考。