ArcGIS Pro 2.9 API Reference Guide
LineBuilder Constructor(Coordinate3D,Coordinate3D,SpatialReference)
Example 

ArcGIS.Core.Geometry Namespace > LineBuilder Class > LineBuilder Constructor : LineBuilder Constructor(Coordinate3D,Coordinate3D,SpatialReference)
The start point.
The end point.
(Optional) The spatial reference. The default value is null.
Initializes a new instance of the LineBuilder class defined from the start and end point. This method must be called on the MCT. Use QueuedTask.Run.
Syntax

Parameters

startCoord
The start point.
endCoord
The end point.
spatialReference
(Optional) The spatial reference. The default value is null.
Exceptions
ExceptionDescription
This method or property must be called within the lambda passed to QueuedTask.Run.
Remarks
This is a straight line segment between the start and end point.

Line Segment

Example
// Use a builder convenience method or use a builder constructor.

MapPoint startPt = MapPointBuilder.CreateMapPoint(1.0, 1.0);
MapPoint endPt = MapPointBuilder.CreateMapPoint(2.0, 1.0);

// Builder convenience methods don't need to run on the MCT.
LineSegment lineFromMapPoint = LineBuilder.CreateLineSegment(startPt, endPt);

// coordinate2D
Coordinate2D start2d = (Coordinate2D)startPt;
Coordinate2D end2d = (Coordinate2D)endPt;

LineSegment lineFromCoordinate2D = LineBuilder.CreateLineSegment(start2d, end2d);

// coordinate3D
Coordinate3D start3d = (Coordinate3D)startPt;
Coordinate3D end3d = (Coordinate3D)endPt;

LineSegment lineFromCoordinate3D = LineBuilder.CreateLineSegment(start3d, end3d);

// lineSegment
LineSegment anotherLineFromLineSegment = LineBuilder.CreateLineSegment(lineFromCoordinate3D);

// Builder constructors need to run on the MCT.
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
  using (LineBuilder lb = new LineBuilder(startPt, endPt))
  {
    // do something with the builder

    lineFromMapPoint = lb.ToSegment();
  }

  using (LineBuilder lb = new LineBuilder(start2d, end2d))
  {
    // do something with the builder

    lineFromCoordinate2D = lb.ToSegment();
  }

  using (LineBuilder lb = new LineBuilder(start3d, end3d))
  {
    // do something with the builder

    lineFromCoordinate3D = lb.ToSegment();
  }

  using (LineBuilder lb = new LineBuilder(lineFromCoordinate3D))
  {
    // do something with the builder

    anotherLineFromLineSegment = lb.ToSegment();
  }
});


// builderEx constructors don't need to run on the MCT
LineBuilderEx lbEx = new LineBuilderEx(startPt, endPt);
lineFromMapPoint = lbEx.ToSegment() as LineSegment;

lbEx = new LineBuilderEx(start2d, end2d);
lineFromCoordinate2D = lbEx.ToSegment() as LineSegment;

lbEx = new LineBuilderEx(start3d, end3d);
lineFromCoordinate3D = lbEx.ToSegment() as LineSegment;

lbEx = new LineBuilderEx(startPt, endPt);
lineFromMapPoint = lbEx.ToSegment() as LineSegment;

lbEx = new LineBuilderEx(lineFromCoordinate3D);
anotherLineFromLineSegment = lbEx.ToSegment() as LineSegment;


// builderEx convenience methods don't need to run on the MCT
lineFromMapPoint = LineBuilderEx.CreateLineSegment(startPt, endPt);
lineFromCoordinate2D = LineBuilderEx.CreateLineSegment(start2d, end2d);
lineFromCoordinate3D = LineBuilderEx.CreateLineSegment(start3d, end3d);
anotherLineFromLineSegment = LineBuilderEx.CreateLineSegment(lineFromCoordinate3D);
Requirements

Target Platforms: Windows 11, Windows 10, Windows 8.1

See Also

Reference

LineBuilder Class
LineBuilder Members
Overload List