Ejemplo n.º 1
0
        //Обновить список болтов
        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;
                }
            }
        }
Ejemplo n.º 2
0
        //Обновить список классов прочности болтов
        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;
                }
            }
        }
Ejemplo n.º 3
0
 //Установить Rbp
 public void SetRbp()
 {
     if (SelectedSteelMark == null)
     {
         return;
     }
     foreach (DataRow dr in my_base.Tables[3].Rows)
     {
         if (SelectedSteelMark.Run == TableReader.GetDoubleCell(dr, 0))
         {
             if (SelectedPrecisionClass == "A")
             {
                 R_bp = TableReader.GetDoubleCell(dr, 1);
             }
             else
             {
                 R_bp = TableReader.GetDoubleCell(dr, 2);
             }
             return;
         }
         else
         {
             R_bp = 0;
         }
     }
 }
Ejemplo n.º 4
0
 //Подобрать длину из условия общей толщины (или проверить длину, если не авто)
 private void SetBoltLength()
 {
     if (AutoLength)
     {
         DataTable dt = gost_base.Tables["Длина резьбы"];
         double    length;
         string    result = "";
         BoltLength   = 0;
         ThreadLength = 0;
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             length = TableReader.GetDoubleCell(dt.Rows[i], 0);
             if (length >= left_washers_count * WasherHeight + Package + right_washers_count * WasherHeight + grover_count * GroverWashersHeight + CountNuts * NutHeight + min_protrusion)
             {
                 BoltLength   = length;
                 ThreadLength = TableReader.GetDoubleCell(dt.Rows[i], BoltName);
                 index_length = i;
                 result       = BoltLength.ToString(System.Globalization.CultureInfo.InvariantCulture);
                 break;
             }
         }
         if (ResultChangedEvent != null)
         {
             ResultChangedEvent(result);
         }
     }
     else
     {
         BoltLength   = TableReader.GetDoubleCell(gost_base.Tables["Длина резьбы"].Rows[index_length], 0);
         ThreadLength = TableReader.GetDoubleCell(gost_base.Tables["Длина резьбы"].Rows[index_length], BoltName);
         CheckBoltLengths();
     }
 }
Ejemplo n.º 5
0
 //Инициализировать списки Гамма с
 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);
     }
 }
Ejemplo n.º 6
0
 //Назначить толщины и массы
 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;
         }
     }
 }
Ejemplo n.º 7
0
 public void DownLengthManually()
 {
     if (AutoLength)
     {
         return;
     }
     if (index_length == 0)
     {
         return;
     }
     index_length--;
     BoltLength   = TableReader.GetDoubleCell(gost_base.Tables["Длина резьбы"].Rows[index_length], 0);
     ThreadLength = TableReader.GetDoubleCell(gost_base.Tables["Длина резьбы"].Rows[index_length], BoltName);
     if (ResultChangedEvent != null)
     {
         ResultChangedEvent(BoltLength.ToString(System.Globalization.CultureInfo.InvariantCulture));
     }
     CheckBoltLengths();
 }
Ejemplo n.º 8
0
 //Выбрать характеристики стали
 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;
         }
     }
 }