コード例 #1
0
        private static void SetGeometry(this SectionProperty section, ShapeType shapeType, double height, double width, double tw, double tf1, double r1, double r2, double mass = 0, double b1 = 0, double b2 = 0, double tf2 = 0, double b3 = 0, double spacing = 0)
        {
            BH.oM.Geometry.Group <BH.oM.Geometry.Curve> edges = null;

            switch (shapeType)
            {
            case ShapeType.ISection:
                edges = ShapeBuilder.CreateISecction(tf1, b1 == 0 ? width : b1, tf2 == 0 ? tf1 : tf2, b2 == 0 ? width : b2, tw, height - 2 * tf1, r1, r2);
                break;

            case ShapeType.Tee:
                edges = ShapeBuilder.CreateTee(tf1, b1 == 0 ? width : b1, tw, height - tf1, r1, r2);
                break;

            case ShapeType.Box:
                edges = ShapeBuilder.CreateBox(width, height, tw, tf1, r1, r2);
                break;

            case ShapeType.Angle:
                edges = ShapeBuilder.CreateAngle(width, height, tf1, tw, r1, r2);
                break;

            case ShapeType.Circle:
                edges = ShapeBuilder.CreateCircle(width / 2);
                break;

            case ShapeType.Rectangle:
                edges = ShapeBuilder.CreateRectangle(width, height, r1);
                break;

            case ShapeType.Tube:
                edges = ShapeBuilder.CreateTube(width / 2, tw);
                break;
            }
            section.Edges = edges;
        }