EllipticArcBuilderEx Constructor(Coordinate2D,Double,Double,Double,Double,Double,SpatialReference)
Creates a new instance of the EllipticArcBuilderEx class. The new instance will be an elliptic arc.
Parameters
- centerPt
- The center point of the elliptic arc.
- startAngle
- The start angle in radians measured from the rotated X-axis.
- centralAngle
- The central angle in radians measuring the span of the arc from startAngle to endAngle. A positive value corresponds to counterclockwise orientation.
- rotationAngle
- The angle in radians by which the ellipse is rotated from the X-axis. A positive value corresponds to counterclockwise rotation.
- semiMajorAxis
- The length of the semi-major axis.
- minorMajorRatio
- The ratio of the length of the semi-minor axis to the length of the semi-major axis. The absolute value must be <= 1.
- spatialReference
- (Optional) The spatial reference of the arc. The default value is null.
Construct an Elliptic Arc - using a center point and rotation angle
// Construct an elliptic arc centered at (1,1), startAngle = 0, centralAngle = PI/2,
// rotationAngle = 0, semiMajorAxis = 1, minorMajorRatio = 0.5.
// Use a builderEx convenience method or use a builderEx constructor.
Coordinate2D centerPt = new Coordinate2D(1, 1);
// BuilderEx convenience methods don't need to run on the MCT.
EllipticArcSegment circularArc = EllipticArcBuilderEx.CreateEllipticArcSegment(centerPt, 0, Math.PI / 2, 0, 1, 0.5);
double semiMajor;
double semiMinor;
circularArc.GetAxes(out semiMajor, out semiMinor);
// semiMajor = 1, semiMinor = 0.5
// BuilderEx constructors don't need to run on the MCT.
EllipticArcBuilderEx cab = new EllipticArcBuilderEx(centerPt, 0, Math.PI / 2, 0, 1, 0.5);
cab.GetAxes(out semiMajor, out semiMinor);
EllipticArcSegment otherCircularArc = cab.ToSegment();
Create Circle Text Element
//Must be on QueuedTask.Run(() => { ...
//Build geometry
Coordinate2D center = new Coordinate2D(4.5, 4);
var eabCir = new EllipticArcBuilderEx(center, 0.5, ArcOrientation.ArcClockwise);
var cir = eabCir.ToSegment();
var poly = PolygonBuilderEx.CreatePolygon(
PolylineBuilderEx.CreatePolyline(cir, AttributeFlags.AllAttributes));
//Set symbolology, create and add element to layout
CIMTextSymbol sym = SymbolFactory.Instance.ConstructTextSymbol(
ColorFactory.Instance.GreenRGB, 10, "Arial", "Regular");
string text = "Circle, circle, circle";
GraphicElement cirTxtElm = ElementFactory.Instance.CreateTextGraphicElement(
container, TextType.CircleParagraph, poly, sym, text, "New Circle Text", false);
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.