ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Geometry Namespace / EllipticArcBuilderEx Class / EllipticArcBuilderEx Constructor / EllipticArcBuilderEx Constructor(MapPoint,MapPoint,Coordinate2D,SpatialReference)
The point from which the arc starts.
The point to which the arc ends.
An interior point of the arc.
(Optional) The spatial reference. The default value is null. The spatial reference2 of the start and end points are ignored.
Example

In This Topic
    EllipticArcBuilderEx Constructor(MapPoint,MapPoint,Coordinate2D,SpatialReference)
    In This Topic
    Creates a new instance of the EllipticArcBuilderEx class. The new instance will be a circular arc from three points.
    Syntax
    Public Function New( _
       ByVal startPt As MapPoint, _
       ByVal endPt As MapPoint, _
       ByVal interiorPt As Coordinate2D, _
       Optional ByVal spatialReference As SpatialReference _
    )

    Parameters

    startPt
    The point from which the arc starts.
    endPt
    The point to which the arc ends.
    interiorPt
    An interior point of the arc.
    spatialReference
    (Optional) The spatial reference. The default value is null. The spatial reference2 of the start and end points are ignored.
    Exceptions
    ExceptionDescription
    startPt or endPt is null or empty.
    interiorPt is empty.
    Example
    Construct a Circular Arc - using an interior point
    {
      // Construct a circular arc from (2, 1) to (1, 2) with interior pt (1 + sqrt(2)/2, 1 + sqrt(2)/2).
      // Use a builderEx convenience method or use a builderEx constructor.
    
      MapPoint fromPtCircArc = MapPointBuilderEx.CreateMapPoint(2, 1);
      MapPoint toPtCircArc = MapPointBuilderEx.CreateMapPoint(1, 2);
      Coordinate2D interiorPtNew = new Coordinate2D(1 + Math.Sqrt(2) / 2, 1 + Math.Sqrt(2) / 2);
    
      // BuilderEx convenience methods don't need to run on the MCT.
      EllipticArcSegment circularArcBuilder = EllipticArcBuilderEx.CreateCircularArc(fromPtCircArc, toPtCircArc, interiorPtNew);
    
      // BuilderEx constructors don't need to run on the MCT.
      EllipticArcBuilderEx eab = new EllipticArcBuilderEx(fromPtCircArc, toPtCircArc, interiorPtNew);
      // do something with the builder
    
      EllipticArcSegment anotherCircularArc = eab.ToSegment();
    }
    Create Ellipse Text Element
    {
      //Note: Must be on QueuedTask.Run
    
      //Build geometry
      Coordinate2D center = new Coordinate2D(4.5, 2.75);
      var eabElp = new EllipticArcBuilderEx(center, 0, 1, 0.45, ArcOrientation.ArcClockwise);
      var ellipse = eabElp.ToSegment();
    
      var poly = PolygonBuilderEx.CreatePolygon(
        PolylineBuilderEx.CreatePolyline(ellipse, AttributeFlags.AllAttributes));
    
      //Set symbology, create and add element to layout
      CIMTextSymbol sym = SymbolFactory.Instance.ConstructTextSymbol(
                            ColorFactory.Instance.BlueRGB, 10, "Arial", "Regular");
      string text = "Ellipse, ellipse, ellipse";
    
      GraphicElement ge = ElementFactory.Instance.CreateTextGraphicElement(
        layout, TextType.PolygonParagraph, poly, sym, text, "New Ellipse Text", false);
    }
    Create Predefined Shape Graphic Element 3
    {
      //Note: Must be on QueuedTask.Run
    
      //Build geometry
      Coordinate2D center = new Coordinate2D(2, 2.75);
      var eabElp = new EllipticArcBuilderEx(
                               center, 0, 1, 0.45, ArcOrientation.ArcClockwise);
      var ellipse = eabElp.ToSegment();
    
      //Set symbology, 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);
    
      var poly = PolygonBuilderEx.CreatePolygon(
        PolylineBuilderEx.CreatePolyline(ellipse, AttributeFlags.AllAttributes));
    
      var ge = ElementFactory.Instance.CreatePredefinedShapeGraphicElement(
        layout, PredefinedShape.Ellipse, poly.Extent.Center, 0, 0, ellipseSym,
        "New Ellipse2", false, new ElementInfo() { Anchor = Anchor.TopRightCorner });
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also