Represents a mesh symbol which is used to draw multipatch features or mesh features.
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.
/// 
/// </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.
/// 
/// </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;
});
}
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.