//Обновить список классов прочности болтов public void RefreshStrengthClassList() { string name; name = SelectedStrengthClass == null ? "" : SelectedStrengthClass.Name; StrengthClassList.Clear(); foreach (DataRow dr in my_base.Tables["Нормативные сопротивления стали болтов и расчётные сопротивления одноболтовых соединений срезу и растяжению"].Rows) { StrengthClass sc = new StrengthClass(); sc.Name = TableReader.GetStringCell(dr, 0); sc.Rbun = TableReader.GetDoubleCell(dr, 1); sc.Rbyn = TableReader.GetDoubleCell(dr, 2); sc.Rbs = TableReader.GetDoubleCell(dr, 3); sc.Rbt = TableReader.GetDoubleCell(dr, 4); sc.IsHighStrength = TableReader.GetBoolCell(dr, 5); StrengthClassList.Add(sc); } if (name == "") { return; } foreach (StrengthClass sclass in StrengthClassList) { if (sclass.Name == name) { SelectedStrengthClass = sclass; break; } } }
//Обновить список болтов public void RefreshBoltList() { string name; name = SelectedBolt == null ? "" : SelectedBolt.Name; BoltList.Clear(); foreach (DataRow dr in my_base.Tables["Площади сечения болтов"].Rows) { Bolt bolt = new Bolt(); bolt.Name = TableReader.GetStringCell(dr, 0); bolt.Diameter = TableReader.GetDoubleCell(dr, 1); bolt.Ab = TableReader.GetDoubleCell(dr, 2); bolt.Abn = TableReader.GetDoubleCell(dr, 3); BoltList.Add(bolt); } if (name == "") { return; } foreach (Bolt bolt in BoltList) { if (bolt.Name == name) { SelectedBolt = bolt; break; } } }
//Обновить список марок стали public void RefreshSteelMarkList() { string name; name = SelectedSteelMark == null ? "" : SelectedSteelMark.Name; SteelMarkList.Clear(); SteelMark sm = new SteelMark(); foreach (DataRow dr in my_base.Tables["Нормативные сопротивления при растяжении, сжатии и изгибе фасонного проката"].Rows) { if (sm.Name == TableReader.GetStringCell(dr, 0)) { continue; } sm = new SteelMark(); sm.Name = TableReader.GetStringCell(dr, 0); SteelMarkList.Add(sm); } if (name == "") { return; } foreach (SteelMark smark in SteelMarkList) { if (smark.Name == name) { SelectedSteelMark = smark; break; } } }
//Инициализировать списки Гамма с public void RefreshListGammaC() { ListGammaC.Clear(); foreach (DataRow dr in BaseSet[0].Tables["Коэффициенты условий работы γс"].Rows) { ItemGammaC igc = new ItemGammaC(); igc.Description = TableReader.GetStringCell(dr, 0); igc.Value = TableReader.GetDoubleCell(dr, 1); ListGammaC.Add(igc); } }
//Назначить толщины и массы private void SetThicknessAndMass() { foreach (DataRow dr in gost_base.Tables["Гайки"].Rows) { string diameter = TableReader.GetStringCell(dr, 0); if (diameter == bolt_name) { NutHeight = TableReader.GetDoubleCell(dr, 1); NutWeight = TableReader.GetDoubleCell(dr, 2); break; } } if (left_washer_existence || right_washer_existence) { foreach (DataRow dr in gost_base.Tables["Шайбы"].Rows) { string diameter = TableReader.GetStringCell(dr, 0); if (diameter == bolt_name) { WasherHeight = TableReader.GetDoubleCell(dr, 1); WasherWeight = TableReader.GetDoubleCell(dr, 2); break; } } } if (grover_existence) { foreach (DataRow dr in gost_base.Tables["Шайбы пружинные"].Rows) { string diameter = TableReader.GetStringCell(dr, 0); if (diameter == bolt_name) { GroverWashersHeight = TableReader.GetDoubleCell(dr, 1); GroverWashersWeight = TableReader.GetDoubleCell(dr, 2); break; } } } foreach (DataRow dr in gost_base.Tables["Конструктивные параметры болтов"].Rows) { string diameter = TableReader.GetStringCell(dr, 0); if (diameter == bolt_name) { Diameter = TableReader.GetDoubleCell(dr, "Diameter"); TurnkeySize = TableReader.GetDoubleCell(dr, "TurnkeySize"); HeadHeight = TableReader.GetDoubleCell(dr, "HeadHeight"); ThreadPitch = TableReader.GetDoubleCell(dr, "ThreadPitch"); break; } } }
//Выбрать характеристики стали public void SetSteelCharact() { foreach (DataRow dr in my_base.Tables[2].Rows) { if (SelectedSteelMark == null) { return; } if (SelectedSteelMark.Name == TableReader.GetStringCell(dr, 0) && DetailThickness >= TableReader.GetDoubleCell(dr, 1) && DetailThickness <= TableReader.GetDoubleCell(dr, 2)) { SelectedSteelMark.Ryn = TableReader.GetDoubleCell(dr, 3); SelectedSteelMark.Run = TableReader.GetDoubleCell(dr, 4); break; } else { SelectedSteelMark.Ryn = 0; SelectedSteelMark.Run = 0; } } }