Model Element
Overview
Provides information generally about elements that are not the subject of more detailed development in other functional parts.
Many elements in IFC are defined according a consistent pattern. A 'type' defines a set of attributes for many occurrences of an object. This pattern is used for structural elements such as beams and columns (specifically for the non structural view of such members) and for all distribution elements in building services.
Within this functional part, only information that is applicable to all such 'pattern' elements are provided. This includes:
- Specification of a name and description for the element if required
- Specification of the type applicable to one or more elements
- The shape representation of the element
- Material from which the element is constructed
Further specification of the type is typically achieved using a type enumeration. To be more precise about the element concerned, it is specified according to its type.
Results
Model of opening occurrence including shape representation and other basic information
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| In the descriptions below, IfcElement and IfcElementType are used as placeholders for particular element names (e.g. IfcBeamType/IfcBeam, IfcChillerType/IfcEnergyConversionDevice) | ||||
| Select the element type | IfcElementType <subtype> | |||
| Specify the name of the element type | IfcElementType.Name | |||
| Specify a description for the element type | IfcElementType.Description | |||
| Set the particular type of the element from the predefined range in the element type enumeration | IfcElementType.PredefinedType | |||
| Select the element occurrence | IfcElementType <subtype> | |||
| Specify the name of the element occurrence | IfcElement.Name | |||
| Specify a description for the element occurrence | IfcElement.Description | |||
| Establish the placement of the origin point of the element occurrence | fp_place_object | |||
| An element is generally a discrete product having a predefined shape representation (geometry) that can be specified for the type. Provision of a representation map is normally optional within the model but should be asserted for building model exchange. Note that an element type may have many mapped representations. |
fp_map_representation | |||
| Associate the material with the element | fp_associate_material |
IFC Entities Required
- IfcElement
- IfcElementType
- IfcObject
- IfcProduct
- IfcPropertyDefinition
- IfcPropertySetDefinition
- IfcPropertySet
- IfcRelationship
- IfcRelDefines
- IfcRelDefinesByProperties
- IfcRelDefinesByType
- IfcRoot
- IfcTypeObject
- IfcTypeProduct
IFC Datatypes Required
- IfcGloballyUniqueId
- IfcIdentifier
- IfcLabel
- IfcText
IFC Functions Required
- -
IFC Property Sets Required
- -
IDM Functional Parts Required
- fp_apply_owner_history
- fp_apply_quantity
- fp_associate_material
- fp_connects_elements
- fp_contains_in_spatial_structure
- fp_map_representation
- fp_place_object
- fp_property
- fp_represent_product
EXPRESS Schema
SCHEMA FP_MODEL_ELEMENT;
TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;
TYPE IfcIdentifier = STRING;
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcText = STRING;
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;
INVERSE
IsDefinedBy : SET OF IfcRelDefines FOR RelatedObjects;
WHERE
WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
END_ENTITY;
ENTITY IfcRoot
ABSTRACT SUPERTYPE OF (ONEOF(IfcObject, IfcPropertyDefinition, IfcRelationship));
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
PropertyDefinitionOf : SET [0:1] OF IfcRelDefinesByProperties FOR RelatingPropertyDefinition;
DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets;
END_ENTITY;
ENTITY IfcRelDefinesByProperties
SUBTYPE OF(IfcRelDefines);
RelatingPropertyDefinition : IfcPropertySetDefinition;
END_ENTITY;
ENTITY IfcRelDefines
ABSTRACT SUPERTYPE OF (ONEOF(IfcRelDefinesByProperties, IfcRelDefinesByType))
SUBTYPE OF(IfcRelationship);
RelatedObjects : SET [1:?] OF IfcObject;
END_ENTITY;
ENTITY IfcRelationship
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcElement
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcProduct);
Tag : OPTIONAL IfcIdentifier;
END_ENTITY;
ENTITY IfcRelDefinesByType
SUBTYPE OF(IfcRelDefines);
RelatingType : IfcTypeObject;
END_ENTITY;
ENTITY IfcTypeObject
SUBTYPE OF(IfcPropertyDefinition);
ApplicableOccurrence : OPTIONAL IfcLabel;
HasPropertySets : OPTIONAL LIST [1:?] OF IfcPropertySetDefinition;
INVERSE
ObjectTypeOf : SET [0:1] OF IfcRelDefinesByType FOR RelatingType;
WHERE
WR1 : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;
ENTITY IfcTypeProduct
SUBTYPE OF(IfcTypeObject);
Tag : OPTIONAL IfcLabel;
RepresentationMaps : OPTIONAL 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 fp_apply_owner_history;
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;
ENTITY fp_map_representation;
END_ENTITY;
ENTITY fp_associate_material;
END_ENTITY;
ENTITY fp_apply_quantity;
END_ENTITY;
ENTITY fp_contains_in_spatial_structure;
END_ENTITY;
ENTITY fp_connects_elements;
END_ENTITY;
END_SCHEMA;