예제 #1
0
        internal void GetSectionValues()
        {
            E   = Section.Material.ModulusOfElasticity;
            F_y = Section.Material.YieldStress;
            ISectionAngle angle = this.Section.Shape as ISectionAngle;

            if (angle == null)
            {
                throw new Exception("ISectionAngle type is required for this calculation.");
            }

            if (angle.d != angle.b) //unequal leg
            {
                IsEqualLeg = false;
            }
            else
            {
                IsEqualLeg = true;
            }

            b      = angle.b;
            d      = angle.d;
            t      = angle.t;
            r_z    = angle.r_z;
            I_z    = angle.I_z;
            beta_w = angle.beta_w;

            Compactness = new ShapeCompactness.AngleMember(angle, Section.Material, this.AngleOrientation);
        }
        public FlexuralMemberAngleBase(ISteelSection section, ICalcLog CalcLog, AngleOrientation AngleOrientation)
            : base(section, CalcLog)
        {
            sectionAngle = null;
            ISectionAngle s = Section.Shape as ISectionAngle;

            if (s == null)
            {
                throw new SectionWrongTypeException(typeof(ISectionAngle));
            }
            else
            {
                sectionAngle = s;
                compactness  = new ShapeCompactness.AngleMember(s, section.Material, AngleOrientation);
            }
        }