PDM与SolidWorks接口式集成技术的研究与应用

  • 格式:pdf
  • 大小:1.01 MB
  • 文档页数:4

————————————————收稿日期:2008-09-26PDM 与Solid Works 接口式集成技术的研究与应用陈青松,廖照邦,黄余(重庆大学 机械工程学院,重庆 400030)摘要:近年来基于接口的集成模式在PDM 与Solid Works 集成中应用越来越广,而如何实现接口及接口实现的关键技术成为了研究热点。

通过比较和分析现今的数据库操作技术、文档上传技术以及COM 技术,提出了在现有VC++可视化集成开发环境中,基于ADO 、FTP 、COM 以及Solid Works API 来实现接口开发的技术模式。

最后由一个实例来演示通过COM 技术和Solid Works API 来实现接口对Solid Works 信息的提取,通过ADO 技术来实现接口将提取的信息导入PDM 并搭建产品的BOM 结构,通过FTP 技术来实现相关文档的上传,从而在整体上实现了基于接口的PDM 与Solid Works 的有效集成。

关键词:PDM ;Solid Works ;接口;集成中图分类号:TP391.72 文献标识码:A 文章编号:1006-0316 (2009) 01-0038-04The research and application of the integration-technology based on interface of PDM and Solid WorksCHEN Qing-song ,LIAO Zhao-bang ,HUANG Yu(Chongqing University ,Chongqing 400030,China)Abstract :In recent years, interface-based integrated model has been widely used in PDM and Solid Works for integration. How to turn it into reality and which kinds of key technology are needed also have been the hot topic among many people. This paper proposes a way to fulfill this kind of model under the existed visual integrated development environment VC++ based on ADO, FTP, COM and Solid Works API by comparing and analyzing the current database operating technique, the current document transferring technique and the COM technique. At last, an example will be shown to you illustrating the interface extracts the information from Solid Works by the way of COM technique and Solid Works API , realize the process of leading the extracted information into PDM and building up products’ BOM structure by means of ADO technology and transfers some related documents by virtue of FTP technique. Then, the effective integration of PDM and Solid Works based on interface can be reached on the whole.Key words :PDM ;Solid Works ;interface ;integrationPDM (产品数据管理)是一种管理与产品相关信息(包括电子文档,数据库记录等)和所有与产品有关的过程(包括审签、变更等)的技术。

它能有效地集成CAD 、CAE 、CAM 、CAPP 等异构系统,并可在企业范围内为产品设计和制造建立一个并行化的写作环境。

Solid Works 是一款基于Windows 平台的功能强大的三维机械绘图软件,在企业中得到了广泛的应用。

为使PDM 能有效管理Solid Works 的设计信息,要根据不同企业需求实现PDM 和SolidWorks 的集成。

本文讨论了通过接口来实现这种集成的关键技术及其应用。

1 接口式集成的特点这种集成方式要求程序员编写接口程序,利用Solid Works 提供的API 函数直接获取产品内部零部件之间的装配层次关系及零部件的基本设计信息,通过处理后再传到PDM 端,自动加入到PDM 中的BOM 表,并存储到PDM 数据库中。

这种方式的集成度和自动化程度较高,数据读写速度也较快。

2 接口开发工具凡支持OLE(Object Linking and Embedding,对象连接与嵌入)和COM(Component Object Model,组建对象模型)的编程语言都可以作为Solid Works接口的开发工具。

比较流行的开发工具有:Delphi、C、C++、VC++、VB、VC++.net及 等,开发者根据自身条件及工具特点来选择一种或几种开发工具对Solid Works进行接口开发。

VC++ 6.0是Microsoft推出的应用非常广泛的可视化编程语言,提供了功能强大的集成开发环境,本文就是采用VC++ 6.0进行接口的开发。

3 接口开发相关技术和方法3.1 COM(组建对象模型)COM是一种组件开发技术,它建立了一个组件模块同另一个组件模块的连接,当这种连接建立后,两个模块之间就可以通过接口来进行通讯。

COM组件是遵循COM规范编写、以Win32动态链接库(DLL)或可执行文件(EXE)的形式发布的可执行二进制代码。

由于Solid Works本身是VC所编写的,所以使用VC语言通过COM接口开发,可以实现对Solid Works底层的开发,并且代码执行的效率高。

通过VC编写基于COM的动态连接库DLL,能直接在Solid Works的界面下添加菜单、工具条等。

这种DLL经注册即可成为Solid Works的插件,实现与Solid Works的无缝集成。

本文所论述的接口正是通过基于COM的DLL来实现接口与Solid Works的无缝集成。

3.2 DLL(动态连接库)DLL(Dynamic Linkable Library)文件,由全局数据、服务函数和资源组成,在需要时才被加载到运行的进程(EXE程序)中去,这样不仅减少了EXE 文件大小、还减少了EXE程序对内存空间的需求。

MFC中共有三类DLL。

①Non-MFC DLL:指的是不用MFC的类结构,直接用于C语言写的DLL,其输出函数一般用的是标准C接口,并能用被非MFC或MFC编写的应用程序所调用。

②Regular DLL:使用MFC类库编写的,明显特点是在资源文件里有一个继承CWinApp的类。

该类DLL又分为静态连接到MFC和动态连接到MFC,静态连接到MFC的规则DLL只被VC的专业版和企业版所支持,动态连接到MFC的规则DLL里的输出函数可以被任意Win32程序使用。

③Extension DLL:用来实现从MFC所继承下来的类的重新利用,也就是说,用这种类型的动态连接库,可以用来输出一个从MFC所继承下来的类。

它输出的函数仅可以被使用MFC且动态链接到MFC的应用程序使用。

本文所论述接口使用的辅助DLL就是一种动态连接到MFC的规则DLL,通过这个DLL实现了接口与PDM的集成。

3.3 数据库访问技术在集成接口开发中一个重要的技术环节就是采用数据库技术,完成诸如查询、排序、增删记录等对数据的操作功能。

在PDM与Solid Works集成过程中必然要将Solid Works的零部件设计信息导入到PDM中去,所以在接口开发过程中必然要涉及对数据库的操作。

VC++使用MFC类库ODBC、DAO、OLE DB和ADO支持数据库的访问。

ODBC使用应用程序可以通过统一的接口实现对数据库管理系统的访问;DAO通过数据库引擎(Microsoft Jet)实现对数据库的访问,最适用于Microsoft Jet(.mdb)数据库,因此利用DAO开发Access数据库应用程序具有独特优势[1];OLE DB是VC++开发数据库应用中提供的新技术,它是基于COM的应用程序接口(API);ADO是建立在OLE DB底层技术之上的高级编程接口,兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等)和极其简单易用的编程接口,目前得到了广泛应用[2]。

本文就是利用ADO来对数据库进行访问的。

3.4 文件传输技术集成接口开发中的另一重要技术就是文件传输技术,完成诸如图纸文档的上传和下载操作。

为使PDM能方便地管理Solid Works各图纸文档,对于已经设计好的Solid Works模型文件要上传到PDM 指定的服务器上去,而对于那些需要修改的模型文件也要能方便地下载下来进行修改,所以接口开发过程中必然涉及文档传输技术的利用。

VC++中的MFC类库很好地封装了Win Socket和WinInet.C Socket、CAsync Socket则很好地封装了Win Socket 所带函数,如果用这两个类来实现文件传输,则对那些大文件必须分段传输。

如果利用CFtp Connection(对WinInet中有关FTP协议相关函数进行了封装)则可以传输任意大小的文件而不需分段。

本文所论述的接口正是利用CFtp Connetion类来实现文件上传的。

4 接口应用实例本文所论述的接口有效地实现了重庆迈特科技有限公司开发的PDM与Solid Works 2007集成,该接口由两个DLL文件组成:一个基于COM的DLL 来充当Solid Works插件的功能,该DLL中通过调用Solid Works API来获取零部件信息;一个辅助的DLL来充当与PDM通讯功能,该DLL通过ADO 来实现对PDM数据库的操作。

4.1 接口使用环境初始化主要设置数据库基本参数和FTP基本参数,以便后续对数据的操作和文档的上传和下载(图1)。

图1 接口使用环境设置4.2 装配层次关系和零部件设计信息获取和上传主要获取零部件设计信息和装配层次关系,并对相关设计信息完善后进行PDM上传(图2和图3),上传到PDM后呈现BOM如图4所示。