예제 #1
0
        internal CatalogSection(string ShapeId, string AngleOrientation="LongLegVertical", string AngleRotation="FlatLegTop")
        {
            AiscShapeFactory factory = new AiscShapeFactory();
            AngleOrientation ori = new AngleOrientation();
            AngleRotation  rot = new Wosad.Common.AngleRotation();

              AngleOrientation _AngleOrientation;
              bool IsValidInputString = Enum.TryParse(AngleOrientation, true, out _AngleOrientation);
                if (IsValidInputString == false)
                {
                        throw new Exception("Failed to convert string. Specifuy AngleOrientation. Please check input");
                }

                
                AngleRotation _AngleRotation;
                bool IsValidInputRotation = Enum.TryParse(AngleRotation, true, out _AngleRotation);
                if (IsValidInputRotation == false)
                {
                    throw new Exception("Failed to convert string. Errormessage. Please check input");
                }


             ISection section = factory.GetShape(ShapeId, _AngleOrientation, _AngleRotation);
            //PredefinedSectionI catI = section as PredefinedSectionI;
            //ISliceableSection secI = new shapes.SectionIRolled("", catI.d, catI.b_fTop, catI.t_f, catI.t_w, catI.k);
            //Section = secI;
            Section = section;
        }
        private void SetExampleValues()
        {
            A_s = 13.0;
            d = 20.66;
            t_w = 0.35;
            t_s = 4.0;
            t_deck = 2.0;
            t_fill = 2.0;
            t_e = 2.0;
            b_e = 108.0;
            h_0 = 11.0;
            a_o = 22.0;
            s_b = 4.83;
            s_t = 4.83;
            DeltaA_s = 3.85;
            A_sn = 9.15;
            Q_n = 21.0;

            AiscShapeFactory f = new AiscShapeFactory();
            section = f.GetShape("W21X44") as ISectionI;
            F_y = 36.0;
            f_cPrime = 3.0;
            N_studs = 9;
            N_o = 1.0;
            e = 0.0;
            t_r = 0.0;
            b_r = 0.0;
        }
        private void CreateBeam()
        {
            FlexuralMemberFactory factory = new FlexuralMemberFactory();
            AiscShapeFactory AiscShapeFactory = new AiscShapeFactory();
            ISection section = AiscShapeFactory.GetShape("W18X35", ShapeTypeSteel.IShapeRolled);
            SteelMaterial mat = new SteelMaterial(50.0,29000);
            beam = factory.GetBeam(section,mat,null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top);

        }
예제 #4
0
        private void CreateBeam()
        {
            FlexuralMemberFactory factory = new FlexuralMemberFactory();
            AiscShapeFactory AiscShapeFactory = new AiscShapeFactory();
            ISection section = AiscShapeFactory.GetShape("HSS8X6X.500", ShapeTypeSteel.RectangularHSS);
            SteelMaterial mat = new SteelMaterial(46.0,29000);
            beam = factory.GetBeam(section,mat,null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top);

        }
예제 #5
0
        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);

        }
        public void DoublySymmetricIReturnsFlexuralLateralTorsionalBucklingStrengthInelasticW12 ()
        {
            FlexuralMemberFactory factory = new FlexuralMemberFactory();
            AiscShapeFactory AiscShapeFactory = new AiscShapeFactory();
            ISection section = AiscShapeFactory.GetShape("W12X26", ShapeTypeSteel.IShapeRolled);
            SteelMaterial mat = new SteelMaterial(50.0, 29000);
            ISteelBeamFlexure beam12 = factory.GetBeam(section, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top);

            SteelLimitStateValue LTB =
            beam12.GetFlexuralLateralTorsionalBucklingStrength(1.0, 19 * 12, FlexuralCompressionFiberPosition.Top, Steel.AISC.FlexuralAndTorsionalBracingType.NoLateralBracing);
            double phiM_n = LTB.Value;
            double refValue = 60*12; // from AISC Steel Manual Table 3-10
            double actualTolerance = EvaluateActualTolerance(phiM_n, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
        private CompositeBeamSection GetBeamForTests(double SumQ_n)
        {
            double Y_2 = 5;
            double f_cPrime = 4;
            double h_solid = 3;
            double b_eff;
            double h_rib = 3;
            b_eff = SumQ_n / ((h_rib + h_solid - Y_2) * 2 * 0.85 * f_cPrime); //Back calculate b_eff to get the round number from AISC manual
            double Y_2T = h_solid - (SumQ_n / (0.85 * f_cPrime * b_eff) / 2) + h_rib; //test

            AiscShapeFactory factory = new AiscShapeFactory();
            ISection section = factory.GetShape("W18X35", ShapeTypeSteel.IShapeRolled);
            PredefinedSectionI catI = section as PredefinedSectionI;
            SectionIRolled secI = new SectionIRolled("", catI.d, catI.b_fTop, catI.t_f, catI.t_w, catI.k);
            CompositeBeamSection cs = new CompositeBeamSection(secI, b_eff, h_solid, h_rib, 50.0, f_cPrime);
            return cs;
        }
예제 #9
0
        public void IShapeReturnsYieldStrength()
        {

            FlexuralMemberFactory factory = new FlexuralMemberFactory();
            AiscShapeFactory AiscShapeFactory = new AiscShapeFactory();
            ISection r = AiscShapeFactory.GetShape("W18X35");


            SteelMaterial mat = new SteelMaterial(50.0, 29000);
            ISteelBeamFlexure beam12 = factory.GetBeam(r, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top);

            SteelLimitStateValue Y =
            beam12.GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition.Top);
            double phiM_n = Y.Value;
            double refValue = 249 * 12; // from AISC Steel Manual Table 3-2
            double actualTolerance = EvaluateActualTolerance(phiM_n, refValue);


            Assert.LessOrEqual(actualTolerance, tolerance);
        }
        private void SetExampleValues()
        {

            d = 18.24;
            t_w = 0.415;
            t_deck = 3.0;
            t_fill = 2.5;
            t_e = 2.5;
            b_e = 120.0;
            h_0 = 10.0;
            a_o = 24.0;
            A_sn = 9.15;
            Q_n = 26.1;

            AiscShapeFactory f = new AiscShapeFactory();
            section = f.GetShape("W18X60") as ISectionI;
            F_y = 36.0;
            f_cPrime = 4.0;
            N_studs = 14.0;
            N_o = 2.0;
            e = 0.0;
            t_r = 0.375;
            b_r = 2.0;
        }
예제 #11
0
 public void ShapeFactoryReturnsValueForAngleParsed()
 {
     AiscShapeFactory factory = new AiscShapeFactory();
     ISection section = factory.GetShape("L3-1/2X3X1/4");
     Assert.IsTrue(section is ISectionAngle);
 }
예제 #12
0
 public void ShapeFactoryReturnsValueForCircHSSParsed()
 {
     AiscShapeFactory factory = new AiscShapeFactory();
     ISection section = factory.GetShape("HSS6X.500");
     Assert.IsTrue(section is ISectionPipe);
 }
예제 #13
0
 public void ShapeFactoryReturnsValueForUnequalAngle()
 {
     AiscShapeFactory factory = new AiscShapeFactory();
     ISection section = factory.GetShape("L3-1/2X3X1/4", Entities.ShapeTypeSteel.Angle);
     Assert.IsTrue(section != null);
 }
예제 #14
0
 public void ShapeFactoryReturnsValueForIBeam()
 {
     AiscShapeFactory factory = new AiscShapeFactory();
     ISection section = factory.GetShape("W18X35", Entities.ShapeTypeSteel.IShapeRolled);
     Assert.IsTrue(section != null);
 }
예제 #15
0
        public void FactoryReturnsChannel()
        {

            FlexuralMemberFactory factory = new FlexuralMemberFactory();
            AiscShapeFactory AiscShapeFactory = new AiscShapeFactory();
            ISectionChannel r = new SectionChannel("", 12.0, 6, 0.4, 0.25);


            SteelMaterial mat = new SteelMaterial(50.0, 29000);
            ISteelBeamFlexure beam12 = factory.GetBeam(r, mat, null, MomentAxis.XAxis, FlexuralCompressionFiberPosition.Top);

            Assert.IsTrue(true);
        }