|
5 | 5 | | * Target layer: 2-DisciplinePhysical |
6 | 6 | | * See design.md for full design context and UPM mapping decisions. |
7 | 7 | | * |
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 |
18 | 19 | | * |
19 | 20 | | * NOTE: u:OHM and u:OHM_M confirmed as valid unit typeNames in System/Units.ecschema.xml. |
20 | 21 | | * anlyt:AnalyticalSimulatesSpatialElement confirmed as the correct "analyzes" relationship. |
|
27 | 28 | displayLabel="Electric Distribution" |
28 | 29 | description="BIS domain schema for overhead electric distribution infrastructure including poles, attachments, conductors, structural analysis, and field inspection."> |
29 | 30 |
|
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"/> |
38 | 40 |
|
39 | 41 | <ECCustomAttributes> |
40 | | - <ProductionStatus xmlns="CoreCustomAttributes.01.00.03"> |
| 42 | + <ProductionStatus xmlns="CoreCustomAttributes.01.00.04"> |
41 | 43 | <SupportedUse>NotForProduction</SupportedUse> |
42 | 44 | </ProductionStatus> |
43 | 45 | <SchemaLayerInfo xmlns="BisCustomAttributes.01.00.00"> |
|
368 | 370 |
|
369 | 371 | <ECEntityClass typeName="DistributionPole" displayLabel="Distribution Pole" |
370 | 372 | 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> |
372 | 374 | <BaseClass>dsys:IDistributionElement</BaseClass> |
373 | 375 | <ECProperty propertyName="InstallDate" typeName="dateTime" displayLabel="Install Date" description="Not in UPM; sourced from utility GIS"/> |
374 | 376 | <ECProperty propertyName="SetDepth" typeName="double" kindOfQuantity="AECU:LENGTH" displayLabel="Set Depth" description="UPM PoleGeometry.set_depth"/> |
|
401 | 403 |
|
402 | 404 | <ECEntityClass typeName="PoleAttachment" modifier="Abstract" displayLabel="Pole Attachment" |
403 | 405 | 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> |
405 | 407 | <ECProperty propertyName="AttachmentHeight" typeName="double" kindOfQuantity="AECU:LENGTH" displayLabel="Attachment Height" description="Height above grade; UPM attachment_height.value_si converted"/> |
406 | 408 | <ECProperty propertyName="DirectionDegrees" typeName="double" kindOfQuantity="AECU:ANGLE" displayLabel="Direction" description="Compass bearing (0=N, 90=E); UPM direction_deg"/> |
407 | 409 | <ECProperty propertyName="InstallDate" typeName="dateTime" displayLabel="Install Date" description="Not in UPM; sourced from GIS"/> |
|
454 | 456 |
|
455 | 457 | <ECEntityClass typeName="AnchorAssembly" displayLabel="Anchor Assembly" |
456 | 458 | 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> |
458 | 460 | <ECProperty propertyName="AnchorType" typeName="AnchorType" displayLabel="Anchor Type" description="Not in UPM Anchor model; sourced from anchor catalog or metadata"/> |
459 | 461 | <ECProperty propertyName="EmbedDepth" typeName="double" kindOfQuantity="AECU:LENGTH" displayLabel="Embed Depth" description="Not in UPM Anchor model"/> |
460 | 462 | <ECProperty propertyName="SoilClass" typeName="string" displayLabel="Soil Class" description="For grounding analysis use GroundingConfiguration.SoilClass instead"/> |
461 | 463 | </ECEntityClass> |
462 | 464 |
|
463 | 465 | <ECEntityClass typeName="OverheadConductor" displayLabel="Overhead Conductor" |
464 | 466 | 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> |
467 | 468 | <ECProperty propertyName="WireId" typeName="string" displayLabel="Wire ID" description="Wire label (e.g. Phase A, Neutral N); UPM Span.wire_id"/> |
468 | 469 | <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"/> |
469 | 470 | <ECProperty propertyName="WireCode" typeName="string" displayLabel="Wire Code" description="Conductor size label (e.g. ACSR 336, 2/0 ACSR); UPM Span.size"/> |
|
482 | 483 | <ECEntityClass typeName="DistributionTransformer" displayLabel="Distribution Transformer" |
483 | 484 | description="A distribution transformer mounted on a pole. Implements IDistributionFlowElement as it directly facilitates power distribution."> |
484 | 485 | <BaseClass>PoleAttachment</BaseClass> |
485 | | - <BaseClass>dsys:IDistributionFlowElement</BaseClass> |
486 | 486 | <ECProperty propertyName="RatedKva" typeName="double" kindOfQuantity="AECU:POWER" displayLabel="Rated kVA" description="UPM TransformerNameplate.rated_kva; stored as W"/> |
487 | 487 | <ECProperty propertyName="CoolingClass" typeName="TransformerCoolingClass" displayLabel="Cooling Class" description="UPM TransformerNameplate.cooling_class"/> |
488 | 488 | <ECProperty propertyName="PrimaryVoltageKv" typeName="double" kindOfQuantity="AECU:ELECTRIC_POTENTIAL" displayLabel="Primary Voltage" description="UPM TransformerNameplate.primary_voltage_kv; stored as V"/> |
|
0 commit comments