IfcStructuralSurfaceMemberVarying

Definition from IAI: Instances of the entity IfcStructuralSurfaceMemberVarying shall be used to describe planar structural elements with a varying thickness.

The inherited Thickness attribute shall be given, the additional, subsequent thickness values are given by the SubsequentThickness list. The derived list VaryingThickness is created by pushing theThickness attribute at the beginning of the SubsequentThickness list.

> NOTE: The list VaryingThickness and the list ShapeRepresentations of the referenced IfcShapeAspect are corresponding lists.

> HISTORY: New entity in Release IFC2x Edition 2.

Topology Use Definition

Instances of IfcStructuralSurfaceMemberVarying shall have a topology representation. It includes a placement and a product representation. The IfcProductRepresentation shall be given by an item of Representations being of type "IfcTopologyRepresentation". The guidelines on using the location and topological representation capabilities are identical with those at the supertype IfcStructuralSurfaceMember.

Shape Aspect Use Definition

The attribute VaryingThicknessLocation references a shape aspect that has a list of ShapeRepresentations. Each individual IfcShapeRepresentation within that list shall have a single item within its list of Items. The type of the item shall be either:

- IfcCartesianPoint, or
- IfcPointOnSurface

Each list member within the list of ShapeRepresentations corresponds to the list member (at same position) of the list VaryingThickness, and provides the thickness at that location. At least three thickness values shall be given, the analytical volume is constructed by triangulation.

The following example shows a definition of a varying thickness by four Cartesian points.

VaryingThickness Position | VaryingThickness Value | VaryingThicknessLocation | Point | Coordinates
[1] | 0.2 | IfcShapeAspect.ShapeRepresentations[1] | Items[1] TYPEOF IfcCartesianPoint | [0.,0.]
[2] | 0.3 | IfcShapeAspect.ShapeRepresentations[2] | Items[2] TYPEOF IfcCartesianPoint | [1.,0.]
[3] | 0.4 | IfcShapeAspect.ShapeRepresentations[3] | Items[3] TYPEOF IfcCartesianPoint | [1.,1.]
[4] | 0.3 | IfcShapeAspect.ShapeRepresentations[4] | Items[4] TYPEOF IfcCartesianPoint | [0.,1.]

> NOTE: The units for the Value and the coordinates of the Cartesian point are given at the global unit assignment by IfcProject.UnitsInContext. In the example meter is used.

EXPRESS specification:

ENTITY IfcStructuralSurfaceMemberVarying
SUBTYPE OF ( | IfcStructuralSurfaceMember);
SubsequentThickness | : | LIST [2:?] OF IfcPositiveLengthMeasure;
VaryingThicknessLocation | : | IfcShapeAspect;
DERIVE
VaryingThickness | : | LIST [3:?] OF IfcPositiveLengthMeasure := IfcAddToBeginOfList(SELF\IfcStructuralSurfaceMember.Thickness, SubsequentThickness);
WHERE
WR61 | : | EXISTS(SELF\IfcStructuralSurfaceMember.Thickness);
WR62 | : | SIZEOF(QUERY(temp <* SELF.VaryingThicknessLocation.ShapeRepresentations | NOT(SIZEOF(temp\IfcRepresentation.Items) = 1) )) = 0;
WR63 | : | SIZEOF(QUERY(temp <* SELF.VaryingThicknessLocation.ShapeRepresentations | NOT(('IFCGEOMETRYRESOURCE.IFCCARTESIANPOINT' IN TYPEOF(temp\IfcRepresentation.Items[1])) OR ('IFCGEOMETRYRESOURCE.IFCPOINTONSURFACE' IN TYPEOF(temp\IfcRepresentation.Items[1]))) )) = 0;
END_ENTITY;

Attribute definitions:

SubsequentThickness | : | Defines the variable thickness of the structural face member using two or more subsequent and additional thickness values. The first thickness value is already given by the inherited Thickness value and shall not be included in the list.
VaryingThicknessLocation | : | A shape aspect, containing a list of shape representations, each defining either one Cartesian point or one point on surface (by parameter values) which are needed to provide the positions of the VaryingThickness. The values contained in the list of IfcShapeAspect.ShapeRepresentations correspond to the values at the same position in the list VaryingThickness. The locations shall be along the outer bounds of the face (or surface) only.
VaryingThickness | : | Derived list of all varying thickness values by pushing the inherited starting thickness to the beginning of the list of SubsequentThickness.

Formal Propositions:

WR61 | : | The inherited Thickness attribute shall have a value assigned.
WR62 | : | All point locations shall be given by only one shape representation item within the list of shape representations of the shape aspect.
WR63 | : | Each shape representation, representing the point at which a varying thickness applies, shall be represented by either a Cartesian point or by a point on surface.

Inheritance graph

ENTITY IfcStructuralSurfaceMemberVarying;
ENTITY IfcRoot;
GlobalId | : | IfcGloballyUniqueId;
OwnerHistory | : | IfcOwnerHistory;
Name | : | OPTIONAL IfcLabel;
Description | : | OPTIONAL IfcText;
ENTITY IfcObjectDefinition;
INVERSE
HasAssignments | : | SET OF IfcRelAssigns FOR RelatedObjects;
IsDecomposedBy | : | SET OF IfcRelDecomposes FOR RelatingObject;
Decomposes | : | SET [0:1] OF IfcRelDecomposes FOR RelatedObjects;
HasAssociations | : | SET OF IfcRelAssociates FOR RelatedObjects;
ENTITY IfcObject;
ObjectType | : | OPTIONAL IfcLabel;
INVERSE
IsDefinedBy | : | SET OF IfcRelDefines FOR RelatedObjects;
ENTITY IfcProduct;
ObjectPlacement | : | OPTIONAL IfcObjectPlacement;
Representation | : | OPTIONAL IfcProductRepresentation;
INVERSE
ReferencedBy | : | SET OF IfcRelAssignsToProduct FOR RelatingProduct;
ENTITY IfcStructuralItem;
INVERSE
AssignedStructuralActivity | : | SET OF IfcRelConnectsStructuralActivity FOR RelatingElement;
ENTITY IfcStructuralMember;
INVERSE
ReferencesElement | : | SET OF IfcRelConnectsStructuralElement FOR RelatedStructuralMember;
ConnectedBy | : | SET OF IfcRelConnectsStructuralMember FOR RelatingStructuralMember;
ENTITY IfcStructuralSurfaceMember;
PredefinedType | : | IfcStructuralSurfaceTypeEnum;
Thickness | : | OPTIONAL IfcPositiveLengthMeasure;
ENTITY IfcStructuralSurfaceMemberVarying;
SubsequentThickness | : | LIST [2:?] OF IfcPositiveLengthMeasure;
VaryingThicknessLocation | : | IfcShapeAspect;
DERIVE
VaryingThickness | : | LIST [3:?] OF IfcPositiveLengthMeasure := IfcAddToBeginOfList(SELF\IfcStructuralSurfaceMember.Thickness, SubsequentThickness);
END_ENTITY;