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

NetworkDiagramInfo Class
Represents information about a NetworkDiagram.
Object Model
NetworkDiagramInfo ClassEnvelope ClassEnvelope Class
Syntax
public sealed 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