摘要:文章从三维设计的的必要性出发,介绍了二维设计的局限性和三维设计的优势。以转子零件参数化设计为例,进一步说明了三维设计的参数化设计的策略和应用。
Abstract: Based on 3D Design, this article introduced the limitation of 2D Design and superiority of 3D Design. To take parameterized design of motor for example, it further illustrates the tactics and application in parameterized design..
关键词:三维CAD;参数化设计;VB;二次开发
Key Words: 3D CAD Parameterized Design VB Redevelopment
中图分类号: TH11
前言
目前流行的三维CAD技术基础理论主要是以Pro/E为代表的参数化造型理论和以SDRC/I-DEAS为代表的变量化造型理论,它们都属于基于约束的实体造型技术。参数化造型其主要技术特点是:基于特征、全尺寸约束、尺寸驱动设计修改、全数据相关。 1 三维设计的必要性 1.1 二 维设计的难题与局限性二维CAD没有改变传统的设计思想和制图准则,并且存在最别扭的几个问题,如复杂的投影线的生成问题、漏标尺寸、漏画图线问题、机构几何和运动关系的分析讨论问题、设计的更新与修改问题、设计工程管理问题等。 1.2 三维设计的优势三维CAD系统在整个产品设计过程中处于真实的“产品空间”。因此,在整个产品实际过程中可以很直观的看到,由于其设计的直观性,所以工程师可以在第一时间发现设计问题和设计缺陷,提高设计效率。三维CAD系统将使企业参加产品招标、产品宣传、产品销售和市场推广变的更加方便简单。因此在机械设计中采用三维CAD软件,可以解决二维设计难题,提高设计效率。 2 参数化设计策略参数化设计主要体现在两个方面[19]:一方面是用程序实现参数化设计,即利用参数化绘图程序生成图形;另一方面是利用CAD系统提供的参数化功能实现模型的设计变量驱动,即在模型构建过程中用变量来控制模型的几何尺寸和约束关系。
2.1用设计变量表实现三维模型参数化设计
在三维CAD系统中,以生成的二维轮廓为基础,通过构建拉伸、旋转、放样等特征构建三维模型,并自动生成设计变量表。通过设计变量表中的数据进行修改,以设计变量作为三维模型的参数,从而实现用户交互操作层次上参数化设计。这种参数化设计策略的优点简单实用,但操作较复杂、设计效率不高。
2.2 编程技术实现三维模型参数化设计
利用三维CAD系统本身提供的开发环境应用程序接口,用编程方法生成三维模型的参数化设计。模型二维轮廓的生成、各种特征的构建及编辑等均由程序控制。其优点是三维模型完全实现了程序驱动,但不足之处是编程工作量大、开发效率低、适用面窄。
2.3 设计变量与编程技术结合实现参数化设计
综合前两种策略的优点,可采用设计变量与编程技术相结合的三维模型的参数化设计方法。其实现原理是以三维参数化特征造型技术生成的模型为基础,用设计变量作为参数化程序与三维模型的联系纽带。其主要设计思路为
(1)建立三维模型样板 先对零件进行分类,用反映该类零件所有特征的复合零件作为三维模型样板。然后根据复合零件用人机交互的形式直接在三维CAD环境建立模型,确定和创建设计变量。
(2)设计参数化程度 从已构建的模型样板中获取设计变量,采用图形用户界面对设计变量进行查询或修改,根据设计计算所确定的设计参数修改零件模型的设计变量,最后生成新的三维模型。 3 机械零件参数化设计实现接下来,我们将以用设计变量与编程技术相结合的方式实现三维模型的参数化设计的方法来讲述零件参数化设计的实现。
3.1三维软件及开发工具
SolidWorks系统具有独特的特征管理员,提供的特征管理员设计历史树同具体的实体模型是实时的动态联接、强大的实体建模功能和直观的Windows用户界面、支持Windows的DDE机制和OLE技术、双向关联的尺寸驱动机制、提供了VB,VC和其他支持OLE的开发语言接口、支持Internet技术,可以共享设计数据等特点。SolidWorks二次开发的工具很多,如Delphi,C++,VC,VB等语言。VB语言简单易懂的特点,又是采用面向对象、事件驱动的编程机制,因此本系统选择VB作为开发语言,可以满足系统要求。
3.2定义变量
在SolidWorks环境下,打开需要定义变量的转子模型,选中所要定义的特征或其他尺寸,双击鼠标左键显示零件的特征尺寸或其他尺寸,单击鼠标右键选中“属性”。在属性对话框中进行变量设定,如图1所示。
图1 定义变量
Fig.1 Defining Variable
3.2引用SolidWorks对象库
启动VB,通过“工程”菜单,选择“引用”,选择所需的SolidWorks对象库,如图2所示。
图2 引用SolidWorks对象库
Fig.2 Utilizing SolidWorks Object
3.4 机械零件参数化设计程序实现
在SolidWorks根据零部件的特征将零部件变量和方程式设定完成并引用SolidWorks对象库后,就可以在VB进行中程序设计了。转子零件参数化设计部分程序如下
Call parametricSub(kjValue,
wjValue,… …)’
调用parametricSub自定义模块
Sub parametric Sub(ByVal
kjValue_Passed
As Double,ByVal wjValue_Passed As Double,
… …)’自定义模块
Dim swApp As object’
定义应用程序对象句柄
Dim part As Object ’定义零件句柄
Set swApp=Create Object
("Sldworks.Application")’创建一个应用程序
swApp.Visible (True)’使新的调用SolidWorks可见
Set part = swApp.OpenDoc("E:\xx\转子.sldprt",swDocPART) ’打开文件
Set part = swApp.ActivateDoc("转子.sldprt") ’将打开的实体文件激活part.Parameter
("kj@草图9").SystemValue =
kjValue_Passed/1000 ’读入零件孔径
part.Parameter("wj@草图
8").SystemValue = wjValue_Passed/1000
’读入零件外径
… …
part.EditRebuild
part.ShowNamedView2 "*等轴测", 7
part.ViewZoomtofit2
part.Save
转子一参数化程序执行如图3所示。
图3 参数化程序执行