public ISteelCompressionMember GetIshape(ISteelSection Section, bool IsRolled, double L_x, double L_y, double L_z, ICalcLog CalcLog) { ISteelCompressionMember column = null; IShapeCompactness compactnessTop = new ShapeCompactness.IShapeMember(Section, IsRolled, Common.Section.Interfaces.FlexuralCompressionFiberPosition.Top); IShapeCompactness compactnessBot = new ShapeCompactness.IShapeMember(Section, IsRolled, Common.Section.Interfaces.FlexuralCompressionFiberPosition.Bottom); ICalcLog Log = new CalcLog(); CompactnessClassAxialCompression flangeCompactnessTop = compactnessTop.GetFlangeCompactnessCompression(); CompactnessClassAxialCompression flangeCompactnessBot = compactnessTop.GetFlangeCompactnessCompression(); CompactnessClassAxialCompression webCompactness = compactnessTop.GetWebCompactnessCompression(); if (flangeCompactnessTop == CompactnessClassAxialCompression.NonSlender && webCompactness == CompactnessClassAxialCompression.NonSlender && flangeCompactnessBot == CompactnessClassAxialCompression.NonSlender) { column = new IShapeCompact(Section, IsRolled, L_x, L_y, L_z, Log); //if (IShape.b_fBot == IShape.b_fTop && IShape.t_fBot == IShape.t_fTop) //{ // return new IShapeCompact(SectionI, IsRolledShape, L_ex, L_ey, L_ez, log); //} //else //{ // throw new NotImplementedException(); //} } else { column = new IShapeSlenderElements(Section, IsRolled, L_x, L_y, L_z, Log); } return(column); }
private void CreateColumn(double L_ex, double L_ey, double L_ez = 0) { CompressionMemberFactory factory = new CompressionMemberFactory(); AiscShapeFactory ShapeFactory = new AiscShapeFactory(); ISection section = ShapeFactory.GetShape("PIPE8SCH80"); SteelMaterial mat = new SteelMaterial(35.0, 29000); L_ez = L_ez == 0? L_ex : L_ez; column = factory.GetCompressionMember(section, mat, L_ex, L_ey, L_ez); }
private void CreateColumn(double L_ex, double L_ey, double L_ez = 0) { CompressionMemberFactory factory = new CompressionMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape("HSS8X6X.500", ShapeTypeSteel.RectangularHSS); SteelMaterial mat = new SteelMaterial(46.0, 29000); L_ez = L_ez == 0? L_ex : L_ez; column = factory.GetCompressionMember(section, mat, L_ex, L_ey, L_ez); }
private void CreateColumn(double L_ex, double L_ey, double L_ez = 0, string Shape = "W14X82") { CompressionMemberFactory factory = new CompressionMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape(Shape, ShapeTypeSteel.IShapeRolled); SteelMaterial mat = new SteelMaterial(50.0,29000); L_ez = L_ez == 0? L_ex : L_ez; column = factory.GetCompressionMember(section,mat, L_ex, L_ey, L_ez); }
private void CreateColumn(double L_ex, double L_ey, double L_ez=0) { CompressionMemberFactory factory = new CompressionMemberFactory(); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISection section = AiscShapeFactory.GetShape("HSS8X6X.500", ShapeTypeSteel.RectangularHSS); SteelMaterial mat = new SteelMaterial(46.0,29000); L_ez = L_ez == 0? L_ex : L_ez; column = factory.GetCompressionMember(section,mat, L_ex, L_ey, L_ez); }
private void CreateColumn(double L_ex, double L_ey, double L_ez = 0) { double d = 17.0; double b_f = 8.0; double t_f = 1.0; double t_w = 0.25; ISection r = new SectionI("", d, b_f, t_f, t_w); SteelMaterial mat = new SteelMaterial(50.0, 29000); L_ez = L_ez == 0? L_ex : L_ez; CompressionMemberFactory factory = new CompressionMemberFactory(); column = factory.GetCompressionMember(r, mat, L_ex, L_ey, L_ez); }
public ISteelCompressionMember GetChsShape(ISteelSection Section, double L_x, double L_y, double L_z, ICalcLog CalcLog) { ISteelCompressionMember column = null; IShapeCompactness compactnessX = new ShapeCompactness.HollowMember(Section, Common.Section.Interfaces.FlexuralCompressionFiberPosition.Top, Common.Entities.MomentAxis.XAxis); IShapeCompactness compactnessY = new ShapeCompactness.HollowMember(Section, Common.Section.Interfaces.FlexuralCompressionFiberPosition.Top, Common.Entities.MomentAxis.YAxis); ICalcLog Log = new CalcLog(); CompactnessClassAxialCompression webCompactnessX = compactnessX.GetWebCompactnessCompression(); CompactnessClassAxialCompression webCompactnessY = compactnessY.GetWebCompactnessCompression(); if (webCompactnessX == CompactnessClassAxialCompression.NonSlender && webCompactnessY == CompactnessClassAxialCompression.NonSlender) { return(new ChsNonSlender(Section, L_x, L_y, L_z, CalcLog)); } else { return(new ChsSlender(Section, L_x, L_y, L_z, CalcLog)); } return(column); }
public static Dictionary <string, object> TorsionalAndFlexuralTorsionalBucklingStrength(CustomProfile Shape, double L_ex, double L_ey, double L_ez, double F_y, double E = 29000.0, bool IsRolledMember = true, string Code = "AISC360-10") { //Default values double phiP_n = 0; bool IsApplicable = true; //Calculation logic: CompressionMemberFactory f = new CompressionMemberFactory(); ISteelCompressionMember compMember = f.GetCompressionMember(Shape.Section, L_ex, L_ey, L_ez, F_y, E, IsRolledMember); SteelLimitStateValue FlexuralTorsionalBuckling = compMember.GetTorsionalAndFlexuralTorsionalBucklingStrength(); phiP_n = FlexuralTorsionalBuckling.Value; IsApplicable = FlexuralTorsionalBuckling.IsApplicable; return(new Dictionary <string, object> { { "phiP_n", phiP_n }, { "IsApplicable", IsApplicable } }); }
public ISteelCompressionMember GetCompressionMember(ISection Shape, double L_ex, double L_ey, double L_ez, double F_y, double E, bool IsRolledShape = true) { string DEFAULT_EXCEPTION_STRING = "Selected shape is not supported. Select a different shape."; ISteelCompressionMember col = null; CalcLog log = new CalcLog(); SteelMaterial Material = new SteelMaterial(F_y, E); if (Shape == null) { return(new ColumnGeneral(null, L_ex, L_ey, L_ez)); } if (Shape is ISectionI) { ISectionI IShape = Shape as ISectionI; SteelSectionI SectionI = new SteelSectionI(IShape, Material); IShapeFactory IShapeFactory = new IShapeFactory(); return(IShapeFactory.GetIshape(SectionI, IsRolledShape, L_ex, L_ey, L_ez)); } else if (Shape is ISectionChannel) { ISectionChannel ChannelShape = Shape as ISectionChannel; SteelChannelSection ChannelSection = new SteelChannelSection(ChannelShape, Material); throw new Exception(DEFAULT_EXCEPTION_STRING); } else if (Shape is ISectionPipe) { ISectionPipe SectionPipe = Shape as ISectionPipe; SteelPipeSection PipeSection = new SteelPipeSection(SectionPipe, Material); ChsShapeFactory ChsFactory = new ChsShapeFactory(); return(ChsFactory.GetChsShape(PipeSection, L_ex, L_ey, L_ez, log)); } else if (Shape is ISectionTube) { ISectionTube TubeShape = Shape as ISectionTube; SteelRhsSection RectHSS_Section = new SteelRhsSection(TubeShape, Material); RhsShapeFactory RhsFactory = new RhsShapeFactory(); return(RhsFactory.GetRhsShape(RectHSS_Section, L_ex, L_ey, L_ez)); } else if (Shape is ISectionBox) { ISectionBox BoxShape = Shape as ISectionBox; SteelBoxSection BoxSection = new SteelBoxSection(BoxShape, Material); RhsShapeFactory RhsFactory = new RhsShapeFactory(); return(RhsFactory.GetRhsShape(BoxSection, L_ex, L_ey, L_ez)); } else if (Shape is ISectionRectangular || Shape is ISectionRound) { ISteelSection solidSec; if (Shape is ISectionRectangular) { ISectionRectangular RectangleShape = Shape as ISectionRectangular; solidSec = new SteelRectangleSection(RectangleShape, Material); } else { ISectionRound rnd = Shape as ISectionRound; solidSec = new SteelRoundSection(rnd, Material); } CompressionMemberRectangle SolidShapeSection = new CompressionMemberRectangle(solidSec, L_ex, L_ey, L_ez); return(SolidShapeSection); } else if (Shape is ISectionTee) { ISectionTee TeeShape = Shape as ISectionTee; SteelTeeSection TeeSection = new SteelTeeSection(TeeShape, Material); IShapeCompactness compactnessTee = new ShapeCompactness.TeeMember(TeeSection); CompactnessClassAxialCompression flangeCompactness = compactnessTee.GetFlangeCompactnessCompression(); CompactnessClassAxialCompression stemCompactness = compactnessTee.GetWebCompactnessCompression(); if (flangeCompactness == CompactnessClassAxialCompression.NonSlender && stemCompactness == CompactnessClassAxialCompression.NonSlender) { return(new ColumnTee(TeeSection, IsRolledShape, L_ex, L_ey, L_ez)); } else { throw new Exception(DEFAULT_EXCEPTION_STRING); } } else { throw new Exception(DEFAULT_EXCEPTION_STRING); } }
public ISteelCompressionMember GetCompressionMember(ISection Shape, double L_ex, double L_ey, double L_ez, double F_y, double E, bool IsRolledShape = true) { string DEFAULT_EXCEPTION_STRING = "Selected shape is not supported. Select a different shape."; ISteelCompressionMember col = null; CalcLog log = new CalcLog(); SteelMaterial Material = new SteelMaterial(F_y, E); if (Shape is ISectionI) { ISectionI IShape = Shape as ISectionI; SteelSectionI SectionI = new SteelSectionI(IShape, Material); IShapeFactory IShapeFactory = new IShapeFactory(); return(IShapeFactory.GetIshape(SectionI, IsRolledShape, L_ex, L_ey, L_ez, log)); } else if (Shape is ISectionChannel) { ISectionChannel ChannelShape = Shape as ISectionChannel; SteelChannelSection ChannelSection = new SteelChannelSection(ChannelShape, Material); throw new Exception(DEFAULT_EXCEPTION_STRING); } else if (Shape is ISectionPipe) { ISectionPipe SectionPipe = Shape as ISectionPipe; SteelPipeSection PipeSection = new SteelPipeSection(SectionPipe, Material); ChsShapeFactory ChsFactory = new ChsShapeFactory(); return(ChsFactory.GetChsShape(PipeSection, L_ex, L_ey, L_ez, log)); } else if (Shape is ISectionTube) { ISectionTube TubeShape = Shape as ISectionTube; SteelRhsSection RectHSS_Section = new SteelRhsSection(TubeShape, Material); RhsShapeFactory RhsFactory = new RhsShapeFactory(); return(RhsFactory.GetRhsShape(RectHSS_Section, L_ex, L_ey, L_ez, log)); } else if (Shape is ISectionBox) { ISectionBox BoxShape = Shape as ISectionBox; SteelBoxSection BoxSection = new SteelBoxSection(BoxShape, Material); RhsShapeFactory RhsFactory = new RhsShapeFactory(); return(RhsFactory.GetRhsShape(BoxSection, L_ex, L_ey, L_ez, log)); } else if (Shape is ISectionTee) { ISectionTee TeeShape = Shape as ISectionTee; SteelTeeSection TeeSection = new SteelTeeSection(TeeShape, Material); throw new Exception(DEFAULT_EXCEPTION_STRING); } else { throw new Exception(DEFAULT_EXCEPTION_STRING); } }