正文阅读

圆柱直齿轮相关(1)

发布时间:2012-5-15 20:38 Tuesday|类别: 机械 |编辑:中原

    悲剧的外企,不大好意思问人,简单东西要搞n久。。。

    ---------

    1.proe绘制齿轮(注,根据两个月来的工作经验,这个没什么用,因为出的cad图都是靠写参数的,所以proe的齿子画的不标准也问题不大,不过,用参数化的方式可以免去以后记不住参数的麻烦)

    a.画分度圆,齿顶圆,齿根圆

    b.画渐开线,方程为:

    r=db/2
    theta=t*45
    x=r*cos(theta)+r*sin(theta)*theta*pi/180
    y=r*sin(theta)-r*cos(theta)*theta*pi/180

    c.对称渐近线

    很多教程上面这里有个错误,认为分度圆齿厚和齿槽宽是相等的,所以得出对称平面与原平面(通过齿轮中心直线和渐开线与分度圆交点的平面)夹角为360/(4*Z)。关键是他们还在齿顶圆之类的公式里面加上变位,显得自己的方法是通用的。。。

    对于变位齿轮,这个夹角应该是360/(4*Z)+2*X*TAN(ALPHA)*180/pi/z

    d.各种拉伸

     

    2.渐开线函数inva,反渐开线函数ainva

    因为我是自己在excel里面做公式,所以找的vb版

    Public Function Inv(a As Double) As Double
    Inv = Tan(a) - a
    End Function
    
    Public Function aInv(num As Double) As Double
    Dim lowangle As Double
    Dim highangle As Double
    Dim midangle As Double
    lowangle = 0
    highangle = Atn(1) * 2
    Do While highangle - lowangle > 10 ^ -12
    midangle = (lowangle + highangle) / 2
    If Inv(midangle) > num Then
    highangle = midangle
    Else
    lowangle = midangle
    End If
    Loop
    aInv = (lowangle + highangle) / 2 / Atn(1) * 45
    End Function
    据说C版如下,未验证:
    #include<iostream.h>
    #include<math.h>
    #include<conio.h>
    double AInv(double y, double e);
    void main()
    {
         double x, y;
         cout<<"Input y (>0): ";
         cin>>y;
         x = AInv(y, 0.000001);
         if (x<0)  cout<<"Failed after 100 iterations!"<<endl;
         else      cout<<"ainv("<<y<<") = "<<x<<endl;
         getch();
    }
    double AInv(double y, double e)
    {
    double x, maxX, minX;
    const double pi = 3.14159265358979;
    maxX = pi/2;
    minX = 0;
    for (int i=1;i<=100;i++)
    {   x =  (maxX + minX) / 2;
         if (maxX-x<e) return(x);        
         if (y>tan(x) - x)  minX = x;
         else                     maxX = x;
         cout<<minX<<", "<<maxX<<endl;
    }
    return(-1);
    }

    3.cad画齿轮(注:这个也没什么用,画示意图的时候用吧,或许有线切割的齿轮…)

    导入附件用gear命令就可以了

     

关键字词

评论:

李若蟾
2014-08-26 22:06
代码看不懂的飘过

发表评论:

您也可以直接填写QQ到下面的输入框中,点击获取用户资料实现自动调用您的QQ资料