本文利用SolidWorks软件开放性体系结构,通过对软件的二次开发实现了非圆齿轮的参数化三维建模。 1 非圆齿轮设计及方程
1.1 非圆齿轮与圆齿轮的不同之处
机械产品中的圆柱齿轮、圆锥齿轮等圆齿轮,其每个齿形相同且均匀分布在圆周上,齿顶、齿根分别位于齿顶圆周和齿根圆周上。齿轮的计算机辅助设计,可利用软件的镜像、阵列等功能实现。
非圆齿轮的齿廓形成及设计,与圆齿轮有很多相似之处,如齿数、模数、齿顶高、齿根高等参数设计。但又因为它的节曲线不是圆,因此不同位置的轮齿不尽相同,如图l所示,非圆齿轮的节曲线方程为r=r(θ),其齿顶、齿根、齿廓等部位的计算与圆齿轮有很大的区别。为此在进行非圆齿轮设计是,将每个齿形单元分成齿廓ab、cd,齿顶bc,齿根de四部分,分别计算设计,然后再利用绘图程序绘制齿形图。
图1 齿形图
1.2 轮齿在节曲线上的位置
节曲线封闭的非圆齿轮,在设计时要保证轮齿在节曲线上的均匀分布。若要设计齿轮的模数为m,齿数z,则节曲线的周长L应恰好是z个齿距,即应满足条件式 一般情况,设计时随意确定的节曲线参数,是很少能恰好满足上式的。为此,设计者必须通过改变节曲线的某些参数,或者改变齿数、模数等进行反复的计算,直到满足上述要求为止。
1.3 齿顶与齿根曲线方程
非圆齿轮的齿顶曲线和齿根曲线理论上是节曲线的法向等距线,它们与节曲线之间的法向距离分别是齿顶高ha、齿根高hf,如图2所示。从节曲线沿法线向外侧量取长度ha,得到A点,它就是齿顶曲线上的一点:沿法线向内侧量取长度hf,得到B点,它就是齿根曲线上的一点。齿顶与齿根曲线方程分别为
图2 轮齿齿顶齿根计算图
1.4 齿廓曲线方程
圆齿轮的齿廓是基圆的渐开线,每个轮齿形状相同,而非圆齿轮各个轮齿的齿廓不尽相同,其设计和计算相对要比圆齿轮复杂的多。如图3所示,n为齿廓线上的一点,a为n点的法线与节曲线交点。则由矢量方程式ro=r+an求得n的直角坐标方程为分页 图3 轮齿齿廓计算图
2 非圆齿轮建模程序开发及关键技术
目前市场上的三维机械CAD软件并没有提供直接生成非圆齿轮的功能,但很多软件为用户提供了开放的二次开发接口,用户可根据自身需要对其进行二次开发,以实现建立机械零件三维模型的目的。本系统采用市场上较为流行的SolidWorks作为二次开发平台,研究非圆齿轮参数化建模的方法。
SolidWorks软件二次开发是利用支持OLE(对象的连接和嵌入)和COM(组件对象模型)的编程语言作为开发工具,通过调用SolidWorks API(应用程序编程接口)函数,实现与SolidWorks软件相对应的功能。API是一个基于OLE Automation的编程接口,其中包含了许多功能函数,这些函数提供了直接访问三维机械CAD软件的能力,可以被VB、VC等编程语言调用,以实现预期功能。
2.1 系统开发思路
本系统通过编写Visual Basic程序来对SolidWorks软件进行二次开发,实现非圆齿轮的参数化三维建模,其基本过程如下:
(1)在SolidWorks中建立非圆齿轮三维模型
用SolidWorks创建非圆齿轮三维模型时,应用SolidWorks自带的宏记录功能,把建模的全过程录制成宏文件。对记录所得宏文件,进行编译即可变成能被VB调用的应用程序。找出宏文件中与模型生成有关的关键函数,确定其中的关键常数,将关键常数用变量代替,这样就完成了齿轮三维参数化造型程序。
(2)应用Visual Basic编制应用程序
运用VB语言编制应用程序界面,读取界面并录入初始参数,计算出相关参数并输入到齿轮实体生成时形成的宏文件中,编译程序并生成可执行程序供SolidWorks程序调用。运行设计窗口时,点击模块中的“确定”按钮,在SolidWorks环境下进行齿轮三维实体建模,即可得到所需要的齿轮实体。
(3)完成可执行应用程序后,使用SolidWorks中的“宏”操作命令将应用程序嵌入SolidWorks中,实现二者的接口。
(4)进行非圆齿轮参数化建模。
2.2 非圆齿轮参数化三维建模过程
2.2.1 齿轮的造型
用VB开发SolidWorks时,一般是利用宏录制命令在SolidWorks环境中录制SolidWorks的相关操作来获得程序头部和应用程序的代码,并将代码经过适当的修改后放到VB中使用。在应用程序的开发过程中,利用SolidWorks内部的宏功能,将非圆齿轮三维实体创建的全过程经宏录制转换成宏文件,然后对宏进行编辑,形成非圆齿轮的三维参数化造型程序。基本步骤如下:创建新零件—新建宏—录制宏—利用样条曲线等建立草图特征—创建拉伸特征—停止宏—编辑宏文件(*.swp)。
在本例中首先录制一个模数为m=2,齿数为z=40,偏心率为e=0.45的一阶椭圆齿轮实体创建全过程的宏文件。然后编辑该宏文件,把关键常数用变量代替,生成齿轮的三维参数化造型程序。造型过程需要利用非圆齿形的齿廓曲线方程式,计算各点的坐标值并用SolidWorks软件中的样条曲线功能生成一个完整的齿廓形状,如图4所示。
图4 齿轮齿廓形状
2.2.2 齿轮参数的定义与计算
程序中首先定义非圆齿轮的各项参数,并据齿轮计算公式进行计算,得出绘制齿轮所需参数。
Dim m As single//定义齿轮模数
Dim z As Integer//定义齿轮齿数
Dim e As single //定义椭圆齿轮偏心率
Dim n As Integer//定义椭圆齿轮阶数
......
xg=r*cos(seita)//计算非圆齿轮齿廓点
yg=r*sin(seita)
xr=xg+s*cos(alfaN)*cos(q)
yr=yg+s*cos(alfaN)*sin(q)
beita=bei(xr,yr)
ra=A*(1-e*e)/(1-e*cos(N*beita))+M分页l=sqrt(xr*xr+yr*yr)
......
2.2.3 VB程序与SolidWorks接口的实现
调用VB与SolidWorks的开发接口,建立VB与SolidWorks的联系,部分代码如下:
Dim swApp As Object
Dim NewPart As Object
Set swApp=CreatObject(SldWorks.Application)
swApp=True
......
完成应用程序后,将应用程序嵌入SolidWorks中。使用SolidWorks中的宏操作命令直接调用编译好的可执行程序,其过程如下:选择菜单“工具/宏操作/录制”-停止录制,以文件名称feiyuanchilun.swp.保存宏文件-选择菜单“工具/宏操作/编辑”,把宏文件论证的内容删掉,并输入下面的程序:
Sub main()
MyAppID=shell(“D:\feiyuanchilun.exe",1)
AppActivate MyApplD
End Sub
保存并返回到SolidWorks环境。在SolidWorks中指定宏命令的文件位置,并定制工具栏,将所执行的宏操作按钮添加到指定位置,以后在SolidWorks中单击相应的图标就可以直接执行应用程序了。
|