ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Layouts Namespace / PredefinedShape Enumeration
Example Example

In This Topic
    PredefinedShape Enumeration
    In This Topic
    Specifies the available predefined shape types
    Syntax
    Members
    MemberDescription
    Circle Circle - a type of polygon
    Cloud Cloud shaped polygon
    Cross Cross shaped polygon
    Ellipse Ellipse - a type of polygon
    HalfCircle Half or "Semi" circle shaped polygon
    None None- default
    Rectangle Rectangle - i.e. an Envelope, also a type of Polygon
    RightTriangle RightTriangle shaped polygon
    RoundedRectangle RoundedRectangle shaped polygon
    Triangle Triangle shaped polygon
    X X shaped polygon
    Remarks
    Example
    Create rectangle graphic with simple symbology
    {
      //Create a simple 2D rectangle graphic and apply simple fill and
      //outline symbols.
    
      //Note: Must be on QueuedTask.Run
    
      //Build 2D envelope geometry
      Coordinate2D rec_ll = new Coordinate2D(1.0, 4.75);
      Coordinate2D rec_ur = new Coordinate2D(3.0, 5.75);
    
      Envelope rec_env = EnvelopeBuilderEx.CreateEnvelope(rec_ll, rec_ur);
    
      //Set symbology, create and add element to layout
      CIMStroke outline = SymbolFactory.Instance.ConstructStroke(
        ColorFactory.Instance.BlackRGB, 5.0, SimpleLineStyle.Solid);
      CIMPolygonSymbol polySym = SymbolFactory.Instance.ConstructPolygonSymbol(
        ColorFactory.Instance.GreenRGB, SimpleFillStyle.DiagonalCross, outline);
    
    
      GraphicElement recElm = ElementFactory.Instance.CreateGraphicElement(
        layout, rec_env, polySym, "New Rectangle");
      //Or use Predefined shape
      GraphicElement recElm2 = ElementFactory.Instance.CreatePredefinedShapeGraphicElement(
                                layout, PredefinedShape.Rectangle, rec_env, polySym,
                                "New Rectangle2");
    }
    Create Predefined Shape Graphic Element
    {
      PredefinedShape shapeType = PredefinedShape.Circle;
      //Note: Must be on QueuedTask.Run
    
      //PredefinedShape shapeType =
      //              PredefinedShape.Circle | Cloud | Cross |Circle | Triangle | ... ;
    
      //Build geometry
      Coordinate2D ll = new Coordinate2D(4, 2.5);
      Coordinate2D ur = new Coordinate2D(6, 4.5);
      Envelope env = EnvelopeBuilderEx.CreateEnvelope(ll, ur);
    
      var outline = SymbolFactory.Instance.ConstructStroke(
                      ColorFactory.Instance.BlueRGB, 2);
      var poly_sym = SymbolFactory.Instance.ConstructPolygonSymbol(
                       null, outline);
    
      var ge = ElementFactory.Instance.CreatePredefinedShapeGraphicElement(
                             layout, shapeType, env.Center, env.Width, env.Height,
                              poly_sym, shapeType.ToString(), true);
    }
    Create Predefined Shape Graphic Element 2
    {
      //Note: Must be on QueuedTask.Run
    
      //Build geometry
      Coordinate2D ll = new Coordinate2D(6.5, 7);
      Coordinate2D ur = new Coordinate2D(9, 9);
      Envelope env = EnvelopeBuilderEx.CreateEnvelope(ll, ur);
    
      var outline = SymbolFactory.Instance.ConstructStroke(
                      ColorFactory.Instance.GreenRGB, 2);
      var poly_sym = SymbolFactory.Instance.ConstructPolygonSymbol(
                       null, outline);
    
      var ge = ElementFactory.Instance.CreatePredefinedShapeGraphicElement(
        layout, PredefinedShape.RoundedRectangle, env, poly_sym, "Rounded Rect", true);
    }
    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 });
    }
    Inheritance Hierarchy

    System.Object
       System.ValueType
          System.Enum
             ArcGIS.Desktop.Layouts.PredefinedShape

    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also