EllipticArcBuilderEx Constructor(MapPoint,Double,Double,Double,ArcOrientation,MinorOrMajor,SpatialReference)
Creates a new instance of the EllipticArcBuilderEx class.
The new instance will be a circular arc.
Parameters
- startPt
- The point from which the arc starts.
- chordLength
- The length of the chord connecting start point to the end point of the arc.
If negative, then the absolute value is used. Cannot be equal to zero.
- chordBearing
- The angle in radians of the chord connecting the start point to the end point of the arc.
- radius
- The radius of the embedded circle.
- orientation
- The orientation of the arc, clockwise or counterclockwise.
- minorOrMajor
- Indicates whether the arc is a minor or major arc.
A minor arc is an arc such that the central angle is less than PI radians.
- spatialReference
- (Optional) The spatial reference of the arc. The default value is null. The spatial reference of the start point is ignored.
Construct a Circular Arc - using a chord length and bearing
// Construct a circular arc counterclockwise from (2, 1) to (1, 2) such that the embedded
// circle has center point at (1, 1) and radius = 1.
// Use a builderEx convenience method or use a builderEx constructor.
MapPoint fromPt = MapPointBuilderEx.CreateMapPoint(2, 1, SpatialReferences.WGS84);
double chordLength = Math.Sqrt(2);
double chordBearing = 3 * Math.PI / 4;
double radius = 1;
ArcOrientation orientation = ArcOrientation.ArcCounterClockwise;
MinorOrMajor minorOrMajor = MinorOrMajor.Minor;
// BuildeEx convenience methods don't need to run on the MCT.
EllipticArcSegment circularArc = EllipticArcBuilderEx.CreateCircularArc(fromPt, chordLength, chordBearing, radius, orientation, minorOrMajor);
// BuilderEx constructors don't need to run on the MCT either.
EllipticArcBuilderEx cab = new EllipticArcBuilderEx(fromPt, chordLength, chordBearing, radius, orientation, minorOrMajor);
// do something with the builder
EllipticArcSegment anotherCircularArc = 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.