IFC 4.3.x development IfcPropertyTableValue

Change log


additions attributes CurveInterpolation
additions where_rules WR21
additions where_rules WR22
additions where_rules WR23
deletions where_rules WR1
deletions where_rules WR2
deletions where_rules WR3
modificationsattributes DefinedValues is_optional Changed from False to True
modificationsattributes DefiningValues is_optionalChanged from False to True


modificationsattributes DefiningValues definitionChanged from list[1:?] of unique IfcValue to list[1:?] of IfcValue


modificationsattributes DefiningValues definitionChanged from list[1:?] of IfcValue to list[1:?] of unique IfcValue Semantic definitions at the entity

IfcPropertyTableValue is a property with a value range defined by a property object which has two lists of (numeric or descriptive) values assigned. The values specify a table with two columns. The defining values provide the first column and establish the scope for the defined values (the second column). An optional Expression attribute may give the equation used for deriving the range value, which is for information purposes only.

The IfcPropertyTableValue defines a defining/defined property value combination for which the property name, the table with defining and defined values with measure type (and optional the units for defining and defined values) are given.

NOTE  The IfcPropertyTableValue only captures properties that can be expressed by a table with two columns. Use IfcPropertyReferenceValue with the PropertyReference being an IfcTable to express all those properties that require a table with tree or more columns.

The units are handled by the DefiningUnit and DefinedUnit attributes, see Table 1 for an example of a table value property:

  • If the DefiningUnit or DefinedUnit attribute is not given, then the unit is already implied by the type of IfcMeasureValue or IfcDerivedMeasureValue. The associated unit can be found at the IfcUnitAssignment globally defined at the project level (IfcProject.UnitsInContext).
  • If the DefiningUnit or DefinedUnit attribute is given, then the unit assigned by the unit attribute overrides the globally assigned unit.

The IfcPropertyTableValue allows for the specification of a table of defining/defined value pairs of the property description. The optional attribute CurveInterpolation allows to determine the interval between two given values.


Name DefiningValues DefiningValue Type
(through IfcValue)
DefinedValues DefinedValue Type
(through IfcValue)
DefingUnit DefinedUnit
SoundTransmissionLoss 100 IfcFrequencyMeasure 20 IfcNumericMeasure - dB
  200 IfcFrequencyMeasure 42 IfcNumericMeasure    
  400 IfcFrequencyMeasure 46 IfcNumericMeasure    
  800 IfcFrequencyMeasure 56 IfcNumericMeasure    
  1600 IfcFrequencyMeasure 60 IfcNumericMeasure    
  3200 IfcFrequencyMeasure 65 IfcNumericMeasure    

Table 1 — Table value property with values, measure types and units

HISTORY  New entity in IFC2x.

IFC4 CHANGE  Attributes DefiningValues and DefinedValues have been made OPTIONAL with upward compatibility for file based exchange. The attribute CurveInterpolation has been added.


Informal Propositions:

  1. The list of DefinedValues and the list of DefiningValues are corresponding lists. Attributes

# Attribute Type Description
HasExternalReferencesSET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition.

> IFC4 CHANGE New inverse attribute.

1 Name IfcIdentifier Name for this property. This label is the significant name string that defines the semantic meaning for the property.
2 Description OPTIONAL IfcText Informative text to explain the property.
PartOfPset SET [0:?] OF IfcPropertySet FOR HasProperties Reference to the IfcPropertySet by which the IfcProperty is referenced.

> IFC4 CHANGE  New inverse attribute to navigate from IfcProperty to IfcPropertySet with upward compatibility for file based exchange.
PropertyForDependanceSET [0:?] OF IfcPropertyDependencyRelationship FOR DependingProperty The property on whose value that of another property depends.
PropertyDependsOn SET [0:?] OF IfcPropertyDependencyRelationship FOR DependantProperty The relating property on which the value of the property depends.
PartOfComplex SET [0:?] OF IfcComplexProperty FOR HasProperties Reference to the IfcComplexProperty in which the IfcProperty is contained.

> IFC4 CHANGE  The cardinality has changed to 0..n to allow reuse of instances of IfcProperty in several IfcComplexProperty with upward compatibility for file based exchange.
HasConstraints SET [0:?] OF IfcResourceConstraintRelationship FOR RelatedResourceObjectsUser-defined constraints for the property.
HasApprovals SET [0:?] OF IfcResourceApprovalRelationship FOR RelatedResourceObjects User-defined approvals for the property.
3 DefiningValues OPTIONAL LIST [1:?] OF IfcValue List of defining values, which determine the defined values. This list shall have unique values only.

> IFC4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange.
4 DefinedValues OPTIONAL LIST [1:?] OF IfcValue Defined values which are applicable for the scope as defined by the defining values.

> IFC4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange.
5 Expression OPTIONAL IfcText Expression for the derivation of defined values from the defining values, the expression is given for information only, i.e. no automatic processing can be expected from the expression.
6 DefiningUnit OPTIONAL IfcUnit Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject.
7 DefinedUnit OPTIONAL IfcUnit Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject.
8 CurveInterpolation OPTIONAL IfcCurveInterpolationEnum Interpolation of the curve between two defining and defined values that are provided. if not provided a linear interpolation is assumed.

> IFC4 CHANGE  The attribute has been added at the end of the attribute list. Entity inheritance

dot_inheritance IfcPropertyTableValue IfcPropertyTableValue IfcSimpleProperty IfcSimpleProperty IfcPropertyTableValue->IfcSimpleProperty IfcSimpleProperty_children 5 more... IfcSimpleProperty_children->IfcSimpleProperty IfcProperty IfcProperty IfcSimpleProperty->IfcProperty IfcComplexProperty IfcComplexProperty IfcComplexProperty->IfcProperty IfcPropertyAbstraction IfcPropertyAbstraction IfcProperty->IfcPropertyAbstraction IfcPropertyAbstraction_children 3 more... IfcPropertyAbstraction_children->IfcPropertyAbstraction Formal representations

ENTITY IfcPropertyTableValue
 SUBTYPE OF (IfcSimpleProperty);
	DefiningValues : OPTIONAL LIST [1:?] OF IfcValue;
	DefinedValues : OPTIONAL LIST [1:?] OF IfcValue;
	Expression : OPTIONAL IfcText;
	DefiningUnit : OPTIONAL IfcUnit;
	DefinedUnit : OPTIONAL IfcUnit;
	CurveInterpolation : OPTIONAL IfcCurveInterpolationEnum;
	WR21 : (NOT(EXISTS(DefiningValues)) AND NOT(EXISTS(DefinedValues)))
OR (SIZEOF(DefiningValues) = SIZEOF(DefinedValues));
	WR22 : NOT(EXISTS(DefiningValues)) OR 
(SIZEOF(QUERY(temp <* SELF.DefiningValues | TYPEOF(temp) <> TYPEOF(SELF.DefiningValues[1])
)) = 0);
	WR23 : NOT(EXISTS(DefinedValues)) OR 
(SIZEOF(QUERY(temp <* SELF.DefinedValues | TYPEOF(temp) <> TYPEOF(SELF.DefinedValues[1])
)) = 0);