Esempio n. 1
0
        /// <summary>
        /// Defines a set of rectangles for analysis with respect to
        /// y-axis, each occupying full height of section. The rectangles are rotated 90 deg.,
        /// because internally the properties are calculated  with respect to x-axis.
        /// </summary>
        /// <returns>List of analysis rectangles</returns>
        public override List <CompoundShapePart> GetCompoundRectangleYAxisList()
        {
            double FlangeThickness = this.t_f;
            double FlangeWidth     = this.b_f;
            double FlangeOverhang  = (FlangeWidth - t_w - 2.0 * r) / 2.0;

            r = k - t_f;

            CompoundShapePart LeftFlange = new CompoundShapePart(FlangeThickness, FlangeOverhang,
                                                                 new Point2D(0, b_f - FlangeOverhang / 2.0));

            CompoundShapePart RightFlange = new CompoundShapePart(FlangeThickness, FlangeOverhang,
                                                                  new Point2D(0, FlangeOverhang / 2.0));

            PartWithDoubleFillet LeftFillet  = new PartWithSingleFillet(r, FlangeThickness, new Point2D(0, b_f - FlangeOverhang), false);
            PartWithDoubleFillet RightFillet = new PartWithSingleFillet(r, FlangeThickness, new Point2D(0, FlangeOverhang), true);
            CompoundShapePart    Web         = new CompoundShapePart(d, t_w, new Point2D(0, b_f / 2));

            List <CompoundShapePart> rectY = new List <CompoundShapePart>()
            {
                LeftFlange,
                LeftFillet,
                Web,
                RightFillet,
                RightFlange
            };

            return(rectY);
        }
Esempio n. 2
0
        /// <summary>
        /// Defines a set of rectangles for analysis with respect to 
        /// x-axis, each occupying full width of section.
        /// </summary>
        /// <returns>List of analysis rectangles</returns>
        public override List<CompoundShapePart> GetCompoundRectangleXAxisList()
        {
            //double FlangeThickness = this.t_fTop;
            //double FlangeWidth = this.b_fTop;

            CompoundShapePart TopFlange = new CompoundShapePart(b_f, t_f, new Point2D(0, d / 2 - t_f / 2));
            CompoundShapePart BottomFlange = new CompoundShapePart(b_f, t_f, new Point2D(0, -(d / 2 - t_f / 2)));
            PartWithDoubleFillet TopFillet = new PartWithSingleFillet(k, t_w, new Point2D(0, d / 2 - t_f), true);
            PartWithDoubleFillet BottomFillet = new PartWithSingleFillet(k, t_w, new Point2D(0, -(d / 2 - t_f)), false);
            CompoundShapePart Web = new CompoundShapePart(t_w, d - 2 * t_f - 2 * k, new Point2D(0, 0));


            List<CompoundShapePart> rectX = new List<CompoundShapePart>()
            {
                 TopFlange,  
                 TopFillet,
                 Web,
                 BottomFillet,
                 BottomFlange
            };
            return rectX;
        }
Esempio n. 3
0
        /// <summary>
        /// Defines a set of rectangles for analysis with respect to
        /// x-axis, each occupying full width of section.
        /// </summary>
        /// <returns>List of analysis rectangles</returns>
        public override List <CompoundShapePart> GetCompoundRectangleXAxisList()
        {
            //double FlangeThickness = this.t_fTop;
            //double FlangeWidth = this.b_fTop;

            CompoundShapePart    TopFlange    = new CompoundShapePart(b_f, t_f, new Point2D(0, d / 2 - t_f / 2));
            CompoundShapePart    BottomFlange = new CompoundShapePart(b_f, t_f, new Point2D(0, -(d / 2 - t_f / 2)));
            PartWithDoubleFillet TopFillet    = new PartWithSingleFillet(k, t_w, new Point2D(0, d / 2 - t_f), true);
            PartWithDoubleFillet BottomFillet = new PartWithSingleFillet(k, t_w, new Point2D(0, -(d / 2 - t_f)), false);
            CompoundShapePart    Web          = new CompoundShapePart(t_w, d - 2 * t_f - 2 * k, new Point2D(0, 0));


            List <CompoundShapePart> rectX = new List <CompoundShapePart>()
            {
                TopFlange,
                TopFillet,
                Web,
                BottomFillet,
                BottomFlange
            };

            return(rectX);
        }
Esempio n. 4
0
        /// <summary>
        /// Defines a set of rectangles for analysis with respect to 
        /// y-axis, each occupying full height of section. The rectangles are rotated 90 deg., 
        /// because internally the properties are calculated  with respect to x-axis.
        /// </summary>
        /// <returns>List of analysis rectangles</returns>
        public override List<CompoundShapePart> GetCompoundRectangleYAxisList()
        {
            double FlangeThickness = this.t_f;
            double FlangeWidth = this.b_f;
            double FlangeOverhang = (FlangeWidth - t_w - 2.0 * r) / 2.0;
            r = k - t_f;

            CompoundShapePart LeftFlange = new CompoundShapePart(FlangeThickness, FlangeOverhang,
                new Point2D(0, b_f - FlangeOverhang / 2.0));

            CompoundShapePart RightFlange = new CompoundShapePart(FlangeThickness, FlangeOverhang,
                new Point2D(0, FlangeOverhang/2.0));

            PartWithDoubleFillet LeftFillet = new PartWithSingleFillet(r, FlangeThickness, new Point2D(0, b_f - FlangeOverhang ), false);
            PartWithDoubleFillet RightFillet = new PartWithSingleFillet(r, FlangeThickness, new Point2D(0, FlangeOverhang), true);
            CompoundShapePart Web = new CompoundShapePart(d, t_w, new Point2D(0, b_f / 2)); 

            List<CompoundShapePart> rectY = new List<CompoundShapePart>()
            {
                LeftFlange,   
                LeftFillet,
                Web,
                RightFillet,
                RightFlange  
            };
            return rectY;
        }