ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.NetworkDiagrams Namespace / DiagramManager Class / GetNetworkDiagram Method
The name of the network diagram.
Example

In This Topic
    GetNetworkDiagram Method (DiagramManager)
    In This Topic
    Retrieves the NetworkDiagram with the specified name. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Function GetNetworkDiagram( _
       ByVal name As String _
    ) As NetworkDiagram
    public NetworkDiagram GetNetworkDiagram( 
       string name
    )

    Parameters

    name
    The name of the network diagram.

    Return Value

    The NetworkDiagram with the specified name.
    Exceptions
    ExceptionDescription
    A geodatabase-related exception has occurred.
    This method or property must be called within the lambda passed to QueuedTask.Run
    Example
    Get Network Diagrams
    {
      static void GetDiagram(UtilityNetwork utilityNetwork, IEnumerable<Guid> globalIDs)
      {
        Envelope extentOfInterest = MapView.Active.Map.GetDefaultExtent();
    
        using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
        {
          // Get all the diagrams
          IReadOnlyList<NetworkDiagram> diagrams = diagramManager.GetNetworkDiagrams();
    
          // Get a diagram by name
          NetworkDiagram diagram = diagramManager.GetNetworkDiagram(_diagramName);
    
          // Get diagrams by extent
          diagrams = diagramManager.GetNetworkDiagrams(extentOfInterest);
    
          // Get diagrams from a set of utility network feature GlobalIDs
          diagrams = diagramManager.GetNetworkDiagrams(globalIDs);
    
          // Get diagrams from a set of utility network feature GlobalIDs within an extent
          diagrams = diagramManager.GetNetworkDiagrams(extentOfInterest, globalIDs);
        }
      }
    }
    Change the Layout of a Network Diagram
    {
      // Change the layout of a network diagram by querying for all the diagram elements, editing their shapes,
      static void ChangeDiagramLayout(DiagramManager diagramManager, string diagramName)
      {
        // Retrieve a diagram
        using (NetworkDiagram diagramTest = diagramManager.GetNetworkDiagram(diagramName))
        {
          // Create a DiagramElementQueryByElementTypes query object to get the diagram elements we want to work with
          DiagramElementQueryByElementTypes query = new DiagramElementQueryByElementTypes();
          query.QueryDiagramJunctionElement = true;
          query.QueryDiagramEdgeElement = true;
          query.QueryDiagramContainerElement = true;
    
          // Retrieve those diagram elements
          DiagramElementQueryResult elements = diagramTest.QueryDiagramElements(query);
    
          // Create a NetworkDiagramSubset object to edit this set of diagram elements
          NetworkDiagramSubset subset = new NetworkDiagramSubset();
          subset.DiagramJunctionElements = elements.DiagramJunctionElements;
          subset.DiagramEdgeElements = elements.DiagramEdgeElements;
          subset.DiagramContainerElements = elements.DiagramContainerElements;
    
          // Save the new layout of the diagram elements
          diagramTest.SaveLayout(subset, true);
        }
      }
    }
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also