void set_newValues_all(Mufta mufta) { set_new_Values("ST1", mufta.master); set_new_Values("ST2", mufta.slave); set_new_Values("B7796", mufta.bolt7796); set_new_Values("B7817", mufta.bolt7817); set_new_Values("G15521", mufta.gayka); set_new_Values("SH6402", mufta.shayba); }
private void Get_or_Calc_all_param_of_Mufta() { if (params_Table == null) { throw new Exception("Таблица параметров еще не заполенена. Откройте КОМПАС-3D и загрузите модель"); } double T = 0; double P = 0; double K_T = 0; //коэффицент нагрузки double w = 0; double RPM = 0; double Diam1 = 0; double Diam2 = 0; double V = 0; double l_v1 = 0; double l_v2 = 0; int ispolnenie_v1 = 0; int ispolnenie_v2 = 0; mufta = new Mufta(); ///// чтение данных с формы и расчет недостающих парметров try { read_params_from_Form(ref P, ref T, ref K_T, ref RPM, ref w, ref Diam1, ref Diam2, ref ispolnenie_v1, ref ispolnenie_v2, ref l_v1, ref l_v2); } catch (Exception ex) { throw new Exception(ex.Message); //throw; } ////// поиск подходящей муфты в ГОСТе bool mufta_is_selected = false; if (Diam1 == Diam2) { try { DataTable polumufta1 = provider.get_rows("20761-96", "a1", parameters: $"m_kr >= {T.ToString("#.##")}, d_inner = {Diam1.ToString("#.##")}, isp = {ispolnenie_v1}"); DataTable polumufta2 = provider.get_rows("20761-96", "a1", parameters: $"m_kr >= {T.ToString("#.##")}, d_inner = {Diam2.ToString("#.##")}, isp = {ispolnenie_v2}"); V = double.Parse(polumufta1.Rows[0]["d_external"].ToString()) / 2 / 1000 * w; //R в метрах if (V > 70) { throw new Exception( "Окружная скорость на наружном диаметре муфты более 70 м/с. Использование фланцевой муфты в данном соединении невозможно."); } DialogResult result = MessageBox.Show( $"В ГОСТ 20761 найдена муфта до {polumufta1.Rows[0]["m_kr"]} H*м.\nВыбрать эту муфту или рассчитать новую?", "Уведомление", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { mufta.Create_by_GOST(T, Diam1, Diam2, ispolnenie_v1, ispolnenie_v2); mufta_is_selected = true; } else if (result == DialogResult.No) { mufta_is_selected = false; } } catch (Exception) { //throw new Exception("В ГОСТ 20761 нет муфт, подходящих по данным параметрам."); } } ///////если не нашли или не удовлетворяет муфта из ГОСТ, выполняем расчет собственной if (mufta_is_selected == false) { mufta.Calculate_Param_of_Coupling(T, w, Diam1, Diam2, l_v1, l_v2, ispolnenie_v1, ispolnenie_v2); } //в конце меняем переменные в сборке. set_newValues_all(mufta); }