Table of Contents

Method ToGeoPolylineArc3

Namespace
GeometryHelper.TeklaConvert
Assembly
GeometryHelper.TeklaConvert.dll

ToGeoPolylineArc3(IEnumerable<Point>, IList<double>)

Converts a run of Tekla points into a chain that may curve, bending it at each turn.

public static GeoPolylineArc3 ToGeoPolylineArc3(this IEnumerable<Point> points, IList<double> bendingRadii)

Parameters

points IEnumerable<Point>
bendingRadii IList<double>

Returns

GeoPolylineArc3

ToGeoPolylineArc3(IEnumerable<Point>, IList<double>, Tolerance)

Converts a run of Tekla points into a chain that may curve, bending it at each turn, within a tolerance.

public static GeoPolylineArc3 ToGeoPolylineArc3(this IEnumerable<Point> points, IList<double> bendingRadii, Tolerance tolerance)

Parameters

points IEnumerable<Point>

The points the thing is set out by, in order; at least two.

bendingRadii IList<double>

A radius for each bend, in order, the first belonging to the first point that turns. A list as long as the points is read the same way, with the entries for the two ends ignored, because nothing turns at either end. A radius of nought, a short list, or no list at all leaves that bend square.

tolerance Tolerance

The tolerance; Tekla coordinates run large, so this is worth giving.

Returns

GeoPolylineArc3

The chain: straight runs with a tangent arc at every bend that had room for one.

Remarks

This is what a set-out becomes: a reinforcing bar is not the polyline it is typed as, it is that polyline with a tangent arc at every bend, so it is shorter than its set-out and does not pass through its own corners. A bend with too little straight run either side to fit its radius is left square rather than forced, and where two bends want more of the run between them than it is long, the one taking more of it gives way. Both are reported through GeometryHelperLog at debug level.

Exceptions

ArgumentNullException

Thrown when the points are null.

ArgumentException

Thrown when fewer than two distinct points are given, or one of them is null.