Log In   View a printable version of the current page.
Model Furniture (FP)
Added by Janice Wix, last edited by Janice Wix on Feb 05, 2007  (view change)
Labels: 
(None)


Model Furniture

Overview

Provides the information concerning furniture. This information includes:

  • Specification of furniture name and description if required
  • Shape representation
  • Identification of whether furniture is built up from system furniture components
  • Specification of furniture or system furniture type and identification of the type to which a furniture occurrence conforms

In IFC, a furnishing element may be considered as either the complete furniture unit (chair, table, desk etc.) or as a system furniture element (such as a desktop, table leg, modesty panel etc.). Where system furniture elements are used, they are considered to be nested into a complete furniture element. As a rule, the hierarchy of types when considering furniture is:

  1. Use IfcSystemFurnitureType for furniture components
  2. Use IfcFurnitureType for furniture that has been assembled from system furniture and that has a known place of assembly
  3. Use IfcFurnishingType for furniture that is acquired as a complete item

IFC supports a variety of shape representations for furnishing elements ranging from 2D to 3D surface model and boundary representations.

At present, IFC does not maintain a list of furniture/furnishing element types. The type must be declared by the user through the provision of a label capability. Guidance concerning the range of specific furniture types available may be found in national classification systems. The following items are examples of labels that may be assigned to furniture types. It is concerned only with internal furniture.

The list is drawn from the Uniclass classification system published by RIBA Enterprises Ltd and is reproduced by permission.

Wardrobe Chests of drawers Locker Coat rack
Hatstand Shoe tree Cloakroom unit Umbrella stand
Clothes drying cabinet Table Coffee table Dining table
Chair Easy chair Settee Stool
Bench Chaise longue Chair bed Futon
Sofa bed Bed Foldaway bed Bunk bed
Divan Waterbed Headboard Cradle
Cot Bedside unit Dressing table Bathroom cabinet
Towel dispenser Sanitary product dispenser Towel rail Soap dispenser
Soap holder Cupboard Chest Sideboard
Dresser Filing cabinet Map chest Plan chest
Desk tidy Carousels Vertical carousels Horizontal carousels
Trolleys Waste paper bin Ashtray Refuse bag holder
Fender Fire hood Kitchen cupboard Worktop
Bottle rack Lectern Pulpit Choir screen
Organ Font Showcase Notice board
Pin board Writing board Blackboard Dry marker board
Poster display unit Indoor poster display unit Outdoor poster display units Information sign
Nameplate Plaque Scoreboard Consulting couch
Hospital bed Hospital bedhead Dissection table Post-mortem table
Reception desk Footrest Armrest Copyholder
Anti-bandit screen Safe Point of sale unit Key security cabinet
Post box Postroom rack Acoustic hood Curtain pelmets
Beanbag Cushion Planter Vase
Plant Artificial plant Ornament Mirror
Ornamental screen Mural Painting Print
Sculpture Clock Wallhanging Tapestry

A similar list could also be defined for external furniture but is not developed at this stage.

Results

Model of furniture type(s) and occurrence(s) including shape representation where appropriate and other basic information

Description Entity/Pset/Functional Part MAN REC OPT
Model the furnishing element type
A furnishing element type is generally specified as either a system furniture element type, a furniture element type. In some cases however, it may be directly specified as a furnishing element type.
       

Set the global unique identifier

IfcSystemFurnitureElementType.GlobalId::IfcGloballyUniqueId
OR
IfcFurnitureElementType.GlobalId::IfcGloballyUniqueId
OR
IfcFurnishingElementType.GlobalId::IfcGloballyUniqueId
   

Apply the owner history

IfcSystemFurnitureElementType.OwnerHistory::fp_apply_owner_history
OR
IfcFurnitureElementType.OwnerHistory::fp_apply_owner_history
OR
IfcFurnishingElementType.OwnerHistory::fp_apply_owner_history
   

Specify the name of the furnishing element type

IfcSystemFurnitureElementType.Name::IfcLabel
OR
IfcFurnitureElementType.Name::IfcLabel
OR
IfcFurnishingElementType.Name::IfcLabel
   

Specify a description for the furnishing element type

IfcSystemFurnitureElementType.Description::IfcText
OR
IfcFurnitureElementType.Description::IfcText
OR
IfcFurnishingElementType.Description::IfcText
   
Set the applicable occurrence

This should be set to a value of 'IfcFurnishingElement' to control the occurrence entity for which the type specification is defined

IfcSystemFurnitureElementType.ApplicableOccurrence::IfcLabel
OR
IfcFurnitureElementType.ApplicableOccurrence ::IfcLabel
OR
IfcFurnishingElementType.ApplicableOccurrence::IfcLabel
   

Shape representations that have been predefined as symbols (representation maps) may be associated to the entity.


Note that, depending on particular needs, the need for a representation map is entirely optional. If required however, more than one representation map may be defined for the type.


Where the representation map may need to be asserted, the fact is indicated through business rules in the exchange requirement.

IfcSystemFurnitureElementType.RepresentationMaps::fp_map_representation
OR
IfcFurnitureElementType.RepresentationMaps::fp_map_representation
OR
IfcFurnishingElementType.RepresentationMaps::fp_map_representation
   

A tag identifier may be asserted if needed


This provides for a specific identifier for the type. It may be used to capture a type unique reference such as an article number.

IfcSystemFurnitureElementType.Tag::IfcLabel
OR
IfcFurnitureElementType.Tag::IfcLabel
OR
IfcFurnishingElementType.Tag::IfcLabel
   

Assert the element type


The element type is used to specifically identify the type of furniture. In the absence of a predefined list, the range of possible type identities to be used should be agreed between participants within an exchange requirement. It is recommended that such a list should be defined from local classification systems such as Uniclass, Omniclass etc.


Note that in certain cases, property sets may be associated with the element and these may directly characterize the element type. In this case, the element type attribute of the entity should conform to the specification driven by the property set.

IfcSystemFurnitureElementType.ElementType::IfcLabel
OR
IfcFurnitureElementType.ElementType::IfcLabel
OR
IfcFurnishingElementType.ElementType::IfcLabel
   

If the furnishing element type is specified as an IfcFurnitureElementType

       

Designate the place where assembly of the furniture is intended to take place


The place of assembly shoukd be selected from the predefined list of places that offers the following options:

1.SITE The elements are assembled at the site.

2.FACTORY The elements are assembled at the factory of the constructor and transported to the site.

3.SUPPLIER The elements are assembled by the supplier and transported to the site.

4.NOT DEFINED

IfcFurnitureElementType.AssemblyPlace::IfcAssemblyPlaceEnum_    
Model the furniture occurrence        

Set the global unique identifier

IfcFurnishingElement.GlobalId::IfcGloballyUniqueId    

Apply the owner history

IfcFurnishingElement.OwnerHistory::fp_apply_owner_history    

Specify the name of the furnishing element

IfcFurnishingElement.Name::IfcLabel    

Specify a description for the furnishing element

IfcFurnishingElement.Description::IfcText    

Set a value for an occurrence identifier specifically for the furnishing element


This could be used, for instance, to capture an inventory identity for the occurrence.

IfcFurnishingElement.Tag::IfcIdentifier    

Establish the placement of the furnishing element

IfcFurnishingElement.ObjectPlacement::fp_place_object    

Define the shape representation for the furnishing element


A shape representation is only specified for a furnishing element occurrence if a representation map is not specified for the furnishing element type. Thus, generally, it is anticipated that this attribute will not be used. However, it should be borne in mind that a furnishing element may have several representations and therefore a special occurrence representation for it may be applied.

IfcFurnishingElement.Representation::fp_represent_product    

Define the type of furnishing element to which the furnishing element occurrence conforms

fp_define_by_type    
Model the common properties of a type of system furniture element
Note that only common properties are described within this functional part. Property sets for more specific subtype of system furniture element may be determined from a catalogue of types and may be described in more local functional parts.
Note that at least one value of the property set must be asserted.
       

Indicate whether the element is being used in a workstation (= TRUE) or not.(= FALSE).

Pset_SystemFurnitureElementTypeCommon.IsUsed ::IfcPropertySingleValue :: IfcBoolean    

Define a group code for the element type

Pset_SystemFurnitureElementTypeCommon.GroupCode::IfcPropertySingleValue :: IfcIdentifier    

Set the nominal width of the system furniture elements of this type.


The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.

Pset_SystemFurnitureElementTypeCommon.NominalWidth::IfcPropertySingleValue :: IfcPositiveLengthMeasure    

Set the nominal height of the system furniture elements of this type.


The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.

Pset_SystemFurnitureElementTypeCommon.NominalWidth::IfcPropertySingleValue :: IfcPositiveLengthMeasure    

Specify the finishing applied to system furniture elements of this type e.g. walnut, fabric

Pset_SystemFurnitureElementTypeCommon.Finishing::IfcPropertySingleValue :: IfcLabel    
Model the common properties of a type of furniture element
Note that only common properties are described within this functional part. Property sets for more specific subtype of furniture element may be determined from other furniture based property sets within IFC or a catalogue of types and may be described in more local functional parts.
Note that at least one value of the property set must be asserted.
       

Provide a specific description of this type of furniture.

Pset_FurnitureTypeCommon.IsUsed::IfcPropertySingleValue :: IfcText    

Describe the furniture style

Pset_FurnitureTypeCommon.Style::IfcPropertySingleValue :: IfcLabel    

Set the nominal height of the furniture elements of this type.


The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.

Pset_FurnitureTypeCommon.NominalHeight::IfcPropertySingleValue :: IfcPositiveLengthMeasure    

Set the nominal length of the furniture elements of this type.


The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.

Pset_FurnitureTypeCommon.NominalLength ? IfcPropertySingleValue :: IfcPositiveLengthMeasure    

Set the nominal depth of the furniture elements of this type.


The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.

Pset_FurnitureTypeCommon.NominalDepth::IfcPropertySingleValue :: IfcPositiveLengthMeasure    

Specify the main color of the furniture of this type

Pset_ FurnitureTypeCommon.MainColor::IfcPropertySingleValue :: IfcLabel    
Define the property sets for the furniture occurrence
This provision can also be used to add further property sets as defined within IFC or as defined by third parties to either a type entity or to an occurrence entity.
fp_define_by_properties    

IFC Entities Required

  • IfcElement
  • IfcFurnishingElement
  • IfcFurnishingElementType
  • IfcFurnitureElementType
  • IfcObject
  • IfcProduct
  • IfcPropertyDefinition
  • IfcPropertySetDefinition
  • IfcPropertySet
  • IfcRoot
  • IfcSystemFurnitureElementType
  • IfcTypeObject
  • IfcTypeProduct

IFC Datatypes Required

  • IfcAssemblyPlaceEnum
  • IfcGloballyUniqueId
  • IfcIdentifier
  • IfcLabel
  • IfcText

IFC Functions Required

  • -

IFC Property Sets Required

  • Pset_FurnitureTypeCommon
  • Pset_FurnitureTypeChair
  • Pset_FurnitureTypeDesk
  • Pset_FurnitureTypeFileCabinet
  • Pset_FurnitureTypeTable
  • Pset_SystemFurnitureElementTypeCommon
  • Pset_SystemFurnitureElementTypePanel
  • Pset_SystemFurnitureElementTypeWorkSurface

IDM Functional Parts Required

  • fp_apply_owner_history
  • fp_define_by_properties
  • fp_define_by_type
  • fp_map_representation
  • fp_nests
  • fp_place_object
  • fp_property
  • fp_represent_product

EXPRESS-G

EXPRESS Schema

SCHEMA FP_MODEL_FURNITURE;

  TYPE IfcGloballyUniqueId = STRING (22) FIXED;
  END_TYPE;

  TYPE IfcIdentifier = STRING;
  END_TYPE;

  TYPE IfcLabel = STRING;
  END_TYPE;

  TYPE IfcText = STRING;
  END_TYPE;

  TYPE IfcAssemblyPlaceEnum = ENUMERATION OF
    (SITE,
     FACTORY,
     NOTDEFINED);
  END_TYPE;

  ENTITY IfcProduct
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcObject);
      Representation  : OPTIONAL fp_represent_product;
      ObjectPlacement : OPTIONAL fp_place_object;
    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(IfcTypeObject, IfcPropertySetDefinition))
    SUBTYPE OF(IfcRoot);
  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 IfcFurnishingElementType
    ABSTRACT SUPERTYPE OF (ONEOF(IfcFurnitureType, IfcSystemFurnitureElementType))
    SUBTYPE OF(IfcElementType);
  END_ENTITY;

  ENTITY IfcFurnitureType
    SUBTYPE OF(IfcFurnishingElementType);
      AssemblyPlace : IfcAssemblyPlaceEnum;
  END_ENTITY;

  ENTITY IfcSystemFurnitureElementType
    SUBTYPE OF(IfcFurnishingElementType);
  END_ENTITY;

  ENTITY IfcElement
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcProduct);
      Tag : OPTIONAL IfcIdentifier;
  END_ENTITY;

  ENTITY IfcFurnishingElement
    SUBTYPE OF(IfcElement);
  END_ENTITY;

  ENTITY IfcPropertySetDefinition
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcPropertyDefinition);
    INVERSE
      DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets;
  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_apply_owner_history;
  END_ENTITY;

  ENTITY fp_define_by_properties;
  END_ENTITY;

  ENTITY fp_define_by_type;
  END_ENTITY;

  ENTITY fp_map_representation;
END_ENTITY;

  ENTITY fp_nests;
  END_ENTITY;

  ENTITY fp_place_object;
  END_ENTITY;

  ENTITY fp_property;
  END_ENTITY;

  ENTITY fp_represent_product;
  END_ENTITY;

END_SCHEMA;

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.3 Build:#408 Jan 23, 2006) - Bug/feature request - Contact Administrators