コード例 #1
0
ファイル: Mufta.cs プロジェクト: Unbekannte/VKR_application
        /// <summary>
        /// Выбор муфты из ГОСТ
        /// </summary>
        public void Create_by_GOST(double T, double Diam1, double Diam2, int isp_v1, int isp_v2)
        {
            master.Get_from_GOST(Diam1, T, isp_v1);
            master.Calculate_Params_of_Holes(isp_v1);

            slave.Get_from_GOST(Diam2, T, isp_v2);
            slave.Calculate_Params_of_Holes(isp_v2);



            DataTable dt_20761_a2 = provider.get_rows("20761-96", "a2", "*", $"m_kr = {T.ToString("#.##")}");

            //парсим только длину болтов и номинальный диаметр, т.к. остальные штуки не меняются

            int M       = int.Parse(new Regex(@"M(\d+)").Match(dt_20761_a2.Rows[0]["bolt_7796_obozn"].ToString()).Value.Replace("M", ""));
            int L_Bolta = int.Parse(new Regex(@"g-(\d+)").Match(dt_20761_a2.Rows[0]["bolt_7796_obozn"].ToString()).Value.Replace("g-", ""));

            bolt7796.Get_from_GOST(M, L_Bolta, 'k');

            bolt7817.Get_from_GOST(M, L_Bolta, 'k');

            shayba.Get_from_GOST(M, "Л");

            gayka.Get_from_GOST(M, 'k');
        }
コード例 #2
0
        public void Get_from_GOST(double m_nom, double l_bolta, char shag_rezby = 'k')
        {
            string parameters = $"m = {m_nom}";

            string columns = $"m, t_{shag_rezby}, d, d1, s, k, R, d2";

            DataTable dt1 = provider.get_rows("7817-80", "1", columns, parameters);

            d  = double.Parse(dt1.Rows[0]["d"].ToString());
            t  = double.Parse(dt1.Rows[0]["t_" + shag_rezby].ToString());
            d1 = double.Parse(dt1.Rows[0]["d1"].ToString());
            S  = double.Parse(dt1.Rows[0]["s"].ToString());
            k  = double.Parse(dt1.Rows[0]["k"].ToString());
            R  = double.Parse(dt1.Rows[0]["R"].ToString());
            d2 = double.Parse(dt1.Rows[0]["d2"].ToString());


            parameters = $"m = {m_nom}, l = {l_bolta}";

            columns = $"m, l, l1, l2";

            DataTable dt2 = provider.get_rows("7817-80", "2", columns, parameters);

            l  = double.Parse(dt2.Rows[0]["l"].ToString());
            l1 = double.Parse(dt2.Rows[0]["l1"].ToString());
            l2 = double.Parse(dt2.Rows[0]["l2"].ToString());


            //по ГОСТ 10549-80
            if (z == 0)
            {
                if (t >= 0.75 && t <= 1)
                {
                    z = 1.0;
                }
                else if (t <= 1.75)
                {
                    z = 1.6;
                }
                else if (t <= 2.00)
                {
                    z = 2.0;
                }
                else if (t <= 3.00)
                {
                    z = 2.5;
                }
                else if (t <= 4.00)
                {
                    z = 3.0;
                }
                else
                {
                    z = 4.0;
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Выбрать шайбу из ГОСТа
        /// </summary>
        /// <param name="m">Номинальный диаметр резьбы</param>
        /// <param name="type">Тип шайбы: Л-легкие Н-нормальные Т-тяжелые ОТ-особо тяжелые</param>
        public void Get_from_GOST(double m_nom, string type)
        {
            string parameters = $"m = {m_nom}";

            switch (type)
            {
            case "Л":
                type = "l";
                break;

            case "Н":
                type = "n";
                break;

            case "Т":
                type = "t";
                break;

            case "ОТ":
                type = "ot";
                break;
            }

            string columns = $"m, d, {type}_b, {type}_s";

            DataTable dt = provider.get_rows("6402-70", "1", columns, parameters);



            m = double.Parse(dt.Rows[0]["m"].ToString());
            d = double.Parse(dt.Rows[0]["d"].ToString());
            b = double.Parse(dt.Rows[0][type + "_b"].ToString());
            s = double.Parse(dt.Rows[0][type + "_s"].ToString());
        }
コード例 #4
0
        public void Get_from_GOST(double m_nom, char shag_rezby = 'k')
        {
            try
            {
                provider = new GOST_Provider();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            string parameters = $"d = {m_nom}";

            string columns = $"d, t_{shag_rezby}, S, m, dw";

            DataTable dt1 = provider.get_rows("15521-70", "1", columns, parameters);

            d  = double.Parse(dt1.Rows[0]["d"].ToString());
            t  = double.Parse(dt1.Rows[0]["t_" + shag_rezby].ToString());
            m  = double.Parse(dt1.Rows[0]["m"].ToString());
            S  = double.Parse(dt1.Rows[0]["s"].ToString());
            dw = double.Parse(dt1.Rows[0]["dw"].ToString());


            //по ГОСТ 10549-80
            if (z == 0)
            {
                if (t >= 0.75 && t <= 1)
                {
                    z = 1.0;
                }
                else if (t <= 1.75)
                {
                    z = 1.6;
                }
                else if (t <= 2.00)
                {
                    z = 2.0;
                }
                else if (t <= 3.00)
                {
                    z = 2.5;
                }
                else if (t <= 4.00)
                {
                    z = 3.0;
                }
                else
                {
                    z = 4.0;
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// Выбрать шайбу из ГОСТа. Шаг резьбы 'm'/'k' - мелкий/крупный
        /// </summary>
        public void Get_from_GOST(double m_nom, double l_bolta, char shag_rezby = 'k')
        {
            string parameters = $"m = {m_nom}";

            string columns = $"m, t_{shag_rezby}, d, d1, s, k";

            DataTable dt1 = provider.get_rows("7796-70", "1", columns, parameters);

            d  = double.Parse(dt1.Rows[0]["d"].ToString());
            t  = double.Parse(dt1.Rows[0]["t_" + shag_rezby].ToString());
            d1 = double.Parse(dt1.Rows[0]["d1"].ToString());
            S  = double.Parse(dt1.Rows[0]["s"].ToString());
            k  = double.Parse(dt1.Rows[0]["k"].ToString());


            parameters = $"m = {m_nom}, l = {l_bolta}";

            columns = $"m, l, b";

            DataTable dt2 = provider.get_rows("7796-70", "2", columns, parameters);

            l = double.Parse(dt2.Rows[0]["l"].ToString());
            b = double.Parse(dt2.Rows[0]["b"].ToString());

            //радиуса скругления нет в ГОСТ по этому болту, но присуттвует на чертеже. беру его из ГОСТ 7817
            if (R == 0)
            {
                if (m_nom < 8)
                {
                    R = 0.25;
                }
                else if (m_nom <= 10)
                {
                    R = 0.4;
                }
                else if (m_nom <= 18)
                {
                    R = 0.6;
                }
                else if (m_nom <= 24)
                {
                    R = 0.8;
                }
                else if (m_nom <= 36)
                {
                    R = 1;
                }
                else if (m_nom <= 42)
                {
                    R = 1.2;
                }
                else
                {
                    R = 1.5;
                }
            }

            //по ГОСТ 10549-80
            if (z == 0)
            {
                if (t >= 0.75 && t <= 1)
                {
                    z = 1.0;
                }
                else if (t <= 1.75)
                {
                    z = 1.6;
                }
                else if (t <= 2.00)
                {
                    z = 2.0;
                }
                else if (t <= 3.00)
                {
                    z = 2.5;
                }
                else if (t <= 4.00)
                {
                    z = 3.0;
                }
                else
                {
                    z = 4.0;
                }
            }
        }