ArcGIS Pro 2.7 API Reference Guide
EllipticArcBuilder Constructor(Segment,Segment,Double,Coordinate2D,SpatialReference)
Example 

ArcGIS.Core.Geometry Namespace > EllipticArcBuilder Class > EllipticArcBuilder Constructor : EllipticArcBuilder Constructor(Segment,Segment,Double,Coordinate2D,SpatialReference)
The first segment. The segment must be a line segment or a circular arc.
The second segment. The segment must be a line segment or a circular arc.
The radius of the circular arc.
The point that determines which arc is constructed.
(Optional) The spatial reference of the arc. The default value is null.
Builds a new instance of the EllipticArcBuilder class. The new instance will be a circular arc of the given radius and tangent to two segments. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
Public Function New( _
   ByVal segment1 As Segment, _
   ByVal segment2 As Segment, _
   ByVal radius As Double, _
   ByVal hintPoint As Coordinate2D, _
   Optional ByVal spatialReference As SpatialReference _
)

Parameters

segment1
The first segment. The segment must be a line segment or a circular arc.
segment2
The second segment. The segment must be a line segment or a circular arc.
radius
The radius of the circular arc.
hintPoint
The point that determines which arc is constructed.
spatialReference
(Optional) The spatial reference of the arc. The default value is null.
Exceptions
ExceptionDescription
This method or property must be called within the lambda passed to QueuedTask.Run.
segment1 or segment2 is null.
segment1 or segment2 is not a line segment or a circular arc.
radius is 0.
Remarks
The circular arc is a fillet arc which means it is constructed between the two input segments such that it is tangential to both embedded segments at the circular arc endpoints.

The hintPoint determines which arc is to be constructed.

The endpoints of the arc lie on the embedded extensions of the input segments. The start point of the arc always lies on the embedded extension of segment1.

Use QueryFilletRadiusRange to find the range of radii for a given set of inputs such that the constructed arc has endpoints on both of the non-extended input segments.

Elliptic Arc Constructor

Example
// Construct a segment from (100, 100) to (50, 50) and another segment from (100, 100) to (150, 50).
// Use a builder convenience method or use a builder constructor.

LineSegment segment1 = LineBuilder.CreateLineSegment(new Coordinate2D(100, 100), new Coordinate2D(50, 50));
LineSegment segment2 = LineBuilder.CreateLineSegment(new Coordinate2D(100, 100), new Coordinate2D(150, 50));

// Construct the hint point to determine where the arc will be constructed.
Coordinate2D hintPoint = new Coordinate2D(100, 75);

// Call QueryFilletRadius to get the minimum and maximum radii that can be used with these segments.
var minMaxRadii = EllipticArcBuilder.QueryFilletRadiusRange(segment1, segment2, hintPoint);

// Use the maximum radius to create the arc.
double maxRadius = minMaxRadii.Item2;

// Builder convenience methods don't need to run on the MCT.
EllipticArcSegment circularArc = EllipticArcBuilder.CreateEllipticArcSegment(segment1, segment2, maxRadius, hintPoint);

// Builder constructors need to run on the MCT.
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
  using (EllipticArcBuilder cab = new EllipticArcBuilder(segment1, segment2, maxRadius, hintPoint))
  {
    // do something with the builder

    EllipticArcSegment otherCircularArc = cab.ToSegment();
  }
});
Requirements

Target Platforms: Windows 10, Windows 8.1

See Also

Reference

EllipticArcBuilder Class
EllipticArcBuilder Members
Overload List