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);
            }
        }
示例#2
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);
        }