基于SOLID EDGE的齿轮三维设计系统的研究*
徐武彬
(广西工学院机械工程系 广西柳州 545006)
摘要:本文以三维CAD软件Solid Edge为软件平台,介绍了参数化的齿轮三维设计方法,并将齿轮的设计计算和三维实体模型设计融为一体,大大地提高了齿轮三维设计的效率。本文还以斜齿圆柱齿轮为例,着重介绍了齿轮三维设计软件系统的程序设计方法。
关键词:齿轮,Solid Edge ,三维CAD
中图分类号:TH122 文献标识码:A
基于Solid Edge的齿轮廓线设计
轮齿的形成在实际加工中可以有多种方法,有成形法、范成法等等,不管是什么方法,它们都是在毛坯上去除齿槽,最终形成轮齿。齿轮三维造型方法与实际切削加工有着相似的地方,也是通过除料(Cutout)的方法把齿槽部分去除。该部分主要是在Solid Edge的草图环境(Sketch)中创建齿轮的轮齿廓线,为生成齿轮的三维模型做准备。
图2“四点法”
创建齿轮齿槽廓线主要有三种方法:①模拟切削加工,形成精确齿廓[1]。②根据轮齿廓线的解析法方程,用直线段逼近。③用轮齿廓线上少量的点,通过B样条曲线拟合。方法一和方法二所生成的轮齿廓线精确,但在三维环境中采用,则所形成的齿轮包含的特征元素数量庞大,占用的磁盘存储空间庞大,生成的时间长,无法用于齿轮传动系统的三维装配和二维工程图中[4][5]。为此,我们采用方法三,并经过反复测试,提出了“四点法”构成轮齿廓线,且效果较好。
所谓“四点法”,就是在轮齿渐开线及过渡线上取四点,通过Solid Edge提供的B 样曲线接口函数BSplineCurve2d来生成轮齿廓线。在不同的条件下,这四点有所不同。当基圆大于齿根圆(齿数z≤41)时,轮齿廓线在理论上由一条渐开线和一条过渡线组成,此时,我们所指的四点是取齿根圆上A点、基圆上B点、分度圆上C点和齿顶圆上D点,如图2 a所示。当基圆小于齿根圆(齿数z>41)时,轮齿廓线在理论上是一条渐开线,我们所指的四点是取齿根圆上A点、分度圆上C点、齿顶圆上D点及齿根圆与分度圆中间的一点E,如图2 b所示。
2.4基于Solid Edge的齿轮三维设计
该部分主要根据设计计算出的齿轮基本参数和结构参数,通过Solid Edge二次开发接口程序来生成齿轮的三维实体模型。
图3齿槽放样除料截面图
对于直齿圆柱齿轮,只需在圆柱形齿坯上,通过拉伸除料(ExtrudedCutout)将齿槽部分切去,然后再将该拉伸除料特征阵列z个即可。对于斜齿圆柱齿轮,做法主要有两种:一是作一条螺旋线,然后通过螺旋除料(HelixCutout)将齿槽部分切去,然后再将该螺旋除料特征阵列z个;二是沿齿槽方向作若干个齿槽轮廓线,通过放样除料(LoftedCutout)将齿槽部分切去,然后再将该放样除料特征阵列z个[6]。考虑到Solid Edge软件本身特点,经反复测试发现,第一种方法运行的可靠性较差。因此我们采用第二种方法,并经过反复测试,沿齿槽方向采用4个齿槽轮廓线进行放样除料的效果和可靠性都非常理想。如图3所示。
3. 基于Solid Edge的齿轮三维设计程序的设计方法
有关齿轮设计计算等部分的程序设计方法可参阅相关参考文献,本文以斜齿圆柱齿轮为例,着重介绍一下面向Solid Edge的齿轮三维设计程序的设计方法。
斜齿圆柱齿轮三维造型程序设计主要包括以下几个方面:
(1)在VB程序中调用Solid Edge对象。在VB程序中是采用VB的CreateObject( )或GetObject( )函数来调用Solid Edge对象,用Set objDoc = objApp.Documents.Add("SolidEdge.PartDocument")方法创建SolidEdge 零件(Part)模块文档objDoc。如需退出Solid Edge环境,可执行objApp.Quit语句[4]。
(2)创建齿坯并倒角、开中心孔、键槽。具体算法是:用Set objProfile(1) = objDoc.ProfileSets.Add.Profiles.Add(objDoc.RefPlanes(1))方法在Part模块文档objDoc中定义齿坯二维轮廓参考面objProf(1);用Call objProfile(1).Circles2d.AddByCenterRadius(0, 0, r)方法在参考面objProf(1)上建立半径为r的二维齿顶园,用Set objModel = objDoc.Models.AddFiniteExtrudedProtrusion(1, objProfile, igLeft, b)方法将二维齿顶园拉伸为齿宽为b三维齿坯objModel;用Set objEdges = objModel.ExtrudedProtrusions(1).Edges(EdgeType:=igQueryAll)方法获取齿坯objModel的边缘objEdges,用Call objModel.Chamfers.AddEqualSetback(2, objEdge, s) 切角方法生成宽度为s的45度倒角;用Call objProf.Arcs2d.AddByCenterStartEnd( )和 Call objProf.Lines2d.AddBy2Points( )方法在参考面objProf上建立中心孔和键槽轮廓,然后用Set objCutout = objModel.ExtrudedCutouts.AddFinite(objProf, igLeft, igLeft, b)拉伸除料方法在齿坯上切出中心孔和键槽。其中objProfile、objProf、objEdges、objModel 、objCutout等均为Object类型数据[7][8]。
(3)创建齿槽轮廓。对于斜齿圆柱齿轮,我们沿齿槽方向采用4个齿槽轮廓进行放样除料形成齿槽。具体算法是:用Set objLFRefPlane(i) = objDoc.RefPlanes.AddParallelByDistance(objDoc.RefPlanes(1), (i-1)*b / 3, igRight, True)方法在齿槽方向建立四个平行于基准面RefPlanes(1)的参考面objLFRefPlane(i)(其中i=1~4,b为齿宽),根据“四点法”用 Set objCurve(i) = objLFRefPlane (i).BsplineCurves2d.AddByPoints(Order:=4, ArraySize:=4, Array:=MyArray())B样条曲线方法,根据“四点”数组MyArray()建立B样条曲线objCurve(i),并用Set objArc(i) = objLFRefPlane(i). Arcs2d.AddByCenterStartEnd( )圆弧方法及Set objLine1(i) = objLFRefPlane(i).Lines2d.AddBy2Points( )直线方法分别在四个参考面objLFRefPlane(i)上建立相应的齿槽轮廓,如图3所示。
(4)采用放样除料方法去除齿槽部分。具体算法是:根据放样除料特征操作的要求,在四个参考面上将右侧齿根点定义为放样基准点,构成放样基准点数组OriginArray(i),并用SectionTypes(i) = igProfileBasedCrossSection方法确认每个轮廓封闭。最后用Set objLoftCut = objModel. LoftedCutouts.AddSimple(NumSections:=4, CrossSections:=objLFProfile, CrossSectionTypes: = SectionTypes, Origins:=OriginArray, MaterialSide:=igLeft, StartTangentType:=igNone, EndTangentType:=igNone) 放样除料方法在齿坯模型objModel上去除齿槽部分。
图4 斜齿轮三维模型
(5)根据齿数,阵列齿槽部分,形成齿轮三维实体。具体算法是:用Set objRPattern = objProf.CircularPatterns2d.AddByCircle(CenterX:=0#, CenterY:=0#, StartX:=0.006, StartY:=0.06, Orientation:= igGeom2dOrientCounterClockwise, OffsetType:=sePatternFillOffset, Count:=1, AngularSpacing:=2 * PI / z)方法在齿坯基准面objProf上创建圆形阵列objRPattern,用Set objFeatures(1) = objLoftCut方法设置阵列特征为放样除料特征,最后用Set objPattern = objModel.Patterns.Add (Number OfFeatures:=1, FeatureArray: =objFeatures, Profile:=objProf, PatternType:= seSmartPattern)方法在齿坯模型objModel上将齿槽放样除料特征阵列,形成齿轮三维实体,如图4所示。
(6)程序的运行。用VB技术和Solid Edge二次开发接口开发的齿轮三维设计应用程序有两种运行方式:一是将开发的齿轮三维设计应用程序(*.EXE类型可执行文件)作为一条新增命令,嵌入到Solid Edge中,在Solid Edge环境中运行。二是将齿轮三维设计应用程序作为用户端主控模块控制Solid Edge的进入和退出[4]。 |