Model Slab
Overview
Provides the information concerning slabs. Slabs are used to describe horizontal and near horizontal constructions such as floors, ceilings, individual parts of a roof construction and the like.
The information presented in this functional part is sufficient for the exchange of a basic building model. This information includes:
- Specification of slab name and description if required
- Length, width and height dimensions of the slab are established by the geometric shape representation of the slab but should be provided to specify the extents of the bounding box
- Shape representations of the slab
- Specification of slab type in terms of its usage context (floor, roof etc.)
- Identification of the type to which a slab occurrence conforms
- Whether or not a slab is used for fire protection
- Whether or not a slab is load bearing
- Whether a slab is internal (boundary between internal spaces) or external (boundary between an internal space and an external space)
- The material from which a slab is constructed
Results
Model of slab occurrence(s) including shape representation and other basic information
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| Model the element type | ||||
|
IfcSlabType.PredefinedType | |||
|
IfcElementType.ElementType | |||
|
fp_map_representation | |||
| Specify the occurrence of the slab | ||||
| Slabs can also be directly specified as occurrences without having to use a slab type. However, it is not recommended that this approach is used.
Generally, a rule should be defined that tests for the specification of a slab type for a slab occurrence and ensures that a slab cannot occur without a type specification. |
||||
|
IfcSite.GlobalId::IfcGloballyUniqueId | |||
|
IfcSite.OwnerHistory :fp_apply_owner_history | |||
|
IfcSlab.Name | |||
|
IfcSlab.Description | |||
| Model the occurrence | ||||
|
fp_place_object | |||
|
fp_represent_product | |||
| Define the type of slab to which the slab occurrence conforms | fp_define_by_type | |||
| Set values in the property set Pset_SlabCommon as indicated below. | ||||
|
Pset_SlabCommon.Reference | |||
|
Pset_SlabCommon.FireRating | |||
|
Pset_SlabCommon.IsExternal | |||
|
Pset_SlabCommon.LoadBearing | |||
| Define the property set for the slab occurrence | fp_define_by_properties | |||
| Define the material from which the slab is constructed | fp_associate_material | |||
| Additional quantities may be applied to a slab but are not specified within this functional part. Quantities may be provided according to particular methods of measurement applied in different locations. | fp_apply_quantity[xxx] |
IFC Entities Required
- IfcBuildingElement
- IfcBuildingElementType
- IfcElement
- IfcElementType
- IfcObject
- IfcProduct
- IfcPropertyDefinition
- IfcPropertySetDefinition
- IfcPropertySet
- IfcRoot
- IfcSlab
- IfcSlabType
- IfcTypeObject
- IfcTypeProduct
IFC Datatypes Required
- IfcGloballyUniqueId
- IfcIdentifier
- IfcLabel
- IfcSlabTypeEnum
- IfcText
IFC Functions Required
- -
IFC Property Sets Required
- Pset_SlabCommon
IDM Functional Parts Required
- fp_apply_owner_history
- fp_define_property_set
- fp_map_representation
- fp_place_object
- fp_property
- fp_represent_product
EXPRESS-G
EXPRESS Schema
SCHEMA FP_MODEL_SLAB;
TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;
TYPE IfcIdentifier = STRING;
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcText = STRING;
END_TYPE;
TYPE IfcSlabTypeEnum = ENUMERATION OF
(FLOOR,
ROOF,
LANDING,
USERDEFINED,
NOTDEFINED);
END_TYPE;
ENTITY IfcProduct
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
ObjectPlacement : fp_place_object;
Representation : fp_represent_product;
WHERE
WR1 : (EXISTS(Representation) AND EXISTS(ObjectPlacement))
OR (EXISTS(Representation) AND
(NOT('IFC2X2_FINAL.IFCPRODUCTDEFINITIONSHAPE' IN TYPEOF(Representation))))
OR (NOT(EXISTS(Representation)));
END_ENTITY;
ENTITY IfcObject
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
ObjectType : OPTIONAL IfcLabel;
WHERE
WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
END_ENTITY;
ENTITY IfcRoot
ABSTRACT SUPERTYPE OF (ONEOF(IfcObject, IfcPropertyDefinition));
GlobalId : IfcGloballyUniqueId;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
OwnerHistory : fp_apply_owner_history;
UNIQUE
UR1 : GlobalId;
END_ENTITY;
ENTITY IfcPropertyDefinition
ABSTRACT SUPERTYPE OF (ONEOF(IfcPropertySetDefinition, IfcTypeObject))
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcPropertySetDefinition
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcPropertyDefinition);
INVERSE
DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets;
END_ENTITY;
ENTITY IfcTypeObject
SUBTYPE OF(IfcPropertyDefinition);
ApplicableOccurrence : OPTIONAL IfcLabel;
HasPropertySets : OPTIONAL LIST [1:?] OF IfcPropertySetDefinition;
WHERE
WR1 : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;
ENTITY IfcTypeProduct
SUBTYPE OF(IfcTypeObject);
Tag : OPTIONAL IfcLabel;
RepresentationMaps : SET [1:?] OF fp_map_representation;
WHERE
WR41 : NOT(EXISTS(SELF\IfcTypeObject.ObjectTypeOf[1])) OR
(SIZEOF(QUERY(temp <* SELF\IfcTypeObject.ObjectTypeOf[1].RelatedObjects |
NOT('IFC2X2_FINAL.IFCPRODUCT' IN TYPEOF(temp)))
) = 0);
END_ENTITY;
ENTITY IfcElementType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcTypeProduct);
ElementType : OPTIONAL IfcLabel;
END_ENTITY;
ENTITY IfcBuildingElementType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcElementType);
END_ENTITY;
ENTITY IfcSlabType
SUBTYPE OF(IfcBuildingElementType);
PredefinedType : IfcSlabTypeEnum;
END_ENTITY;
ENTITY fp_map_representation;
END_ENTITY;
ENTITY fp_apply_owner_history;
END_ENTITY;
ENTITY IfcElement
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcProduct);
Tag : OPTIONAL IfcIdentifier;
END_ENTITY;
ENTITY IfcBuildingElement
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcElement);
END_ENTITY;
ENTITY IfcSlab
SUBTYPE OF(IfcBuildingElement);
PredefinedType : OPTIONAL IfcSlabTypeEnum;
WHERE
WR2 : (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR
((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
END_ENTITY;
ENTITY fp_place_object;
END_ENTITY;
ENTITY fp_represent_product;
END_ENTITY;
ENTITY IfcPropertySet
SUBTYPE OF(IfcPropertySetDefinition);
HasProperties : SET [1:?] OF fp_property;
WHERE
WR31 : EXISTS(SELF\IfcRoot.Name);
WR32 : IfcUniquePropertyName(HasProperties);
END_ENTITY;
ENTITY fp_property;
END_ENTITY;
END_SCHEMA;