/***************************************************/ /**** Private Methods ****/ /***************************************************/ private static List <Bar> AnalyticalBars(ConstantFramingElementProperty property, Line centreLine, string name) { return(new List <Bar>() { Create.Bar(centreLine, property.SectionProperty, property.OrientationAngle, Create.BarReleaseFixFix(), BarFEAType.Flexural, name) }); }
private static List <Bar> AnalyticalBars(ConstantFramingElementProperty property, ICurve centreLine, string name, double angleTolerance, int maxNbBars) { if (centreLine is NurbsCurve) { Engine.Reflection.Compute.RecordError("The analytical bars method is currently not supported for NurbsCurves. Please use another method to split up the nurbs to polylines that can be used to construct the bars."); return(new List <Bar>()); } return(centreLine.ISubParts().SelectMany(x => x.ICollapseToPolyline(angleTolerance, maxNbBars).SubParts()).Select(x => Create.Bar(x, property.SectionProperty, property.OrientationAngle, Create.BarReleaseFixFix(), BarFEAType.Flexural, name)).ToList()); }