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.
Public Function GetNetworkDiagram( _ ByVal name As String _ ) As NetworkDiagram
public NetworkDiagram GetNetworkDiagram( string name )
| Exception | Description |
|---|---|
| ArcGIS.Core.Data.Exceptions.GeodatabaseException | A geodatabase-related exception has occurred. |
| ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run |
{
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 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);
}
}
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)