首页 >> 挤出机

SolidWorks接口开发技术的实现壁虎

壁虎    
2022年08月12日

SolidWorks接口开发技术的实现

SolidWorks接口开发技术的实现 2011: SolidWorks是基于Windows平台的优秀三维机械设计软件,其参数化和特征造型技术,为设计人员提供了良好的设计环境。SolidWorks尽管功能非常强大,但要使其在我国企业中非常有效地发挥作用,就必须对其进行本体化和专业的二次开发工作。SolidWorks通过对象链接嵌入技术(OLE)为用户提供了强大的二次开发接口,凡支持OLE编程的开发工具,如VisualC++、VisualBasic、Delphi等均可用于SolidWorks的二次开发,创建出用户定值的、专用的SolidWorks功能模块。1系统的关键技术1.1 SolidWorks的软件接口开发SolidWorks通过COM技术为用户提供了强大的二次开发接口,以Vc++为例来说明。(1)SolidWorksAPIObjectsCOM技术是由Microsoft提出的组件标准,不仅定义了组件程序之间进行交互的标准,而且也提供了组件程序运行所需的环境。OLE(对象链接嵌入)技术是COM的一个应用。利用OLE技术,用户可以通过使用来自两个或多个Windows应用程序的资源来解决复杂的应用课题。OLE提供了方便的技术,用来将文档和来自不同程序的各种类型的数据结合起来。SolidWorks支持COM技术标准,同时也支持OLE标准,并且已完全实现了OLE自动化。(2)SolidWorksAPI对象简介SolidWorksAPI接口采用面向对象的方法,所有的函数都是有关对象的方法或属性。SolidWorks主要的API对象(如图。所示)涵盖了全部的SolidWorks数据模型。通过对这些对象属性的设置和方法的调用,就可以在用户自己开发的DLL中实现与SolidWorks相同的功能。(3)APICOM对象及属性的使用COM对象与C++程序语言对象一样具有封装性和可重用性。COM对象的封装性表现在客户不能直接访问COM对象的属性,只能通过COM对象提供的方法来访问;COM对象的可重用性表现在COM对象的包容和聚合,一个对象可以完全使用另一个对象的所有功能,例如Drawing Doc对象派生于Model Doc对象,因此Drawing Doc对象可以通过接口指针使用Model Doc对象里的所有方法与属性。

1.2 API接口查询技术SolidWorks作为基于Windows的原创软件,为方便用户开发的程序与SolidWorks通信,提供了采用COM技术开发应用程序的方法。用户开发的代码可以作为独立的EXE文件或DLL文件存在,它们就是COM模块。采用COM技术在SolidWorks平台上作二次开发时,通过直接访问SolidWorks底层对象可以方便地扩充SolidWorks的功能。采用COM技术开发SolidWorks时,COM调用的每个API函数都将有一个HRESULT类型的接口指针,可以按照你的意图使用该指针,但在使用完后必须释放指针。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@4EXPORTS; 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.3MFC开发SolidWorks的具体应用在前面所述工作的基础上加入了所需的导出函数并确定了连接方式就可以编写系统的具体实现代码了,为了使程序规范化,所有零件系统生成函数都采用了函数调用的方法,即将所有的函数声明放在一个头文件*.h中,函数的实现放在*.cpp文件,这样主程序就可以通过参数传递实现对函数的调用了.4结语上述基于MFC的SolidWorks二次开发的关键技术是对SolidWorks二次开发技术的初步探索,我们开发的基于SolidWorks的零件信息库系统已经通过省科技厅的项目鉴定,这对CAD/CAM软件的应用、推广,为推动甘肃制造业信息化,都将起到重要作用。(end)

重庆专业不孕不育医院

湘潭看白癜风需要多少钱

广州治疗包皮包茎

合肥治疗前列腺炎好的医院

广州治宫颈息肉

相关阅读
最好航空铝5083铝板批发5083铝板电线插头机械密封钮扣机铜端子轴承机TRp

航空铝5083铝板 批发5083铝板曝气器您当前位置:首页 企业航空铝5083铝最大限...

2024-04-02
最火24日1610广州市场拉丝材价格行情电压检测器机械轴封浓缩机铜焊条轴封TRp

24日(16:10)广州市场拉丝材价格行情您当前位置:电源线首页 卷线器价格...

2024-04-02
最好24日江苏超高功率电极市场行情表单吊具计米器喷枪瓦刀装配机TRp

蜗杆减速机24日江苏超高功率电极市场行情表单您当前位置:新 设计通用控制...

2024-04-02
最好中电投眉山铝业狠抓对照检查剖析思想根源冰模福州绝缘手套热熔断器邢台TRp

测量表中电投眉山铝叉车配件业狠抓对照检查 剖析思想根源【铝道】 自党的...

2024-04-02
最火辞旧岁迎新春天衢铝模2019年会扁平电缆封盖机酒精测试仪燃气锅炉小型发电机TRp

【辞旧岁·迎新春】天衢铝模2019年会【铝道】金猪辞旧岁,瑞鼠迎新春。元月...

2024-04-02
最火2017年06月21日今日镝铁合金行情查调节蝶阀加料机喷雾系统玩具电机浊度计TRp

(2017年06月21日)今日镝铁合金行情查询您当前位置:压进出口量占总产量比...

2024-04-02
友情链接