IfcPropertyTableValue

Natural language names
Merkmal mit Tabellenwert
Property Table Value
Propriété à valeurs tabulaires
Change log
ItemSPFXMLChangeDescription
IFC2x3 to IFC4 4.0.0.0
    IfcPropertyTableValue
      DefiningValuesMODIFIEDInstantiation changed to OPTIONAL.
      DefinedValuesMODIFIEDInstantiation changed to OPTIONAL.
      CurveInterpolationADDED
IFC4 Addendum 1 4.0.1.0
    IfcPropertyTableValue
      HasConstraintsADDED
      HasApprovalsADDED
IFC4X3_ADD2 to IFC4X4_draft
    IfcPropertyTableValue
      PartOfMaterialOrProfilePropertiesADDED
Semantic definitions at the entity
Entity definition

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 774 for an example of a table value property:

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 774 — 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.
Attribute definitions
#AttributeTypeCardinalityDescription G
3DefiningValuesIfcValue? L[1:?] 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.
X
4DefinedValuesIfcValue? L[1:?] 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.
X
5ExpressionIfcText? 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. X
6DefiningUnitIfcUnit? 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. X
7DefinedUnitIfcUnit? 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. X
8CurveInterpolationIfcCurveInterpolationEnum? 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.
X
Formal Propositions
RuleDescription
WR21Either both DefiningValues and DefinedValues are not provided, or the number of members in the list of DefiningValues shall be the same as the number of members in the list of DefinedValues.
WR22If DefiningValues are provided, then all values within the list of DefiningValues shall have the same measure type.
WR23If DefinedValues are provided, then all values within the list of DefinedValues shall have the same measure type.
Inherited definitions from supertypes
Entity inheritance IfcSimpleProperty IfcProperty IfcPropertyAbstraction
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcPropertyAbstraction
HasExternalReferencesIfcExternalReferenceRelationship
@RelatedResourceObjects
S[0:?]Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition.
IFC4 CHANGE New inverse attribute.
X
IfcProperty
1NameIfcIdentifier Name for this property. This label is the significant name string that defines the semantic meaning for the property. X
2SpecificationIfcText? Informative text to explain the property. X
PartOfPsetIfcPropertySet
@HasProperties
S[0:?]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.
X
PropertyForDependanceIfcPropertyDependencyRelationship
@DependingProperty
S[0:?]The property on whose value that of another property depends. X
PropertyDependsOnIfcPropertyDependencyRelationship
@DependantProperty
S[0:?]The relating property on which the value of the property depends. X
PartOfComplexIfcComplexProperty
@HasProperties
S[0:?]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.
X
HasConstraintsIfcResourceConstraintRelationship
@RelatedResourceObjects
? S[0:?]User-defined constraints for the property. X
HasApprovalsIfcResourceApprovalRelationship
@RelatedResourceObjects
? S[0:?]User-defined approvals for the property. X
PartOfMaterialOrProfilePropertiesIfcExtendedProperties
@Properties
S[0:?]Reference to the IfcMaterialProperties by which the IfcProperty is referenced. X
IfcSimpleProperty
IfcPropertyTableValue
3DefiningValuesIfcValue? L[1:?] 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.
X
4DefinedValuesIfcValue? L[1:?] 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.
X
5ExpressionIfcText? 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. X
6DefiningUnitIfcUnit? 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. X
7DefinedUnitIfcUnit? 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. X
8CurveInterpolationIfcCurveInterpolationEnum? 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.
X
Formal representations
XML Specification
 <xs:element name="IfcPropertyTableValue" type="ifc:IfcPropertyTableValue" substitutionGroup="ifc:IfcSimpleProperty" nillable="true"/>
 <xs:complexType name="IfcPropertyTableValue">
  <xs:complexContent>
   <xs:extension base="ifc:IfcSimpleProperty">
    <xs:sequence>
     <xs:element name="DefiningValues" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcValue" maxOccurs="unbounded"/>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcValue"/>
       <xs:attribute ref="ifc:cType" fixed="list-unique"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
     <xs:element name="DefinedValues" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcValue" maxOccurs="unbounded"/>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcValue"/>
       <xs:attribute ref="ifc:cType" fixed="list"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
     <xs:element name="DefiningUnit" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcUnit"/>
      </xs:complexType>
     </xs:element>
     <xs:element name="DefinedUnit" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcUnit"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="Expression" type="ifc:IfcText" use="optional"/>
    <xs:attribute name="CurveInterpolation" type="ifc:IfcCurveInterpolationEnum" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcPropertyTableValue
 SUBTYPE OF (IfcSimpleProperty);
  DefiningValues : OPTIONAL LIST [1:?] OF UNIQUE IfcValue;
  DefinedValues : OPTIONAL LIST [1:?] OF IfcValue;
  Expression : OPTIONAL IfcText;
  DefiningUnit : OPTIONAL IfcUnit;
  DefinedUnit : OPTIONAL IfcUnit;
  CurveInterpolation : OPTIONAL IfcCurveInterpolationEnum;
 WHERE
  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);
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page