您的位置:网站首页 > Solidworks

SolidWorks接口开发技术的实现

时间:2010-06-02 08:00:00 来源:

    1.3资源的管理
   
    为避免用户化的SolidWorks应用程序的资源与平台本身和其它第三方开发的SolidWorks应用程序的资源发生冲突,必须对应用程序的资源进行管理。解决资源冲突的方法是调用AfxGet Resource Handle和AfxSet Resource Handle这两个函数。在使用新的资源前调用AfxGet Resource Handle函数保存当前的资源,然后调用AfxSet Resource Handle函数把当前资源设置成新的资源,使用完后再调用AfxSet Resource Handle函数恢复先前已保存的资源。以对话框的管理为例来说明上述过程。
   
    HINSTANCE save Resource=∶∶AfxGetResourceHandle();//保存当前资源句柄
    ∶∶AfxSetResourceHandle(∶∶AfxGetInstanceHandle());//把当前资源设置成新的资源句柄定制菜单。在CexampleApp∶∶docCreateMenu函数中加入如下代码:
   
    hres=pFrame->AddMenu(auT"(PartExample"),swMenuPosition,&bres);
    hres=pFrame->AddMenuItem  (auT"(PartExample"),auT"(Bearing"),
    swLastPosition,auT(SwPartlib @ MenuItemCBBearing,
    Example Property Manager Pageitem"),&bres);
    
    然后用MFC向导ClassWizard创建资源,加入所需的控件;最后再恢复先前保存的资源句柄::AfxSetResourceHandle(saveResource)。
   
    1.4导出函数的管理
   
    DLL包含一个导出函数表,可以通过函数的符号化的名字和称为序号的整数识别这些函数。函数表也包含了函数在DLL内的地址。DLL函数导出有两种方法:用关键字声明和在模块定义文件(3.def)中声明。
   
    (1)声明显式包含dllexport关键字

    
    (2)模块定义文件方法

    LIBRARY"SwPartlib";                    MenuItemCBBearing@4
    EXPORTS;                                      MenuItemCBFlange@5
    ……                                                 ……
   
    2开发系统的结构框架及功能

    
    SolidWorks是典型的三维特征造型系统,完全基于Windows的操作,具有强大的实体造型功能,并且可以进行较为复杂的曲面生成,除此之外是经济性好,可以作为人手一套的机械工程师设计软件,其中重要的一条是它提供了较为方便的二次开发接口,本系统选用SolidWorks为图形平台,采用VC++为主控程序及编程语言,采用Access2000进行数据库管理及数据操作,利用MFC对SolidWorks进行二次开发,从而实现了由参数驱动的友好的SolidWorks 的专业化开发, 本系统是一个开放的系统, 用户可以根据自己的需求, 在系统支持库中随意加入自己的模块。
   
    系统由以下几部分组成:数据输入部分、数据模型建立部分及图形输入部分,具体的系统功能由以下几个部分,如图2所示:
   
    输入功能:主要是输入零件几何信息(几何形状、尺寸等)、加工信息(精度、材料、热处理等)。软件功能:通过人机对话方式选取零件型号,将工艺信息、设计资料信息附加到具体的参数所对应的零件上。输出功能:生成具体的参数驱动的零件三维模型,将模型对应的加工和其他信息存储到数据库中,将模型转换数据标准STEP对应的数据字典文件,存入数据库中。
 

   
    3 系统数据库的实现
   
    3.1 数据库管理系统

   
    为了能够生成统一类型不同规格的零件,必须将标准件的数据存储在数据库中,目前可供选择的数据库系统很多,其中Access简单易学,操作方便,可以完成诸如查询、排序、增删记录等对数据的操作功能,完全满足开发零件库对数据管理的要求,因此选用Access作为管理数据的工具。
   
    3.2访问数据库
   
    应为当用户输入主导参数后,程序访问数据库,获得与主导参数相匹配的其它参数,所以必然在开发中涉及到对数据库的操作。常用的数据库接口包括ODBC、DAO、ADO等,其中DAO是一种广泛使用的数据库接口技术,可使用Vc++的标准函数调用公用接口访问数据库的内容。相关的代码如下:
 

   
    3.3 MFC开发SolidWorks的具体应用

   
    在前面所述工作的基础上加入了所需的导出函数并确定了连接方式就可以编写系统的具体实现代码了,为了使程序规范化,所有零件系统生成函数都采用了函数调用的方法,即将所有的函数声明放在一个头文件*.h中,函数的实现放在*.cpp文件,这样主程序就可以通过参数传递实现对函数的调用了.
   
    4 结语

    上述基于MFC的SolidWorks二次开发的关键技术是对SolidWorks二次开发技术的初步探索,我们开发的基于SolidWorks的零件信息库系统已经通过省科技厅的项目鉴定,这对CAD/CAM软件的应用、推广,为推动甘肃制造业信息化,都将起到重要作用。