摘 要: 本文以蜗杆蜗轮为对象, 建立其数学模型, 使用Visual Basic对SolidWorks进行二次开发, 实现了蜗杆
蜗轮的三维参数化实体建模, 所完成的三维实体零件模型为后续的有限元分析、机构仿真和数控加工提供了必
要条件。
关键词: 蜗杆; 蜗轮; 参数化设计; SolidWorks; Visual Basic
中图分类号: TH122 文献标识码: A 文章编号: 1672 - 9870 (2006) 01 - 0098 - 03
Parametr ic 3D2Design forWorm andWorm Gear based on SolidWorks
L I Junyuan
(College of Electrom echanical Engineering, Zhejiang University of Technology, Hangzhou 310032)
Abstract: This paper takes the worm and worm gear as an object, establishes its mathematical model,
introduces the theory and method of the Redevelopment app roach or SolidWorkswith VisualBasic. It has
realized the worm and worm gear parametric 3D2model, which has p rovided the essential condition for fol2
lowing work.
Key words: worm and worm gear; rarametric design; SolidWorks; Visual Basic
蜗杆蜗轮传动用于传递交错轴之间的运动和动
力, 在工程中应用十分广泛, 由于其外形曲面比较
复杂, 应用传统方法对其进行绘制时, 不仅过程繁
琐、效率低, 而且容易出错。随着CAD技术、虚
拟制造技术、虚拟现实技术的迅速发展, 三维参数
化造型的应用已日趋广泛, 应用先进的三维CAD
软件可以实现复杂零件的精确造型。
本文以SolidWorks为平台, 实现了蜗杆、蜗轮
零件的三维参数化造型。其造型的精确性高, 为后
续进行的有限元分析、机构仿真和数控加工等提供
了必要条件。
1 数学模型
在蜗杆传动中, 常用的是阿基米德蜗杆, 其螺
旋面的形成与螺纹的形成相似, 由一梯形截面绕圆
柱螺旋线扫描得到。图1 所示为蜗杆齿槽截面图
形, 其顶点坐标可表示为:
图1 蜗杆齿槽截面
Fig. 1 Se c tio n o fWo rm Sc rew
x1 = px /4 - hf ·tanα =πm /4 - 112m tanα
y1 = r - hf = m q /2 - 112m
x2 = px /4 + hα tanα =πm /4 +m tanα
y2 = r + hα = m q /2 +m
x3 = - x2 ; y3 = y2 ; x4 = - x1 ; y4 = y1
(1)
圆柱螺旋线的基圆是蜗杆分度圆, 其半径为r =
m q /2, 螺旋线导程T = Z1 ·px =πm z1。上述各式
第1期李俊源, 等: 基于SolidWorks的蜗轮蜗杆三维参数化设计
中, m 为模数, z1 为蜗杆头数, q为蜗杆直径系
数, α为压力角。
对于蜗轮而言, 端面齿廓曲线是渐开线。由于
SolidWorks没有绘制渐开线的功能, 因此, 需计算
渐开线上若干点的坐标值, 并以此绘制样条曲线近
图2 渐开线齿廊曲线
Fig. 2 Invo lu te P ro file
似代替渐开线。如图2 所示, 渐开线参数方程如
下:
x ( rk ) = rk sin (φ +θk )
y ( rk ) = rk cos(φ +θk )
x′= - x ( rk )
y′= r1 + r2 + y ( rk )
(2)
式中θk = tanαk - αk ,αk = arccos ( rb / rk ) ,φ =π /2z2
- tanα +α, r1、r2分别是蜗杆、蜗轮的分度圆半径,且
rf
≤ rk ≤ ra。
确定出同一齿槽中对称的两条渐开线、槽顶线
和槽底线所围成的封闭线框后, 使用扫描切除特征
便可得到一个齿槽。在扫描切除中, 导线就是蜗杆
的螺旋线, 使用圆周阵列即可得到蜗轮的造型。
2 三维参数化建模方案及实现
211 总体编程步骤
(1) 变量申明: 在VB程序中对全部变量进行
申明, 确保程序正确运行。
(2) 输入参数: 设计用户界面窗口, 输入创
建蜗杆、蜗轮实体模型必须的参数。
如图3所示, 输入参数主要包括: 模数m、压
力角α、蜗杆头数z1、蜗轮齿数z2、蜗杆直径系数
q、蜗轮齿宽b、齿顶高系数h
3
a 、齿根高系数h
3
f 、
蜗杆螺纹部分长度L。
(3) 计算结构尺寸: 按蜗杆、蜗轮的尺寸公
式计算参数, 分别得出蜗杆、蜗轮的分度圆、齿顶
圆、齿根圆、基圆直径以及中心距等建模过程中要
使用的结构数据。
(4) 创建蜗杆实体: 首先以蜗杆齿顶圆直径
图3 基本参数对话框
Fig. 3 Ba s ic Pa ram e te rD ia lo g Bo x
df、螺纹部分长度为参数创建圆柱体, 然后按式
(1) 计算蜗杆齿槽各坐标点并绘制封闭的齿槽轮
廓线, 再以蜗杆分度圆直径为基圆、蜗杆轴向齿距
为导程, 生成圆柱螺旋线, 最后进行扫描切除, 得
到有螺纹部分蜗杆实体模型。
(5) 创建蜗轮实体: 首先创建蜗轮坯体。然
后按式( 2) 计算蜗轮齿廓曲线上离散点的坐标
值, 进行坐标变换(如图2 所示, 将XOY坐标系
变换到X ′O ′Y′坐标系) , 绘制齿廓曲线, 得到封闭
的齿槽轮廓线。以与蜗杆建模中相同的参数生成圆
柱螺旋线, 以该螺旋线为导线, 齿槽轮廓线为轮廓
扫描切除蜗轮坯体, 得到一个螺旋齿槽, 最后圆周
阵列齿槽, 完成蜗轮实体模型。
212 创建蜗杆实体
有螺纹部分的蜗杆造型的主要实现方法及主要
程序代码如下:
(1) 创建蜗杆坯体
boolstatus = Part. Extension. SelectByID2 (“右视基准面”,
“PLANE”, 0, 0, 0, False, 0, Nothing, 0) ’选取草图平面
Part. CreateCircle 0, 0, 0, da1 /2, 0, 0 ’以坐标原点为圆心,
齿顶圆半径为半径画圆, da为变参
Part. FeatureManager. FeatureExtrusion2 True, False, False, 0,
0, L, 0. 01, False, False, False, False, _0101745329251994,
0101745329251994, False, False, False, False, 1, 1, 1, 0,
0, False ’拉伸,L为变参,
(2)绘制齿槽轮廓线
boolstatus = Part. Extension. SelectByID2 (“上视基准面”,
“PLANE”, 0, 0, 0, False, 0, Nothing, 0)
Part. ClearSelection2 True
Part. CreateL ine2 - x1, y1, 0, x1, y1, 0 : Part. CreateL ine2
x1, y1, 0, x2, y2, 0
Part. CreateL ine2 x2, y2, 0, - x2, y2, 0 : rt. CreateL ine2 -
x2, y2, 0, - x1, y1, 0
Part. InsertSketch2 True
99
长春理工大学学报2006年
(3)绘制圆柱螺旋线
boolstatus = Part. Extension. SelectByID2 (“右视基准面”,
“PLANE”, 0, 0, 0, False, 0, Nothing, 0)
Part. CreateCircle 0, 0, 0, d1 /2, 0, 0 画’ 分度圆
Part. InsertHelix False, True, False, True, 2, L, px, 7.
96178343949, 0, 0 ’生成螺旋线,变参L、px分别是螺旋线高
度和螺距
(4)扫描切除
boolstatus = Part. Extension. SelectByID2 ( "齿槽截面" , "
SKETCH" , 0, 0, 0, False, 1, Nothing, 0)
boolstatus = Part. Extension. SelectByID2 ( "蜗杆导线" , "
REFERENCECURVES" , 0, 0, 0, True, 4, Nothing, 0)
Dim SweepFeature As Object
Set SweepFeature = Part. FeatureManager. InsertCutSwep t3
( False, True, 0, False, False, 0, 0, False, 0, 0, 0, 0, 1,
1, 0, 1)
完成上述造型后,可交互操作完成蜗杆其余部
分的创建工作,便可得到完整的零件模型,如图4所
示。
213 创建蜗轮实体
在蜗轮造型中, 关键是齿廓曲线的生成及扫描
切除齿槽时螺旋线导线的生成。下面重点分析这两
个过程。为了便于程序开发, 规定蜗轮回转轴线是
上视基准面与右视基准面的交线。所创建的蜗轮实
体如图5所示。
图4 蜗杆实体模型 图5 蜗轮实体模型
Fig14 Wo rm Mo de l Fig15 Wo rm Ge a rMo de l
(1) 绘制齿廓曲线
首先确定齿廓曲线草图平面, 该平面应是通过
蜗杆轴线且与蜗轮轴平行的平面, 即该平面与上视
面平行且相距r1 + r2。定义草图平面的代码如下:
boolstatus = Part. Extension. SelectByID2 ( "上视基准面" , "
PLANE" , 0, 0, 0, False, 0, Nothing, 0)
Part. CreatePlaneAtOffset3 r1 + r2, False, True ’ r1 + r2 是变
参,设置基准面1与上视基准面的距离
boolstatus = Part. Extension. SelectByID2 ( " 基准面1 " , "
PLANE" , 0, 0, 0, False, 0, Nothing, 0)
生成渐开线代码如下:
⋯⋯ ’参数计算
boolstatus = Part. Extension. SelectByID2 ( " 基准面1 " , "
PLANE " , 0105834297693673, 010398569998232, -
01005216633607347, False, 0, Nothing, 0)
Part1 InsertSketch2 True
For K = 0 To N ’循环计算渐开线上离散点坐标,并绘制样
条曲线
rk = rb2 + dr 3 K : alfk = Atn ( Sqr ( rk 3 rk - rb2 3
rb2) / rb2) : ctak = Tan ( alfk) - alfk
x1 = rk 3 Sin (phi + ctak) : y1 = rk 3 Cos(phi + ctak) :
x = - x1 : y = a - y1
Part1SketchSp line N - I, x, y, 0 ’绘制样条曲线
Next K
Part1CreateL ine2 (0, 0, 0, 0, y, 0) 1ConstructionGeometry =
True’绘制镜像所需的对称线
boolstatus = Part1Extension. SelectByID2 ( " Spline1" , " SKETCH2
SEGMENT" , 0101292764526603, 0105584742754923, 0101,
True, 0, Nothing, 0)
boolstatus = Part1Extension. SelectByID2 ( " Line1" , " SKETCH2
SEGMENT" , - 01000172368603547, 0101258290805893, 0101,
True, 0, Nothing, 0)
Part. SketchMirror ’镜像样条曲线
(2) 圆柱螺旋线的生成
生成封闭的齿槽轮廓线后, 以一条圆柱螺旋线
为导线作扫描切除得到蜗轮的一个齿槽, 显然该圆
柱螺旋线的回转轴线应与蜗杆的轴线重合, 基圆直
径是蜗杆的分度圆直径, 螺距等于蜗杆轴向齿距。
螺旋线的旋向必须与创建蜗杆模型时的螺旋线旋向
相同, 且螺旋线只能贯穿蜗轮坯体一次, 否则将产
生不符合要求的齿槽, 因此螺旋线的圈数应设置为
015。主要程序代码如下:
boolstatus = Part. Extension. SelectByID2 ( "右视基准面" , "
PLANE" , 0, 0, 0, False, 0, Nothing, 0)
Part. CreateCircle 0, r1 + r2, 0, r1, 0, 0 ’ r1、r2是蜗杆蜗轮的
分度圆半径
Part. InsertHelix False, False, False, True, 0, px/2, px, 015,
0, 3114159265359 ’px是蜗杆轴向齿距
3 结论
本文研究了基于SolidWorks的蜗杆蜗轮参数化
建模方法, 使用Visual Basic语言编制实用的二次
开发程序, 实现了仅输入必要参数即可快速准确建
模的目标, 使建模过程大大简化。为后续的运行分
析、力学分析、虚拟装配等奠定了良好的基础, 具
有较高的实用价值。 |