利用AtutoCAD开发工具实现非圆传动齿轮设计.doc
文本预览下载声明
利用AtutoCAD开发工具实现非圆齿轮的设计
——经纬纺织机械股份有限公司 边文广 陆晋
概述
近年来非圆齿轮的理论研究工作取得的成果累累,不断有所创新,对于广大工程技术人员来讲无疑是幸事,但在实际应用中却缺少相对简单的办法加以验证检查设计参数是否合理手段,本文从便捷操作与实践的角度出发,利用AutoCAD开发工具进行了非圆齿轮设计的初步探索,从节曲线的绘制入手,进一步验算节曲线的长度是否满足非圆齿轮的条件,再利用范成法获得各齿廓的坐标点,最后求出相应齿轮的相关参数。
绘制节曲线
AutoCAD可以读取以极角和极半径方式存储在文件中的节曲线数据,并以此绘制出样条曲线,具体实现方法如下:
CommonDialog1.ShowOpen
Open CommonDialog1.fileName For Input As #1
Do While Not EOF(1)
Input #1, x, y 读入一组坐标值,x为角度值,y为极半径
m = m + 1 统计出坐标点的总数量
Loop
Close #1
ReDim location(0 To m * 3 - 1) As Double 重新定义出样条坐标点的数组及维数
n = 0
Open CommonDialog1.fileName For Input As #1 打开文件
Do While Not EOF(1) 循环至文件尾
Input #1, x, y
location(n + 0) = Cos(CDbl(x) *pi / 180) * CDbl(y)
location(n + 1) = Sin(CDbl(x) *pi / 180) * CDbl(y)
location(n + 2) = 0#
n = n + 3
Loop
Close #1 关闭文件。
Set splineObj =ThisDrawing.ModelSpace.AddSpline(location, startTan, endTan) 绘制样条线
节曲线长度验算
节曲线的长度是非圆齿轮的一个基本参数,必须符合一定的要求才可以满足齿轮的外形要求,即必须是标准模数的整倍数,通常为奇数倍。另一方面节曲线的计算并不像圆的周长计算容易,将直径参数带入公式L=π*d即可得到弧长,而椭圆或其他类型节曲线的长度计算则复杂得多,特别是任意角度内的弧长更不容易求得,势必影响非圆齿轮的进一步设计,那么应该如何快速计算出节曲线的弧长呢?
众所周知,祖冲之早在一千五百年前就对圆周率π计算出了非常高的精度,利用的原理就是内接多边形不断细分圆周,我们可以借鉴这一思路,将节曲线近似成由小的直线段形成,结合AutoCAD开发工具来解决非圆齿轮节曲线长度的计算,即对于首尾相接非凹的节曲线,可以以角度值的细化,与节曲线相交两点,并累计两交点间的直线距离,其他非封闭曲线也可以限定两端点后参照处理。
startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0
endPoint(0) = 500: endPoint(1) = 0: endPoint(2) = 0 500为大于节曲线的最大半径
Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) 设置一条水平线
n = 3600 设置循环次数
ak = (360 / (2 * n + 0)) / 180 * pi 每次旋转的角度,pi为常数3.1415926或Atn(1)* 4
For i = 0 To n
CPt0 = jiequxianObj.IntersectWith(lineObj, acExtendNone) 节曲线与水平线相交
Point0(0) = CPt0(0): Point0(1) = CPt0(1): Point0(2) = CPt0(2)
lineObj.Rotate startPoint, ak
CPt1 = jiequxianObj.IntersectWith(lineObj, acExtendNone) 节曲线与旋转水平线相交
Point1(0) = CPt1(0): Point1(1) = CPt1(1): Point1(2) = CPt1(2)
lineObj.Rotate startPoint, ak
CPt2 = jiequxianObj.IntersectWith(lineObj, acExtendNone) 节曲线与再旋转水平线相交
Point2(0) = CPt2(0): Point2(1) = CPt2(1): Point2(2) = CPt2(2)
Set lin
显示全部