IFC 4.3.x development IfcPropertyBoundedValue

Change log


additionsattributes SetPointValue
deletionswhere_rulesWR22 Semantic definitions at the entity

A property with a bounded value, IfcPropertyBoundedValue, defines a property object which has a maximum of two (numeric or descriptive) values assigned, the first value specifying the upper bound and the second value specifying the lower bound. It defines a property - value bound (min-max) combination for which the property Name, an optional Description, the optional UpperBoundValue with measure type, the optional LowerBoundValue with measure type, and the optional Unit is given. A set point value can be provided in addition to the upper and lower bound values for operational value setting.

The unit is handled by the Unit attribute, see Table 1 for an example of a bounded property:

  • If the Unit 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 Unit attribute is given, then the unit assigned by the Unit attribute overrides the globally assigned unit.

The IfcPropertyBoundedValue allows for the specification of an interval for the value component of the property description. If either the LowerBoundValue or the UpperBoundValue is not given, then it indicates an open bound (either a minimum value or a maximum value). The interval is by definition inclusive, that is, the value given for the LowerBoundValue or the UpperBoundValue is included in the interval.

NOTE  An IfcPropertyBoundedValue may be exchanged with no values assigned yet. In this case the LowerBoundValue and the UpperBoundValue are set to NIL.


Name UpperBoundValue LowerBoundValue SetPointValue Type
(through IfcValue)
OverallHeight 1930 2300 <nil> IfcPositiveLengthMeasure -
OverallWidth 0.9 1.25 <nil> IfcPositiveLengthMeasure m
MaxHeight 20.0 <nil> <nil> IfcPositiveLengthMeasure -
MinWeight <nil> 20 <nil> IfcMassMeasure kg
* Where rules ensures same measure type for all values

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

HISTORY  New entity in IFC2x.

IFC2x2 CHANGE  The attribute type of the attribute UpperBoundValue and LowerBoundValue has been made optional with upward compatibility for file based exchange.

IFC4 CHANGE  The attribute SetPointValue has been added.

Informal Propositions:

  1. If the measure type for the upper and lover bound value is a numeric measure, then the following shall be true: UpperBoundValue > LowerBoundValue. 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 UpperBoundValue OPTIONAL IfcValue Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue).
4 LowerBoundValue OPTIONAL IfcValue Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue).
5 Unit OPTIONAL IfcUnit Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at _IfcProject.UnitInContext_. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue)
6 SetPointValue OPTIONAL IfcValue Set point value as typically used for operational value setting.

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

dot_inheritance IfcPropertyBoundedValue IfcPropertyBoundedValue IfcSimpleProperty IfcSimpleProperty IfcPropertyBoundedValue->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 IfcPropertyBoundedValue
 SUBTYPE OF (IfcSimpleProperty);
	UpperBoundValue : OPTIONAL IfcValue;
	LowerBoundValue : OPTIONAL IfcValue;
	Unit : OPTIONAL IfcUnit;
	SetPointValue : OPTIONAL IfcValue;
	SameUnitUpperLower : NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(LowerBoundValue)) OR
(TYPEOF(UpperBoundValue) = TYPEOF(LowerBoundValue));
	SameUnitUpperSet : NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(SetPointValue)) OR
(TYPEOF(UpperBoundValue) = TYPEOF(SetPointValue));
	SameUnitLowerSet : NOT(EXISTS(LowerBoundValue)) OR NOT(EXISTS(SetPointValue)) OR
(TYPEOF(LowerBoundValue) = TYPEOF(SetPointValue));