机械零件设计中SolidWorks二次开发的应用探讨

(整期优先)网络出版时间:2017-12-22
/ 2

机械零件设计中SolidWorks二次开发的应用探讨

阿不都外利•,依米提刘忠友

(南昌工学院南昌市330108)

摘要:本文首先简要分析了SolidWorks二次开发的基本原理,探讨了SolidWorks二次开发工具,最后提出了机械零件参数化设计的实现路径。

关键词:机械零件;SolidWorks;二次开发;应用

SolidWorks实为一套CAD桌面集成系统,以Windows为基础,参数化与特征造型技术均支持。尽管SolidWorks可提供各项强大功能,但要想使其在企业中最大化发挥效能,需将其进行专业化、本地化的二次开发。本文以轴系结构设计系统为基础,利用Solidworks二次开发来实现零件的自动生成,另基于Solidworks环境下,实现自动装配。

1.SolidWorks二次开发的基本原理

SolidWorks以组件对象模型(COM)为基础,支持对象的链接与嵌入(OLE)标准,实现其自动化。为了便于用户二次开发,SolidWorks所提供的应用程序接口(API)达几百个,此些API函数均为SolidWorks的COM接口或OLE接口。SolidWorks的API接口主要有两种类型,其一,以OLEAutomation为基础的IDispatch技术,经IDispatch接口,将对象的方法与属性暴露出来,便于这些属性在客户程序中的有效使用;其二,以Windows为基础的COM开发方式。SolidWorksAPI能够为用户提供面向对象的类体系,是一个多层次的树型网络结构(从上往下)。其包含对象的属性、类型与方法。SldWorks实为根目录对象类,在应用程序中,其处于底层,在访问SolidWorksAPI各对象时,均需经此入口。对于开发者而言,其能够调用对象,还可操纵对象的属性,以此构建专属自身的应用程序。

2.SolidWorks二次开发工具

无论何种编程语言,只要其支持OLE与COM,均能成为SolidWorks的开发工具,比如VC++、VBA及VB等。针对开发者来讲,其能够结合自身条件及工具实况,选一种适合自身需要的开发工具。在SolidWorks当中,利用宏录制,能够详细记录SolidWorks用户设计产品的全程,还能记录用户界面菜单操作可以用到的SolidWorks方法、对象等,对于其语法而言,与VisualBasic完全相符。依据宏文件当中的各对象与方法,来合理调用自己的应用程序,通过控制变量,便能完成产品的参数化设计。在进行二次开发时,在VisualBasic应用程序中,可直接应用宏录制文件中的各对象与方法,实现开发过程的简化。

3.机械零件参数化设计实现路径

3.1零件二次开发过程

(1)建零件数据库。首先,对有关机械零件的各种数据进行系统分析,用VB的特定数据库Access,为各种零件建立专属数据库,比如联轴器参数数据库、齿轮参数数据库等。建好数据库之后,可在应用程序中,利用数据控件,连接于特定数据表,以用户所输入的各项参数为索引,然后运用Findfirst方法,便能将对应数据读出。(2)深入、全面分析零件结构特征,构建实体模型。对于需要构建的实体,需先对其结构进行系统化分析,从中将特征的主次给予明确,然后用SolidWorks,完成零件特征的构建,最终建立宏文件,部分操作用宏文件并无法记录,需运用API绘图函数来解决。实现诸如齿轮宽度、齿轮分度圆直径等关键数据的变量化,而此些变量对应的数据来源,便是基于齿轮数据库下的特定齿轮类型数据表。完成建模后,用AddComponent4方法,便能实现当前装配图中零件的插入。(3)构建应用程序。客户方即VB开发的程序,服务方即SolidWorks,对于VB程序而言,其能够构建与SolidWorks各级对象之间的关联;此外,在VB中,还须经“引用”,完成SolidWorks类型库的加载,使VB能够对程序所使用的SolidWorks对象方法、属性与类型进行准确识别。

3.2齿轮联轴器二次开发中的关键技术

本文以机械零件中的齿轮联轴器为例,探讨二次开发当中的关键技术。(1)联轴器数据库技术。构建数据库,将数据库引用于VB程序中,便能经程序完成联轴器对应的国家机械标准信息的查询工作。在挑选联轴器时,需参考联轴器的各类信息,如转速、转矩等,还需在程序当中,加载联轴器的数据信息,并将其传送至联轴器设计的人机界面中,以此为设计人员工作提供参考。创建模型时,需基于VB环境下的数学模型计算,最终得出所需数据。而针对齿轮联轴器来讲,需计算齿轮渐开线。(2)创建零件、装配文档。针对SldWorks对象而言,其在整个SolidWorksAPI当中,为最高级对象,并为SolidWorksAPI提供了各种借口(直接或间接)。利用此对象,能够对SolidWorks软件的退出、执行施加有效控制。在VB中,通过采用CreateObject方法,能够得到Sldworks对象,而对于用此对象的activedoc方法,能够获取当前的Solidworks文件对象。(3)实现零件自动建模。完成新零件文档的创建后,定义对象与相关数据,并创建实体API函数,基于此,来编写零件参数化建模代码。(4)自动装配的实现。完成新装配文档的创建后,便可向装配体添加所需组件。首先调用SldWorks::OpenDoc6方法,将所需添加的组件打开,然后用AssemblyDoc::addcomponent4函数,将零部件插入至装配体中。

4.结语

综上,本文首先简要概述了SolidWorks软件的二次开发原理,在SolidWorks环境下,探讨了用VB语言来进行机械零件自动建模与转配的可行性与方法,以此来促进机械零部件装配与建模的自动化与参数化。

参考文献

[1]朱常委,姜南.基于Solidworks二次开发技术的注射机合模机构零件参数化设计[J].塑料,2006,35(1):79-84.

[2]何世权,刘世辉,周新华.VB及Solidworks二次开发技术在阀门产品设计中的应用[J].流体机械,2005,33(3):40-41.

作者简介

阿不都外利•依米提(1993-08-26),男,本科。