Ejemplo n.º 1
0
        public static BHPE.IFramingElement FramingElement(Bar bar, StructuralUsage1D structuralUsage = StructuralUsage1D.Beam)
        {
            if (bar.IsNull())
            {
                return(null);
            }

            ISectionProperty prop = bar.SectionProperty;

            BHPP.ConstantFramingProperty framingProp = null;
            if (prop == null)
            {
                Reflection.Compute.RecordWarning("The bar does not contain a sectionProperty. Can not extract profile or material");
            }
            else
            {
                framingProp = Create.ConstantFramingProperty(bar.SectionProperty, bar.OrientationAngle);
            }

            Line   location = bar.Centreline();
            string name     = bar.Name ?? "";

            BHPE.IFramingElement framingElement;

            switch (structuralUsage)
            {
            case StructuralUsage1D.Column:
                framingElement = Physical.Create.Column(location, framingProp, name);
                break;

            case StructuralUsage1D.Brace:
                framingElement = Physical.Create.Bracing(location, framingProp, name);
                break;

            case StructuralUsage1D.Cable:
                framingElement = Physical.Create.Cable(location, framingProp, name);
                break;

            case StructuralUsage1D.Pile:
                framingElement = Physical.Create.Pile(location, framingProp, name);
                break;

            default:
            case StructuralUsage1D.Undefined:
            case StructuralUsage1D.Beam:
                framingElement = Physical.Create.Beam(location, framingProp, name);
                break;
            }

            List <IReinforcingBar> reinforcement = bar.ReinforcingBars();

            if (reinforcement.Count != 0)
            {
                framingElement.Fragments.Add(new ReinforcementFragment {
                    ReinforcingBars = reinforcement
                });
            }

            return(framingElement);
        }
Ejemplo n.º 2
0
        public static BHPE.IFramingElement FramingElement(Bar bar, StructuralUsage1D structuralUsage = StructuralUsage1D.Beam)
        {
            ISectionProperty prop = bar.SectionProperty;
            BHPP.ConstantFramingProperty framingProp = null;
            if (prop == null)
                Reflection.Compute.RecordWarning("The bar does not contain a sectionProperty. Can not extract profile or material");
            else
                framingProp = Create.ConstantFramingProperty(bar.SectionProperty, bar.OrientationAngle);

            Line location = bar.Centreline();
            string name = bar.Name ?? "";
            switch (structuralUsage)
            {
                case StructuralUsage1D.Column:
                    return Physical.Create.Column(location, framingProp, name);
                case StructuralUsage1D.Brace:
                    return Physical.Create.Bracing(location, framingProp, name);
                case StructuralUsage1D.Cable:
                    return Physical.Create.Cable(location, framingProp, name);
                case StructuralUsage1D.Pile:
                    return Physical.Create.Pile(location, framingProp, name);
                default:
                case StructuralUsage1D.Undefined:
                case StructuralUsage1D.Beam:
                    return Physical.Create.Beam(location, framingProp, name);

            }
        }