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); }
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); }
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 }
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)); }
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; } } }
public BarLoadSet(SteelColumnBase steelColumnBase) { SetDefault1(); steelColumnBase.Loads.Add(this); SteelColumnBase = steelColumnBase; }