IFC 4.3.x development IfcPropertySet

Change log


deletionswhere_rulesWR32 Semantic definitions at the entity

The IfcPropertySet is a container that holds properties within a property tree. These properties are interpreted according to their name attribute. Each individual property has a significant name string. Some property sets are included in the specification of this standard and have a predefined set of properties indicated by assigning a significant name. These property sets are listed under "property sets" within this specification. Property sets applicable to certain objects are listed in the object specification. The naming convention "Pset_Xxx" applies to all those property sets that are defined as part of this specification and it shall be used as the value of the Name attribute.

In addition any user defined property set can be captured. Property sets that are not declared as part of the IFC specification shall have a Name value not including the "Pset_" prefix.

IfcPropertySet can be assigned to object occurrences and object types. An IfcPropertySet assigned to an object type is shared among all occurrences of the same object type.

NOTE  See IfcRelDefinesByType for how to override property sets assigned to an object type within the object occurrence.

An IfcPropertySetTemplate may define the underlying structure, i.e. the required name, the applicable object or object types to which the property set can be attached, and the individual properties that can be included. Property sets are related to other objects by using the relationship object that refers to the corresponding object:

  • Occurrence Object: IfcRelDefinesByProperties using the inverse attribute DefinesOccurrence.
  • Type Object: using a direct link by inverse attribute DefinesType.
  • Underlying template: IfcRelDefinesByTemplate using the inverse attribute IsDefinedBy.
  • External reference: subtypes of IfcRelAssociates are used to provide a link to a classification system, or external library providing further reference to the property set. Accessible by inverse attribute HasAssociations.

HISTORY  New entity in IFC1.0

IFC4 CHANGE  All statically defined property set entities are no longer subtypes of IfcPropertySet. Attributes

# Attribute Type Description
1 GlobalId IfcGloballyUniqueId Assignment of a globally unique identifier within the entire software world.
2 OwnerHistory OPTIONAL IfcOwnerHistory Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,

> NOTE  only the last modification in stored - either as addition, deletion or modification.

> IFC4 CHANGE  The attribute has been changed to be OPTIONAL.
3 Name OPTIONAL IfcLabel Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule.
4 Description OPTIONAL IfcText Optional description, provided for exchanging informative comments.
HasContext SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions
HasAssociations SET [0:?] OF IfcRelAssociates FOR RelatedObjects Reference to the relationship IfcRelAssociates and thus to those externally defined concepts, like classifications, documents, or library information, which are associated to the property definition.
DefinesType SET [0:?] OF IfcTypeObject FOR HasPropertySets The type object to which the property set is assigned. The property set acts as a shared property set to all occurrences of the type object.

> NOTE  The relationship between the IfcPropertySetDefinition and the IfcTypeObject is a direct relationship, not utilizing IfcRelDefinesByProperties, for maintaining compatibility with earlier releases of this standard.

> IFC4 CHANGE  The cardinality has been changed from 0:1 to 0:? with upward compatibility for file based exchange.
IsDefinedBy SET [0:?] OF IfcRelDefinesByTemplate FOR RelatedPropertySets Relation to the property set template, via the objectified relationship IfcRelDefinesByTemplate, that, if given, provides the definition template for the property set or quantity set and its properties.

> IFC4 CHANGE  New inverse relationship, change made with upward compatibility for file based exchange.
DefinesOccurrenceSET [0:?] OF IfcRelDefinesByProperties FOR RelatingPropertyDefinitionReference to the relation to one or many object occurrences that are characterized by the property set definition. A single property set can be assigned to multiple object occurrences using the objectified relationship IfcRefDefinesByProperties.

> IFC4 CHANGE Inverse attribute renamed from PropertyDefinitionOf with upward compatibility for file-based exchange.
5 HasProperties SET [1:?] OF IfcProperty Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. Entity inheritance

dot_inheritance IfcPropertySet IfcPropertySet IfcPropertySetDefinition IfcPropertySetDefinition IfcPropertySet->IfcPropertySetDefinition IfcPreDefinedPropertySet IfcPreDefinedPropertySet IfcPreDefinedPropertySet->IfcPropertySetDefinition IfcPropertyDefinition IfcPropertyDefinition IfcPropertySetDefinition->IfcPropertyDefinition IfcQuantitySet IfcQuantitySet IfcQuantitySet->IfcPropertySetDefinition IfcPropertyTemplateDefinition IfcPropertyTemplateDefinition IfcPropertyTemplateDefinition->IfcPropertyDefinition IfcRoot IfcRoot IfcPropertyDefinition->IfcRoot IfcObjectDefinition IfcObjectDefinition IfcObjectDefinition->IfcRoot IfcRelationship IfcRelationship IfcRelationship->IfcRoot Definitions applying to General Usage Identity

IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept. Revision Control

Ownership, history, and merge state is captured using IfcOwnerHistory. Formal representations

ENTITY IfcPropertySet
 SUBTYPE OF (IfcPropertySetDefinition);
	HasProperties : SET [1:?] OF IfcProperty;
	ExistsName : EXISTS(SELF\IfcRoot.Name);
	UniquePropertyNames : IfcUniquePropertyName(HasProperties);