您的位置:网站首页 > CAD新闻

基于SolidWorks的液压阀块的设计研究(三)

时间:2010-11-14 23:44:31 来源:

这样只要选择了零件或零件上的一点或零件上的一面,按下按钮,零件外壳就变为透明,再按按钮零件外壳就会回复原样。把表面变为透明后如果把孔特征变为彩色那么很直观地就观测到了孔的干涉情况。

在观察完后需要把阀块状态恢复到模型颜色,为此系统还设计另一个恢复特征颜色为模型颜色的设置。也调用了Component2::RemoveMaterialProperty对象。

3.5 SolidWorks系统插件菜单的开发

3.5.1插件菜单功能

SolidWorks本身自带有程序编辑器VBA,通过宏录制可以实现SolidWorks的驱动,应用程序在SolidWorks环境下直接执行,编程时不需要考虑SolidWorks的库文件,而直接调用SolidWorksAPI所有函数及对象,随时编辑应用程序,环境支持如单步调试、逐过程调试等多种调试手段,调试的同时可进行修改[41][42]。但VBA的功能较弱,所提供的控件数目较少,对象的属性、事件以及方法等不完全,用VBA二次开发SolidWorks将颇周折,所以论文研究中,选用DLL动态连接库技术从外部操作SolidWorks DLL动态链接库(DynamicL Link Librabry)是运行时连接的可执行代码和数据模块,用它能节省内存、方便地进行应用程序中的参数传递和通信、实现代码共享、升级方便、且独立于编程语言。

本系统是以插件的形式集成到Solidworks主菜单当中去的,即整个系统是在SolidWorks基础上建立起来的,目的就是利用SolidWorks己有的强大功能实现特定的功能要求。与所有其它菜单条一样,系统以Windows风格的菜单形势插入到SolidWorks当中去。

加入SolidWorks可以有两种形式,一种是临时加入的方法,即调入*dll文件法,这种方法是将系统编译生成动态连接文件(*d11)的临时插入到SolidWorks当中去,当SolidWorks关闭时它也就随之释放出内存,因此当再次启动SolidWorks时插件并不存在于菜单中;另一种形式是通过修改注册表的形式将系统插到SolidWorks菜单。SolidWorks允许用户建立独立的可执行文件(EXE)、应用型动态链接库文件(UserDLL)及扩展型动态链接库文件(Extension DLL)。DLL是基于windows程序设计的一个非常重要的组成部分。在建立应用程序的可执行文件时,不必将DLL链接到程序中,而是在运行时动态装载DLL,装载时DLL被映射到进程的地址空间中。在每次运行SolidWbrks时,DLL文件自动装载,操作方便。

SolidWorks的SolidWorks对象,为VB对SolidWorks工作环境进行访问处理提供了接口。通过此对象可以对SolidWorks工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SolidWorks系统等功能,这里主要是通过使用SolidWorks对象的Add lnenu和Add menuitem方法来在SolidWorks工作环境中添加菜单和下拉子菜单及功能模块的调用;通过使用SldWorks对象的Addtoolbar和AddToolbarCommand方法来完成在SolidWorks工作环境中添加工具条和完成对应标准件功能模块的调用。

3.5.2实现方法

本次的DLL与EXE程序功能上基本没有区别,但是DLL与EXE确实有实质上的区别。DLL,作用在于为应用程序提供扩展功能。应用程序想要调用DLL文件,需要跟其进行“动态链接”;从编程的角度,应用程序需要知道DLL文件导出的API函数方可调用。由此可见,DLL文件本身并不可以运行,需要应用程序调用。正因为DLL文件运行时必须插入到应用程序的内存模块当中,所以要运行DLL就必须要用SolidWorks来加载DLL。具体方法就是象打开文件一样用SolidWorks“打开”DLL,只是在加载DLL时要选择Add.Ins文件类型。如图3.3所示。

菜单的具体实现方法如下:在VB中新建ActiveDLL工程,如图3.4所示。