Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: iTwin/bis-schemas
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: iTwin/bis-schemas
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: profiles_010001
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.
  • 15 commits
  • 4 files changed
  • 2 contributors

Commits on Nov 19, 2021

  1. Copy the full SHA
    565be92 View commit details
  2. Added IProfiledSolidDefinition mix-in

    Added IProfiledSolidDefinition mix-in as source end-point for relationships referencing a Profile.
    diegoalexdiaz authored Nov 19, 2021
    Copy the full SHA
    22640d2 View commit details

Commits on Nov 30, 2021

  1. Update Profiles.ecschema.xml

    Corrected typeName for TransitionType property.
    diegoalexdiaz authored Nov 30, 2021
    Copy the full SHA
    d2b91b2 View commit details

Commits on Dec 2, 2021

  1. Copy the full SHA
    5acfa9e View commit details

Commits on Apr 6, 2022

  1. Copy the full SHA
    276464c View commit details
  2. Copy the full SHA
    1ec2c09 View commit details
  3. Copy the full SHA
    fe0fc0d View commit details

Commits on Apr 7, 2022

  1. Copy the full SHA
    7ecb2ea View commit details
  2. Copy the full SHA
    1ace77e View commit details
  3. 1
    Copy the full SHA
    1deb5f0 View commit details
  4. Copy the full SHA
    d36bc35 View commit details

Commits on Apr 18, 2022

  1. Copy the full SHA
    43e24aa View commit details
  2. Copy the full SHA
    8084dbc View commit details
  3. Update schemaInventory

    diegoalexdiaz committed Apr 18, 2022
    Copy the full SHA
    bc47642 View commit details

Commits on Aug 4, 2022

  1. Remove 'Enum' postfix.

    diegoalexdiaz committed Aug 4, 2022
    Copy the full SHA
    eab97de View commit details
135 changes: 133 additions & 2 deletions Domains/1-Common/Profiles/Profiles.ecschema.xml
Original file line number Diff line number Diff line change
@@ -3,9 +3,9 @@
| * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
| * See LICENSE.md in the project root for license terms and full copyright notice.
======================================================================================= -->
<ECSchema schemaName="Profiles" alias="prf" description="EC Schema for Profiles" version="01.00.00" displayLabel="Profiles" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
<ECSchema schemaName="Profiles" alias="prf" description="EC Schema for Profiles" version="01.00.01" displayLabel="Profiles" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
<ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
<ECSchemaReference name="BisCore" version="01.00.10" alias="bis" />
<ECSchemaReference name="BisCore" version="01.00.14" alias="bis" />
<ECSchemaReference name="AecUnits" version="01.00.03" alias="AECU" />

<ECCustomAttributes>
@@ -15,6 +15,7 @@
</ECCustomAttributes>

<PropertyCategory typeName="ProfileProperties" priority="1" displayLabel="Profile Properties" description="Properties of a Structural Profile." />
<PropertyCategory typeName="ProfiledSolidInformationRecordProperties" priority="1" displayLabel="Profiled Solid Information Record Properties" description="Properties of a Profiled Solid Information Record." />

<ECStructClass typeName="CardinalPoint" displayLabel="Cardinal Point" description="2D location on the profile used to place and offset profiles when extruding them on curve members.">
<ECProperty propertyName="Name" typeName="string" description="Name of the cardinal point, used to reference and distinguish cardinal points. Unique in the scope of a profile." category="ProfileProperties" />
@@ -366,4 +367,134 @@
<ECProperty propertyName="Width" typeName="double" description="Extent of the capsule in the direction of the x-axis." category="ProfileProperties" kindOfQuantity="AECU:LENGTH_SHORT" />
<ECProperty propertyName="Depth" typeName="double" description="Extent of the capsule in the direction of the y-axis." category="ProfileProperties" kindOfQuantity="AECU:LENGTH_SHORT" />
</ECEntityClass>

<ECEntityClass typeName="ProfiledSolidInformationRecordElement" modifier="Abstract" displayLabel="Profiled Solid Information Record Element" description="A bis:InformationRecordElement serving as the base class for implementations capturing data about solids defined from Profiles.">
<BaseClass>bis:InformationRecordElement</BaseClass>
</ECEntityClass>

<ECRelationshipClass typeName="PhysicalTypeOwnsProfiledSolidInformationRecord" modifier="None" strength="embedding" strengthDirection="forward" description="Relates a bis:PhysicalType to a child ProfiledSolidInformationRecordElement carrying details about a profiled solid.">
<BaseClass>bis:ElementOwnsChildElements</BaseClass>
<Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
<Class class="bis:PhysicalType"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="true">
<Class class="ProfiledSolidInformationRecordElement"/>
</Target>
</ECRelationshipClass>

<ECRelationshipClass typeName="PhysicalElementOwnsProfiledSolidInformationRecord" modifier="None" strength="embedding" strengthDirection="forward" description="Relates a bis:PhysicalElement to a child ProfiledSolidInformationRecordElement carrying details about a profiled solid.">
<BaseClass>bis:ElementOwnsChildElements</BaseClass>
<Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
<Class class="bis:PhysicalElement"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="true">
<Class class="ProfiledSolidInformationRecordElement"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="IProfiledSolidInformationRecord" modifier="Abstract" displayLabel="IProfiled Solid Information Record" description="An interface that can be mixed-into bis:InformationRecordElement classes to relate how a solid is defined based on profiles.">
<ECCustomAttributes>
<IsMixin xmlns='CoreCustomAttributes.01.00.00'>
<AppliesToEntityClass>bis:InformationRecordElement</AppliesToEntityClass>
</IsMixin>
</ECCustomAttributes>
</ECEntityClass>

<ECRelationshipClass typeName="IProfiledSolidInformationRecordRefersToProfile" modifier="Abstract" strength="referencing" strengthDirection="forward" description="A bis:ElementRefersToElements relationship serving as the base class for implementations relating profiles with classes mixing-in the IProfiledSolidInformationRecord interface.">
<BaseClass>bis:ElementRefersToElements</BaseClass>
<Source multiplicity="(0..*)" roleLabel="refers to" polymorphic="true">
<Class class="IProfiledSolidInformationRecord"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="is referenced by" polymorphic="true">
<Class class="Profile"/>
</Target>
<ECProperty propertyName="CardinalPointName" typeName="string" displayLabel="Cardinal Point" description="Cardinal Point Name from the referenced Profile that connects with the path of the extrusion or sweep." category="ProfiledSolidInformationRecordProperties" />
<ECProperty propertyName="Offset" typeName="point2d" displayLabel="Offset" description="Optional offset from the specific Cardinal Point in the Profile and the path of the extrusion or sweep." category="ProfiledSolidInformationRecordProperties" />
<ECProperty propertyName="MirrorAboutYAxis" typeName="boolean" displayLabel="Mirror about Y-axis" description="Indicates whether the Profile should be mirrored about the Y-axis." category="ProfiledSolidInformationRecordProperties" />
<ECProperty propertyName="RotationAboutYAxis" typeName="double" displayLabel="Rotation about Y-axis" description="Indicates the rotation angle for the referenced Profile about the Y-axis." category="ProfiledSolidInformationRecordProperties" />
</ECRelationshipClass>

<ECEntityClass typeName="ProfiledSolidInformationRecord" modifier="None" displayLabel="Profiled Solid Information Record" description="A concrete ProfiledSolidInformationRecordElement that models solids originating from a simple straight extrusion of a Profile along a given distance.">
<BaseClass>ProfiledSolidInformationRecordElement</BaseClass>
<BaseClass>IProfiledSolidInformationRecord</BaseClass>
<ECProperty propertyName="Length" typeName="double" displayLabel="Length" description="Length of the straight extrusion of the referenced Profile." category="ProfiledSolidInformationRecordProperties" kindOfQuantity="AECU:LENGTH" />
</ECEntityClass>

<ECRelationshipClass typeName="ProfiledSolidInformationRecordUsesProfile" modifier="None" strength="referencing" strengthDirection="forward" description="A concrete implementation of IProfiledSolidInformationRecordRefersToProfile that relates a ProfiledSolidInformationRecord to the Profile used for extrusion.">
<BaseClass>IProfiledSolidInformationRecordRefersToProfile</BaseClass>
<Source multiplicity="(0..*)" roleLabel="uses" polymorphic="true">
<Class class="ProfiledSolidInformationRecord"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="is used by" polymorphic="true">
<Class class="Profile"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="SegmentedProfiledSolidInformationRecord" modifier="None" displayLabel="Segmented Profiled Solid Information Record" description="A concrete ProfiledSolidInformationRecordElement that models solids originating from various Profiles swept along a path.">
<BaseClass>ProfiledSolidInformationRecordElement</BaseClass>
<BaseClass>bis:IParentElement</BaseClass>
<ECProperty propertyName="Path" typeName="Bentley.Geometry.Common.IGeometry" description="Path of the sweep applied to the referenced profiles." category="ProfiledSolidInformationRecordProperties" kindOfQuantity="AECU:LENGTH" />
</ECEntityClass>

<ECEnumeration typeName="ProfiledSolidSegmentTransitionType" backingTypeName="int" isStrict="true" displayLabel="Profiled Solid Definition Segment Transition Type">
<ECEnumerator name="Linear" value="0" displayLabel="Linear" />
<ECEnumerator name="ParabolicAtStart" value="1" displayLabel="Parabolic At Start" />
<ECEnumerator name="ParabolicAtEnd" value="2" displayLabel="Parabolic At End" />
<ECEnumerator name="CircularAtStart" value="3" displayLabel="Circular At Start" />
<ECEnumerator name="CircularAtEnd" value="4" displayLabel="Circular At End" />
</ECEnumeration>

<ECEntityClass typeName="ProfiledSolidSegment" modifier="None" displayLabel="Profiled Solid Segment" description="A bis:InformationRecordElement that describes a segment of a solid originating from the sweep of a start and an end Profile.">
<BaseClass>bis:InformationRecordElement</BaseClass>
<BaseClass>IProfiledSolidInformationRecord</BaseClass>
<ECProperty propertyName="StartDistance" typeName="double" displayLabel="Start Distance" description="Start distance along the Path where the referenced Starting Profile is swept at." category="ProfiledSolidInformationRecordProperties" kindOfQuantity="AECU:LENGTH" />
<ECProperty propertyName="EndDistance" typeName="double" displayLabel="End Distance" description="End distance along the Path where the referenced Ending Profile is swept at" category="ProfiledSolidInformationRecordProperties" kindOfQuantity="AECU:LENGTH" />
<ECProperty propertyName="TransitionType" typeName="ProfiledSolidSegmentTransitionType" displayLabel="Transition Type" description="Transition type between the Starting and Ending Profiles, which are assumed to be compatible." category="ProfiledSolidInformationRecordProperties" />
</ECEntityClass>

<ECRelationshipClass typeName="ProfiledSolidInformationRecordOwnsSegments" strength="embedding" modifier="None" description="Relates a SegmentedProfiledSolidInformationRecord to its child ProfiledSolidSegment instances.">
<BaseClass>bis:ElementOwnsChildElements</BaseClass>
<Source multiplicity="(0..1)" roleLabel="owns" polymorphic="true">
<Class class="SegmentedProfiledSolidInformationRecord"/>
</Source>
<Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="true">
<Class class="ProfiledSolidSegment"/>
</Target>
</ECRelationshipClass>

<ECRelationshipClass typeName="ProfiledSolidSegmentUsesStartProfile" modifier="None" strength="referencing" strengthDirection="forward" description="A concrete implementation of IProfiledSolidInformationRecordRefersToProfile that relates a ProfiledSolidSegment to the Profile used at its start location.">
<BaseClass>IProfiledSolidInformationRecordRefersToProfile</BaseClass>
<Source multiplicity="(0..*)" roleLabel="uses" polymorphic="true">
<Class class="ProfiledSolidSegment"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="is used by" polymorphic="true">
<Class class="Profile"/>
</Target>
</ECRelationshipClass>

<ECRelationshipClass typeName="ProfiledSolidSegmentUsesEndProfile" modifier="None" strength="referencing" strengthDirection="forward" description="A concrete implementation of IProfiledSolidInformationRecordRefersToProfile that relates a ProfiledSolidSegment to the Profile used at its end location.">
<BaseClass>IProfiledSolidInformationRecordRefersToProfile</BaseClass>
<Source multiplicity="(0..*)" roleLabel="uses" polymorphic="true">
<Class class="ProfiledSolidSegment"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="is used by" polymorphic="true">
<Class class="Profile"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="ProfiledSolidPlacementAspect" modifier="None" strength="referencing" strengthDirection="forward" description="A bis:ElementUniqueAspect that can be optionally used to specify different Placement settings related to Profiled solids from the ones assumed by default, for an individual bis:PhysicalElement.">
<BaseClass>bis:ElementUniqueAspect</BaseClass>
<ECProperty propertyName="CardinalPointName" typeName="string" displayLabel="Cardinal Point" description="Cardinal Point Name from the referenced Profile that connects with the path of the extrusion or sweep." category="ProfiledSolidInformationRecordProperties" />
<ECProperty propertyName="Offset" typeName="point2d" displayLabel="Offset" description="Optional offset from the specific Cardinal Point in the Profile and the path of the extrusion or sweep." category="ProfiledSolidInformationRecordProperties" />
</ECEntityClass>

<ECRelationshipClass typeName="PhysicalElementOwnsProfiledSolidPlacementAspect" strength="embedding" modifier="None">
<BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
<Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
<Class class="bis:PhysicalElement"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
<Class class="ProfiledSolidPlacementAspect"/>
</Target>
</ECRelationshipClass>
</ECSchema>
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion SchemaInventory.json
Original file line number Diff line number Diff line change
@@ -809,7 +809,7 @@
"name": "Profiles",
"path": "Domains\\1-Common\\Profiles\\Profiles.ecschema.xml",
"released": false,
"version": "01.00.00",
"version": "01.00.01",
"comment": "Working Copy",
"sha1": "",
"author": "",