ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.Data.NetworkDiagrams Namespace / NetworkDiagramInfo Class
Members Example

In This Topic
    NetworkDiagramInfo Class
    In This Topic
    Represents information about a NetworkDiagram.
    Object Model
    NetworkDiagramInfo ClassEnvelope ClassEnvelope Class
    Syntax
    public sealed class NetworkDiagramInfo 
    Public NotInheritable Class NetworkDiagramInfo 
    Example
    Get a list of Network Diagrams with inconsistent ConsistencyState
    public List<NetworkDiagram> GetInconsistentDiagrams(UtilityNetwork utilityNetwork)
    {
      // Get the DiagramManager from the utility network
    
      using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
      {
        List<NetworkDiagram> myList = new List<NetworkDiagram>();
    
        // Loop through the network diagrams in the diagram manager
    
        foreach (NetworkDiagram diagram in diagramManager.GetNetworkDiagrams())
        {
          NetworkDiagramInfo diagramInfo = diagram.GetDiagramInfo();
    
          // If the diagram is not a system diagram and is in an inconsistent state, add it to our list
    
          if (!diagramInfo.IsSystem && diagram.GetConsistencyState() != NetworkDiagramConsistencyState.DiagramIsConsistent)
          {
            myList.Add(diagram);
          }
          else
          {
            diagram.Dispose(); // If we are not returning it we need to Dispose it
          }
        }
    
        return myList;
      }
    }
    Editing Network Diagram
    public void EditDiagram(NetworkDiagram diagram, List<Guid> globalIDs)
    {
      //     These routines generate their own editing transaction, and therefore cannot be wrapped
      //     in a separate transaction. Because the editing performed by these routines cannot
      //     be undone, thise routines can also not be called within an editing session. All
      //     edits in the current edit session must be saved or discarded before calling these
      //     routines.
    
      // refresh the diagram - synchronizes it based on the latest network topology
      diagram.Update();
    
      // append features to the diagram
      diagram.Append(globalIDs);
    
      // overite the diagram with a set of features 
      diagram.Overwrite(globalIDs);
    
      NetworkDiagramInfo info = diagram.GetDiagramInfo();
      if (info.CanExtend)
      {
        diagram.Extend(NetworkDiagramExtendType.ExtendByContainment);
    
        // or extend for only a set of utility network globalIDs
        diagram.Extend(NetworkDiagramExtendType.ExtendByContainment, globalIDs);
      }
      // delete a diagran
      diagram.Delete();
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.Data.NetworkDiagrams.NetworkDiagramInfo

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also