- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Solidworks的零件参数化设计.doc
基于Solidworks的零件参数化设计
摘要:论述了利用Visual C++ 6.0对Solidworks进行二次开发的基本原理和一些关键技术,开发了可以与Solidworks无缝集成的动态链接库DLL,并且介绍了一个简单的应用实例的实现。
0 引言
Solidworks是一款非常优秀的三维机械软件,其易学易用、全中文界面等特点深受广大工程技术人员喜欢。随着学习和使用Solidwork的人员越来越多,企业为了提高效率和市场竞争力,必然有快速开发新产品、形成自身产品特色的需求,而且对于一些存在着许多重复性的劳动的产品设计需要缩短产品的开发周期。因此有必要对SolidWorks进行二次开发,使其能够在输入少量变化参数的情况下迅速生成所有产品模型并装配,最终生成工程图。
SolidWorks二次开发分两种,一种是基于OLE Automation的IDispatch技术,一般常用于Visual Basic、Delphi编程语言的接口,通过IDispatch接口暴露对象的属性和方法,以便在客户程序中使用这些属性并调用它所支持的方法,此种技术只能开发 EXE 形式的程序,所开发的软 件 不 能 直 接 加 挂 在 SolidWorks 系 统 下,无 法 实 现 与SolidWorks 的集成;另一种开发方式是基于 COM的,这种技术可以使用最多的SolidWorks API(Application Programming Interface,应用程序接口) 函数。实际上 SolidWorks 本身就是用 Visual C++编写的,所以使用 Visual C++通过 COM接口开发,可以实现对SolidWorks底层的开发并且代码的执行效率高。因为本文开发的是SolidWorks DLL(Dynamic Link Library,动态链接库) 插件,故采用基于COM的开发方式。
1 SolidWorks二次开发原理
1.1 SolidWorks API中的术语
COM(Component Object Model,组件对象模型)技术是SolidWorks API的基础,COM对象是一种包含接口、属性和事件以对象形式封装的实体,它以接口的方式提供服务,这种接口是COM对象与使用COM对象的客户程序进行通信的唯一通道。
OLE (Object Linking and Embedding,对象的链接和嵌入)可以使应用程序之间能够通过数据嵌入或链接的方式共享数据。它是SolidWorks API构造的基础,是深入理解SolidWorks API的关键。SolidWorks API是SolidWorks作为OLE自动化服务器提供的属性和方法,我们开发的插件就是使用这些接口的OLE客户。
1.2 开发工具Visual C++ 6.0
SolidWorks API是基于COM组件技术构造的,SolidWorks通过COM技术为开发人员提供了强大的二次开发接口,因此Visual C++ 6.0作为当今最流行的软件开发工具之一,是程序员的首选编程利器。它提供了强大的集成开发环境,用以方便、有效地管理、编写、编译、跟踪C++程序,大大加速了程序员的工作,提高了程序代码的效率。
使用Visual C++ 6.0进行SolidWorks二次开发的优势如下:
可以使用GDI对象和设备环境类所提供的绘图函数,可以轻易的实现绘图功能而且无需考虑具体设备情况;Visual C++ 6.0开发环境十分友好,其高度的可视化开发方式和强大的向导工具能够帮助用户轻松的开发出多种类型的应用程序;Visual C++ 6.0有着强大的调试功能,能够帮助开发人员寻找错误和提高程序效率;Visual C++ 6.0和SolidWorks有极好的连接性,能够直接调用许多资源,方便的在SolidWorks上添加命令和各种控件。
因此,可以说它是SolidWorks的最佳开发工具,适用于大型系统的开发,而在使用Visual C++ 6.0进行二次开发时的不足之处在于对开发人员的要求比较高。
1.3 SolidWorks API 对象模型
SldWorks对象是SolidWorks API对象模型中的最高层对象,它能够直接或间接地访问SolidWorks API中的所有其他对象。利用SldWorks 对象可以实现应用程序的最基本操作, 如生成、打开、关闭、结束文件、重排图标和窗口、设置当前的激活文件、生成属性定义, 也可以对 SolidWorks 的系统变量进行设置。
图1. SolidWorks API接口对象
2 SolidWorks二次开发的关键技术
SolidWorks软件的COM接口支持使用Visual C++编程语言开发DLL(Dynamic Link Library,动态链接
文档评论(0)