在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

            EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 漸開線圓柱齒輪幾何參數(shù)計(jì)算的計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)

            漸開線圓柱齒輪幾何參數(shù)計(jì)算的計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)

            作者: 時(shí)間:2012-05-31 來源:網(wǎng)絡(luò) 收藏

            α2 = Math.PI * α1 / 180;

            β2 = Math.PI * β1 / 180;

            n = Math.Cos(β2);

            u = 1;

            m = Convert.ToDouble(tBoxm.Text);

            ha = Convert.ToInt32(tBoxha.Text);

            hat = ha * n;

            c = Convert.ToDouble(tBoxc.Text);

            ct = c * n;

            r = Convert.ToDouble(tBoxr.Text);

            rt = r * n;

            if (tBoxpa_s.Enabled) //標(biāo)準(zhǔn)

            {

            Z0 = Convert.ToInt32(tBoxZ1.Text);

            ha01 = ha * m;

            hf0 = 1.25 * m;

            h0 = ha01 + hf0;

            if (tBoxβ.Text != 0)

            {

            a0 = Z0 * m / n;

            d0 = m * Z0 / n;

            }

            else

            {

            a0 = Z0 * m;

            d0 = m * Z0;

            }

            a = a0;

            da0 = d0 + 2 * ha01;

            df0 = d0 - 2 * hf0;

            db0 = d0 + Math.Cos(α2);

            pa = Math.PI * m * Math.Cos(α2);

            //標(biāo)準(zhǔn)齒厚計(jì)算

            sc0 = 0.5 * Math.PI * m * Math.Cos(α2) * Math.Cos(α2);

            hc0 = ha01 - Math.PI * m * Math.Sin(2 * α2) / 8;

            invαt = Math.Tan(α2) - α2;

            if (tBoxβ.Text != 0)

            {

            s0 = m * Z0 * Math.Sin(Math.PI * n * n * n / (2 * Z0)) / (n * n * n);

            ha02 = 0.5 * da0 - (0.5 * m * Z0 / (n * n * n)) * (Math.Cos(Math.PI * n * n * n / (2 * Z0)) - Math.Sin(β2) * Math.Sin(β2));

            k0 = (α1 / 180) * Z0 + 1;

            W0 = (Math.PI * (k0 - 0.5) + Z0 * invαt) * m * Math.Cos(α2);

            }

            else

            {

            s0 = m * Z0 * Math.Sin(Math.PI / (2 * Z0));

            ha02 = 0.5 * da0 - 0.5 * m * Z0 * Math.Cos(Math.PI / (2 * Z0));

            k0 = (α1 / 180) * Z0 + 1;

            W0 = (Math.PI * (k0 - 0.5) + Z0 * invαt) * m * Math.Cos(α2);

            }

            }

            計(jì)算外嚙合和內(nèi)嚙合各種,原理基本一樣,重點(diǎn)注意的是取值的精確度問題,以及弄清各參數(shù)之間的關(guān)系,以便于計(jì)算,避免數(shù)值的混淆。

            2、確定部分重要精度參數(shù)的取值函數(shù)

            public static int fpb_value(double x, double y, string z) //基節(jié)極限偏差fpb取值

            {…}

            public static int Fβ_value(int x, string y) //齒向公差Fβ取值

            {…}

            public static double fa_value(double x, string y) //中心距極限偏差fa取值

            {…}

            public static int fpt_value(double x, double y, string z) //齒距極限偏差fpb取值

            {…}

            public static int Fr_value(double x, double y, string z) //齒圈徑向跳動(dòng)公差Fr取值

            {…}

            public static double br_value(string x, double d) //切齒徑向進(jìn)刀公差br取值

            {…}

            public static char code_value(double x) //偏差代號(hào)

            {…}

            3.4.2軟件實(shí)現(xiàn)和傳統(tǒng)人工計(jì)算的比較

            對(duì)齒輪進(jìn)行設(shè)計(jì)時(shí),傳統(tǒng)的人工計(jì)算具有很大的局限性,下面就列舉兩個(gè)比較突出的例子進(jìn)行比較說明。

            1、在計(jì)算參數(shù)時(shí),已知參數(shù)invα且invα=tanα-α,要番過來求α的值,此設(shè)計(jì)中我使用的二分法查找的思想來求解(代碼如下),其中取值的精度精確到了10-8。如果如此龐大的計(jì)算量進(jìn)行人工計(jì)算,工作量可想而知,而且有存在很大的誤差甚至是錯(cuò)誤的可能,但借用了此計(jì)算機(jī)輔助軟件,立刻就可以得到滿意的答案。

            private double inv(double x)

            {

            double f = 0, r = Math.PI / 2, b, fun; //設(shè)置變量f,r,b,fun

            b = Math.PI / 4; //因?yàn)?α(π/2),所以取第一個(gè)二分時(shí)b=π/4

            fun = Math.Tan(b) - b; //求出當(dāng)b=π/4時(shí)fun的值

            while (Math.Abs(fun - x) > 0.00000001) //當(dāng)誤差小于10-8時(shí)跳出循環(huán)

            {

            if (fun - x > 0) //若fun大于x,取中間值的左邊區(qū)間進(jìn)行循環(huán)

            {

            r = b;

            b = (f + r) / 2; //取新區(qū)間的中值

            fun = Math.Tan(b) - b;

            }

            else if (fun - x 0) //若fun小于x,取中間值的右邊區(qū)



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉