@bentley/structural-design-concrete-schema 1.0.0-dev.12 → 1.0.0-dev.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"$schema":"https://dev.bentley.com/json_schemas/ec/32/ecschema","name":"StructuralDesignConcrete","version":"01.00.00","alias":"sdconc","label":"Structural Concrete Design","description":"Concrete Design Schema.","references":[{"name":"BisCore","version":"01.00.14"},{"name":"StructuralAnalysis","version":"01.00.02"}],"items":{"ConstructionMode":{"schemaItemType":"Enumeration","description":"Specifies the mode/method of construction of a concrete Member.","type":"int","isStrict":true,"enumerators":[{"name":"CastInsitu","value":0,"label":"Cast Insitu","description":"The member is constructed on site."},{"name":"PreCast","value":1,"label":"Pre cast","description":"The member is pre-cast off site and assmebled on site"}]},"RebarFunction":{"schemaItemType":"Enumeration","description":"Specifies whether a Rebar is meant to be longitudinal bars that resist flexure or transverse bars that resist shear.","type":"int","isStrict":true,"enumerators":[{"name":"LongitudinalBar","value":0,"label":"Longitudinal Bars","description":"The bars placed on the primary bending plane, along the direction of the normal stresses."},{"name":"TransverseBar","value":1,"label":"Transverse Bars","description":"The bars (links) that primarily resist shear (and/or torsion)."}]},"RebarPattern":{"schemaItemType":"Enumeration","description":"Specifies the reinforcing pattern to be used when designing the member (E.g: Mesh or Individual bars).","type":"int","isStrict":true,"enumerators":[{"name":"IndividualReBar","value":0,"label":"Individual Rebar","description":"Indicates that the member is to be reinforced using individual bars."},{"name":"MeshRebar","value":1,"label":"Mesh Rebar","description":"Indicates that the member is to be reinforced using a mesh ( E.g: In a 2 way slab)."},{"name":"MixedRebar","value":2,"label":"Mixed Rebar","description":"Indicates that the member is to be reinforced using a mesh, but with individual bars added where necessary."},{"name":"BundledRebar","value":3,"label":"Bundled Rebar","description":"A bundel of individual bars touching each other."}]},"RebarPosition":{"schemaItemType":"Enumeration","description":"Indicates a reference position of the bar in the cross-section of a member. To be used when designing and detailing the bars in a member.","type":"int","isStrict":true,"enumerators":[{"name":"Top","value":0,"label":"Top","description":"The bars placed near the top layer of a cross section."},{"name":"Bottom","value":1,"label":"Bottom","description":"The bars placed near the bottom edge of a cross section."},{"name":"Right","value":2,"label":"Right","description":"The bars placed near the left edge of a cross section."},{"name":"Left","value":3,"label":"Left","description":"The bars placed near the right layer of a cross section."},{"name":"TopNearFace","value":4,"label":"Top Near Face","description":"Top bars near the outer edge of the cross section."},{"name":"TopFarFace","value":5,"label":"Top Far Face","description":"Top bars near the far edge of the cross section like for locating the bars on the bottom of the flange of a T-beam."}]},"ReferenceDirection":{"schemaItemType":"Enumeration","description":"Indicates the reference direction for a given design element or action. E.g: Bars along the X-direction, or Force along the X-direction.","type":"int","isStrict":true,"enumerators":[{"name":"X","value":0,"label":"Local X-direction","description":"Indicates the direction along the member's local X-axis (r?)."},{"name":"Y","value":1,"label":"Local Y-direction","description":"Indicates the direction along the member's local Y-axis (s?)."},{"name":"Z","value":2,"label":"Local Z-direction","description":"Indicates the direction along the member's local Z-axis (t?)."},{"name":"AtAngleToX","value":3,"label":"At Angle to X","description":"A direction that is at angle to the local X-axis, measured anticlockwise."}]},"StructureType":{"schemaItemType":"Enumeration","description":"Specifies the type of the structure","type":"int","isStrict":true,"enumerators":[{"name":"General","value":0,"label":"General","description":"A general default structure that is a collectino of sub structures."},{"name":"LateralLoadResistingFrame","value":1,"label":"Lateral Load Resisting Frame","description":"A frame formed of beams and columns to resist lateral loads."},{"name":"MatFoundationWithLiftPit","value":2,"label":"Mat Foundation With Lift Pit","description":"A MatFoundation with a lift pit."}]},"ISubStructure":{"schemaItemType":"Mixin","label":"ISubStructure","description":"A portion of the primary Structure","properties":[{"name":"SubStructureCriteria","type":"NavigationProperty","description":"The design criteria.","label":"SubStructure Criteria","relationshipName":"StructuralDesignConcrete.SubStructureRefersToSubStructureCriteria","direction":"Forward"}],"appliesTo":"StructuralDesignConcrete.Design"},"Design":{"schemaItemType":"EntityClass","label":"Design","description":"A Design entity within CDC which can be a linear element, a surface element or an independent entity such as a corbel / connection","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"TopOfConcrete","type":"PrimitiveProperty","description":"The top of concrete level for the given element or entity.","label":"Top of Concrete","typeName":"double"},{"name":"DesignCriteria","type":"NavigationProperty","description":"The design criteria.","label":"Desgin Criteria","relationshipName":"StructuralDesignConcrete.DesignRefersToDesignCriteria","direction":"Forward"}],"mixins":["BisCore.IParentElement","StructuralDesignConcrete.IDesign","StructuralDesignConcrete.ISubStructure"]},"IDesign":{"schemaItemType":"Mixin","label":"IDesign","description":"A designed representation of the analytical element","properties":[{"name":"MaxDemandCapacityRatio","type":"PrimitiveProperty","description":"Maximum demand/capacity ratio for the design run of the element.","label":"Max Demand Capacity Ratio","typeName":"double"}],"appliesTo":"BisCore.Element"},"DesignRefersToDesignCriteria":{"schemaItemType":"RelationshipClass","description":"A relationship that indicates that a Design refers to a Criteria instance.","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.Design"]},"target":{"multiplicity":"(0..1)","roleLabel":"is referenced by","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.DesignCriteria"]}},"DesignCriteria":{"schemaItemType":"EntityClass","label":"Design Criteria","description":"A Design criteria within CDC.","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"Name","type":"PrimitiveProperty","description":"A name to group the criteria.","label":"Name","typeName":"string"},{"name":"RebarPattern","type":"PrimitiveProperty","description":"The rebar pattern to be used for design","label":"Rebar Pattern","typeName":"StructuralDesignConcrete.RebarPattern"},{"name":"NominalCover","type":"PrimitiveProperty","description":"Nominal cover to the outermost rebars.","label":"Nominal Cover","typeName":"double"}],"mixins":["StructuralDesignConcrete.ISubStructureCriteria"]},"ISubStructureCriteria":{"schemaItemType":"Mixin","label":"ISubStructure Criteria","description":"A portion of the primary Structure","appliesTo":"StructuralDesignConcrete.DesignCriteria"},"SubStructureRefersToSubStructureCriteria":{"schemaItemType":"RelationshipClass","description":"A relationship that indicates that a SubStructure refers to the SubStructureCriteria instance.","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.ISubStructure"]},"target":{"multiplicity":"(0..1)","roleLabel":"is referenced by","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.ISubStructureCriteria"]}},"IReinforcement":{"schemaItemType":"Mixin","label":"IReinforcement","description":"A representation of the reinforcement within an element.","appliesTo":"StructuralDesignConcrete.Rebar"},"Rebar":{"schemaItemType":"EntityClass","label":"Rebar","description":"A rebar within CDC","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"RebarSize","type":"PrimitiveProperty","description":"The diameter of the rebar.","label":"Rebar Size","typeName":"int"},{"name":"RebarType","type":"PrimitiveProperty","description":"The type of the rebar.","label":"Rebar Type","typeName":"int"},{"name":"XPosition","type":"PrimitiveProperty","description":"The x coordinate of the c.g of bar with respect to the centre of the bounding box of a given profile.","label":"X Position","typeName":"double"},{"name":"YPosition","type":"PrimitiveProperty","description":"The y coordinate of the c.g of the bar with respect to the centre of the bounding box of a given profile.","label":"Y Position","typeName":"double"}],"mixins":["StructuralDesignConcrete.IReinforcement"]},"DesignResult":{"schemaItemType":"EntityClass","label":"Design Result","description":"The design result","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","mixins":["BisCore.IParentElement"]},"Structure":{"schemaItemType":"EntityClass","label":"Structure","description":"A collection of sub structures or structures","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Design","properties":[{"name":"Name","type":"PrimitiveProperty","description":"The name of the structure.","label":"Name","typeName":"string"},{"name":"StructureType","type":"PrimitiveProperty","description":"The element that represents an entity that can be designed.","label":"Structure Type","typeName":"StructuralDesignConcrete.StructureType"}]},"ShellElement":{"schemaItemType":"EntityClass","label":"Shell","description":"","modifier":"Sealed","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"Face","type":"NavigationProperty","description":"","label":"Surface Member Opening","relationshipName":"StructuralDesignConcrete.ShellElementRefersToFace","direction":"Forward"}]},"ShellElementRefersToFace":{"schemaItemType":"RelationshipClass","description":"","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.ShellElement"]},"target":{"multiplicity":"(1..1)","roleLabel":"is referenced by","polymorphic":false,"constraintClasses":["StructuralAnalysis.Face"]}},"CurveMemberDesign":{"schemaItemType":"EntityClass","label":"Curve Member Design","description":"A Design entity for a curve member within CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Design"},"SurfaceDesign":{"schemaItemType":"EntityClass","label":"Surface Design","description":"A Design entity for a surface within CDC.","modifier":"Abstract","baseClass":"StructuralDesignConcrete.Design","properties":[{"name":"SurfaceMemberType","type":"PrimitiveProperty","description":"The type of Surface being designed.","label":"Surface Member Type","typeName":"StructuralAnalysis.SurfaceMemberClassificationType"}]},"SurfaceModifierDesign":{"schemaItemType":"EntityClass","label":"Surface Modifier Design","description":"A Design entity for a Surface Modifier within CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.SurfaceDesign","properties":[{"name":"SurfaceMemberModifier","type":"NavigationProperty","description":"","label":"Surface Member Opening","relationshipName":"StructuralDesignConcrete.SurfaceModifierDesignRefersToSurfaceMemberModifier","direction":"Forward"}]},"SurfaceModifierDesignRefersToSurfaceMemberModifier":{"schemaItemType":"RelationshipClass","description":"","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceModifierDesign"]},"target":{"multiplicity":"(1..1)","roleLabel":"is referenced by","polymorphic":false,"constraintClasses":["StructuralAnalysis.SurfaceMemberModifier"]}},"SurfaceOpening":{"schemaItemType":"EntityClass","label":"Surface Opening","description":"","modifier":"Sealed","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"SurfaceMemberOpening","type":"NavigationProperty","description":"","label":"Surface Member Opening","relationshipName":"StructuralDesignConcrete.SurfaceOpeningRefersToSurfaceMemberOpening","direction":"Forward"}]},"SurfaceOpeningRefersToSurfaceMemberOpening":{"schemaItemType":"RelationshipClass","description":"","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceOpening"]},"target":{"multiplicity":"(1..1)","roleLabel":"is referenced by","polymorphic":false,"constraintClasses":["StructuralAnalysis.SurfaceMemberOpening"]}},"SurfaceMemberDesign":{"schemaItemType":"EntityClass","label":"Surface Member Design","description":"A Design entity for a Surface member within CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.SurfaceDesign","properties":[{"name":"SurfaceMember","type":"NavigationProperty","description":"","label":"Surface Member Opening","relationshipName":"StructuralDesignConcrete.SurfaceMemberDesignRefersToSurfaceMember","direction":"Forward"}]},"SurfaceMemberDesignRefersToSurfaceMember":{"schemaItemType":"RelationshipClass","description":"","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceMemberDesign"]},"target":{"multiplicity":"(1..1)","roleLabel":"is referenced by","polymorphic":false,"constraintClasses":["StructuralAnalysis.SurfaceMember"]}},"CurveMemberDesignCriteria":{"schemaItemType":"EntityClass","label":"Curve Member Design Criteria","description":"A design criteria for a curve member in CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.DesignCriteria"},"SurfaceDesignCriteria":{"schemaItemType":"EntityClass","label":"Surface Design Criteria","description":"A design criteria for a surface in CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.DesignCriteria","properties":[{"name":"OuterLayerRebarDirection","type":"PrimitiveProperty","description":"The primary direction of bars in the outermost layer ","label":"Outer Layer Rebar Direction","typeName":"StructuralDesignConcrete.ReferenceDirection"}]},"StructureCriteria":{"schemaItemType":"EntityClass","label":"Structure Criteria","description":"A set for criteria for the structure as a whole.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.DesignCriteria","mixins":["StructuralDesignConcrete.ISubStructureCriteria"]},"IndividualRebar":{"schemaItemType":"EntityClass","label":"Individual Rebar","description":"An individual rebar within CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Rebar","properties":[{"name":"Length","type":"PrimitiveProperty","description":"The length of the individual bar.","label":"Length","typeName":"double"}]},"RebarGroup":{"schemaItemType":"EntityClass","label":"Rebar Group","description":"A group of rebars to be considered as a group (E.g. 4-#8 bars @2 inch crs) and spaced evenly","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Rebar","properties":[{"name":"BarCount","type":"PrimitiveProperty","description":"The number of rebars within the group.","label":"Bar Count","typeName":"int"},{"name":"BarSpacing","type":"PrimitiveProperty","description":"The number of rebars within the group.","label":"Bar Spacing","typeName":"double"}]},"RebarBundle":{"schemaItemType":"EntityClass","label":"Rebar Bundle","description":"A group of rebars to be considered as a bundle (E.g. 4-#8 bars) ","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Rebar","properties":[{"name":"BarCount","type":"PrimitiveProperty","description":"The number of rebars within the group.","label":"Bar Count","typeName":"int"}]},"RebarMesh":{"schemaItemType":"EntityClass","label":"Rebar Mesh","description":"A mesh of rebars","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Rebar","properties":[{"name":"BarSpacing","type":"PrimitiveProperty","description":"The spacing of rebars within the mesh.","label":"Bar Spacing","typeName":"double"}]},"SurfaceMemberDesignOwnsSurfaceModifierDesign":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.SurfaceMemberDesign"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceModifierDesign"]}},"SurfaceMemberDesignOwnsSurfaceOpening":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceMemberDesign"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceOpening"]}},"StructureOwnsDesigns":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.Structure"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.Design"]}},"DesignOwnsDesignResult":{"schemaItemType":"RelationshipClass","description":"A relationship that indicates that a Design owns the Designresult.","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.Design"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.DesignResult"]}},"DesignResultOwnsReinforcements":{"schemaItemType":"RelationshipClass","description":"A relationship that indicates that a DesignResult owns the Rebar instances.","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.DesignResult"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.IReinforcement"]}}}}
1
+ {"$schema":"https://dev.bentley.com/json_schemas/ec/32/ecschema","name":"StructuralDesignConcrete","version":"01.00.00","alias":"sdconc","label":"Structural Concrete Design","description":"Concrete Design Schema.","references":[{"name":"CoreCustomAttributes","version":"01.00.03"},{"name":"BisCore","version":"01.00.15"},{"name":"StructuralAnalysis","version":"01.00.02"}],"customAttributes":[{"className":"CoreCustomAttributes.ProductionStatus","SupportedUse":"NotForProduction"}],"items":{"ConstructionMode":{"schemaItemType":"Enumeration","description":"Specifies the mode/method of construction of a concrete Member.","type":"int","isStrict":true,"enumerators":[{"name":"CastInsitu","value":0,"label":"Cast Insitu","description":"The member is constructed on site."},{"name":"PreCast","value":1,"label":"Pre cast","description":"The member is pre-cast off site and assmebled on site"}]},"RebarFunction":{"schemaItemType":"Enumeration","description":"Specifies whether a Rebar is meant to be longitudinal bars that resist flexure or transverse bars that resist shear.","type":"int","isStrict":true,"enumerators":[{"name":"LongitudinalBar","value":0,"label":"Longitudinal Bars","description":"The bars placed on the primary bending plane, along the direction of the normal stresses."},{"name":"TransverseBar","value":1,"label":"Transverse Bars","description":"The bars (links) that primarily resist shear (and/or torsion)."}]},"RebarPattern":{"schemaItemType":"Enumeration","description":"Specifies the reinforcing pattern to be used when designing the member (E.g: Mesh or Individual bars).","type":"int","isStrict":true,"enumerators":[{"name":"IndividualReBar","value":0,"label":"Individual Rebar","description":"Indicates that the member is to be reinforced using individual bars."},{"name":"MeshRebar","value":1,"label":"Mesh Rebar","description":"Indicates that the member is to be reinforced using a mesh ( E.g: In a 2 way slab)."},{"name":"MixedRebar","value":2,"label":"Mixed Rebar","description":"Indicates that the member is to be reinforced using a mesh, but with individual bars added where necessary."},{"name":"BundledRebar","value":3,"label":"Bundled Rebar","description":"A bundel of individual bars touching each other."}]},"RebarPosition":{"schemaItemType":"Enumeration","description":"Indicates a reference position of the bar in the cross-section of a member. To be used when designing and detailing the bars in a member.","type":"int","isStrict":true,"enumerators":[{"name":"Top","value":0,"label":"Top","description":"The bars placed near the top layer of a cross section."},{"name":"Bottom","value":1,"label":"Bottom","description":"The bars placed near the bottom edge of a cross section."},{"name":"Right","value":2,"label":"Right","description":"The bars placed near the left edge of a cross section."},{"name":"Left","value":3,"label":"Left","description":"The bars placed near the right layer of a cross section."},{"name":"TopNearFace","value":4,"label":"Top Near Face","description":"Top bars near the outer edge of the cross section."},{"name":"TopFarFace","value":5,"label":"Top Far Face","description":"Top bars near the far edge of the cross section like for locating the bars on the bottom of the flange of a T-beam."}]},"ReferenceDirection":{"schemaItemType":"Enumeration","description":"Indicates the reference direction for a given design element or action. E.g: Bars along the X-direction, or Force along the X-direction.","type":"int","isStrict":true,"enumerators":[{"name":"X","value":0,"label":"Local X-direction","description":"Indicates the direction along the member's local X-axis (r?)."},{"name":"Y","value":1,"label":"Local Y-direction","description":"Indicates the direction along the member's local Y-axis (s?)."},{"name":"Z","value":2,"label":"Local Z-direction","description":"Indicates the direction along the member's local Z-axis (t?)."},{"name":"AtAngleToX","value":3,"label":"At Angle to X","description":"A direction that is at angle to the local X-axis, measured anticlockwise."}]},"StructureType":{"schemaItemType":"Enumeration","description":"Specifies the type of the structure","type":"int","isStrict":true,"enumerators":[{"name":"General","value":0,"label":"General","description":"A general default structure that is a collectino of sub structures."},{"name":"LateralLoadResistingFrame","value":1,"label":"Lateral Load Resisting Frame","description":"A frame formed of beams and columns to resist lateral loads."},{"name":"MatFoundationWithLiftPit","value":2,"label":"Mat Foundation With Lift Pit","description":"A MatFoundation with a lift pit."}]},"ISubStructure":{"schemaItemType":"Mixin","label":"ISubStructure","description":"A portion of the primary Structure","properties":[{"name":"SubStructureCriteria","type":"NavigationProperty","description":"The design criteria.","label":"SubStructure Criteria","relationshipName":"StructuralDesignConcrete.SubStructureRefersToSubStructureCriteria","direction":"Forward"}],"appliesTo":"StructuralDesignConcrete.Design"},"Design":{"schemaItemType":"EntityClass","label":"Design","description":"A Design entity within CDC which can be a linear element, a surface element or an independent entity such as a corbel / connection","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"TopOfConcrete","type":"PrimitiveProperty","description":"The top of concrete level for the given element or entity.","label":"Top of Concrete","typeName":"double"},{"name":"DesignCriteria","type":"NavigationProperty","description":"The design criteria.","label":"Desgin Criteria","relationshipName":"StructuralDesignConcrete.DesignRefersToDesignCriteria","direction":"Forward"}],"mixins":["BisCore.IParentElement","StructuralDesignConcrete.IDesign","StructuralDesignConcrete.ISubStructure"]},"IDesign":{"schemaItemType":"Mixin","label":"IDesign","description":"A designed representation of the analytical element","properties":[{"name":"MaxDemandCapacityRatio","type":"PrimitiveProperty","description":"Maximum demand/capacity ratio for the design run of the element.","label":"Max Demand Capacity Ratio","typeName":"double"}],"appliesTo":"BisCore.Element"},"DesignRefersToDesignCriteria":{"schemaItemType":"RelationshipClass","description":"A relationship that indicates that a Design refers to a Criteria instance.","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.Design"]},"target":{"multiplicity":"(0..1)","roleLabel":"is referenced by","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.DesignCriteria"]}},"DesignCriteria":{"schemaItemType":"EntityClass","label":"Design Criteria","description":"A Design criteria within CDC.","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"Name","type":"PrimitiveProperty","description":"A name to group the criteria.","label":"Name","typeName":"string"},{"name":"RebarPattern","type":"PrimitiveProperty","description":"The rebar pattern to be used for design","label":"Rebar Pattern","typeName":"StructuralDesignConcrete.RebarPattern"},{"name":"NominalCover","type":"PrimitiveProperty","description":"Nominal cover to the outermost rebars.","label":"Nominal Cover","typeName":"double"}],"mixins":["StructuralDesignConcrete.ISubStructureCriteria"]},"ISubStructureCriteria":{"schemaItemType":"Mixin","label":"ISubStructure Criteria","description":"A portion of the primary Structure","appliesTo":"StructuralDesignConcrete.DesignCriteria"},"SubStructureRefersToSubStructureCriteria":{"schemaItemType":"RelationshipClass","description":"A relationship that indicates that a SubStructure refers to the SubStructureCriteria instance.","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.ISubStructure"]},"target":{"multiplicity":"(0..1)","roleLabel":"is referenced by","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.ISubStructureCriteria"]}},"IReinforcement":{"schemaItemType":"Mixin","label":"IReinforcement","description":"A representation of the reinforcement within an element.","appliesTo":"StructuralDesignConcrete.Rebar"},"Rebar":{"schemaItemType":"EntityClass","label":"Rebar","description":"A rebar within CDC","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"RebarSize","type":"PrimitiveProperty","description":"The diameter of the rebar.","label":"Rebar Size","typeName":"int"},{"name":"RebarType","type":"PrimitiveProperty","description":"The type of the rebar.","label":"Rebar Type","typeName":"int"},{"name":"XPosition","type":"PrimitiveProperty","description":"The x coordinate of the c.g of bar with respect to the centre of the bounding box of a given profile.","label":"X Position","typeName":"double"},{"name":"YPosition","type":"PrimitiveProperty","description":"The y coordinate of the c.g of the bar with respect to the centre of the bounding box of a given profile.","label":"Y Position","typeName":"double"}],"mixins":["StructuralDesignConcrete.IReinforcement"]},"DesignResult":{"schemaItemType":"EntityClass","label":"Design Result","description":"The design result","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","mixins":["BisCore.IParentElement"]},"Structure":{"schemaItemType":"EntityClass","label":"Structure","description":"A collection of sub structures or structures","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Design","properties":[{"name":"Name","type":"PrimitiveProperty","description":"The name of the structure.","label":"Name","typeName":"string"},{"name":"StructureType","type":"PrimitiveProperty","description":"The element that represents an entity that can be designed.","label":"Structure Type","typeName":"StructuralDesignConcrete.StructureType"}]},"ShellElement":{"schemaItemType":"EntityClass","label":"Shell","description":"","modifier":"Sealed","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"Face","type":"NavigationProperty","description":"","label":"Surface Member Opening","relationshipName":"StructuralDesignConcrete.ShellElementRefersToFace","direction":"Forward"}]},"ShellElementRefersToFace":{"schemaItemType":"RelationshipClass","description":"","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.ShellElement"]},"target":{"multiplicity":"(1..1)","roleLabel":"is referenced by","polymorphic":false,"constraintClasses":["StructuralAnalysis.Face"]}},"CurveMemberDesign":{"schemaItemType":"EntityClass","label":"Curve Member Design","description":"A Design entity for a curve member within CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Design"},"SurfaceDesign":{"schemaItemType":"EntityClass","label":"Surface Design","description":"A Design entity for a surface within CDC.","modifier":"Abstract","baseClass":"StructuralDesignConcrete.Design","properties":[{"name":"SurfaceMemberType","type":"PrimitiveProperty","description":"The type of Surface being designed.","label":"Surface Member Type","typeName":"StructuralAnalysis.SurfaceMemberClassificationType"}]},"SurfaceModifierDesign":{"schemaItemType":"EntityClass","label":"Surface Modifier Design","description":"A Design entity for a Surface Modifier within CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.SurfaceDesign","properties":[{"name":"SurfaceMemberModifier","type":"NavigationProperty","description":"","label":"Surface Member Opening","relationshipName":"StructuralDesignConcrete.SurfaceModifierDesignRefersToSurfaceMemberModifier","direction":"Forward"}]},"SurfaceModifierDesignRefersToSurfaceMemberModifier":{"schemaItemType":"RelationshipClass","description":"","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceModifierDesign"]},"target":{"multiplicity":"(1..1)","roleLabel":"is referenced by","polymorphic":false,"constraintClasses":["StructuralAnalysis.SurfaceMemberModifier"]}},"SurfaceOpening":{"schemaItemType":"EntityClass","label":"Surface Opening","description":"","modifier":"Sealed","baseClass":"BisCore.InformationRecordElement","properties":[{"name":"SurfaceMemberOpening","type":"NavigationProperty","description":"","label":"Surface Member Opening","relationshipName":"StructuralDesignConcrete.SurfaceOpeningRefersToSurfaceMemberOpening","direction":"Forward"}]},"SurfaceOpeningRefersToSurfaceMemberOpening":{"schemaItemType":"RelationshipClass","description":"","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceOpening"]},"target":{"multiplicity":"(1..1)","roleLabel":"is referenced by","polymorphic":false,"constraintClasses":["StructuralAnalysis.SurfaceMemberOpening"]}},"SurfaceMemberDesign":{"schemaItemType":"EntityClass","label":"Surface Member Design","description":"A Design entity for a Surface member within CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.SurfaceDesign","properties":[{"name":"SurfaceMember","type":"NavigationProperty","description":"","label":"Surface Member Opening","relationshipName":"StructuralDesignConcrete.SurfaceMemberDesignRefersToSurfaceMember","direction":"Forward"}]},"SurfaceMemberDesignRefersToSurfaceMember":{"schemaItemType":"RelationshipClass","description":"","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"references","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceMemberDesign"]},"target":{"multiplicity":"(1..1)","roleLabel":"is referenced by","polymorphic":false,"constraintClasses":["StructuralAnalysis.SurfaceMember"]}},"CurveMemberDesignCriteria":{"schemaItemType":"EntityClass","label":"Curve Member Design Criteria","description":"A design criteria for a curve member in CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.DesignCriteria"},"SurfaceDesignCriteria":{"schemaItemType":"EntityClass","label":"Surface Design Criteria","description":"A design criteria for a surface in CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.DesignCriteria","properties":[{"name":"OuterLayerRebarDirection","type":"PrimitiveProperty","description":"The primary direction of bars in the outermost layer ","label":"Outer Layer Rebar Direction","typeName":"StructuralDesignConcrete.ReferenceDirection"}]},"StructureCriteria":{"schemaItemType":"EntityClass","label":"Structure Criteria","description":"A set for criteria for the structure as a whole.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.DesignCriteria","mixins":["StructuralDesignConcrete.ISubStructureCriteria"]},"IndividualRebar":{"schemaItemType":"EntityClass","label":"Individual Rebar","description":"An individual rebar within CDC.","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Rebar","properties":[{"name":"Length","type":"PrimitiveProperty","description":"The length of the individual bar.","label":"Length","typeName":"double"}]},"RebarGroup":{"schemaItemType":"EntityClass","label":"Rebar Group","description":"A group of rebars to be considered as a group (E.g. 4-#8 bars @2 inch crs) and spaced evenly","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Rebar","properties":[{"name":"BarCount","type":"PrimitiveProperty","description":"The number of rebars within the group.","label":"Bar Count","typeName":"int"},{"name":"BarSpacing","type":"PrimitiveProperty","description":"The number of rebars within the group.","label":"Bar Spacing","typeName":"double"}]},"RebarBundle":{"schemaItemType":"EntityClass","label":"Rebar Bundle","description":"A group of rebars to be considered as a bundle (E.g. 4-#8 bars) ","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Rebar","properties":[{"name":"BarCount","type":"PrimitiveProperty","description":"The number of rebars within the group.","label":"Bar Count","typeName":"int"}]},"RebarMesh":{"schemaItemType":"EntityClass","label":"Rebar Mesh","description":"A mesh of rebars","modifier":"Sealed","baseClass":"StructuralDesignConcrete.Rebar","properties":[{"name":"BarSpacing","type":"PrimitiveProperty","description":"The spacing of rebars within the mesh.","label":"Bar Spacing","typeName":"double"}]},"SurfaceMemberDesignOwnsSurfaceModifierDesign":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.SurfaceMemberDesign"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceModifierDesign"]}},"SurfaceMemberDesignOwnsSurfaceOpening":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceMemberDesign"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.SurfaceOpening"]}},"StructureOwnsDesigns":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.Structure"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.Design"]}},"DesignOwnsDesignResult":{"schemaItemType":"RelationshipClass","description":"A relationship that indicates that a Design owns the Designresult.","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.Design"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.DesignResult"]}},"DesignResultOwnsReinforcements":{"schemaItemType":"RelationshipClass","description":"A relationship that indicates that a DesignResult owns the Rebar instances.","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["StructuralDesignConcrete.DesignResult"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["StructuralDesignConcrete.IReinforcement"]}}}}
@@ -1,310 +1,317 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- ==================================================================================
3
- | * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- | * See LICENSE.md in the project root for license terms and full copyright notice.
5
- ======================================================================================= -->
6
- <ECSchema schemaName="StructuralDesignConcrete" alias="sdconc" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2" displayLabel="Structural Concrete Design" description="Concrete Design Schema.">
7
- <ECSchemaReference name="BisCore" version="01.00.00" alias="bis" />
8
- <ECSchemaReference name="StructuralAnalysis" version="01.00.00" alias="sa" />
9
-
10
- <!-- <ECEntityClass typeName="ConcreteDesignModel" modifier="None" displayLabel="Concrete Design Model" description="Model for the concrete design perspective " >
11
- <BaseClass>sa:StructuralAnalysisModel</BaseClass>
12
- </ECEntityClass>
13
-
14
- <ECEntityClass typeName="ConcreteDesignPartition" modifier="None" displayLabel="Concrete Design Partition" description="ConcreteDesignPartition element indicates that there is a specialized ConcretDesign perspective within the overall information hierarchy." >
15
- <BaseClass>sa:StructuralAnalysisPartition</BaseClass>
16
- </ECEntityClass> -->
17
-
18
- <!-- ***************************************** Common enumerations ***************************************** -->
19
-
20
- <ECEnumeration typeName="ConstructionMode" backingTypeName="int" isStrict="true" description="Specifies the mode/method of construction of a concrete Member.">
21
- <ECEnumerator value="0" name="CastInsitu" displayLabel="Cast Insitu" description="The member is constructed on site." />
22
- <ECEnumerator value="1" name="PreCast" displayLabel="Pre cast" description="The member is pre-cast off site and assmebled on site" />
23
- </ECEnumeration>
24
-
25
- <ECEnumeration typeName="RebarFunction" backingTypeName="int" isStrict="true" description="Specifies whether a Rebar is meant to be longitudinal bars that resist flexure or transverse bars that resist shear.">
26
- <ECEnumerator value="0" name="LongitudinalBar" displayLabel="Longitudinal Bars" description="The bars placed on the primary bending plane, along the direction of the normal stresses." />
27
- <ECEnumerator value="1" name="TransverseBar" displayLabel="Transverse Bars" description="The bars (links) that primarily resist shear (and/or torsion)." />
28
- </ECEnumeration>
29
-
30
- <ECEnumeration typeName="RebarPattern" backingTypeName="int" isStrict="true" description="Specifies the reinforcing pattern to be used when designing the member (E.g: Mesh or Individual bars).">
31
- <ECEnumerator value="0" name="IndividualReBar" displayLabel="Individual Rebar" description="Indicates that the member is to be reinforced using individual bars." />
32
- <ECEnumerator value="1" name="MeshRebar" displayLabel="Mesh Rebar" description="Indicates that the member is to be reinforced using a mesh ( E.g: In a 2 way slab)." />
33
- <ECEnumerator value="2" name="MixedRebar" displayLabel="Mixed Rebar" description="Indicates that the member is to be reinforced using a mesh, but with individual bars added where necessary." />
34
- <ECEnumerator value="3" name="BundledRebar" displayLabel="Bundled Rebar" description="A bundel of individual bars touching each other." />
35
- </ECEnumeration>
36
-
37
- <!--NOTE : Positioned With reference to the center of the bounding box of the cross section-->
38
- <ECEnumeration typeName="RebarPosition" backingTypeName="int" isStrict="true" description="Indicates a reference position of the bar in the cross-section of a member. To be used when designing and detailing the bars in a member.">
39
- <ECEnumerator value="0" name="Top" displayLabel="Top" description="The bars placed near the top layer of a cross section." />
40
- <ECEnumerator value="1" name="Bottom" displayLabel="Bottom" description="The bars placed near the bottom edge of a cross section." />
41
- <ECEnumerator value="2" name="Right" displayLabel="Right" description="The bars placed near the left edge of a cross section." />
42
- <ECEnumerator value="3" name="Left" displayLabel="Left" description="The bars placed near the right layer of a cross section." />
43
- <ECEnumerator value="4" name="TopNearFace" displayLabel="Top Near Face" description="Top bars near the outer edge of the cross section." />
44
- <ECEnumerator value="5" name="TopFarFace" displayLabel="Top Far Face" description="Top bars near the far edge of the cross section like for locating the bars on the bottom of the flange of a T-beam." />
45
- <!-- Add others -->
46
- </ECEnumeration>
47
-
48
- <ECEnumeration typeName="ReferenceDirection" backingTypeName="int" isStrict="true" description="Indicates the reference direction for a given design element or action. E.g: Bars along the X-direction, or Force along the X-direction.">
49
- <ECEnumerator value="0" name="X" displayLabel="Local X-direction" description="Indicates the direction along the member's local X-axis (r?)." />
50
- <ECEnumerator value="1" name="Y" displayLabel="Local Y-direction" description="Indicates the direction along the member's local Y-axis (s?)." />
51
- <ECEnumerator value="2" name="Z" displayLabel="Local Z-direction" description="Indicates the direction along the member's local Z-axis (t?)." />
52
- <ECEnumerator value="3" name="AtAngleToX" displayLabel="At Angle to X" description="A direction that is at angle to the local X-axis, measured anticlockwise." />
53
- </ECEnumeration>
54
-
55
- <ECEnumeration typeName="StructureType" backingTypeName="int" isStrict="true" description="Specifies the type of the structure">
56
- <ECEnumerator value="0" name="General" displayLabel="General" description="A general default structure that is a collectino of sub structures." />
57
- <ECEnumerator value="1" name="LateralLoadResistingFrame" displayLabel="Lateral Load Resisting Frame" description="A frame formed of beams and columns to resist lateral loads." />
58
- <ECEnumerator value="2" name="MatFoundationWithLiftPit" displayLabel="Mat Foundation With Lift Pit" description="A MatFoundation with a lift pit." />
59
- </ECEnumeration>
60
-
61
- <!-- ************* Mixins *************************************************-->
62
- <ECEntityClass typeName="ISubStructure" modifier="Abstract" displayLabel="ISubStructure" description="A portion of the primary Structure">
63
- <ECCustomAttributes>
64
- <IsMixin xmlns="CoreCustomAttributes.01.00.00">
65
- <AppliesToEntityClass>Design</AppliesToEntityClass>
66
- </IsMixin>
67
- </ECCustomAttributes>
68
- <ECNavigationProperty propertyName="SubStructureCriteria" relationshipName="SubStructureRefersToSubStructureCriteria" direction="Forward" displayLabel="SubStructure Criteria" description="The design criteria." />
69
- </ECEntityClass>
70
-
71
- <ECEntityClass typeName="ISubStructureCriteria" modifier="Abstract" displayLabel="ISubStructure Criteria" description="A portion of the primary Structure">
72
- <ECCustomAttributes>
73
- <IsMixin xmlns="CoreCustomAttributes.01.00.00">
74
- <AppliesToEntityClass>DesignCriteria</AppliesToEntityClass>
75
- </IsMixin>
76
- </ECCustomAttributes>
77
- </ECEntityClass>
78
-
79
- <ECEntityClass typeName="IReinforcement" modifier="Abstract" displayLabel="IReinforcement" description="A representation of the reinforcement within an element.">
80
- <ECCustomAttributes>
81
- <IsMixin xmlns="CoreCustomAttributes.01.00.00">
82
- <AppliesToEntityClass>Rebar</AppliesToEntityClass>
83
- </IsMixin>
84
- </ECCustomAttributes>
85
- </ECEntityClass>
86
-
87
- <!-- This should probably be defined in StructuralAnalysis schema -->
88
- <ECEntityClass typeName="IDesign" modifier="Abstract" displayLabel="IDesign" description="A designed representation of the analytical element">
89
- <ECCustomAttributes>
90
- <IsMixin xmlns="CoreCustomAttributes.01.00.00">
91
- <AppliesToEntityClass>bis:Element</AppliesToEntityClass>
92
- </IsMixin>
93
- </ECCustomAttributes>
94
- <ECProperty propertyName="MaxDemandCapacityRatio" typeName="double" displayLabel="Max Demand Capacity Ratio" description="Maximum demand/capacity ratio for the design run of the element." />
95
- </ECEntityClass>
96
-
97
- <!-- ********************************************** The primary CDS classes **************************************** -->
98
- <ECEntityClass typeName="DesignResult" modifier="Abstract" displayLabel="Design Result" description="The design result">
99
- <BaseClass>bis:InformationRecordElement</BaseClass>
100
- <BaseClass>bis:IParentElement</BaseClass>
101
- </ECEntityClass>
102
-
103
- <ECEntityClass typeName="Design" modifier="Abstract" displayLabel="Design" description="A Design entity within CDC which can be a linear element, a surface element or an independent entity such as a corbel / connection">
104
- <BaseClass>bis:InformationRecordElement</BaseClass>
105
- <BaseClass>bis:IParentElement</BaseClass>
106
- <BaseClass>IDesign</BaseClass>
107
- <BaseClass>ISubStructure</BaseClass>
108
- <ECProperty propertyName="TopOfConcrete" typeName="double" displayLabel="Top of Concrete" description="The top of concrete level for the given element or entity." />
109
- <ECNavigationProperty propertyName="DesignCriteria" relationshipName="DesignRefersToDesignCriteria" direction="Forward" displayLabel="Desgin Criteria" description="The design criteria." />
110
- </ECEntityClass>
111
-
112
- <ECEntityClass typeName="Structure" modifier="Sealed" displayLabel="Structure" description="A collection of sub structures or structures">
113
- <BaseClass>Design</BaseClass>
114
- <ECProperty propertyName="Name" typeName="string" displayLabel="Name" description="The name of the structure." />
115
- <ECProperty propertyName="StructureType" typeName="StructureType" displayLabel="Structure Type" description="The element that represents an entity that can be designed." />
116
- </ECEntityClass>
117
-
118
- <ECEntityClass typeName="ShellElement" modifier="Sealed" displayLabel="Shell" description="">
119
- <BaseClass>bis:InformationRecordElement</BaseClass>
120
- <ECNavigationProperty propertyName="Face" relationshipName="ShellElementRefersToFace" direction="Forward" displayLabel="Surface Member Opening" description="" />
121
- </ECEntityClass>
122
-
123
- <ECEntityClass typeName="CurveMemberDesign" modifier="Sealed" displayLabel="Curve Member Design" description="A Design entity for a curve member within CDC.">
124
- <BaseClass>Design</BaseClass>
125
- </ECEntityClass>
126
-
127
- <ECEntityClass typeName="SurfaceDesign" modifier="Abstract" displayLabel="Surface Design" description="A Design entity for a surface within CDC.">
128
- <BaseClass>Design</BaseClass>
129
- <ECProperty propertyName="SurfaceMemberType" typeName="sa:SurfaceMemberClassificationType" displayLabel="Surface Member Type" description="The type of Surface being designed." />
130
- </ECEntityClass>
131
-
132
- <ECEntityClass typeName="SurfaceModifierDesign" modifier="Sealed" displayLabel="Surface Modifier Design" description="A Design entity for a Surface Modifier within CDC.">
133
- <BaseClass>SurfaceDesign</BaseClass>
134
- <ECNavigationProperty propertyName="SurfaceMemberModifier" relationshipName="SurfaceModifierDesignRefersToSurfaceMemberModifier" direction="Forward" displayLabel="Surface Member Opening" description="" />
135
- </ECEntityClass>
136
-
137
- <ECEntityClass typeName="SurfaceOpening" modifier="Sealed" displayLabel="Surface Opening" description="">
138
- <BaseClass>bis:InformationRecordElement</BaseClass>
139
- <ECNavigationProperty propertyName="SurfaceMemberOpening" relationshipName="SurfaceOpeningRefersToSurfaceMemberOpening" direction="Forward" displayLabel="Surface Member Opening" description="" />
140
- </ECEntityClass>
141
-
142
- <ECEntityClass typeName="SurfaceMemberDesign" modifier="Sealed" displayLabel="Surface Member Design" description="A Design entity for a Surface member within CDC.">
143
- <BaseClass>SurfaceDesign</BaseClass>
144
- <ECNavigationProperty propertyName="SurfaceMember" relationshipName="SurfaceMemberDesignRefersToSurfaceMember" direction="Forward" displayLabel="Surface Member Opening" description="" />
145
- </ECEntityClass>
146
-
147
- <ECEntityClass typeName="DesignCriteria" modifier="Abstract" displayLabel="Design Criteria" description="A Design criteria within CDC.">
148
- <BaseClass>bis:InformationRecordElement</BaseClass>
149
- <BaseClass>ISubStructureCriteria</BaseClass>
150
- <ECProperty propertyName="Name" typeName="string" displayLabel="Name" description="A name to group the criteria." />
151
- <ECProperty propertyName="RebarPattern" typeName="RebarPattern" displayLabel="Rebar Pattern" description="The rebar pattern to be used for design" />
152
- <ECProperty propertyName="NominalCover" typeName="double" displayLabel="Nominal Cover" description="Nominal cover to the outermost rebars." />
153
- </ECEntityClass>
154
-
155
- <ECEntityClass typeName="CurveMemberDesignCriteria" modifier="Sealed" displayLabel="Curve Member Design Criteria" description="A design criteria for a curve member in CDC.">
156
- <BaseClass>DesignCriteria</BaseClass>
157
- </ECEntityClass>
158
-
159
- <ECEntityClass typeName="SurfaceDesignCriteria" modifier="Sealed" displayLabel="Surface Design Criteria" description="A design criteria for a surface in CDC.">
160
- <BaseClass>DesignCriteria</BaseClass>
161
- <ECProperty propertyName="OuterLayerRebarDirection" typeName="ReferenceDirection" displayLabel="Outer Layer Rebar Direction" description="The primary direction of bars in the outermost layer " />
162
- </ECEntityClass>
163
-
164
- <ECEntityClass typeName="StructureCriteria" modifier="Sealed" displayLabel="Structure Criteria" description="A set for criteria for the structure as a whole.">
165
- <BaseClass>DesignCriteria</BaseClass>
166
- <BaseClass>ISubStructureCriteria</BaseClass>
167
- </ECEntityClass>
168
-
169
- <ECEntityClass typeName="Rebar" modifier="Abstract" displayLabel="Rebar" description="A rebar within CDC">
170
- <BaseClass>bis:InformationRecordElement</BaseClass>
171
- <BaseClass>IReinforcement</BaseClass>
172
- <ECProperty propertyName="RebarSize" typeName="int" displayLabel="Rebar Size" description="The diameter of the rebar." />
173
- <ECProperty propertyName="RebarType" typeName="int" displayLabel="Rebar Type" description="The type of the rebar." />
174
- <ECProperty propertyName="XPosition" typeName="double" displayLabel="X Position" description="The x coordinate of the c.g of bar with respect to the centre of the bounding box of a given profile." />
175
- <ECProperty propertyName="YPosition" typeName="double" displayLabel="Y Position" description="The y coordinate of the c.g of the bar with respect to the centre of the bounding box of a given profile." />
176
- </ECEntityClass>
177
-
178
- <ECEntityClass typeName="IndividualRebar" modifier="Sealed" displayLabel="Individual Rebar" description="An individual rebar within CDC.">
179
- <BaseClass>Rebar</BaseClass>
180
- <ECProperty propertyName="Length" typeName="double" displayLabel="Length" description="The length of the individual bar." />
181
- </ECEntityClass>
182
-
183
- <ECEntityClass typeName="RebarGroup" modifier="Sealed" displayLabel="Rebar Group" description="A group of rebars to be considered as a group (E.g. 4-#8 bars @2 inch crs) and spaced evenly">
184
- <BaseClass>Rebar</BaseClass>
185
- <ECProperty propertyName="BarCount" typeName="int" displayLabel="Bar Count" description="The number of rebars within the group." />
186
- <ECProperty propertyName="BarSpacing" typeName="double" displayLabel="Bar Spacing" description="The number of rebars within the group." />
187
- </ECEntityClass>
188
-
189
- <ECEntityClass typeName="RebarBundle" modifier="Sealed" displayLabel="Rebar Bundle" description="A group of rebars to be considered as a bundle (E.g. 4-#8 bars) ">
190
- <BaseClass>Rebar</BaseClass>
191
- <ECProperty propertyName="BarCount" typeName="int" displayLabel="Bar Count" description="The number of rebars within the group." />
192
- </ECEntityClass>
193
-
194
- <ECEntityClass typeName="RebarMesh" modifier="Sealed" displayLabel="Rebar Mesh" description="A mesh of rebars">
195
- <BaseClass>Rebar</BaseClass>
196
- <ECProperty propertyName="BarSpacing" typeName="double" displayLabel="Bar Spacing" description="The spacing of rebars within the mesh." />
197
- </ECEntityClass>
198
-
199
- <!-- *********************** Relationships *************************************-->
200
- <ECRelationshipClass typeName="SubStructureRefersToSubStructureCriteria" strength="referencing" modifier="Sealed" description="A relationship that indicates that a SubStructure refers to the SubStructureCriteria instance.">
201
- <Source multiplicity="(0..*)" roleLabel="references" polymorphic="true">
202
- <Class class="ISubStructure" />
203
- </Source>
204
- <Target multiplicity="(0..1)" roleLabel="is referenced by" polymorphic="true">
205
- <Class class="ISubStructureCriteria" />
206
- </Target>
207
- </ECRelationshipClass>
208
-
209
- <ECRelationshipClass typeName="DesignRefersToDesignCriteria" strength="referencing" modifier="Sealed" description="A relationship that indicates that a Design refers to a Criteria instance.">
210
- <Source multiplicity="(0..*)" roleLabel="references" polymorphic="true">
211
- <Class class="Design" />
212
- </Source>
213
- <Target multiplicity="(0..1)" roleLabel="is referenced by" polymorphic="true">
214
- <Class class="DesignCriteria" />
215
- </Target>
216
- </ECRelationshipClass>
217
-
218
- <ECRelationshipClass typeName="ShellElementRefersToFace" strength="referencing" modifier="Sealed" description="">
219
- <!-- Theoretically source multiplicity should be '(0..1)', but ECDb has a bug where having such multiplicity produces an error.
220
- This can be fixed by adding strengthDirection="Backward", but it doesn't make sense for our use case. -->
221
- <Source multiplicity="(0..*)" roleLabel="references" polymorphic="false">
222
- <Class class="ShellElement" />
223
- </Source>
224
- <Target multiplicity="(1..1)" roleLabel="is referenced by" polymorphic="false">
225
- <Class class="sa:Face" />
226
- </Target>
227
- </ECRelationshipClass>
228
-
229
- <ECRelationshipClass typeName="SurfaceMemberDesignRefersToSurfaceMember" strength="referencing" modifier="Sealed" description="">
230
- <!-- Theoretically source multiplicity should be '(0..1)', but ECDb has a bug where having such multiplicity produces an error.
231
- This can be fixed by adding strengthDirection="Backward", but it doesn't make sense for our use case. -->
232
- <Source multiplicity="(0..*)" roleLabel="references" polymorphic="false">
233
- <Class class="SurfaceMemberDesign" />
234
- </Source>
235
- <Target multiplicity="(1..1)" roleLabel="is referenced by" polymorphic="false">
236
- <Class class="sa:SurfaceMember" />
237
- </Target>
238
- </ECRelationshipClass>
239
-
240
- <ECRelationshipClass typeName="SurfaceOpeningRefersToSurfaceMemberOpening" strength="referencing" modifier="Sealed" description="">
241
- <!-- Theoretically source multiplicity should be '(0..1)', but ECDb has a bug where having such multiplicity produces an error.
242
- This can be fixed by adding strengthDirection="Backward", but it doesn't make sense for our use case. -->
243
- <Source multiplicity="(0..*)" roleLabel="references" polymorphic="false">
244
- <Class class="SurfaceOpening" />
245
- </Source>
246
- <Target multiplicity="(1..1)" roleLabel="is referenced by" polymorphic="false">
247
- <Class class="sa:SurfaceMemberOpening" />
248
- </Target>
249
- </ECRelationshipClass>
250
-
251
- <ECRelationshipClass typeName="SurfaceModifierDesignRefersToSurfaceMemberModifier" strength="referencing" modifier="Sealed" description="">
252
- <Source multiplicity="(0..*)" roleLabel="references" polymorphic="false">
253
- <Class class="SurfaceModifierDesign" />
254
- </Source>
255
- <Target multiplicity="(1..1)" roleLabel="is referenced by" polymorphic="false">
256
- <Class class="sa:SurfaceMemberModifier" />
257
- </Target>
258
- </ECRelationshipClass>
259
-
260
- <ECRelationshipClass typeName="SurfaceMemberDesignOwnsSurfaceModifierDesign" strength="embedding" modifier="Sealed">
261
- <BaseClass>bis:ElementOwnsChildElements</BaseClass>
262
- <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
263
- <Class class="SurfaceMemberDesign" />
264
- </Source>
265
- <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
266
- <Class class="SurfaceModifierDesign" />
267
- </Target>
268
- </ECRelationshipClass>
269
-
270
- <ECRelationshipClass typeName="SurfaceMemberDesignOwnsSurfaceOpening" strength="embedding" modifier="Sealed">
271
- <BaseClass>bis:ElementOwnsChildElements</BaseClass>
272
- <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
273
- <Class class="SurfaceMemberDesign" />
274
- </Source>
275
- <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
276
- <Class class="SurfaceOpening" />
277
- </Target>
278
- </ECRelationshipClass>
279
-
280
- <ECRelationshipClass typeName="StructureOwnsDesigns" strength="embedding" modifier="Sealed">
281
- <BaseClass>bis:ElementOwnsChildElements</BaseClass>
282
- <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
283
- <Class class="Structure" />
284
- </Source>
285
- <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="true">
286
- <Class class="Design" />
287
- </Target>
288
- </ECRelationshipClass>
289
-
290
- <ECRelationshipClass typeName="DesignOwnsDesignResult" strength="embedding" modifier="Sealed" description="A relationship that indicates that a Design owns the Designresult.">
291
- <BaseClass>bis:ElementOwnsChildElements</BaseClass>
292
- <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
293
- <Class class="Design" />
294
- </Source>
295
- <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="true">
296
- <Class class="DesignResult" />
297
- </Target>
298
- </ECRelationshipClass>
299
-
300
- <ECRelationshipClass typeName="DesignResultOwnsReinforcements" strength="embedding" modifier="Sealed" description="A relationship that indicates that a DesignResult owns the Rebar instances.">
301
- <BaseClass>bis:ElementOwnsChildElements</BaseClass>
302
- <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
303
- <Class class="DesignResult" />
304
- </Source>
305
- <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
306
- <Class class="IReinforcement" />
307
- </Target>
308
- </ECRelationshipClass>
309
-
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- ==================================================================================
3
+ | * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ | * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ ======================================================================================= -->
6
+ <ECSchema schemaName="StructuralDesignConcrete" alias="sdconc" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2" displayLabel="Structural Concrete Design" description="Concrete Design Schema.">
7
+ <ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA"/>
8
+ <ECSchemaReference name="BisCore" version="01.00.00" alias="bis" />
9
+ <ECSchemaReference name="StructuralAnalysis" version="01.00.00" alias="sa" />
10
+
11
+ <ECCustomAttributes>
12
+ <ProductionStatus xmlns="CoreCustomAttributes.01.00.03">
13
+ <SupportedUse>NotForProduction</SupportedUse>
14
+ </ProductionStatus>
15
+ </ECCustomAttributes>
16
+
17
+ <!-- <ECEntityClass typeName="ConcreteDesignModel" modifier="None" displayLabel="Concrete Design Model" description="Model for the concrete design perspective " >
18
+ <BaseClass>sa:StructuralAnalysisModel</BaseClass>
19
+ </ECEntityClass>
20
+
21
+ <ECEntityClass typeName="ConcreteDesignPartition" modifier="None" displayLabel="Concrete Design Partition" description="ConcreteDesignPartition element indicates that there is a specialized ConcretDesign perspective within the overall information hierarchy." >
22
+ <BaseClass>sa:StructuralAnalysisPartition</BaseClass>
23
+ </ECEntityClass> -->
24
+
25
+ <!-- ***************************************** Common enumerations ***************************************** -->
26
+
27
+ <ECEnumeration typeName="ConstructionMode" backingTypeName="int" isStrict="true" description="Specifies the mode/method of construction of a concrete Member.">
28
+ <ECEnumerator value="0" name="CastInsitu" displayLabel="Cast Insitu" description="The member is constructed on site." />
29
+ <ECEnumerator value="1" name="PreCast" displayLabel="Pre cast" description="The member is pre-cast off site and assmebled on site" />
30
+ </ECEnumeration>
31
+
32
+ <ECEnumeration typeName="RebarFunction" backingTypeName="int" isStrict="true" description="Specifies whether a Rebar is meant to be longitudinal bars that resist flexure or transverse bars that resist shear.">
33
+ <ECEnumerator value="0" name="LongitudinalBar" displayLabel="Longitudinal Bars" description="The bars placed on the primary bending plane, along the direction of the normal stresses." />
34
+ <ECEnumerator value="1" name="TransverseBar" displayLabel="Transverse Bars" description="The bars (links) that primarily resist shear (and/or torsion)." />
35
+ </ECEnumeration>
36
+
37
+ <ECEnumeration typeName="RebarPattern" backingTypeName="int" isStrict="true" description="Specifies the reinforcing pattern to be used when designing the member (E.g: Mesh or Individual bars).">
38
+ <ECEnumerator value="0" name="IndividualReBar" displayLabel="Individual Rebar" description="Indicates that the member is to be reinforced using individual bars." />
39
+ <ECEnumerator value="1" name="MeshRebar" displayLabel="Mesh Rebar" description="Indicates that the member is to be reinforced using a mesh ( E.g: In a 2 way slab)." />
40
+ <ECEnumerator value="2" name="MixedRebar" displayLabel="Mixed Rebar" description="Indicates that the member is to be reinforced using a mesh, but with individual bars added where necessary." />
41
+ <ECEnumerator value="3" name="BundledRebar" displayLabel="Bundled Rebar" description="A bundel of individual bars touching each other." />
42
+ </ECEnumeration>
43
+
44
+ <!--NOTE : Positioned With reference to the center of the bounding box of the cross section-->
45
+ <ECEnumeration typeName="RebarPosition" backingTypeName="int" isStrict="true" description="Indicates a reference position of the bar in the cross-section of a member. To be used when designing and detailing the bars in a member.">
46
+ <ECEnumerator value="0" name="Top" displayLabel="Top" description="The bars placed near the top layer of a cross section." />
47
+ <ECEnumerator value="1" name="Bottom" displayLabel="Bottom" description="The bars placed near the bottom edge of a cross section." />
48
+ <ECEnumerator value="2" name="Right" displayLabel="Right" description="The bars placed near the left edge of a cross section." />
49
+ <ECEnumerator value="3" name="Left" displayLabel="Left" description="The bars placed near the right layer of a cross section." />
50
+ <ECEnumerator value="4" name="TopNearFace" displayLabel="Top Near Face" description="Top bars near the outer edge of the cross section." />
51
+ <ECEnumerator value="5" name="TopFarFace" displayLabel="Top Far Face" description="Top bars near the far edge of the cross section like for locating the bars on the bottom of the flange of a T-beam." />
52
+ <!-- Add others -->
53
+ </ECEnumeration>
54
+
55
+ <ECEnumeration typeName="ReferenceDirection" backingTypeName="int" isStrict="true" description="Indicates the reference direction for a given design element or action. E.g: Bars along the X-direction, or Force along the X-direction.">
56
+ <ECEnumerator value="0" name="X" displayLabel="Local X-direction" description="Indicates the direction along the member's local X-axis (r?)." />
57
+ <ECEnumerator value="1" name="Y" displayLabel="Local Y-direction" description="Indicates the direction along the member's local Y-axis (s?)." />
58
+ <ECEnumerator value="2" name="Z" displayLabel="Local Z-direction" description="Indicates the direction along the member's local Z-axis (t?)." />
59
+ <ECEnumerator value="3" name="AtAngleToX" displayLabel="At Angle to X" description="A direction that is at angle to the local X-axis, measured anticlockwise." />
60
+ </ECEnumeration>
61
+
62
+ <ECEnumeration typeName="StructureType" backingTypeName="int" isStrict="true" description="Specifies the type of the structure">
63
+ <ECEnumerator value="0" name="General" displayLabel="General" description="A general default structure that is a collectino of sub structures." />
64
+ <ECEnumerator value="1" name="LateralLoadResistingFrame" displayLabel="Lateral Load Resisting Frame" description="A frame formed of beams and columns to resist lateral loads." />
65
+ <ECEnumerator value="2" name="MatFoundationWithLiftPit" displayLabel="Mat Foundation With Lift Pit" description="A MatFoundation with a lift pit." />
66
+ </ECEnumeration>
67
+
68
+ <!-- ************* Mixins *************************************************-->
69
+ <ECEntityClass typeName="ISubStructure" modifier="Abstract" displayLabel="ISubStructure" description="A portion of the primary Structure">
70
+ <ECCustomAttributes>
71
+ <IsMixin xmlns="CoreCustomAttributes.01.00.00">
72
+ <AppliesToEntityClass>Design</AppliesToEntityClass>
73
+ </IsMixin>
74
+ </ECCustomAttributes>
75
+ <ECNavigationProperty propertyName="SubStructureCriteria" relationshipName="SubStructureRefersToSubStructureCriteria" direction="Forward" displayLabel="SubStructure Criteria" description="The design criteria." />
76
+ </ECEntityClass>
77
+
78
+ <ECEntityClass typeName="ISubStructureCriteria" modifier="Abstract" displayLabel="ISubStructure Criteria" description="A portion of the primary Structure">
79
+ <ECCustomAttributes>
80
+ <IsMixin xmlns="CoreCustomAttributes.01.00.00">
81
+ <AppliesToEntityClass>DesignCriteria</AppliesToEntityClass>
82
+ </IsMixin>
83
+ </ECCustomAttributes>
84
+ </ECEntityClass>
85
+
86
+ <ECEntityClass typeName="IReinforcement" modifier="Abstract" displayLabel="IReinforcement" description="A representation of the reinforcement within an element.">
87
+ <ECCustomAttributes>
88
+ <IsMixin xmlns="CoreCustomAttributes.01.00.00">
89
+ <AppliesToEntityClass>Rebar</AppliesToEntityClass>
90
+ </IsMixin>
91
+ </ECCustomAttributes>
92
+ </ECEntityClass>
93
+
94
+ <!-- This should probably be defined in StructuralAnalysis schema -->
95
+ <ECEntityClass typeName="IDesign" modifier="Abstract" displayLabel="IDesign" description="A designed representation of the analytical element">
96
+ <ECCustomAttributes>
97
+ <IsMixin xmlns="CoreCustomAttributes.01.00.00">
98
+ <AppliesToEntityClass>bis:Element</AppliesToEntityClass>
99
+ </IsMixin>
100
+ </ECCustomAttributes>
101
+ <ECProperty propertyName="MaxDemandCapacityRatio" typeName="double" displayLabel="Max Demand Capacity Ratio" description="Maximum demand/capacity ratio for the design run of the element." />
102
+ </ECEntityClass>
103
+
104
+ <!-- ********************************************** The primary CDS classes **************************************** -->
105
+ <ECEntityClass typeName="DesignResult" modifier="Abstract" displayLabel="Design Result" description="The design result">
106
+ <BaseClass>bis:InformationRecordElement</BaseClass>
107
+ <BaseClass>bis:IParentElement</BaseClass>
108
+ </ECEntityClass>
109
+
110
+ <ECEntityClass typeName="Design" modifier="Abstract" displayLabel="Design" description="A Design entity within CDC which can be a linear element, a surface element or an independent entity such as a corbel / connection">
111
+ <BaseClass>bis:InformationRecordElement</BaseClass>
112
+ <BaseClass>bis:IParentElement</BaseClass>
113
+ <BaseClass>IDesign</BaseClass>
114
+ <BaseClass>ISubStructure</BaseClass>
115
+ <ECProperty propertyName="TopOfConcrete" typeName="double" displayLabel="Top of Concrete" description="The top of concrete level for the given element or entity." />
116
+ <ECNavigationProperty propertyName="DesignCriteria" relationshipName="DesignRefersToDesignCriteria" direction="Forward" displayLabel="Desgin Criteria" description="The design criteria." />
117
+ </ECEntityClass>
118
+
119
+ <ECEntityClass typeName="Structure" modifier="Sealed" displayLabel="Structure" description="A collection of sub structures or structures">
120
+ <BaseClass>Design</BaseClass>
121
+ <ECProperty propertyName="Name" typeName="string" displayLabel="Name" description="The name of the structure." />
122
+ <ECProperty propertyName="StructureType" typeName="StructureType" displayLabel="Structure Type" description="The element that represents an entity that can be designed." />
123
+ </ECEntityClass>
124
+
125
+ <ECEntityClass typeName="ShellElement" modifier="Sealed" displayLabel="Shell" description="">
126
+ <BaseClass>bis:InformationRecordElement</BaseClass>
127
+ <ECNavigationProperty propertyName="Face" relationshipName="ShellElementRefersToFace" direction="Forward" displayLabel="Surface Member Opening" description="" />
128
+ </ECEntityClass>
129
+
130
+ <ECEntityClass typeName="CurveMemberDesign" modifier="Sealed" displayLabel="Curve Member Design" description="A Design entity for a curve member within CDC.">
131
+ <BaseClass>Design</BaseClass>
132
+ </ECEntityClass>
133
+
134
+ <ECEntityClass typeName="SurfaceDesign" modifier="Abstract" displayLabel="Surface Design" description="A Design entity for a surface within CDC.">
135
+ <BaseClass>Design</BaseClass>
136
+ <ECProperty propertyName="SurfaceMemberType" typeName="sa:SurfaceMemberClassificationType" displayLabel="Surface Member Type" description="The type of Surface being designed." />
137
+ </ECEntityClass>
138
+
139
+ <ECEntityClass typeName="SurfaceModifierDesign" modifier="Sealed" displayLabel="Surface Modifier Design" description="A Design entity for a Surface Modifier within CDC.">
140
+ <BaseClass>SurfaceDesign</BaseClass>
141
+ <ECNavigationProperty propertyName="SurfaceMemberModifier" relationshipName="SurfaceModifierDesignRefersToSurfaceMemberModifier" direction="Forward" displayLabel="Surface Member Opening" description="" />
142
+ </ECEntityClass>
143
+
144
+ <ECEntityClass typeName="SurfaceOpening" modifier="Sealed" displayLabel="Surface Opening" description="">
145
+ <BaseClass>bis:InformationRecordElement</BaseClass>
146
+ <ECNavigationProperty propertyName="SurfaceMemberOpening" relationshipName="SurfaceOpeningRefersToSurfaceMemberOpening" direction="Forward" displayLabel="Surface Member Opening" description="" />
147
+ </ECEntityClass>
148
+
149
+ <ECEntityClass typeName="SurfaceMemberDesign" modifier="Sealed" displayLabel="Surface Member Design" description="A Design entity for a Surface member within CDC.">
150
+ <BaseClass>SurfaceDesign</BaseClass>
151
+ <ECNavigationProperty propertyName="SurfaceMember" relationshipName="SurfaceMemberDesignRefersToSurfaceMember" direction="Forward" displayLabel="Surface Member Opening" description="" />
152
+ </ECEntityClass>
153
+
154
+ <ECEntityClass typeName="DesignCriteria" modifier="Abstract" displayLabel="Design Criteria" description="A Design criteria within CDC.">
155
+ <BaseClass>bis:InformationRecordElement</BaseClass>
156
+ <BaseClass>ISubStructureCriteria</BaseClass>
157
+ <ECProperty propertyName="Name" typeName="string" displayLabel="Name" description="A name to group the criteria." />
158
+ <ECProperty propertyName="RebarPattern" typeName="RebarPattern" displayLabel="Rebar Pattern" description="The rebar pattern to be used for design" />
159
+ <ECProperty propertyName="NominalCover" typeName="double" displayLabel="Nominal Cover" description="Nominal cover to the outermost rebars." />
160
+ </ECEntityClass>
161
+
162
+ <ECEntityClass typeName="CurveMemberDesignCriteria" modifier="Sealed" displayLabel="Curve Member Design Criteria" description="A design criteria for a curve member in CDC.">
163
+ <BaseClass>DesignCriteria</BaseClass>
164
+ </ECEntityClass>
165
+
166
+ <ECEntityClass typeName="SurfaceDesignCriteria" modifier="Sealed" displayLabel="Surface Design Criteria" description="A design criteria for a surface in CDC.">
167
+ <BaseClass>DesignCriteria</BaseClass>
168
+ <ECProperty propertyName="OuterLayerRebarDirection" typeName="ReferenceDirection" displayLabel="Outer Layer Rebar Direction" description="The primary direction of bars in the outermost layer " />
169
+ </ECEntityClass>
170
+
171
+ <ECEntityClass typeName="StructureCriteria" modifier="Sealed" displayLabel="Structure Criteria" description="A set for criteria for the structure as a whole.">
172
+ <BaseClass>DesignCriteria</BaseClass>
173
+ <BaseClass>ISubStructureCriteria</BaseClass>
174
+ </ECEntityClass>
175
+
176
+ <ECEntityClass typeName="Rebar" modifier="Abstract" displayLabel="Rebar" description="A rebar within CDC">
177
+ <BaseClass>bis:InformationRecordElement</BaseClass>
178
+ <BaseClass>IReinforcement</BaseClass>
179
+ <ECProperty propertyName="RebarSize" typeName="int" displayLabel="Rebar Size" description="The diameter of the rebar." />
180
+ <ECProperty propertyName="RebarType" typeName="int" displayLabel="Rebar Type" description="The type of the rebar." />
181
+ <ECProperty propertyName="XPosition" typeName="double" displayLabel="X Position" description="The x coordinate of the c.g of bar with respect to the centre of the bounding box of a given profile." />
182
+ <ECProperty propertyName="YPosition" typeName="double" displayLabel="Y Position" description="The y coordinate of the c.g of the bar with respect to the centre of the bounding box of a given profile." />
183
+ </ECEntityClass>
184
+
185
+ <ECEntityClass typeName="IndividualRebar" modifier="Sealed" displayLabel="Individual Rebar" description="An individual rebar within CDC.">
186
+ <BaseClass>Rebar</BaseClass>
187
+ <ECProperty propertyName="Length" typeName="double" displayLabel="Length" description="The length of the individual bar." />
188
+ </ECEntityClass>
189
+
190
+ <ECEntityClass typeName="RebarGroup" modifier="Sealed" displayLabel="Rebar Group" description="A group of rebars to be considered as a group (E.g. 4-#8 bars @2 inch crs) and spaced evenly">
191
+ <BaseClass>Rebar</BaseClass>
192
+ <ECProperty propertyName="BarCount" typeName="int" displayLabel="Bar Count" description="The number of rebars within the group." />
193
+ <ECProperty propertyName="BarSpacing" typeName="double" displayLabel="Bar Spacing" description="The number of rebars within the group." />
194
+ </ECEntityClass>
195
+
196
+ <ECEntityClass typeName="RebarBundle" modifier="Sealed" displayLabel="Rebar Bundle" description="A group of rebars to be considered as a bundle (E.g. 4-#8 bars) ">
197
+ <BaseClass>Rebar</BaseClass>
198
+ <ECProperty propertyName="BarCount" typeName="int" displayLabel="Bar Count" description="The number of rebars within the group." />
199
+ </ECEntityClass>
200
+
201
+ <ECEntityClass typeName="RebarMesh" modifier="Sealed" displayLabel="Rebar Mesh" description="A mesh of rebars">
202
+ <BaseClass>Rebar</BaseClass>
203
+ <ECProperty propertyName="BarSpacing" typeName="double" displayLabel="Bar Spacing" description="The spacing of rebars within the mesh." />
204
+ </ECEntityClass>
205
+
206
+ <!-- *********************** Relationships *************************************-->
207
+ <ECRelationshipClass typeName="SubStructureRefersToSubStructureCriteria" strength="referencing" modifier="Sealed" description="A relationship that indicates that a SubStructure refers to the SubStructureCriteria instance.">
208
+ <Source multiplicity="(0..*)" roleLabel="references" polymorphic="true">
209
+ <Class class="ISubStructure" />
210
+ </Source>
211
+ <Target multiplicity="(0..1)" roleLabel="is referenced by" polymorphic="true">
212
+ <Class class="ISubStructureCriteria" />
213
+ </Target>
214
+ </ECRelationshipClass>
215
+
216
+ <ECRelationshipClass typeName="DesignRefersToDesignCriteria" strength="referencing" modifier="Sealed" description="A relationship that indicates that a Design refers to a Criteria instance.">
217
+ <Source multiplicity="(0..*)" roleLabel="references" polymorphic="true">
218
+ <Class class="Design" />
219
+ </Source>
220
+ <Target multiplicity="(0..1)" roleLabel="is referenced by" polymorphic="true">
221
+ <Class class="DesignCriteria" />
222
+ </Target>
223
+ </ECRelationshipClass>
224
+
225
+ <ECRelationshipClass typeName="ShellElementRefersToFace" strength="referencing" modifier="Sealed" description="">
226
+ <!-- Theoretically source multiplicity should be '(0..1)', but ECDb has a bug where having such multiplicity produces an error.
227
+ This can be fixed by adding strengthDirection="Backward", but it doesn't make sense for our use case. -->
228
+ <Source multiplicity="(0..*)" roleLabel="references" polymorphic="false">
229
+ <Class class="ShellElement" />
230
+ </Source>
231
+ <Target multiplicity="(1..1)" roleLabel="is referenced by" polymorphic="false">
232
+ <Class class="sa:Face" />
233
+ </Target>
234
+ </ECRelationshipClass>
235
+
236
+ <ECRelationshipClass typeName="SurfaceMemberDesignRefersToSurfaceMember" strength="referencing" modifier="Sealed" description="">
237
+ <!-- Theoretically source multiplicity should be '(0..1)', but ECDb has a bug where having such multiplicity produces an error.
238
+ This can be fixed by adding strengthDirection="Backward", but it doesn't make sense for our use case. -->
239
+ <Source multiplicity="(0..*)" roleLabel="references" polymorphic="false">
240
+ <Class class="SurfaceMemberDesign" />
241
+ </Source>
242
+ <Target multiplicity="(1..1)" roleLabel="is referenced by" polymorphic="false">
243
+ <Class class="sa:SurfaceMember" />
244
+ </Target>
245
+ </ECRelationshipClass>
246
+
247
+ <ECRelationshipClass typeName="SurfaceOpeningRefersToSurfaceMemberOpening" strength="referencing" modifier="Sealed" description="">
248
+ <!-- Theoretically source multiplicity should be '(0..1)', but ECDb has a bug where having such multiplicity produces an error.
249
+ This can be fixed by adding strengthDirection="Backward", but it doesn't make sense for our use case. -->
250
+ <Source multiplicity="(0..*)" roleLabel="references" polymorphic="false">
251
+ <Class class="SurfaceOpening" />
252
+ </Source>
253
+ <Target multiplicity="(1..1)" roleLabel="is referenced by" polymorphic="false">
254
+ <Class class="sa:SurfaceMemberOpening" />
255
+ </Target>
256
+ </ECRelationshipClass>
257
+
258
+ <ECRelationshipClass typeName="SurfaceModifierDesignRefersToSurfaceMemberModifier" strength="referencing" modifier="Sealed" description="">
259
+ <Source multiplicity="(0..*)" roleLabel="references" polymorphic="false">
260
+ <Class class="SurfaceModifierDesign" />
261
+ </Source>
262
+ <Target multiplicity="(1..1)" roleLabel="is referenced by" polymorphic="false">
263
+ <Class class="sa:SurfaceMemberModifier" />
264
+ </Target>
265
+ </ECRelationshipClass>
266
+
267
+ <ECRelationshipClass typeName="SurfaceMemberDesignOwnsSurfaceModifierDesign" strength="embedding" modifier="Sealed">
268
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
269
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
270
+ <Class class="SurfaceMemberDesign" />
271
+ </Source>
272
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
273
+ <Class class="SurfaceModifierDesign" />
274
+ </Target>
275
+ </ECRelationshipClass>
276
+
277
+ <ECRelationshipClass typeName="SurfaceMemberDesignOwnsSurfaceOpening" strength="embedding" modifier="Sealed">
278
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
279
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
280
+ <Class class="SurfaceMemberDesign" />
281
+ </Source>
282
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
283
+ <Class class="SurfaceOpening" />
284
+ </Target>
285
+ </ECRelationshipClass>
286
+
287
+ <ECRelationshipClass typeName="StructureOwnsDesigns" strength="embedding" modifier="Sealed">
288
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
289
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
290
+ <Class class="Structure" />
291
+ </Source>
292
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="true">
293
+ <Class class="Design" />
294
+ </Target>
295
+ </ECRelationshipClass>
296
+
297
+ <ECRelationshipClass typeName="DesignOwnsDesignResult" strength="embedding" modifier="Sealed" description="A relationship that indicates that a Design owns the Designresult.">
298
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
299
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
300
+ <Class class="Design" />
301
+ </Source>
302
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="true">
303
+ <Class class="DesignResult" />
304
+ </Target>
305
+ </ECRelationshipClass>
306
+
307
+ <ECRelationshipClass typeName="DesignResultOwnsReinforcements" strength="embedding" modifier="Sealed" description="A relationship that indicates that a DesignResult owns the Rebar instances.">
308
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
309
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
310
+ <Class class="DesignResult" />
311
+ </Source>
312
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
313
+ <Class class="IReinforcement" />
314
+ </Target>
315
+ </ECRelationshipClass>
316
+
310
317
  </ECSchema>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bentley/structural-design-concrete-schema",
3
3
  "license": "MIT",
4
- "version": "1.0.0-dev.12",
4
+ "version": "1.0.0-dev.13",
5
5
  "homepage": "https://www.imodeljs.org/",
6
6
  "keywords": [
7
7
  "Bentley",