APP下载

使用VB在SolidWorks中实现卷筒的快速设计

2016-04-17郭仕熠

海峡科技与产业 2016年5期

郭仕熠

摘 要:SolidWork机械设计软件,自身提供了强大而丰富的API函数,为解决机械各专业领域内的特殊需求提供了二次开发平台,将其与VB可视化操作和编程快捷方便的特性相结合,实现卷筒零件的快速设计,从而减轻设计者工作强度并提高工作效率。

关键词:solidworks;VB;卷筒快速设计

0 前言

Solideworks是一款十分优秀的机械设计软件,在我国机械行业里被广泛使用,其强大的工程制图、建模、装配,有限元分析及仿真动画功能,得到了广大使用者的认可。但是,由于该软件在设计初始阶段没有对具体专业领域内特殊需求给予考虑,所以在实际使用过程中出现很多不便之处。对此Solidwoks软件提供了丰富的API函数,给用户使用VB高级语言进行二次设计提供了借助平台,为其更好的服务各专业领域提供了可靠而灵活的保障。

1 二次开发原理

Solideworks提供COM和OLE两种开发方式。OLE技术(对象嵌入与连接技术)可以使应用程序间实现数据共享。它生成的是*.exe文件,属于进程外组件方式,采用外挂工作模式。COM技术(组件对象模型技术)通过它可以实现组件间通讯。它生成的*.dll文件,属于进程内组件方式,采用嵌入客户程序工作模式。

Solideworks的API函数是二次开发编程的接口提供者,自身提供若干个接口函数。可以通过它实现对Solideworks实体参数的修改和访问。另外Solidework 的API函数是树形层次结构,Solideworks是其根目录对象,在使用时务必注意。

2 设计思路

利用Solideworks和VB两者间的优势,结合实际工作中的需要,将以卷筒为主体对实现零件快速设计进行讨论分析,以下为具体的分析过程。

2.1 系统框架

在本次设计卷筒快速生成系统时,对系统框架是这样考虑的:首先需要在人机界面中输入参数,然后按照参数间的数学逻辑关系和空间尺寸进行判断,如系统判断为错误时(如参数出现相互矛盾、按照参数所设计的三维图纸出现尺寸干涉等现象),则需要返回重新录入参数;如系统判断为正确时则进入到生成三维图和工程图阶段。在图纸生成阶段考虑到实际需要,将三维图和工程图的生成改为人工干预,按照所需点击按键生成三维或是工程图纸即可,也可二者同时生成。具体流程为:

【开始】 【输入参数】 【判断】(不正确时返回重输入参数) 【生成三维图及工程图】 【结束】

2.2 数学逻辑关系

机械设计过程其实就是通过数学逻辑关系的变化实现对零件的修改或重新设计的过程。在本次设计过程中,数学逻辑关系是为了给卷筒中各个参数关系提供数学理论依据,确定好各个参数作用及使用范围。在程序编程时,则作为驱动零件图中各个相关参数变化的后台基础。在人机界面对话时,则是通过填写必要的参数,来达到修改或重新设计零件的目的。表1是具体的数学逻辑关系表,由此生成的人机界面见图1。

以上内容仅限于标准槽双联卷筒使用。

2.3 零件尺寸分析

为了防止三维制图过程中出现实体变形,草图定义或是特征发生冲突等现象出现,所以有必要对零件尺寸进行分析。在这个过程中主要确认零件的尺寸变量、尺寸变量间的关系,确认主、被动尺寸的关联特性等,为Solidworks软件生成新零件提供尺寸参数驱动依据。本次分析直接使用图纸表示卷筒中各尺寸间的关系。如图2所示。

至此本文的2.2节和2.3节同为生成图纸前的逻辑判断阶段,二者缺一不可,在本软件里起到承前启后的作用,他们的设计成功与否将直接关系到后续自动生成图纸的成败。

2.4 在Solidworks软件里实现卷筒快速设计

使用VB对Solidworks软件开发时,首先要使用Setswap=CreateObject(“SolidWorks.appl-incation)进行连接,否则将无法实现Solidworks软件的运行。在Solidworks软件实现卷筒自动化设计时要经过材料的选择、圆草图的建立、创建拉伸特征、拉伸过程中轮廓的选择、尺寸标注、新建图纸、创建视图、保存工程图几个主要过程。每个过程都必须从Solidworks中调用相应的API函数。函数的调用比较复杂,所以在编写代码时需要特别注意其命令的功能和用途。本次只节选创建拉伸特征部分代码作为说明,执行的是卷筒圆柱体的拉伸阶段。下面是具体代码编写过程:

调用FeatureManager::FeatureExtrusionw 方法实现拉伸,具体代码如下:

Dim CC As CC.Feature Manager

If optExxtrude.Value=True Then

Dim SIN As Double

SIN=CDbl(txtSIN.text)/1000

Set CC = swModel.Feature Manager

CC.FeatureExtrusion2 Ture,False,Ture,0,0,Depth,0,Flase,Flase,Flase,Flase,0,0,0,0,_

0,0,Flase,Flase,Flase ,swStartSketchPlane,0#,Flase

sw Modle.View Zoom to fit2

End If

最终生成的三维图纸和工程图分别如图3、图4所示。

3 结束语

利用VB面向对象界面的人性化和编程的便利化优势,并结合Solidworks自身提供的丰富的API函数,本次设计基本实现了卷筒快速设计的目的。这样既减轻了工程师的劳动强度,又保证了产品的设计质量,同时也缩短了产品设计周期,提高了工作效率。在Solidworks的二次设计领域内有着广阔的使用空间,它可以更好的服务机械设计领域。

参考文献

[1] 叶修梓,陈超群.Solidworks 高级教程:二次开发与API.北京:机械工业出版社,2009.

[2] 张忠将.Solidworks2013机械设计从入门到精通.北京:机械工业出版社,2014.

[3] 廖彬山,黃维通,高月明,高峰霞.Visual Basic 面向对象与可视化程序设计.北京:清华大学出版社,2002.

[4] 张银霞.Visual Basic程序设计.北京:北京航空航天大学出版社,2008.

[5] 张质文,王金诺,包启帆.起重机设计手册.北京:中国铁道出版社,1998.

[6] 徐格宁.GB/T3811-2008《起重机设计规范》释义与应用.北京:中国标准出版社.2008.