基于SolidWorks的机械零件参数化设计_王东
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SolidWorks的机械零件参数化设计
王 东,蒲小琼
(四川大学制造科学与工程学院,四川成都610065)
摘 要:介绍了基于SolidWorks的机械零件参数化设计的两种方法;详尽阐述了用系列零件
设计表生成配置和用Visual Basic调用SolidWorks API函数对其进行二次开发来分别实现机
械零件参数化设计的基本思想和实现流程。
关键词:参数化设计;配置;SolidWorks;二次开发;Visual Basic
中图分类号:TH122 文献标识码:A 文章编号:1671-5276(2004)05-0015-03
Parametrical Design of Mechanical Parts Based on SolidWorks
WANG Dong,PU Xiao-qiong
(Sichuan University,Manufacture Science and Engineering Academy,SC Chengdu610065,China)
A bstract:Two methods of parametrical design for mechanical parts based on SolidWorks are introduced in the paper.The paper explains the fundamental thought and the realization flow by means of Visual Basic,w hich calls for SolidWorks API to its further development.The paper also show s how to em ploy design table to pro-duce config uration realizing parametrical design fo r mechanical parts.
Key words:parametrical desig n;configuration;further development of solidw orks;visual basic
0 引言
许多机械零件的形状结构具有共同特征,只是在相对大小或局部特征上存在一定的差异,如果能够通过一个模板模型衍生出不同的模型,就会大大提高设计效率。
参数化设计是将系列化、通用化和标准化的定型产品中随产品规格不同而变化的参数用相应的变量代替,通过对变量的修改,从而实现同类结构机械零件设计的参数化。
参数化造型的基本思想是用数值约束、几何约束和方程约束来说明产品模型的形状特征,从而得到一簇在形状或功能上具有相似性的设计方案。
参数化实体造型的关键是几何约束关系的提取、表达、求解以及参数化几何模型的构建。
SolidWorks是世界上第一套基于Windows系统开发的三维机械设计CAD软件。
该软件提供了非全约束的参数化实体特征建模与曲面建模相结合的技术,具有强大的零件设计功能。
在Solid-Works中,机械零件参数化设计主要通过两种方法实现:一是利用在内嵌的Excel工作表中指定参数,创建多个不同配置的零件或装配体;二是利用编程语言作为开发工具,对SolidWorks进行二次开发,用程序实现参数化设计。
1 机械零件参数化设计的两种方法
1.1 用系列零件设计表生成配置实现机械零部件的参数化设计
要在SolidWo rks环境中通过Excel变量表实现机械零件的参数化设计功能,必须首先建立模板模型,通过对系列零件设计表中各个参数的修改来生成模板零部件的不同配置,每个配置就是一个不同的零件。
即在Excel变量表中指定参数,设计者可以创建多个不同配置的零件或装配体。
系列零件设计表保存在模型文件中,所以SolidWorks对模型的更改不会影响原来建立的Excel配置文件。
系列零件设计表可以控制零件或装配体的许多项目,其中主要包括:特征尺寸和压缩状态;配置属性(包括材料明细表中的零件编号、备注、自定义属性);零部件的压缩状态、显示状态、参考配置、颜色等;装配体特征的尺寸、压缩状态;配合中的距离和角度配合的尺寸、压缩状态等。
模板模型建好以后,在SolidWorks的菜单栏中选择【插入】-【系列零件设计表】,再在属性管理器中选择“空白(K)”,系统将自动在SolidWorks环境中插入一个空白的Excel电子表格,设计者即可
Machine Build ing&A utomation,Oct2004,33(5):15~17·15
·
以在SolidWorks 设计环境中直接在线编辑零件设计表。
系列零件设计表有规定的格式,每一单元格的参数和数据都有一定的语法要求和含义。
在SolidWorks 中,系统以尺寸或特征的名称作为不同配置的变量名参与计算,驱动模型几何形状的改变。
系列零件设计表中使用的尺寸、特征、零部件和配置的名称必须与模板模型中的名称相匹配。
尺寸标注的参数语法格式是“尺寸@特征”或“尺寸@草图<n >”;其他参数的语法格式是“$关键字@特征”或“$关键字@零部件<实例>”。
系列零件设计表如表1所示:
表1
系统零件设计表
表1中第一行是标题,提示现在操作的零件对象;第二行是配置项目,在这一行中设定需要进行配置的零件尺寸和零件特征;第三行以下是系列零件的实例,在A 列中输入零件实例的名称,在其他列中输入相应配置项目的设定,如尺寸的数值、特征的压缩状态等。
图1是表1所设配置生成的相应零件。
图1 按表1设置所生成的相应零件
1.2 基于SolidWorks 二次开发的机械零件
参数化设计
任何支持OLE (Object Linking and Embedding ,对象的链接与嵌入)和COM (Com ponent Object Model ,组件对象模型)技术的编程语言都可以作为SolidWorks 的开发工具。
由于Visual Basic 具有功能齐全、易学易用的特点,所以本文采用VB 调用SolidWorks 的API 函数来作为SolidWo rks 的二次开发工具。
1.2.1 SolidWorks 二次开发的机械零件参数化设计基本思想
分析机械零部件的结构特征,对有关联的尺寸用方程式约束,在SolidWo rks 环境中,尽量运用添加几何关系的方法建立模板模型。
VB 程序根据
不同的模型自动获取设计变量,将其特征尺寸转化为参数化变量,并按照VB 用户界面窗口输入的参数值对设计变量的修改来重建新的三维模型,实现过程如图2所示。
图2 重建新三维模型的实现过程
1.2.2 SolidWorks API 对象概述
SolidWorks API 使用面向对象的方法,其对象模型是一个多层次的对象网络,即对象分为若干层,每一层又包括若干子对象,每个对象又都有自己的属性、方法和事件。
对象是代码和数据的集合,属性用于描述对象的特征,方法为对象实施一些动作。
为了调用SolidWorks API 的方法或属性,首先要获得对象。
用户通过对SolidWorks 对象所拥有的属性和方法的操作,可以建立适合自己需要的、专用的SolidWorks 功能模块。
最高层次的对象是SlidWo rks ,它包括M odelDoc 、Environ -ment 、FrameAttributeDef 、Modeler 、SWProper -tySheet 以及一些其他的对象。
该对象封装了很多方法,可以实现应用程序的最基本的操作,如生成、打开、关闭、设置当前的激活文件等。
ModelDoc 对
象属于模型层,是SlidWorks 对象最主要的子对
象。
用ModelDoc 对象可以实现与实体模型相关的各类操作。
ModelDoc 对象包括PartDoc 、Assem -bly Doc 、Drawing Doc 、Feature 、Dimension 、De -signTable 等对象。
在SolidWorks 中,有三种类型的文件:零件、装配体和工程图,每种文件类型都有相应的API 对象。
PartDoc 对象提供了执行零件模型操作的函数,如拉伸(FeatureExtrusion )、旋转(FeatureRevolve )等;AssemblyDoc 对象提供了执行装配操作的函数,如添加新零件(AddComponent )、插入配合条件(AddM ate )等;Draw ingDoc 对象提供了执行工程图操作的函数,如对模型的尺寸、注解、材料明细表(BOM )等进行添加或修改。
1.2.3 SolidWorks 宏
宏是一系列命令的集合,相当于DOS 操作系
·16 ·
h ttp ://ZZHD .chinajournal .net .c n E -mail :ZZHD @chinaj ournal .net .cn 《机械制造与自动化》
统下的批处理文件。
为了实现VB 程序和Solid -Works 之间的参数传递,可以录制使用SolidWorks 用户界面执行的操作,然后让宏重新执行这些操作。
宏所包含的调用相当于使用用户界面执行操作时对API 的调用。
通过记录宏和交互式的执行任务,可以简化编程过程。
在编写程序代码前,都是录制宏来用作程序的基础,然后对宏进行编辑,将其特征尺寸转化为参数化变量,用VB 界面窗口中用户输入的参数值更新变量,即可生成新的三维模型。
1.2.4 设计实例
在机器或设备中,齿轮是一种常用零件,用于传递动力和运动,齿轮传动可以完成减速、增速、变向、换向等动作。
同一类齿轮的形状结构基本相同,只是相对大小有所变化,因此,可以根据齿轮设计参数对其进行参数化设计。
设计步骤为:
a )在SolidWorks 中,建立模板零件的三维模型。
为了尽量减少驱动尺寸的数目,在有关联的尺寸之间建立方程式,确定需要用户输入的参数化独立变量。
机械零件的各个特征尺寸之间如大小、角度、直径、半径、坐标位置等常常存在倍数关系、三角函数关系等,这些约束关系不能通过添加几何关系得到,而使用方程约束,就可以很好地解决这个问题。
SolidWorks 中,系统以尺寸名称作为方程中的变量名称参与计算。
将整个建模过程录制成宏。
b )在VB 中建立用户界面输入窗口。
将SolidWorks 中录制的宏剪切并粘贴到确定按钮的单击命令下,对此代码进行编辑。
c )程序运行结果:在文本框中输入齿轮的各个参数,单击“确定”,即可在SolidWorks 中生成相应参数的齿轮零件,如图3所示。
部分程序代码及解释如下
:
图3 在SolidWo rks 中生成相应参数的齿轮零件
Dim sw App As Object
Dim Part As Object Dim longstatus As Long
Set sw App =CreateObject (”SldWorks .Appl ication ”) '创建或获取S l dW orks 对象
Set Part =s w App .OpenDoc4(”F : Sol idW orks 齿轮模板零件.S LDPRT ”,1,0,””,l ongstatus )
Set Part =sw App .ActivateDoc (”齿轮模板零件”) '激活文件sw App .Visible =T rue 'S olidWorks 界面可见
Part .Parameter (”e @轮齿草图”).SystemValue =Text1.Text /1000 '更改齿轮模数
Part .Parameter (”z @阵列轮齿”).System Value =Text2.Text '更改齿数
Part .Parameter (”Thick @齿轮基本体”).SystemValue =Text3.Text /1000 '更改齿厚
Part .EditRebuild '重建模型
2 结束语
基于SolidWorks 的机械零件参数化设计适用于多个在形状结构上具有相同特征,但在一些局部特征或局部尺寸上又存在一定差异的零件设计的
情况。
用系列零件设计表生成配置的方法没有人
机交互界面(这是其主要缺点),是通过在Excel 变量表中编辑设计变量来实现设计的参数化的;基于SolidWorks 二次开发的机械零件参数化设计是用高级语言调用SolidWo rks API 函数的方法或属性,通过在人机交互界面中输入参数来生成零件模型的。
两种方法都是将特征尺寸转化为参数化变量,通过对参数化变量的修改来生成不同的零件模型,整个设计过程都是自动化的。
参考文献:
[1]刘长征译.精通SolidWorks2003[M ].北京:清华大学出版社,
2004.
[2]邱仲潘,等译.Visual Basic 6从入门到精通[M ].北京:电子工
业出版社,1999.
[3]江 洪,等.SolidWork s 2003二次开发基础与实例[M ].北京:
电子工业出版社,2003.收稿日期:2004-06-03
Machine Build ing &A utomation ,Oct 2004,33(5):15~17
·17 ·。