您的位置:网站首页 > Solidworks

SolidWorks文档工程化管理的探讨

时间:2010-06-02 08:00:00 来源:
    SolidWorks软件是当今广泛运用的一种三维设计软件,简单易用、易于上手,附带CosMosWorks与CosMosMotion能完成大多数的工程有限元分析与仿真,以及大量的实用插件可以完成从设计、分析、仿真检验、优化,直到最后的数控加工编程的全过程,从而深受广大工程技术人员的欢迎。但是SolidWorks的实际使用中,经常引用别人或早先建立的部件,因而一个工程项目的文件并不都在-个文件路径下。导致文件管理方面的存在极大的漏洞,往往在设计师最后将设计作品提供给别人时时常发生一种尴尬的场面,在设计师本人的计算机上能正确使用的设计文档,在别的计算机上使用时就会出现找不到文件、配置参数补正确等种种意向不到的结果。本文将针对这种情况,探讨一种以工程为单位将产品设计文档管理起来的软件。
    
    1 前期设想
    
    当设计师开始一个项目时,首先确定一个工程项目名称,软件以此名称为根据建立-个目录,之后所有新建立的文件就存放在这个目录下。软件建立一个数据表,存放该项目中使用的所有文件名,和路径。并维护此数据表的正确性与完整性,当在工程中建立新文件或引用已有文件时,负责添加记录,并检查文件名字是否与先前记录中的文件名重复(因为SolidWorks是以在装载文件时,首先会以装配文件中指定的路径来查找文件,一旦找不到就会以一个特有的顺序,在磁盘上查找有相同文件名的文件来装入内存,而这通常就是造成SolidWorks不能正确表达转移的原因),并提示设计师为文件重新确定-个适当的名字。当需要转移或备份设计时,可以将工程文件从磁盘中汇集到一起压缩成为-个压缩文件包。
   
    2功能实现平台
   
    SolidWorks是基于Windows的全参数化特征造型软件,为用户提供了Windows对象链接嵌入(OLE Automation)和部件对象模式(COM)的应用程序接口,以及丰富的API接口函数和完整的消息事件机制,可以方便的使用C++或VB对软件进行二次开发,生成可执行文件或插件。在这里选用VB配合为SolidWorks开发插件的方式来实现软件功能。系统结构示意图如图1所示。
   


    3思路分析
   
    在使用SolidWorks作二次开发时,必须先与SolidWorks API提供的程序对象建立连接关系。SolidWorks应用程序对象是插件调用其他对象的入口,是所有调用SolidWorks API功能的最顶层。其下子对象SwAddin、ModelDoc2是这里用到的主要对象。
   
    SwAddin对象允许我们建立SolidWorks插件。在VB6建好的工程文件中点选"工程"菜单,"引用"菜单项,分别选中"SolidWorks 2006 exposed type type libraries for add-in use"、"SolidWorks 2006 Type Library"、"SolidWorks 2006 Constant type Library"、"Microsoft DAO 3.6 Object Library";在声明处插入如下语句:
   


    ModelDoc2(I作环境对象)下的PartDoc(零件文档对象)、AssemblyDoc(装配体文档对象)、DrawingDoc(I程图装配对象)是需要监视的对象,通过如下定义语句可启动SolidWorks的事件机制:一旦建立或打开工程后,用户向装配体插入部件时,SolidWorks会向插件发送AssemblyDoc_Add ItemNotiofy及AssemblyDoc_FileDropNotify消息,消息附带的参数含有插入部件在装配体中的名字和磁盘中的文件名和路径。用户创建部件SolidWorks会发送SldWorks_FileNewNotify和SWSession-File NewNotify2消息,通告插件有新的部件开始创建,而保存时会发送SWSession_PromptForFilenameNotify、PartDoc_FileSaveAsNotify2以及PartDoc-Save-ToStorageNotify消息,同样消息附带的参数含有新建部件在磁盘中的文件名和路径。
   
    通过对这些消息的建立相应消息处理过程或函数,就可以跟踪设计人员的工作进程,对这些文件建立-个包含文件名和文件路径的数据库,作为对工程文件转移时的依据。
   
    数据库采方面,采用Microsoft Access,该数据库包含在Mircrospft Office办公组件中,其核心是MicrosoR Jet数据库引擎。在Visual Basic中提供了两种与Microsoft Jet数据库引擎接口连接的方法:
   


    Data控件(ADO)和数据访问对象(DAO),DAO模型是设计关系数据库系统结构的对象类集合,它提供了管理关系型数据库所需的全部操作的属性和方法,而ADO只是封装了部分功能的DAO函数,所以选择利用DAO模型来建立数据库以及内部的表、字段定义,而用ADO来访问数据库,实现数据添加、修改、查询、删除操作。
   
    当需要对工程作备份或移动时,可以由插件依据数据库的指引,将文件集中拷贝到一个临时目录中,再调用外部压缩程序如WinRar等建立压缩文件包,最终实现对SolidWorks工程项目文件的安全转移和备份。