利用AtutoCAD開发工具实现非圆齿轮的设计.docVIP

利用AtutoCAD開发工具实现非圆齿轮的设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用AtutoCAD開发工具实现非圆齿轮的设计

利用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

文档评论(0)

yxnm + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档