IFC (IFC4X3_ADD1) development IfcPropertyBoundedValue

AbRV ⓘ
RV ⓘ Semantic definition

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 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.

Name UpperBoundValue LowerBoundValue SetPointValue Type (through IfcValue) Unit
OverallHeight 2300 1930 IfcPositiveLengthMeasure -
OverallWidth 1.25 0.9 IfcPositiveLengthMeasure m
MaxHeight 20.0 IfcPositiveLengthMeasure -
MinWeight 20 IfcMassMeasure kg
Table — Bounded property with values, measure types and units. Where rules ensures same measure type for all values

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. Entity inheritance Attributes

# Attribute Type Description
IfcPropertyAbstraction (1)
HasExternalReferences SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects

Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition.

IfcProperty (8)
1 Name IfcIdentifier

Name for this property. This label is the significant name string that defines the semantic meaning for the property.

2 Specification OPTIONAL IfcText

URI reference to a location with semantic definition or informative text to explain the property.

PartOfPset SET [0:?] OF IfcPropertySet FOR HasProperties

Reference to the IfcPropertySet by which the IfcProperty is referenced.

PropertyForDependance SET [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.

HasConstraints SET [0:?] OF IfcResourceConstraintRelationship FOR RelatedResourceObjects

User-defined constraints for the property.

HasApprovals SET [0:?] OF IfcResourceApprovalRelationship FOR RelatedResourceObjects

User-defined approvals for the property.

Click to show 9 hidden inherited attributes Click to hide 9 inherited attributes
IfcPropertyBoundedValue (4)
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.

Table Formal propositions

Name Description

The measure type of the LowerBoundValue shall be the same as the measure type of the SetPointValue, if both (lower bound and set point) are given.

NOT(EXISTS(LowerBoundValue)) OR NOT(EXISTS(SetPointValue)) OR
(TYPEOF(LowerBoundValue) = TYPEOF(SetPointValue))

The measure type of the UpperBoundValue shall be the same as the measure type of the LowerBoundValue, if both (upper and lower bound) are given.

NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(LowerBoundValue)) OR
(TYPEOF(UpperBoundValue) = TYPEOF(LowerBoundValue))

The measure type of the UpperBoundValue shall be the same as the measure type of the SetPointValue, if both (upper bound and set point) are given.

NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(SetPointValue)) OR
(TYPEOF(UpperBoundValue) = TYPEOF(SetPointValue))
Table Formal representation

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

Edit on Github

Is this page difficult to understand? Let us know! Changelog IFC4

  • attribute, SetPointValue
  • where rule, SameUnitLowerSet
  • where rule, SameUnitUpperLower
  • where rule, SameUnitUpperSet
  • where rule, WR21
  • where rule, WR22