Parameters
- circuit
- The circuit to create.
| Exception | Description |
|---|---|
| System.ArgumentNullException | circuit is null. |
| System.InvalidOperationException | This operation cannot be invoked inside ArcGIS.Core.Data.Geodatabase.ApplyEdits or when an edit operation is in progress. |
| ArcGIS.Core.Data.Exceptions.GeodatabaseException | A geodatabase-related exception has occurred. |
await QueuedTask.Run(() => { using (CircuitManager circuitManager = utilityNetwork.GetCircuitManager(telecomDomainNetwork)) { // Create a non-sectioned circuit object Circuit circuit = new Circuit(circuitManager); circuit.SetName(circuitNames.First()); circuit.SetSectioned(false); circuit.SetCircuitType(CircuitType.Physical); // Set a circuit user attribute IReadOnlyList<Field> circuitFields = circuitManager.GetCircuitUserFields(); circuit[circuitFields.First().Name] = "My circuit description"; // Add start and stop locations circuit.SetStartLocation(new CircuitLocation(startElement)); circuit.SetStopLocation(new CircuitLocation(stopElement)); Subcircuit subcircuit1 = new Subcircuit(circuitManager); subcircuit1.SetName("Subcircuit1"); // Set a subcircuit user attribute IReadOnlyList<Field> subcircuitFields = circuitManager.GetSubcircuitUserFields(); subcircuit1[subcircuitFields[0].Name] = "My subcircuit description"; Subcircuit subcircuit2 = new Subcircuit(circuitManager); subcircuit2.SetName("Subcircuit2"); subcircuit2.SetProviderID(new Guid("9B587BB4-FA30-4AC8-ACAC-4CB1BB087111")); // Example GUID // Add subcircuits to the circuit circuit.SetSubcircuits(new List<Subcircuit> { subcircuit1, subcircuit2 }); // Create the circuit. circuitManager.Create(circuit); } });
await QueuedTask.Run(() => { using (CircuitManager circuitManager = utilityNetwork.GetCircuitManager(telecomDomainNetwork)) { // Create a sectioned virtual circuit object Circuit circuit = new Circuit(circuitManager); circuit.SetName(circuitNames.First()); circuit.SetSectioned(true); circuit.SetCircuitType(CircuitType.Virtual); CircuitSection circuitSection1 = new CircuitSection(circuitManager); circuitSection1.SetSectionType(CircuitSectionType.Virtual); circuitSection1.SetStartLocation(new CircuitLocation(startElement)); circuitSection1.SetStopLocation(new CircuitLocation(stopElement)); CircuitSection circuitSection2 = new CircuitSection(circuitManager); circuitSection2.SetSectionType(CircuitSectionType.Physical); circuitSection2.SetStartLocation(new CircuitLocation(startElement)); circuitSection2.SetStopLocation(new CircuitLocation(stopElement)); // Add sections in parallel Dictionary<CircuitSection, List<CircuitSection>> circuitSections = new Dictionary<CircuitSection, List<CircuitSection>> { { circuitSection1, new List < CircuitSection > () }, { circuitSection2, new List < CircuitSection > () } }; circuit.SetCircuitSections(circuitSections); // Create the circuit. circuitManager.Create(circuit); } });
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)