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); }
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); } }