摘要:文章介绍了变量化设计的基本思想,同时提出了基于三维CAD软件SolidWorks实现变量化设计的两种方法,它们以变量为桥梁,将设计计算和零件三维模型设计结合起来,大大提高了设计效率。同时,基于变量化设计方法开发出一套挤压模CAD/CAPP系统,对于开发同类产品具有重要的参考价值。
关键词:变量化设计;模具;SolidWorks;VB
0 引言
当前,CAD技术已广泛应用于工程设计的各个领域,该技术已由单纯二维设计向三维智能设计、物性分析、动态仿真以及变量化方向发展。变量化设计可以让我们随心所欲地构建,可以随意拆卸,能够让我们在平面的显示器上,构造出三维立体的设计作品,并可以保留每一个中间结果,以备反复设计和优化设计时使用,它是CAD技术的重要发展方向,其主要应用有:变量化造型、变量化装配、变量化模架库等。变量化技术的成功应用为CAD技术的发展提供了更大的空间和机遇。
模具工业是国民经济的基础工业,模具生产的重要特点是生产效率高、材料利用率高、生产互换性好,其技术水平的高低已成为衡量一个国家制造业水平的重要标志之一,但是模具设计技术含量高,设计过程具有多环节、多反复的特点,且各环节之间关系错综复杂、关系密切、相互制约,这样要设计高质量的模具就会有诸多问题。鉴于变量化技术的巨大优势,本文将其应用到模具设计开发当中,并利用SolidWorks的API函数对SolidWorks进行二次开发,实现了模具的变量化设计,并建立了挤压模CAD/CAPP系统。
1 SolidWork及变量化技术
1.1 SolidWorks简介
SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是由美国SolidWorks公司在总结和继承了大型机械CAD软件的基础上,在W indows环境下实现的第一个机械三维CAD软件。它全面采用非全约束的特征建模技术,其设计过程全相关性,可以在设计过程的任何阶段修改设计,同时牵动相关部分的改变;它还可以动态模拟装配过程,进行静态干涉检查、计算质量特征等。它集成了设计、分析、加工和数据管理的整个过程,具有较好的开发性接口和功能扩充性,能轻松实现各种CAD软件之间的数据转换传送。为了适合特定企业的特定要求,使SolidWorks在企业中更有效地发挥作用,SolidWorks还提供了几百个API (应用程序接口)函数,这些API函数是SolidWorks的OLE (对象的嵌入与链接)或COM (组件对象模型)接口,用户可以使用VB/VBA/VC/Delphi等高级语言对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块。SolidWorks是简单易学、技术发展最快、性价比最优的三维CAD软件,已被广泛应用于国内外制造业[1-2]。
1.2 变量化技术
变量化技术是在参数化的基础上又做了进一步改进后提出的设计思想。参数化设计是一种基于用户操作层次的设计方法,它的主要特点是:基于特征、全尺寸约束、全数据相关、尺寸驱动设计修改。它的全尺寸约束要求设计者在设计全过程中,必须将尺寸和形状联合起来考虑,通过尺寸来驱动形状的改变,一切以尺寸参数作为出发点,当所设计的零件形状较复杂时,通过尺寸来控制形状就比较困难。而变量化设计是一种比参数化设计更先进的实体造型技术,它是基于用户设计层次的设计方法。变量化技术既保持了参数化技术的基于特征、全数据相关、尺寸驱动设计等优点,同时又克服了参数化设计的不足之处,它在约束定义方面做了根本性改变。它允许尺寸欠约束的存在,设计者可以采用先形状后尺寸的设计方式,将满足设计要求的几何形状放在第一位而暂不用考虑尺寸细节,设计过程相对宽松[2]。变量化设计可以用于公差分析、运动机构协调、设计优化、初步方案设计选型等,尤其在做概念设计时更显得得心应手,比参数化设计具有更大的自由度,可以充分发挥设计者的创造力和想象力,是CAD技术的又一次飞跃。
变量化设计时,可定义若干个关键变量,其它变量通过一定的函数建立与关键变量的关系。关键变量修改后,其它相关变量重新计算,生成新的变量。图1所示可简要说明变量化设计过 图1 模具顶杆
程。
图1中是模具设计中卸料用的顶杆,可将顶杆工作部分直径RD1处设为关键变量,顶杆端部直径为可设为RD1+10,当直径RD1改变时,端部直径将随之改变。
下面将以SolidWorks 2006为基础,提出变量化设计实现方法,并利用VB 6.0对其进行二次开发,建立了复杂的挤压模CAD/CAPP系统。
2变量化设计的实现方法
2.1利用SolidWorks的方程式实现变量化设计[2-4]
在SolidWorks的工具栏中提供了一个可供用户操作的方程式(通过“工具→方程式”调用),使用方程式可以给任何特征的草图尺寸或参数进行控制,实现变量化设计。如图1所示的模具顶杆,端部直径(RD2)为工作部分直径RD1+10,在SolidWork中的变量化设计过程为:
(1)三维实体建模。利用SolidWorks的三维绘图能,实现零件的三维实体建模,如图1所示。由于用变量化功能设计模型,只需按常规方法绘制出零模型,其尺寸不需要准确无误。
(2)标注尺寸添加方程式。对草图进行尺寸标注,添加如图2所示的方程式进行变量化设计。
图2 方程式变量化设计图示
(3)重建模型。改变模具顶杆工作部分直径,单击“重建模型”就可以得到不同尺寸的新模型。
在SolidWorks中应用方程式实现变量化设计,用户可直接在方程式列表中添加约束方程式就可以控制零件模型的形状和尺寸,操作简单,但是,该方法一般用于变量的数量较少,且各变量及尺寸之间的关系较为简单的场合,对于复杂的图形,该方法较难处理。
2.2通过SolidWorks的二次开发实现变量化设计
SolidWorks支持ActiveX Automation技术,在VB环境下建立客户程序可以直接访问SolidWorks提高的API函数,通过调用这些对象属性的设置和方法,就可以在用户自己开发的程序中实现与SolidWorks相同的功能,通过这些函数,将零件模型的结构和尺寸全部附以变量的形式,由程序控制零件模型的设计计算和特征构建。程序设计时无需考虑零件尺寸的大小,全部用变量表示,最后通过一个用户界面获得用户输入的数据,由程序驱动SolidWorks得到所需的三维模型。
利用VB开发SolidWorks时必须在VB环境下完成对象的引用,即通过“启动VB 6.0→工程→引用”,选中“SldWorks 2006 Type Library”,完成对SolidWorks对象的引用。然后定义对象变量[1]:
Dim swApp As Object, Part As Object
'定义变量
Set swApp = CreateObject
("SldWorks.Application")
'引用SolidWorks对象
swApp.Visible = True
Set PartDoc = swApp.NewPart
Set Part = swApp.ActiveDoc '激活文件
Part.InsertSketchTrue '激活草图绘制
然后使用画线对象Part.CreateLine2完成草图绘制,使用Part.FeatureManager.FeatureRevolve完成旋转,即可获得图2所示的实体模型,改变关键变量,可获得新模型。