APP下载

SolidWorks二次开发在压缩机连杆类零件中的应用与研究

2018-03-30柏子刚

科技创新与应用 2018年9期
关键词:二次开发

柏子刚

摘 要:随着CAD技术应用的不断深入,三维参数化设计应用越来越广泛。文章利用Visual Basic 6.0开发工具,分析研究了SolidWorks二次开发技术在压缩机连杆类零件中的应用,该应用缩短了压缩机零件的开发周期,提高了设计效率。

关键词:SolidWorks;VB;二次开发;连杆类零件

中图分类号:TH457 文献标志码:A 文章编号:2095-2945(2018)09-0150-03

Abstract: With the development of CAD technology, 3D parameterized design is applied more and more widely. This paper uses Visual Basic 6.0 development tool. The application of SolidWorks secondary development technology in compressor connecting rod parts is analyzed and studied. The application shortens the development period of compressor parts and improves the design efficiency.

Keywords: SolidWorks; VB; secondary development; connecting rod parts

1 概述

连杆类零件是活塞压缩机中一种典型零件,其作用是将活塞上的推力传递给曲轴,同时又将曲轴的旋转运动转化为活塞的往复运动。在对活塞压缩机进行设计的过程中,经常遇到零件结构相同而尺寸不同的情况,为了适应产品系列化和不同应用环境的需求,传统设计方法势必存在重复性设计和绘图的弊端。因此随着数字信息化进程的快速推进和CAD技术在企业中应用的不断深入,三维参数化技术应用越来越广泛,设计人员可以运用三维参数化技术快速模拟零件的三维草图,从而缩短开发周期,提高设计效率。本文利用Visual Basic 6.0开发工具,分析研究了SolidWorks二次开发技术在压缩机连杆类零件中的应用。

2 SolidWorks二次开发技术概述

基于Windows平台的三维建模软件SolidWorks是如今最优秀的三维CAD软件之一,具有强大的建模、装配、工程图及运动、动力分析等功能。因此SolidWorks的应用越来越普及,为了适应产品系列化和不同应用环境的需求,对其进行二次开发也变得越来越有必要性。SolidWorks提供了大量的API(Application Program Interface)函数用于二次开发,开发者可以利用这些API函数,直接访问SolidWorks,并可以使用多种高级语言,如 Visual Basic,VBA,Visual C++和Delphi等对这次API函数进行调用[1]。在这些语言中,Visual Basic具有可视化的设计界面,且对于初学者比较容易掌握,因此在对SolidWorks进行二次开发中得到比较多的应用。

3 SolidWorks二次开发的方法

在VB环境下,对SolidWorks进行二次开发有两种方式[2],一种是完全编程开发,另一种是设计变量和编程语言相结合的开发方式。第一种完全用程序实现参数化设计,编程复杂,所以存在设计周期长、开发效率低的问题。第二种利用SolidWorks宏录制功能,得到三维建模的宏代码,将这些宏代码在VB环境中进行编辑修改,进而实现三维建模的参数化设计。第二种方法具有编程简单、效率高等特点,因此本文针对活塞压缩机连杆类零件,在VB 6.0环境中,采用编辑宏代码的方式对SolidWorks进行了相应的二次开发。

4 二次开发过程

以压缩机连杆类零件为例,通过Visual Basic 6.0编程软件来对SolidWorks进行二次开发。

4.1 设计变量的确定

如图1所示,以反映连杆特征的尺寸参数作为主要参数(即设计变量),剖分式连杆的主参数有:连杆大头孔径d1、连杆大头宽度D1、连杆大头高度H1、连杆小头孔径d2、连杆小头直径D2、连杆小头高度H2、连杆长度L、连杆体厚度B1、连杆体断面壁厚B2、连杆体宽度Bm(最大宽度Bmax和最小宽度Bmin)。

另外程序内设定的关联参数为:连杆大头X向宽度D2=0.8D1、连杆大头孔凸台直径d11=1.2d1、连杆体最大寬度Bmax在距连杆大头孔中心为L'=1.2d1截面上取得,连杆体最小宽度Bmin在距连杆小头孔中心为L''=1.2d2截面上取得。

4.2 VB程序界面介绍

在VB 6.0环境下建立如图2所示的用户界面,在输入参数部分按照相应内容输入数值,点击界面中的“计算”按钮,如果参数输入与程序设定有出入,会显示参数错误提示对话框。检查参数重新计算,直至没有参数错误提示,就可以点击界面中的“建模”按钮创建相应的连杆模型。

4.3 关键代码编写

利用文中第三部分提到的第二种方法,首先把压缩机连杆三维建模的过程录制成宏文件。然后在VB 6.0环境中对宏代码进行编辑修改,找出其中的关键函数和关键常数,对程序进行优化。

关键代码如下:

4.3.1 定义变量[3]

Dim d1 As Single

Dim d2 As Single

Dim H1 As Single

Dim H2 As Single

……

Dim swApp As Object

Dim swPart As Object

Dim SelMgr As Object

……

4.3.2 VB与SolidWorks的互联

Private Sub Command1_Click()

注释:单击Command1按钮时执行程序,建立VB与SolidWorks的联系

Set swApp =CreateObject("SldWorks.Application")

swApp.Visible = True

Set Part = swApp.newpart()

4.3.3 将变量参数值赋予连杆建模

将变量参数值赋予连杆有两种方法。以连杆大头孔径输入框为例。

方法1代码:

Private Sub Text1_Change()

d1 = Text1.Text

End Sub

方法2代码:

d1=Val(Text1.Text)

部分建模程序代码:

Set Part = swApp.ActiveDoc

boolstatus=Part.Extension.SelectByID2(“前视基准面”,"PLANE", 0, 0, 0, False, 0, Nothing, 0)

Part.SetPickMode

Set skSegment=Part.SketchManager.CreateLine(0#, 0#, 0#, 0#, 0.014187, 0#)

Set skSegment=Part.SketchManager.CreateLine(0#, 0.0

14187, 0#, -0.011281, 0.014187, 0#)

Set skSegment=Part.SketchManager.CreateLine(-0.0112

81, 0.014187, 0#, -0.011281, 0#, 0#)

boolstatus = Part.Extension.SelectByID2("Line4","SKE

TCHSEGMENT",-7.33470835151652E-03,1.409959988328

04E-02, 0, False, 0, Nothing, 0)

Dim myDisplayDim As Object

Set myDisplayDim=Part.AddDimension2(-5.7561171177

5086E-03, 0.020326265305356, 0)

Dim myDimension As Object

Set myDimension = Part.Parameter(“D1@草图1”)

myDimension.SystemValue = D1

注释:关键常量用变量D1替换成能被VB调用的应用程序

……

4.4 将程序添加到SolidWorks

将程序添加到SolidWorks有两种形式[4],一种是独立应用程序方式,将用户程序作为一个独立的应用程序,格式为“*.exe”,通过API接口调用SolidWorks提供的服务,完成SolidWorks的控制和操作。另一种是插件形式,将用户程序作为一个插件(*.dll)集成到SolidWorks中。本文采用的是第一种方法。

在SolidWorks环境下,利用“新建宏”功能建立文件名为“连杆零件.swp”的宏文件,并指定好存放路径,该宏的具体代码如下[5]:

Sub main ()

MyAppID=Shell("E:\Solidworks2012 \宏文件\连杆零件.exe",1)

AppActivate MyAppID

End Sub

在SolidWorks进行如下操作:工具菜单-自定义,点击命令栏-宏,拖动“新建宏按钮”到工具条中显示如图3所示界面,就可以对自定义宏进行操作。定义宏完成后就可以看到图4中方框内的“连杆造型按钮”。

4.5 运行结果

点击“连杆造型”按钮运行程序,弹出图2界面,输入相应参数,点击“计算”按钮无错误提示后,点击“建模”按钮,创建的连杆模型如图5所示。

5 结束语

本文利用Visual Basic 6.0开发工具,介绍了SolidWorks二次开发在压缩机连杆类零件中的应用与研究。通过对SolidWorks的二次开发,我们可以根据实际需要构建SolidWorks的功能模块。同时运用二次开发技术可以简化设计工作,提高设计效率,这也为其他领域的研发设计工作提供了依据。

参考文献:

[1]王卫荣,齐芬.SolidWorks的二次开发在箱体类零件中的应用[J].机械工程与自动化,2007(4):33-34.

[2]陈克源,王得胜.基于SolidWorks二次开发的支撑脚零件参数化设计[J].机械研究与应用,2011(4):87-89.

[3]明日科技.Visual Basic从入门到精通[M].清华大学出版社,2008.

[4]韩素兰,陈合顺.基于VB的SolidWorks标准件库的开发研究[J].华北水利水电学院学报,2009(2):64-66.

[5]索超,李玉翔,林树忠.基于VB语言对SolidWorks参数化设计的二次开发[J].制造业自动化,2013(8):137-139.

[6]謝丽函.Solidworks在装备制造业中应用分析[J].科技创新与应用,2017(18):298.

[7]吴春桥.Solidworks在配管制造中的应用[J].科技创新与应用,2013(02):27.

猜你喜欢

二次开发
例谈对高中数学教材中习题的二次开发
浅谈CAD软件二次开发的方法及工具
例谈课本习题的“二次开发”