Class Ifc4::IfcFurniture

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcFurniture : public Ifc4::IfcFurnishingElement

Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure.

Occurrences of furniture that are built in (where the property Pset_FurnitureTypeCommon.IsBuiltIn is asserted to be TRUE) should have their connection relationship with a building element occurrence defined through the IfcRelConnectsElements relationship.HISTORY: New entity in IFC2x2

Type Use Definition IfcFurniture defines the occurrence of any furniture; common information about furniture types is handled by IfcFurnitureType. The IfcFurnitureType (if present) may establish the common type name, usage (predefined type), properties, materials, composition, assignments, and representations. The IfcFurnitureType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcFurnitureType has aggregated elements, such objects are reflected at the IfcFurniture occurrence using the IfcRelDefinesByObject relationship.

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcFurnitureType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcFurnitureType.HasPropertySets. If both are given, then the properties directly defined at IfcFurniture override the properties defined at IfcFurnitureType. Refer to the documentation at the supertype IfcFurnishingElement and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_FurnitureTypeCommon

The following property set definitions are applicable to this entity according to the PredefinedType attribute:

Pset_FurnitureTypeChair (CHAIR) Pset_FurnitureTypeDesk (DESK) Pset_FurnitureTypeFileCabinet (FILECABINET) Pset_FurnitureTypeTable (TABLE)

Material Use Definition The material of the IfcFurniture is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFurnitureType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

‘Finish’: The finish, typically at visible aspects of the furniture. ‘Frame’: The frame from which the object is constructed. ‘Hardware’: Finish hardware such as knobs or handles. ‘Padding’: Padding such as cushions. ‘Panel’: Panels such as glass.

Composition Use Definition The IfcFurniture may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurniture and RelatedObjects contains one or more components. Composition use is defined for the following predefined types:

(All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components.

Public Types

typedef IfcTemplatedEntityList<IfcFurniture> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcFurniture.

::Ifc4::IfcFurnitureTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4::IfcFurnitureTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcFurniture(IfcEntityInstanceData *e)
IfcFurniture(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4::IfcFurnitureTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()