ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / EllipticArcBuilderEx Class
Members Example Version

EllipticArcBuilderEx Class
A builder for creating an EllipticArcSegment whose methods can be called on any thread.
Object Model
EllipticArcBuilderEx ClassCoordinate2D StructureEllipticArcSegment ClassEllipticArcSegment ClassEllipticArcSegment ClassEllipticArcSegment ClassMapPoint ClassSpatialReference ClassMapPoint ClassEllipticArcSegment Class
Syntax
public sealed class EllipticArcBuilderEx : SegmentBuilderEx 
Remarks
Use the EllipticArcBuilderEx class to create and/or modify an EllipticArcSegment shape. An EllipticArcSegment is based upon the parent Segment class. The Segment class is immutable which means that you cannot change its shape once it is created. Hence, the EllipticArcBuilderEx provides the way to make changes when working with an EllipticArcSegment. Use the EllipticArcBuilderEx.ToSegment method to get the EllipticArcSegment from the builder.

An elliptic arc is the portion of the boundary of a 2D ellipse that connects two points.

Most of the EllipticArcBuilderEx methods can be called on any thread. If a method must be called on the MCT thread, it is noted in the summary.

Example
Create_circle
//Create a circle graphic element using a simple line and fill styles.

//Construct on the worker thread
await QueuedTask.Run(() =>
{
  //Build geometry
  Coordinate2D center = new Coordinate2D(2, 4);
  //At 2.x - EllipticArcBuilder eabCir = new EllipticArcBuilder(center, 0.5, esriArcOrientation.esriArcClockwise);
  var eabCir = new EllipticArcBuilderEx(center, 0.5, ArcOrientation.ArcClockwise);
  EllipticArcSegment cir = eabCir.ToSegment();

  //Set symbolology, create and add element to layout
  CIMStroke outline = SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.BlackRGB, 2.0, SimpleLineStyle.Dash);
  CIMPolygonSymbol circleSym = SymbolFactory.Instance.ConstructPolygonSymbol(ColorFactory.Instance.RedRGB, SimpleFillStyle.Solid, outline);
  //At 2.x - GraphicElement cirElm = LayoutElementFactory.Instance.CreateCircleGraphicElement(layout, cir, circleSym);
  //         cirElm.SetName("New Circle");

  var polyLine = PolylineBuilderEx.CreatePolyline(cir);
  GraphicElement cirElm = ElementFactory.Instance.CreateGraphicElement(layout, polyLine, circleSym, "New Circle");
});
Create_ellipse
//Create an ellipse graphic with simple line and fill styles.

//Construct on the worker thread
await QueuedTask.Run(() =>
{
  //Build geometry
  Coordinate2D center = new Coordinate2D(2, 2.75);
  //At 2.x - EllipticArcBuilder eabElp = new EllipticArcBuilder(center, 0, 1, 0.45, esriArcOrientation.esriArcClockwise);
  var eabElp = new EllipticArcBuilderEx(center, 0, 1, 0.45, ArcOrientation.ArcClockwise);
  EllipticArcSegment ellipse = eabElp.ToSegment();

  //Set symbolology, create and add element to layout
  CIMStroke outline = SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.GreenRGB, 2.0, SimpleLineStyle.Dot);
  CIMPolygonSymbol ellipseSym = SymbolFactory.Instance.ConstructPolygonSymbol(ColorFactory.Instance.GreyRGB, SimpleFillStyle.Vertical, outline);
  //At 2.x - GraphicElement elpElm = LayoutElementFactory.Instance.CreateEllipseGraphicElement(layout, ellipse, ellipseSym);
  //         elpElm.SetName("New Ellipse");

  var polyLine = PolylineBuilderEx.CreatePolyline(ellipse);
  GraphicElement elpElm = ElementFactory.Instance.CreateGraphicElement(layout, polyLine, ellipseSym, "New Ellipse");
});
Inheritance Hierarchy

System.Object
   ArcGIS.Core.Geometry.SegmentBuilderEx
      ArcGIS.Core.Geometry.EllipticArcBuilderEx

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also