ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMMaplexLabelPlacementProperties Class / PolygonFeatureType Property
Example Version

PolygonFeatureType Property
Gets or sets the polygon feature type.
Syntax
public MaplexPolygonFeatureType PolygonFeatureType {get; set;}
Example
Modify the Placement/Position of labels - Polygon geometry
//Note: call within QueuedTask.Run()

//Get the layer's definition
var lyrDefn = featureLayer.GetDefinition() as CIMFeatureLayer;
//Get the label classes - we need the first one
var listLabelClasses = lyrDefn.LabelClasses.ToList();
var theLabelClass = listLabelClasses.FirstOrDefault();
//Modify label Placement 
//Check if the label engine is Maplex or standard.
CIMGeneralPlacementProperties labelEngine = MapView.Active.Map.GetDefinition().GeneralPlacementProperties;
if (labelEngine is CIMStandardGeneralPlacementProperties)
{
  //Current labeling engine is Standard Labeling engine
  theLabelClass.StandardLabelPlacementProperties.PolygonPlacementMethod = 
           StandardPolygonPlacementMethod.AlwaysHorizontal;
  theLabelClass.StandardLabelPlacementProperties.PlaceOnlyInsidePolygon = true;
}
else
{
  //Current labeling engine is Maplex labeling engine
  theLabelClass.MaplexLabelPlacementProperties.PolygonFeatureType = 
                           MaplexPolygonFeatureType.LandParcel;
  theLabelClass.MaplexLabelPlacementProperties.AvoidPolygonHoles = true;
  theLabelClass.MaplexLabelPlacementProperties.PolygonPlacementMethod = 
                      MaplexPolygonPlacementMethod.HorizontalInPolygon;
  theLabelClass.MaplexLabelPlacementProperties.CanPlaceLabelOutsidePolygon = true;
}

lyrDefn.LabelClasses = listLabelClasses.ToArray(); //Set the labelClasses back
featureLayer.SetDefinition(lyrDefn); //set the layer's definition
                                     //set the label's visiblity
featureLayer.SetLabelVisibility(true);
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also