基于UML的CAD与PDM系统集成方法的研究与实现摘要:本文分析了现阶段中小企业对CAD与PDM系统集成的需求,结合自主开发的Candel-PDM系统,使用基于UML语言的数据映射方法,对两系统的集成进行建模与实现。通过实例验证了该方法的可行性,体现了该方法数据流向清晰、易于修改维护的特点。关键词:集成;UML;数据映射中图分类号:TP311+.5文献标识码:A0前言随着市场竞争的日趋激烈,当今的制造业面临巨大的挑战,这一点在中小型制造企业中更为突出。信息技术的运用成为中小型企业在竞争中获胜的重要因素。CAD系统与PDM系统在制造型企业已经得到了广泛的应用。但由于不同的开发者造成的这两个系统的相互独立阻碍了企业生产力的进一步提高。因此CAD系统与PDA系统的集成成为关系到制造业发展的重要课题。由于AutoCAD软件已成为制造业内常用的CAD软件,本文针对中小企业现阶段需求,结合自主开发的Candel-PDM系统,运用UML语言对二者的集成进行建模并完成了初步的实现。1集成需求与集成方法制造型企业产品开发会产生大量的图纸和相关文档,PDM系统可以方便企业管理产品结构和相关文件,并为企业产品开发过程提供方便。本课题组自主开发的Candel-PDM系统主要由产品配置管理、图文档资源管理、项目管理、用户管理、工作流管理等模块组成,已具备了中小型企业日常生产所需功能。1.1集成需求PDM是在产品生命周期中帮助开发者管理产品数据和产品开发过程的工具。虽然PDM有效地解决了产品开发过程中产品信息管理的实际问题,但对于大量已有图纸和文件的相关信息的查询和归档却是一个棘手的问题,CAD系统产生的不只是几何图形数据,还具有很多产品结构数据,而产品结构数据管理也是PDM系统的主要功能。必须解决已有图纸文件信息方便快捷的输入PDM数据库,才能为企业以后的产品开发提供支持,从而更好的发挥PDM系统的优势。原始手工录入的方式工作量太大,显然不能解决实际问题。因此对图纸文件的标题栏和明细栏以及相关文件信息的提取和编辑成为AutoCAD与PDM系统集成的首要问题。1.2集成方法CAD与PDM系统按照集成等级的划分,存在多种集成方式。下列因素决定了集成的类型。1.数据集成(1)手工二次录入数据(2)利用文件交换数据(3)数据自动更新的各自独立数据库(4)共享数据库2.用户界面集成(1)PDM系统可识别CAD文件并且能够调用CAD系统(2)通过CAD系统菜单调用PDM功能(3)独立于CAD与PDM系统的新界面(4)紧密集成界面封装紧密集成STEP接口DWG接口手工重新录入文件I/O自动更新数据库共享数据库数据集成点击调用功能菜单独立界面集成界面用户界面集成图1CAD与PDM系统集成方式Fig.1IntegrationplaneofCADandPDMsystems集成的程度取决于数据和用户界面,图1的X轴表示数据集成的等级,Y轴表示用户界面集成的等级,直观的显示了CAD与PDM系统集成的级别。CIM中定义了三种CAD与PDM系统集成的方式:紧密集成,接口方式,封装方式[1]。紧密集成方式具备了完整的产品数据自动转换功能,并且两个系统的完整功能都可在其中一个系统中进行调用。接口形式是指PDM和CAD系统再无用户干涉的情况下进行文件转换。封装形式是指PDM系统能够识别CAD系统的文件,并且能够调用CAD应用程序。三种集成方式在图1中都有显示。其中STEP(standardfortheexchangeofproductmodeldata)接口是基于STEP标准的。DWG接口是Autodesk公司提供的AutoCAD软件与其它应用程序集成的软件接口。集成系统的开放性取决于是否基于标准建立。通常情况下一个PDM系统只支持特定的CAD系统,如果接口基于STEP标准,则可以集成所有支持此标准的CAD系统。而集成程度越高,易用性也就越强。但这都会带来成本的增高。如何选择适当的集成等级应该由用户需求和成本来决定。本文依据中小企业的需求,针对AutoCAD系统,选取DWG接口的集成方式。2集成建模要将CAD系统和PDM系统进行集成,需要开发一个数据转换模块,并且应该首先定义各自系统集成模型间的数据映射。任何一种映射方法都不是万能的,因此在相互独立的系统间映射数据需要具备柔性和通用性的映射方法。2.1DWG文件的格式分析DWG文件是AutoCAD用来存储其最终图形产品的二进制文件,它是由文件头、实体段、块表段、层表段、字型表段、线型表段、视图表段、图块段组成的[2]。图纸标题栏和明细栏的有效信息一般都是文本信息,在DWG文件中,文本信息都是以文本对象或属性对象的形式存在,其中文本对象又分为单行文本(Text)对象和多行文本(Mtext)对象。标题栏和明细栏提取的实现方法主要有:基于OpenDWG技术图纸数据提取、使用ActiveXAutomation技术的自动提取、基于ObjectARX技术在AutoCAD后台数据库中自动提取等几种[3][4][5]。2.2UML映射图系统集成建模领域存在多种不同的映射方法。一个完整的映射符需要在概念层定义数据的映射,为两个模型间提供描述数据通信的方法。映射定义完成以后,还需要在执行层实现数据转换。图2描述了一般映射问题的体系结构。模型1模型2数据1数据2数据转换模块?概念层执行层模型化执行模型化数据转换数据转换图2一般映射问题结构图Fig.2AgeneralmappingproblemMappingNameTarget=SourceTarget=operation(Source)名称栏属性栏操作栏图3UML映射图Fig.3UMLmappingdiagram本文所用的UML映射图外观跟类视图一样。图3显示了映射图的结构,它是由三栏组成的矩形图表。顶部的第一栏是名称栏,存放的是映射名称。中间一栏是属性栏,存放的是一对一或一对多的映射关系。底部的是操作栏,存放的是映射操作表,每个条目都是独立的运算法则。UML映射图和UML类图结合用来指导数据转换模块的开发。AutoCAD图纸表示UML映射图PDM类UML类图数据转换模块DWG文件PDM类实例映射规划数据转换输入输出图4基于UML的映射方法Fig.4UML-basedmappingmethodology在AutoCAD和PDM系统之间基于UML的数据映射方法如图4所示。参照图2的一般映射问题,映射规划在概念层,数据转换在执行层。概念层和执行层的分离,使得数据模型和执行方法是分离的。基于文件格式的映射方法也可以应用的共享数据库的映射方法。要完成CAD与PDM系统的产品数据映射,首DWG文件UML映射图Candel-PDMProductTreePartFileAttributePartAttributeRelationShipPartRelatiomFileRelatiomPartDrawingCode=idPartName=nameRelationSubPartDrawingCode=idSubPartName=nameProductDrawingNumbercompartmentNamecompartmentidnameListBarSubPart_informatiomnameidofproduct图5DWG文件与PDM的映射Fig.5DWGandPDMmapping先要定义映射图的概念层。本文中使用自主开发的Candel-PDM作为PDM系统。Candel-PDM通过产品结构管理模块来管理产品数据结构以及BOM信息。该模块是由几个相关功能类实现的,PartAttribute和FileAttribute是管理零件属性信息和相关文档信息的类,PartRelation和FileRelation是管理产品结构和相关文档结构的类。图5显示了DWG文件与Candel-PDM相关类之间基于UML的数据映射结构。DWG文件的图号栏和名称栏属性信息各自对应映射到Candel-PDM中FileAttribute类和PartAttribute类的DrawingCode和PartName属性信息,零件节点信息映射完成。DWG文件的明细栏中零件名和图号信息对应映射到PartRelation类和FileRelation类中的SubPartName和SubPartDrawingCode属性信息,子节点信息映射完成。3集成的实现针对设计人员的AutoCAD主程序总是在开启状态的习惯,结合集成过程中要求的准确性,我们选用ActiveXAutomation作为开发工具,实现从DWG文件中读取信息。如图6所示,打开AutoCAD文件以后由用户点取输入标题栏和明细栏的位置范围,然后在范围空间内搜索所有“AcDbText”或“AcDbMText”类型的对象,查找位置落在标题栏、明细栏位置范围的文本信息,再通过相应的数据映射关系保存到PDM数据库中对应的位置,最后由PDM系统从数据库中读取信息,实现集成的操作。图7中显示的是从DWG文件的标题栏和明细栏中提取出来的信息,这些信息通过映射存放到PDM数据库表的相应位置中。通过对比AutoCAD标题栏明细栏数据与存入数据库数据可知,该方法可以准确地提取数据。图6AutoCAD中标题栏和明细表信息Fig.6InformationoflistandtitleinAutoCAD图7提取出的标题栏和明细栏信息Fig.7Informationoftitlebarandlistgained图8自动生成的产品结构树Fig.8Productstructuretreeofautomaticbuilt由于DWG相关数据已经存放到PDM的数据库中,PDM只需根据数据库的改动检索并生成新的产品结构树和相关产品、零部件的属性即可生成新的产品结构树和相关属性列表。图8显示的是PDM读取相应信息后由DWG文件自动生成的产品结构树。对照AutoCAD中的相关信息,可以看到该方法准确完整的实现了集成的需求。4结束语数据映射是集成过程中重要的环节,本文在自主开发的面向中小企业的PDM系统基础上,运用基于UML的数据映射方法,开发了AutoCAD与Candel-PDM系统的接口模块。该方法数据流向清晰,易于维护修改,完成的模块功能实用操作简单,符合现阶段中小企业发展的需要。同时基于UML的数据映射方法也对PDM系统与三维CAD系统的集成提供了建模的思路。由于三维CAD系统生成的文件结构复杂,零件装配信息庞大,在三维的CAD系统与PDM系统集成开发的过程中,可以更好的体现该方法通用性、清晰性的特点参考文献[1]MacKrellJ,Al-TimimiK.IntegratingPDMwithCADsystems,TheTutorialsProceedingsofPDMConference,LosAngeles,California,23±25April1997.[2]李贤兵,等.工程图纸标题栏信息自动提取方法的研究[J].计算机工程与设计,2005,25.[3]龚雄,等.OpenDWG技术在工程图管理中的应用[J].工程图学学报,2005,6.[4]杨百龙,等.基于ActiveXAutomation的DWG文件标题栏信息的自动提取[J].机械设计与制造,2000,1.[5]胡志超,DWG文件中字符串信息自动提取的研究[J].中国制造业信息化,2006,35.附:稿件基金项目广西科技厅科技攻关项目(桂科攻O33O005—2B)ResearchandImplementoftheUML-basedIntegrateMethodologybetweenCADandPDMsystemsAbstract:ThestudyanalysestherequirementofthemediumandsmallenterprisefortheintegrationbetweenCADandPDMsystematthepresentstage.BaseontheUMLmappingmethodology,wemodelinganddevelopeda