Пример #1
0
        public ColumnBaseResult GetResult(SteelColumnBase columnBase)
        {
            ColumnBaseResult columnBaseResult = new ColumnBaseResult();

            columnBaseResult.LoadCases = BarLoadSetProcessor.GetLoadCases(columnBase.Loads);
            RectCrossSection rect         = new RectCrossSection(columnBase.Width, columnBase.Length);
            MassProperty     massProperty = RectProcessor.GetRectMassProperty(rect);
            double           Bx           = columnBase.WidthBoltDist / 2;
            double           By           = columnBase.LengthBoltDist / 2;
            double           minStress    = double.PositiveInfinity;
            double           maxStress    = double.NegativeInfinity;
            double           minStressTmp;
            double           maxStressTmp;

            foreach (BarLoadSet LoadCase in columnBaseResult.LoadCases)
            {
                StressInRect stress = BarLoadSetProcessor.MinMaxStressInBarSection(LoadCase, massProperty);
                minStressTmp = stress.MinStress;
                maxStressTmp = stress.MaxStress;
                if (minStressTmp < minStress)
                {
                    minStress = minStressTmp;
                }
                if (maxStressTmp > maxStress)
                {
                    maxStress = maxStressTmp;
                }
            }
            columnBaseResult.MinStress = minStress;
            columnBaseResult.MaxStress = maxStress;
            return(columnBaseResult);
        }
Пример #2
0
        public void CheckSteelBasePart()
        {
            SteelColumnBase steelColumnBase = new SteelColumnBase();

            steelColumnBase.Width     = 1;
            steelColumnBase.Length    = 1;
            steelColumnBase.Thickness = 0.05;
            BarLoadSet columnLoadSet = new BarLoadSet(steelColumnBase);

            columnLoadSet.Force_Nz            = -100000;
            columnLoadSet.PartialSafetyFactor = 1;
            SteelBasePart steelBasePart = new SteelBasePart(steelColumnBase);

            steelBasePart.FixLeft   = true;
            steelBasePart.FixRight  = true;
            steelBasePart.FixTop    = false;
            steelBasePart.FixBottom = false;
            steelBasePart.Width     = 1;
            steelBasePart.Length    = 1;
            SteelColumnBaseProcessor columBaseProcessor = new SteelColumnBaseProcessor();
            ColumnBaseResult         columnResult       = columBaseProcessor.GetResult(steelColumnBase);
            ColumnBasePartResult     baseResult         = SteelColumnBasePartProcessor.GetResult(steelBasePart);

            Assert.AreEqual(300, baseResult.MaxStress / 1000000, 10);
        }
Пример #3
0
        private ListViewItem NewItemFromSteelColumnBase(SteelColumnBase obj)
        {
            ListViewItem NewItem = new ListViewItem();

            EditItemFromSteelColumnBase(NewItem, obj);
            lvDetails.Items.Add(NewItem);
            return(NewItem);
        }
 public WndSteelColumnBase(SteelColumnBase steelColumnBase)
 {
     InitializeComponent();
     _steelColumnBase = steelColumnBase;
     #region Initial parametrs
     tbxName.Text             = _steelColumnBase.Name;
     tbxWidth.Text            = Convert.ToString(_steelColumnBase.Width * 1000);
     tbxLength.Text           = Convert.ToString(_steelColumnBase.Length * 1000);
     tbxThickness.Text        = Convert.ToString(_steelColumnBase.Thickness * 1000);
     tbxWidthBoltDist.Text    = Convert.ToString(_steelColumnBase.WidthBoltDist * 1000);
     tbxLengthBoltDist.Text   = Convert.ToString(_steelColumnBase.LengthBoltDist * 1000);
     tbxConcreteStrength.Text = Convert.ToString(_steelColumnBase.ConcreteStrength / 1000000);
     #endregion
 }
Пример #5
0
        private void EditItemFromSteelColumnBase(ListViewItem Item, SteelColumnBase columnBase)
        {
            Item.SubItems.Clear();
            Item.Text = columnBase.Name;
            Item.SubItems.Add(Convert.ToString(columnBase.Width) + "x" + Convert.ToString(columnBase.Length));
            Item.SubItems.Add(Convert.ToString(columnBase.WidthBoltDist) + "x" + Convert.ToString(columnBase.LengthBoltDist));
            SteelColumnBaseProcessor columBaseProcessor = new SteelColumnBaseProcessor();
            ColumnBaseResult         baseResult         = columBaseProcessor.GetResult(columnBase);
            double maxStress = baseResult.MaxStress;

            maxStress = Math.Round(maxStress / 1000) / 1000;
            double minStress = baseResult.MinStress;

            minStress = Math.Round(minStress / 1000) / 1000;
            Item.SubItems.Add(Convert.ToString(maxStress) + " / " + Convert.ToString(minStress));
        }
Пример #6
0
        private void tsbNew_Click(object sender, EventArgs e)
        {
            ProgrammSettings.IsDataChanged = true;
            switch (_formType) //
            {
            case "Buildings":
            {
                break;
            }

            case "Levels":
            {
                Level level = new Level((Building)_parentObject);
                NewItemFromLevel(level);
                break;
            }

            //Add new Opening
            case "OpeningPlacings":
            {
                OpeningPlacing openingPlacing = new OpeningPlacing((Wall)_parentObject);
                NewItemFromOpeningPlacing(openingPlacing);
                break;
            }

            //Add new OpeningType
            case "OpeningTypes":
            {
                OpeningType openingType = new OpeningType((Building)_parentObject);
                NewItemFromOpeningType(openingType);
                break;
            }

            case ObjColumnBaseParts:
            {
                SteelBasePart basePart = new SteelBasePart((SteelColumnBase)_parentObject);
                NewItemFromColumnBasePart(basePart);
                break;
            }

            case ObjBarForses:
            {
                BarLoadSet columnLoadSet = new BarLoadSet((SteelColumnBase)_parentObject);
                NewItemFromColumnLoadSet(columnLoadSet);
                break;
            }

            case ObjSteelColumnBases:
            {
                SteelColumnBase steelColumnBase = new SteelColumnBase((Level)_parentObject);
                NewItemFromSteelColumnBase(steelColumnBase);
                #region Вложенные объекты по умолчанию
                //Нагрузка
                BarLoadSet columnLoadSet = new BarLoadSet(steelColumnBase);
                columnLoadSet.LoadSet.Name = "Постоянная";
                //Участок №1
                SteelBasePart basePart1 = new SteelBasePart(steelColumnBase);
                basePart1.Name          = "1";
                basePart1.Width         = 0.290;
                basePart1.Length        = 0.200;
                basePart1.Center[0]     = 0.155;
                basePart1.Center[1]     = 0.350;
                basePart1.FixLeft       = true;
                basePart1.FixRight      = false;
                basePart1.FixTop        = false;
                basePart1.FixBottom     = true;
                basePart1.AddSymmetricX = true;
                basePart1.AddSymmetricY = true;
                //Участок №2
                SteelBasePart basePart2 = new SteelBasePart(steelColumnBase);
                basePart2.Name          = "2";
                basePart2.Width         = 0.290;
                basePart2.Length        = 0.480;
                basePart2.Center[0]     = 0.155;
                basePart2.Center[1]     = 0;
                basePart2.FixLeft       = true;
                basePart2.FixRight      = false;
                basePart2.FixTop        = true;
                basePart2.FixBottom     = true;
                basePart2.AddSymmetricX = false;
                basePart2.AddSymmetricY = true;
                #endregion
                break;
            }

            case "Walls":
            {
                Wall wall = new Wall((Level)_parentObject);
                NewItemFromWall(wall);
                break;
            }

            case "WallTypes":
            {
                WallType wallType = new WallType((Building)_parentObject);
                NewItemFromWallType(wallType);
                break;
            }
            }
        }
Пример #7
0
 public BarLoadSet(SteelColumnBase steelColumnBase)
 {
     SetDefault1();
     steelColumnBase.Loads.Add(this);
     SteelColumnBase = steelColumnBase;
 }