ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMMeshSymbol Class
Members Example

In This Topic
    CIMMeshSymbol Class
    In This Topic
    Represents a mesh symbol which is used to draw multipatch features or mesh features.
    Object Model
    CIMMeshSymbol ClassCIMAnimatedSymbolProperties ClassCIMMeshSymbol ClassCIMMeshSymbol Class
    Syntax
    Example
    Snippet Mesh material fill symbol
    /// <summary>
    /// Create a mesh symbol that can be applied to a multi-patch feature layer.
    /// </summary>
    /// <remarks>
    /// A mesh symbol is a CIMMeshSymbol object.  Define an array of CIMSymbolLayers which contains a CIMMaterialSymbol layer with the specified properties such as Color, etc.
    /// Assign this array of CIMSymbolLayers to the CIMMeshSymbol.
    /// ![MeshSymbolOrange](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/mesh-material-orange.png)
    /// </remarks>
    /// <returns></returns>
    public static Task<CIMMeshSymbol> CreateMeshSymbolAsync()
    {
        return QueuedTask.Run<CIMMeshSymbol>(() =>
       {
           CIMSymbolLayer[] materialSymbolLayer =
          {
                new CIMMaterialSymbolLayer()
                {
                    Color = ColorFactory.Instance.CreateRGBColor(230,152,0),
                    MaterialMode = MaterialMode.Multiply
                }
           };
           var myMeshSymbol = new CIMMeshSymbol()
           {
               SymbolLayers = materialSymbolLayer
           };
           return myMeshSymbol;
       });
    }
    Snippet Mesh procedural texture symbol
    /// <summary>
    /// Creates Mesh procedural symbol with various textures.
    /// ![MeshProceduralTexture](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/mesh-procedural-texture.png)
    /// </summary>
    /// <remarks>Note: The rule package used in this method can be obtained from the Sample Data included in the arcgis-pro-sdk-community-samples repository.</remarks>
    /// <returns></returns>
    private static readonly string _rulePkgPath = @"C:\Data\RulePackages\MultipatchTextures.rpk";
    public static Task<CIMMeshSymbol> CreateProceduralMeshSymbolAsync()
    {
        return QueuedTask.Run<CIMMeshSymbol>(() =>
        {                  
            CIMSymbolLayer[] proceduralSymbolLyr =
            {
                new CIMProceduralSymbolLayer()
                {
                    PrimitiveName = "Textures",
                    RulePackage = _rulePkgPath,
                    RulePackageName = "Textures",
                }
            };
            var myMeshSymbol = new CIMMeshSymbol()
            {
                SymbolLayers = proceduralSymbolLyr
            };
    
            return myMeshSymbol;
        });
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CIM.CIMObject
          ArcGIS.Core.CIM.CIMSymbol
             ArcGIS.Core.CIM.CIMMultiLayerSymbol
                ArcGIS.Core.CIM.CIMMeshSymbol

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also