Skip to content

Commit cccbd14

Browse files
committed
Re-parent ElectricDistribution onto PowerSystemResourcesPhysical
Per @AlfredoConGo review: extend the shared psrp base instead of a parallel power-system schema. Class names/properties unchanged. - DistributionPole -> psrp:Structure (keeps dsys:IDistributionElement) - PoleAttachment (abstract) -> psrp:AuxiliaryEquipment (Crossarm/Insulator/SpanGuy/ GuyWire/PoleEquipment/DistributionTransformer inherit) - AnchorAssembly -> psrp:Foundation - OverheadConductor -> psrp:Equipment (dsys:IDistributionFlowElement now inherited) - DistributionTransformer: dsys:IDistributionFlowElement now inherited - Refs aligned to psrp 01.00.02: BisCore 01.00.25, DistributionSystems 01.00.02, CoreCustomAttributes 01.00.04, + PowerSystemResourcesPhysical 01.00.02 Passes SchemaValidationRunner with zero violations.
1 parent 4e0556f commit cccbd14

1 file changed

Lines changed: 25 additions & 25 deletions

File tree

Domains/2-DisciplinePhysical/ElectricDistribution/ElectricDistribution.ecschema.xml

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@
55
| * Target layer: 2-DisciplinePhysical
66
| * See design.md for full design context and UPM mapping decisions.
77
| *
8-
| * NOTE: Schema reference versions confirmed against iTwin/bis-schemas as of
9-
| * 2026-06-19:
10-
| * BisCore 01.00.15 (required by Analytical 01.00.02)
11-
| * Analytical 01.00.02 (actual schema header)
12-
| * DistributionSystems 01.00.03 (actual schema header)
13-
| * AecUnits 01.00.03 (schema name corrected from AECUnits; confirmed against repo)
14-
| * Units 01.00.06 (minimum released version containing u:OHM_M)
15-
| * Formats 01.00.00 (only released version; required for f: alias in custom KOQs)
16-
| * CoreCustomAttributes 01.00.03 (confirmed)
17-
| * BisCustomAttributes 01.00.00 (confirmed)
8+
| * Per iTwin/bis-schemas PR #733 review (Alfredo Contreras): this schema now
9+
| * EXTENDS the shared PowerSystemResourcesPhysical (psrp) base instead of
10+
| * deriving the physical classes directly from bis:PhysicalElement, so electric
11+
| * distribution is a sub-domain of the common power-system schema rather than a
12+
| * parallel one. Reference versions aligned to psrp 01.00.02's requirements:
13+
| * BisCore 01.00.25 (psrp requirement)
14+
| * Analytical 01.00.02
15+
| * DistributionSystems 01.00.02 (psrp requirement; 01.00.03 is not released)
16+
| * PowerSystemResourcesPhysical 01.00.02 (NEW — shared power-system base)
17+
| * AecUnits 01.00.03 / Units 01.00.06 / Formats 01.00.00
18+
| * CoreCustomAttributes 01.00.04 (psrp requirement) / BisCustomAttributes 01.00.00
1819
| *
1920
| * NOTE: u:OHM and u:OHM_M confirmed as valid unit typeNames in System/Units.ecschema.xml.
2021
| * anlyt:AnalyticalSimulatesSpatialElement confirmed as the correct "analyzes" relationship.
@@ -27,17 +28,18 @@
2728
displayLabel="Electric Distribution"
2829
description="BIS domain schema for overhead electric distribution infrastructure including poles, attachments, conductors, structural analysis, and field inspection.">
2930

30-
<ECSchemaReference name="BisCore" version="01.00.15" alias="bis"/>
31-
<ECSchemaReference name="Analytical" version="01.00.02" alias="anlyt"/>
32-
<ECSchemaReference name="DistributionSystems" version="01.00.03" alias="dsys"/>
33-
<ECSchemaReference name="AecUnits" version="01.00.03" alias="AECU"/>
34-
<ECSchemaReference name="Units" version="01.00.06" alias="u"/>
35-
<ECSchemaReference name="Formats" version="01.00.00" alias="f"/>
36-
<ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
37-
<ECSchemaReference name="BisCustomAttributes" version="01.00.00" alias="bisCA"/>
31+
<ECSchemaReference name="BisCore" version="01.00.25" alias="bis"/>
32+
<ECSchemaReference name="Analytical" version="01.00.02" alias="anlyt"/>
33+
<ECSchemaReference name="DistributionSystems" version="01.00.02" alias="dsys"/>
34+
<ECSchemaReference name="PowerSystemResourcesPhysical" version="01.00.02" alias="psrp"/>
35+
<ECSchemaReference name="AecUnits" version="01.00.03" alias="AECU"/>
36+
<ECSchemaReference name="Units" version="01.00.06" alias="u"/>
37+
<ECSchemaReference name="Formats" version="01.00.00" alias="f"/>
38+
<ECSchemaReference name="CoreCustomAttributes" version="01.00.04" alias="CoreCA"/>
39+
<ECSchemaReference name="BisCustomAttributes" version="01.00.00" alias="bisCA"/>
3840

3941
<ECCustomAttributes>
40-
<ProductionStatus xmlns="CoreCustomAttributes.01.00.03">
42+
<ProductionStatus xmlns="CoreCustomAttributes.01.00.04">
4143
<SupportedUse>NotForProduction</SupportedUse>
4244
</ProductionStatus>
4345
<SchemaLayerInfo xmlns="BisCustomAttributes.01.00.00">
@@ -368,7 +370,7 @@
368370

369371
<ECEntityClass typeName="DistributionPole" displayLabel="Distribution Pole"
370372
description="A placed overhead distribution pole instance. Implements IDistributionElement (structural participant in the distribution system, not a flow element).">
371-
<BaseClass>bis:PhysicalElement</BaseClass>
373+
<BaseClass>psrp:Structure</BaseClass>
372374
<BaseClass>dsys:IDistributionElement</BaseClass>
373375
<ECProperty propertyName="InstallDate" typeName="dateTime" displayLabel="Install Date" description="Not in UPM; sourced from utility GIS"/>
374376
<ECProperty propertyName="SetDepth" typeName="double" kindOfQuantity="AECU:LENGTH" displayLabel="Set Depth" description="UPM PoleGeometry.set_depth"/>
@@ -401,7 +403,7 @@
401403

402404
<ECEntityClass typeName="PoleAttachment" modifier="Abstract" displayLabel="Pole Attachment"
403405
description="Abstract base for all pole-mounted attachment types. Subclasses assembled to DistributionPole via DistributionPoleAssemblesAttachments.">
404-
<BaseClass>bis:PhysicalElement</BaseClass>
406+
<BaseClass>psrp:AuxiliaryEquipment</BaseClass>
405407
<ECProperty propertyName="AttachmentHeight" typeName="double" kindOfQuantity="AECU:LENGTH" displayLabel="Attachment Height" description="Height above grade; UPM attachment_height.value_si converted"/>
406408
<ECProperty propertyName="DirectionDegrees" typeName="double" kindOfQuantity="AECU:ANGLE" displayLabel="Direction" description="Compass bearing (0=N, 90=E); UPM direction_deg"/>
407409
<ECProperty propertyName="InstallDate" typeName="dateTime" displayLabel="Install Date" description="Not in UPM; sourced from GIS"/>
@@ -454,16 +456,15 @@
454456

455457
<ECEntityClass typeName="AnchorAssembly" displayLabel="Anchor Assembly"
456458
description="A ground-mounted anchor assembly. Associated to the pole via GuyWireConnectsToAnchor but is NOT a PoleAttachment subtype (ground-mounted, not pole-mounted).">
457-
<BaseClass>bis:PhysicalElement</BaseClass>
459+
<BaseClass>psrp:Foundation</BaseClass>
458460
<ECProperty propertyName="AnchorType" typeName="AnchorType" displayLabel="Anchor Type" description="Not in UPM Anchor model; sourced from anchor catalog or metadata"/>
459461
<ECProperty propertyName="EmbedDepth" typeName="double" kindOfQuantity="AECU:LENGTH" displayLabel="Embed Depth" description="Not in UPM Anchor model"/>
460462
<ECProperty propertyName="SoilClass" typeName="string" displayLabel="Soil Class" description="For grounding analysis use GroundingConfiguration.SoilClass instead"/>
461463
</ECEntityClass>
462464

463465
<ECEntityClass typeName="OverheadConductor" displayLabel="Overhead Conductor"
464466
description="A conductor span between two poles. Modeled as a standalone element (not nested under Insulator as in UPM). Populated from UPM Insulator.spans; each Span becomes one OverheadConductor.">
465-
<BaseClass>bis:PhysicalElement</BaseClass>
466-
<BaseClass>dsys:IDistributionFlowElement</BaseClass>
467+
<BaseClass>psrp:Equipment</BaseClass>
467468
<ECProperty propertyName="WireId" typeName="string" displayLabel="Wire ID" description="Wire label (e.g. Phase A, Neutral N); UPM Span.wire_id"/>
468469
<ECProperty propertyName="FeederId" typeName="string" displayLabel="Feeder ID" description="Feeder/project scope prefix used for conductor cross-pole stitching (e.g. project_line_one); separates the namespace prefix from WireId"/>
469470
<ECProperty propertyName="WireCode" typeName="string" displayLabel="Wire Code" description="Conductor size label (e.g. ACSR 336, 2/0 ACSR); UPM Span.size"/>
@@ -482,7 +483,6 @@
482483
<ECEntityClass typeName="DistributionTransformer" displayLabel="Distribution Transformer"
483484
description="A distribution transformer mounted on a pole. Implements IDistributionFlowElement as it directly facilitates power distribution.">
484485
<BaseClass>PoleAttachment</BaseClass>
485-
<BaseClass>dsys:IDistributionFlowElement</BaseClass>
486486
<ECProperty propertyName="RatedKva" typeName="double" kindOfQuantity="AECU:POWER" displayLabel="Rated kVA" description="UPM TransformerNameplate.rated_kva; stored as W"/>
487487
<ECProperty propertyName="CoolingClass" typeName="TransformerCoolingClass" displayLabel="Cooling Class" description="UPM TransformerNameplate.cooling_class"/>
488488
<ECProperty propertyName="PrimaryVoltageKv" typeName="double" kindOfQuantity="AECU:ELECTRIC_POTENTIAL" displayLabel="Primary Voltage" description="UPM TransformerNameplate.primary_voltage_kv; stored as V"/>

0 commit comments

Comments
 (0)