您的位置:网站首页 > Solidworks

SolidWorks二次开发在机械零件设计中的应用与研究

时间:2010-11-14 22:27:01 来源:
副标题#e#    0 引言
   
    SolidWorks是一套基于Windows的CAD桌面集成系统,支持参数化和特征造型技术。虽然SolidWorks所提供的功能非常强大,但要使其在我国企业中真正发挥作用,使常用的或重复的任务自动化,提高效率,就必须对其进行本地化、专业化的二次开发工作。本文是在基于轴系结构设计系统的研制上产生的,应用Solidworks二次开发来自动生成零件,并在Solidworks环境下完成自动装配。
   
    1 SolidWorks二次开发原理
   
    SolidWorks基于COM(Component Object Model,组件对象模型),完全支持OLE(Object Linking and Embed-ding,对象的链接与嵌入)标准,实现了OLE自动化。为方便用户进行二次开发,SolidWorks提供了几百个删(Application Programming Interface,应用程序接口),这些API函数是SolidWorks的OLE或COM接口。SolidWorks的API接口分为两种:一种是基于OLE Au-tomation的IDispatch技术,通过IDispatch接口暴露对象的属性和方法,以便在客户程序中使用这些属性并调用它所支持的方法。另一种开发方式是基于Windows基础的COM。
   
    SolidWorks API为用户提供了完全面向对象的类体系,是一个自上而下的多层次的树型网络结构,其部分组织结构关系如图l所示。它包括对象的类型、属性和方法。SldWorks是根目录对象类,位于应用程序的底层,是访问SolidWorks API所有对象的入口。开发者通过操纵对象的属性和调用对象的方法建立自己的应用程序。
    
    


    
    2 SolidWorks二次开发工具
   
    任何支持COM和OLE的编程语言都可以成为S0lidWorks的开发工具,如VB、VBA、C、VC++等。开发者可以根据自身的条件、工具的特点,选择一种适合的开发工具.
   
    Visual Baic(VB)是运行在Windows环境下的一种可视化编程语言,使用面向对象的编程方法(OOP),它所具有的图形设计工具、结构化的事件驱动编程模式和开放的环境,可以使用户即快又方便地编写出Windows下的应用程序.
   
    在SolidWorks中通过宏录制可以记录SolidWorks用户的整个产品设计过程,把用户的界面菜单操作所用到的SolidWorks对象、方法都一一记录下来,其语法完全符合Visual Basic。根据宏文件中的对象和方法在自己的应用程序中合理调用,通过对变量的控制就可实现产品的参数化设计。在二次开发过程中,宏录制文件中的许多对象、方法可以直接在Visual Basic应用程序中应用,简化了开发过程。
   
    3 机械零件参数化设计实现
   
    3.1 零件二次开发的过程主要论述通过VB语言对SolidWorks进行二次开发,其主要流程如下:
   
    3.1.1 建立零件的数据库首先分析机械零件有关数据,利用VB的默认数据库Access为每一种零件建立数据库,如齿轮参数数据库,联轴器参数数据库等。在数据库建成后,可以在应用程序中通过数据控件与特定的数据表连接起来。利用用户输入的主参数作为索引,用Findfirst方法即可读出对应的数据。
   
    3.1.2 分析零件的结构特征,建立实体模型首先,针对要建立的实体,需要先分析其结构,区别特征的主次,利用SolidWorks建立零件特征,建立宏文件,有些操作宏文件无法记录,需要调用相关API绘图函数。实现关键数据变量化,如齿轮分度圆自径、齿轮宽度等,而这些变量的数据来源即为齿轮数据库下的某种齿轮类型数据表。建模完成后,使用AddComponent4方法即可将零件插入当前装配图中.
    
    3.1.3 建立应用程序VB开发的程序作为客户方(client),而SolidWorks作为服务方(server),VB程序可建立与SolidWorks各级对象(object)的关联;另外,还必须在VB中通过“引用”(reference)JJll载SolidWorks类型库,使VB识别程序使用的SolidWorks对像类型、属性和方法。
   
    3.2 齿轮联轴器二次开发中的关键技术
   
    以机械零件中的齿轮联轴器为例介绍二次开发中的关键技术。
   
    3.2.1 联轴器数据库技术CL6型号齿式联轴器的部分标准数据如表1所示。
   

    
    建立数据库,在VB程序中引用数据库,就可以通过程序查询联轴器的国家机械标准信息。选择联轴器需要参考联轴器的转矩和转速等信息,需要在程序中将联轴器的数据信息加载到联轴器设计的人机界面当中,供设计人员参考。
   


    齿轮联轴器需要做到全参数化的有齿数、模数、压力角、轴径、键槽尺寸及相关安装尺寸等。
   
    实现模型创建,需通过VB环境下的数学模型计算,得出重要数据。对于齿轮联轴器,最重要的是齿轮渐开线的计算。在VB环境中,建立渐开线直角坐标方程. 联立方程组,利用循环语句来实现渐开线的计算。再将数据传递给ModelDoc2:SketchSpline方法绘制轮齿草图, .调用FeatureManager::FeatureExtmsion2方法拉伸轮齿。
   


    图2 联轴器数据流程

    
    3.2.2 零件、装配文档的创建SldWorks对象是SolidWorks API中最高级的对象,它提供了SolidWorksAPI中所有对象的直接或间接接口。通过该对象可以控制SolidWorks软件的执行或退出。在VB中利用Create Object方法来获得Sldworks对象,利用该对象的activedoc方法可以获得当前Solidworks文件对象。