ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Core.Geometry Namespace / EllipticArcBuilderEx Class / CreateCircularArc Method / CreateCircularArc(Segment,Segment,Double,Coordinate2D,SpatialReference) Method
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.
Example

In This Topic
    CreateCircularArc(Segment,Segment,Double,Coordinate2D,SpatialReference) Method
    In This Topic
    Convenience method to create a new instance of the EllipticArcSegment class. The segment will be a circular arc of the given radius and tangent to two segments.
    Syntax
    Public Overloads Shared Function CreateCircularArc( _
       ByVal segment1 As Segment, _
       ByVal segment2 As Segment, _
       ByVal radius As Double, _
       ByVal hintPoint As Coordinate2D, _
       Optional ByVal spatialReference As SpatialReference _
    ) As EllipticArcSegment

    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
    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 Circular Arc - using two segments and radius
    // Construct a segment from (100, 100) to (50, 50) and another segment from (100, 100) to (150, 50).
    // Use a builderEx convenience method or use a builderEx constructor.
    
    LineSegment segment1 = LineBuilderEx.CreateLineSegment(new Coordinate2D(100, 100), new Coordinate2D(50, 50));
    LineSegment segment2 = LineBuilderEx.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 = EllipticArcBuilderEx.QueryFilletRadiusRange(segment1, segment2, hintPoint);
    
    // Use the maximum radius to create the arc.
    double maxRadius = minMaxRadii.Item2;
    
    // BuilderEx convenience methods don't need to run on the MCT.
    //At 2.x - EllipticArcSegment circularArc = EllipticArcBuilderEx.CreateEllipticArcSegment(segment1, segment2, maxRadius, hintPoint);
    EllipticArcSegment circularArc = EllipticArcBuilderEx.CreateCircularArc(
                        segment1, segment2, maxRadius, hintPoint);
    
    // BuilderEx constructors need to run on the MCT.
    EllipticArcBuilderEx cab = new EllipticArcBuilderEx(segment1, segment2, maxRadius, hintPoint);
    EllipticArcSegment otherCircularArc = cab.ToSegment();
    
    Requirements

    Target Platforms: Windows 11, Windows 10, Windows 8.1

    See Also