Public Function GetDiagramManager() As DiagramManager
public DiagramManager GetDiagramManager()
Public Function GetDiagramManager() As DiagramManager
public DiagramManager GetDiagramManager()
| 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 GetDiagramManager(UtilityNetwork utilityNetwork)
{
// Get the DiagramManager from the utility network
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
// Use the diagram manager...
}
}
}
{
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);
}
}
}
{
static List<NetworkDiagram> GetInconsistentDiagrams(UtilityNetwork utilityNetwork)
{
// Get the DiagramManager from the utility network
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
List<NetworkDiagram> networkDiagrams = 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)
{
networkDiagrams.Add(diagram);
}
else
{
diagram.Dispose(); // If we are not returning it we need to Dispose it
}
}
return networkDiagrams;
}
}
}
{
// Get all the diagram templates or a template by name
static void RetrieveDiagramTemplates(UtilityNetwork utilityNetwork)
{
string templateName = "ElectricNetworkTemplate";
using DiagramManager diagramManager = utilityNetwork.GetDiagramManager();
// Get all templates
IReadOnlyList<DiagramTemplate> templates = diagramManager.GetDiagramTemplates();
// Get a template by name
DiagramTemplate template = diagramManager.GetDiagramTemplate(templateName);
}
}
{
// Get all the network diagrams from a template or a diagram by name
static void GetNetworkDiagramFromDiagramTemplates(UtilityNetwork utilityNetwork)
{
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
// Get the first templates
DiagramTemplate template = diagramManager.GetDiagramTemplates().FirstOrDefault();
// Get the network diagrams fromt he template
IEnumerable<NetworkDiagram> diagrams = template.GetNetworkDiagrams();
// Get a network diagram by name
NetworkDiagram diagram = template.GetNetworkDiagram(_diagramName);
}
}
}
{
// Create a network diagram from a template and a set of utility network feature GlobalIDs
static void CreateNetworkDiagram(UtilityNetwork utilityNetwork, IEnumerable<Guid> globalIDs)
{
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
// Get the template
DiagramTemplate template = diagramManager.GetDiagramTemplate(TemplateName);
// Create the diagram
NetworkDiagram diagram = diagramManager.CreateNetworkDiagram(template, globalIDs);
}
}
}
{
static void GetDiagramContent(UtilityNetwork utilityNetwork)
{
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
// Get a diagram by name
NetworkDiagram diagram = diagramManager.GetNetworkDiagram(TemplateName);
string jsonContent = diagram.GetContent(true, true, true, true);
}
}
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)