Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial drafts for PowerSystem schemas. #411

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ==================================================================================
| * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
| * See LICENSE.md in the project root for license terms and full copyright notice.
======================================================================================= -->
<ECSchema schemaName="PowerSystemResourcesPhysical" alias="pwrsysresphys" version="01.00.00" description="Base schema for the Earthwork domain." xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
<ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
<ECSchemaReference name="BisCustomAttributes" version="01.00.00" alias="bisCA"/>
<ECSchemaReference name="BisCore" version="01.00.14" alias="bis"/>
<ECSchemaReference name="DistributionSystems" version="01.00.02" alias="dsys"/>
<ECSchemaReference name="StructuralPhysicalInterop" version="01.00.00" alias="spi"/>

<ECCustomAttributes>
<ProductionStatus xmlns="CoreCustomAttributes.01.00.03">
<SupportedUse>NotForProduction</SupportedUse>
</ProductionStatus>
<SchemaLayerInfo xmlns="BisCustomAttributes.01.00.00">
<Value>DisciplinePhysical</Value>
</SchemaLayerInfo>
</ECCustomAttributes>

<ECEntityClass typeName="ElectricalPort" modifier="None" displayLabel="Electrical Port" description="">
<BaseClass>dsys:DistributionPort</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="PortConnectsToPorts" strength="referencing" modifier="None" description="">
<BaseClass>dsys:PortConnectsToPorts</BaseClass>
<Source multiplicity="(0..1)" roleLabel="connects to" polymorphic="true">
<Class class="ElectricalPort"/>
</Source>
<Target multiplicity="(1..1)" roleLabel="is connected by" polymorphic="true">
<Class class="ElectricalPort"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="CableAssembly" modifier="None" displayLabel="Cable Assembly" description="">
<BaseClass>bis:PhysicalElement</BaseClass>
<BaseClass>dsys:IDistributionFlowElement</BaseClass>
<BaseClass>spi:IStructuralAssembly</BaseClass>
<BaseClass>bis:IParentElement</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="CableAssemblyOwnsPorts" strength="embedding" modifier="None" description="">
<BaseClass>dsys:DistributionElementOwnsDistributionPorts</BaseClass>
<Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
<Class class="CableAssembly"/>
</Source>
<Target multiplicity="(1..*)" roleLabel="is owned by" polymorphic="true">
<Class class="ElectricalPort"/>
</Target>
</ECRelationshipClass>
<ECRelationshipClass typeName="CableAssemblyOwnsConnectors" modifier="None" strength="embedding">
<BaseClass>spi:StructuralAssemblyOwnsStructuralComponents</BaseClass>
<Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
<Class class="CableAssembly"/>
</Source>
<Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="true">
<Class class="CableConnector"/>
</Target>
</ECRelationshipClass>
<ECEntityClass typeName="CableAssemblyType" modifier="None" displayLabel="Cable Assembly Type" description="">
<BaseClass>bis:PhysicalType</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="CableAssemblyIsOfType" strength="referencing" modifier="None" description="">
<BaseClass>bis:PhysicalElementIsOfType</BaseClass>
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true">
<Class class="CableAssembly" />
</Source>
<Target multiplicity="(0..1)" roleLabel="classifies" polymorphic="true">
<Class class="CableAssemblyType"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="CableConnector" modifier="None" displayLabel="Cable Connector" description="">
<BaseClass>bis:PhysicalElement</BaseClass>
<BaseClass>spi:IStructuralComponent</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="CableConnectorType" modifier="None" displayLabel="Cable Connector Type" description="">
<BaseClass>bis:PhysicalType</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="CableConnectorIsOfType" strength="referencing" modifier="None" description="">
<BaseClass>bis:PhysicalElementIsOfType</BaseClass>
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true">
<Class class="CableConnector" />
</Source>
<Target multiplicity="(0..1)" roleLabel="classifies" polymorphic="true">
<Class class="CableConnectorType"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="Transformer" modifier="None" displayLabel="Transformer" description="">
<BaseClass>bis:PhysicalElement</BaseClass>
<BaseClass>dsys:IDistributionFlowElement</BaseClass>
<BaseClass>spi:IStructuralAssembly</BaseClass>
<BaseClass>bis:IParentElement</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="TransformerOwnsPorts" strength="embedding" modifier="None" description="">
<BaseClass>dsys:DistributionElementOwnsDistributionPorts</BaseClass>
<Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
<Class class="Transformer"/>
</Source>
<Target multiplicity="(1..*)" roleLabel="is owned by" polymorphic="true">
<Class class="ElectricalPort"/>
</Target>
</ECRelationshipClass>
<ECEntityClass typeName="TransformerType" modifier="None" displayLabel="Transformer Type" description="">
<BaseClass>bis:PhysicalType</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="TransformerIsOfType" strength="referencing" modifier="None" description="">
<BaseClass>bis:PhysicalElementIsOfType</BaseClass>
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true">
<Class class="Transformer" />
</Source>
<Target multiplicity="(0..1)" roleLabel="classifies" polymorphic="true">
<Class class="TransformerType"/>
</Target>
</ECRelationshipClass>
<ECRelationshipClass typeName="TransformerOwnsInsulators" modifier="None" strength="embedding">
<BaseClass>spi:StructuralAssemblyOwnsStructuralComponents</BaseClass>
<Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
<Class class="Transformer"/>
</Source>
<Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="true">
<Class class="Insulator"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="Insulator" modifier="None" displayLabel="Insulator" description="">
<BaseClass>bis:PhysicalElement</BaseClass>
<BaseClass>spi:IStructuralComponent</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="InsulatorType" modifier="None" displayLabel="Insulator Type" description="">
<BaseClass>bis:PhysicalType</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="InsulatorIsOfType" strength="referencing" modifier="None" description="">
<BaseClass>bis:PhysicalElementIsOfType</BaseClass>
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true">
<Class class="Insulator" />
</Source>
<Target multiplicity="(0..1)" roleLabel="classifies" polymorphic="true">
<Class class="InsulatorType"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="Structure" modifier="None" displayLabel="Structure" description="">
<BaseClass>bis:PhysicalElement</BaseClass>
<BaseClass>spi:IStructuralAssembly</BaseClass>
<BaseClass>bis:IParentElement</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="StructureType" modifier="None" displayLabel="Structure Type" description="">
<BaseClass>bis:PhysicalType</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="StructureIsOfType" strength="referencing" modifier="None" description="">
<BaseClass>bis:PhysicalElementIsOfType</BaseClass>
<Source multiplicity="(0..*)" roleLabel="is of" polymorphic="true">
<Class class="Structure" />
</Source>
<Target multiplicity="(0..1)" roleLabel="classifies" polymorphic="true">
<Class class="StructureType"/>
</Target>
</ECRelationshipClass>
</ECSchema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ==================================================================================
| * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
| * See LICENSE.md in the project root for license terms and full copyright notice.
======================================================================================= -->
<ECSchema schemaName="StructuralConnections" alias="sc" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
<ECSchemaReference name="BisCore" version="01.00.14" alias="bis" />
<ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
<ECSchemaReference name="BisCustomAttributes" version="01.00.00" alias="bisCA"/>
<ECSchemaReference name="StructuralPhysicalInterop" version="01.00.00" alias="spi"/>

<ECCustomAttributes>
<ProductionStatus xmlns="CoreCustomAttributes.01.00.03">
<SupportedUse>NotForProduction</SupportedUse>
</ProductionStatus>
<SchemaLayerInfo xmlns="BisCustomAttributes.01.00.00">
<Value>DisciplinePhysical</Value>
</SchemaLayerInfo>
</ECCustomAttributes>

<ECEntityClass typeName="Joint" displayLabel="Joint" description="A Joint is an area where two or more ends, surfaces or edges of individual members are attached.">
<BaseClass>bis:SpatialLocationElement</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="JointConnectsStructuralElements" strength="referencing" modifier="None" description="A relationship that connects IStructuralElements to a Joint.">
<BaseClass>bis:ElementRefersToElements</BaseClass>
<Source multiplicity="(0..*)" roleLabel="connects to" polymorphic="true">
<Class class="Joint"/>
</Source>
<Target multiplicity="(2..*)" roleLabel="is connected by" polymorphic="true">
<Class class="spi:IStructuralElement"/>
</Target>
</ECRelationshipClass>
</ECSchema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
noEditThisPage: true
remarksTarget: StructuralConnections.ecschema.md
---

# StructuralConnections

This schema contains classes that are used to model the real-world physical entities that comprise the structural systems of infrastructure.

The following class-diagrams depict the main classes and relationships in the StructuralPhysical schema:

![StructuralConnections classes](./media/StructuralConnections-classes.png)

## Entity Classes

### Joint
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,15 @@ xmlns:xsi="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
</ECCustomAttributes>
</ECEntityClass>
<ECEntityClass typeName="IStructuralComponent" displayLabel="Structural Component Mixin" description ="A component is the smallest distinct structural entity. It can't be broken down further." modifier ="Abstract">
<BaseClass>IStructuralElement</BaseClass>
<ECCustomAttributes>
<IsMixin xmlns="CoreCustomAttributes.01.00.00">
<AppliesToEntityClass>bis:PhysicalElement</AppliesToEntityClass>
</IsMixin>
</ECCustomAttributes>
</ECEntityClass>
<ECEntityClass typeName="IStructuralAssembly" displayLabel="Structural Assembly Mixin" description ="A single structural entity that is built from smaller parts known as components or other structural assemblies" modifier ="Abstract">
<BaseClass>IStructuralElement</BaseClass>
<ECCustomAttributes>
<IsMixin xmlns="CoreCustomAttributes.01.00.00">
<AppliesToEntityClass>bis:PhysicalElement</AppliesToEntityClass>
Expand All @@ -47,13 +49,4 @@ xmlns:xsi="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
<Class class="IStructuralComponent"/>
</Target>
</ECRelationshipClass>
<ECRelationshipClass typeName="StructuralAssemblyUsesMainComponent" displayLabel="Structural Assembly Uses Main Component" description="The relationship between a structural assembly and its Main component" modifier="None" strength="referencing">
<BaseClass>bis:ElementRefersToElements</BaseClass>
<Source multiplicity="(0..1)" roleLabel="uses main" polymorphic="true">
<Class class="IStructuralAssembly"/>
</Source>
<Target multiplicity="(1..1)" roleLabel="is used by" polymorphic="true">
<Class class="IStructuralComponent"/>
</Target>
</ECRelationshipClass>
</ECSchema>
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions SchemaInventory.json
Original file line number Diff line number Diff line change
Expand Up @@ -5427,5 +5427,19 @@
"date": "Unknown",
"dynamic": "No"
}
],
"PowerSystemResourcesPhysical": [
{
"name": "PowerSystemResourcesPhysical",
"path": "Domains\\2-DisciplinePhysical\\PowerSystemResourcesPhysical\\PowerSystemResourcesPhysical.ecschema.xml",
"released": false,
"version": "01.00.00",
"comment": "Working Copy",
"sha1": "",
"author": "Alfredo.Contreras",
"approved": "No",
"date": "Unknown",
"dynamic": "No"
}
]
}
Loading