Skip to content
Draft
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 @@ -181,4 +181,19 @@
<Class class="PileType"/>
</Target>
</ECRelationshipClass>
<ECEntityClass typeName="SlabFoundation" displayLabel="Slab Foundation" description="A flat, typically horizontal sp:FoundationMember that distributes structural loads over a large area, often used as the base of buildings or other structures.">
<BaseClass>FoundationMember</BaseClass>
</ECEntityClass>
<ECEntityClass typeName="SlabFoundationType" displayLabel="Slab Foundation Type" description="Defines a shared set of properties whose values vary per-type of SlabFoundation rather than per-instance">
<BaseClass>StructuralMemberType</BaseClass>
</ECEntityClass>
<ECRelationshipClass typeName="SlabFoundationIsOfType" strength="referencing" modifier="None" description="A type-instance relation; one that indicates that the specific sp:SlabFoundation is an instance of the defined sp:SlabFoundationType.">
<BaseClass>StructuralMemberIsOfType</BaseClass>
<Source multiplicity="(0..*)" roleLabel="is of type" polymorphic="true">
<Class class="SlabFoundation" />
</Source>
<Target multiplicity="(0..1)" roleLabel="is type of" polymorphic="true">
<Class class="SlabFoundationType"/>
</Target>
</ECRelationshipClass>
</ECSchema>
Original file line number Diff line number Diff line change
Expand Up @@ -170,3 +170,17 @@ Equivalent to [IfcPile](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/H
`PileType`s must be contained in `DefinitionModel`s.

Equivalent to [IfcPileType](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcPileType.htm).

### SlabFoundation

A `SlabFoundation` is a flat, typically horizontal structural element made of reinforced concrete that spreads building loads over a wide area of ground. It is classified as a shallow foundation and is commonly used in residential and commercial construction where subsurface conditions are stable near the surface.

Classification of `SlabFoundation` instances can be achieved via instances of `SlabFoundationType`. `SlabFoundation`s must be contained in `PhysicalModel`s.

Equivalent to [IfcSlab](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcSlab.htm) with a PredefinedType equal to [IfcSlabEnum](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcSlabTypeEnum.htm).BASESLAB.

### SlabFoundationType

`SlabFoundationTypes` must be contained in `DefinitionModel`s.

Equivalent to [IfcSlabType](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcSlabType.htm) with a PredefindeType equal to [IfcFootingTypeEnum](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcSlabTypeEnum.htm).BASESLAB.
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"
}
]
}