The concept templates of Object Definition provides the means to define an object occurrence by its object type and attached property and quantity sets.

]]>
Object occurrences can be defined by a particular object type, using the Object Typing concept. A pair of entities are defined for most semantic objects - an object occurrence entity and a corresponding object type entity.

EXAMPLE  The IfcTank is the object occurrence entity that has a corresponding IfcTankType being the object type entity.

On instance level, an object occurrence instance may have:

  • similar state as its object type instance by applying all characteristics defined at the type;
  • overridden state for particular characteristics;
  • no defined object type instance.

Characteristics defined at the object type level may include:

  • common naming and predefined type;
  • common properties within a type driven property set;
  • common geometry representations, applied as mapped representation to each occurrence;
  • common material assignments (with exception of material set usages);
  • <
  • common definition of a decomposition structure.

Many object occurrence and object type entities have an attribute named PredefinedType consisting of a specific enumeration. Such predefined type essentially provides another level of inheritance to further differentiate objects without the need for additional entities. Predefined types are not just informational; various rules apply such as applicable property sets, part composition, and distribution ports. If the object is typed by an IfcTypeObject, then the PredefinedType at the IfcObject occurrence shall only be used if the PredefinedType at IfcTypeObject is set to NOTDEFINED.

EXAMPLE  For scenarios of object types having part compositions, such parts may be reflected at object occurrences having separate state. For example, a wall type may define a particular arrangement of studs, a wall occurrence may reflect the same arrangement of studs, and studs within the wall occurrence may participate in specific relationships that do not exist at the type such as being connected to an electrical junction box.
NOTE  If the object type has aggregated elements, such objects are reflected at the object occurrence using the IfcRelDefinesByObject relationship.
]]>
The concept template Property Sets describes how sets of properties (usually defined by a name, value, unit triple) are associated to objects or object types.

]]>
The concept template Property Sets for Objects describes how an object occurrence can be related to a single or multiple property sets. A property set contains a single or multiple properties. The data types of an individual property are single value, enumerated value, bounded value, table value, reference value, list value, and combination of property occurrences.

Property sets can also be related to an object type, see concept Property Sets for Types. They then define the common properties for all occurrences of the same type. If the same property (by name) is provided by the same property set (by name), then the properties directly assigned to the object occurrence override the properties assigned to the object type.

]]>