5.1.3.13 IfcPropertyDefinition
ABSTRACT This definition may not be instantiated
5.1.3.13.1 Semantic definition
IfcPropertyDefinition defines the generalization of all characteristics (i.e. a grouping of individual properties), that may be assigned to objects. Currently, subtypes of IfcPropertyDefinition include property set occurrences, property set templates, and property templates.
- Property set template - IfcPropertySetTemplate, a collection of property templates that determine the definition of properties used within a project context.
- Property template - IfcPropertyTemplate, a single template that determines the definition of a particular property used in the same project context. The template may determine the name, description, data type, the unit, or a standard expression for each property that is based on that template.
- Property set occurrence - IfcPropertySet, a set of individual properties (that may or may not be determined by a property template) holding individual values, measure types and units, and are associated to an object occurrence or object type.
Property definitions define information that is shared among multiple instances of objects, either object occurrences or object types. IfcPropertyDefinition's (by their instantiable subtypes) can participate within the following relationships:
- Assignment to a project context - an HasContext relationship to IfcRelDeclares that establishes the project context in which this property definition is declared. This relationship is predominately applicable to subtypes of IfcPropertyTemplateDefinition.
- Association to external resources - an HasAssociation relationship to IfcRelAssociates that refers to external sources of information (most notably a classification or document) and creates a uni-directional association. There is no dependency implied by the association.
Subtypes are included in more specific relationships, see IfcPropertySetDefinition and IfcPropertyTemplateDefinition for details.
5.1.3.13.2 Entity inheritance
5.1.3.13.3 Attributes
# | Attribute | Type | Description |
---|---|---|---|
IfcRoot (4) | |||
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, |
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. |
Click to show 4 hidden inherited attributes Click to hide 4 inherited attributes | |||
IfcPropertyDefinition (2) | |||
HasContext | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions |
Reference to the relationship IfcRelDeclares and thus to the IfcProject or IfcProjectLibrary. |
|
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. |
5.1.3.13.4 Concept usage
Concept | Usage | Description | |
---|---|---|---|
IfcRoot (2) | |||
Revision Control | General |
Ownership, history, and merge state is captured using IfcOwnerHistory. |
|
Software Identity | General |
IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept. |
|
Click to show 2 hidden inherited concepts Click to hide 2 inherited concepts |
5.1.3.13.5 Formal representation
ENTITY IfcPropertyDefinition
ABSTRACT SUPERTYPE OF (ONEOF
(IfcPropertySetDefinition
,IfcPropertyTemplateDefinition))
SUBTYPE OF (IfcRoot);
INVERSE
HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
END_ENTITY;