IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.16.3.6 IfcPropertyBoundedValue(属性边界值)

RV ⓘ
AbV ⓘ

8.16.3.6.1 语义定义(Semantic definition)

具有边界值的属性 IfcPropertyBoundedValue 定义了一个最多分配两个(数值或描述性)值的属性对象,第一个值指定上限,第二个值指定下限。它定义了一个属性-值边界(最小-最大)组合,其中包含属性 Name、可选的 Description、具有度量类型的可选 UpperBoundValue、具有度量类型的可选 LowerBoundValue 以及可选的 Unit。除了上限和下限值外,还可以提供设定点值用于操作值设置。

单位由 Unit 属性处理,表1展示了一个边界属性的示例:

IfcPropertyBoundedValue 允许为属性描述的值分量指定一个区间。如果未给出 LowerBoundValueUpperBoundValue,则表示一个开放边界(最小值或最大值)。根据定义,该区间是包含性的,即 LowerBoundValueUpperBoundValue 给出的值包含在区间内。

名称 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
表1 — 具有值、度量类型和单位的边界属性。规则确保所有值具有相同的度量类型

非正式命题

  1. 如果上限和下限值的度量类型是数值度量,则以下条件必须成立:UpperBoundValue > LowerBoundValue

8.16.3.6.2 实体继承(Entity inheritance)

8.16.3.6.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcPropertyAbstraction (1)
IfcProperty (8)
点击显示 9 个隐藏的继承特性 点击隐藏 9 个继承特性
IfcPropertyBoundedValue (4)
表 8.16.3.6.B

8.16.3.6.4 形式化命题(Formal propositions)

名称 描述
SameUnitLowerSet

如果同时给出了下限和设定点,则 LowerBoundValue 的度量类型应与 SetPointValue 的度量类型相同。

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

如果同时给出了上限和下限,则 UpperBoundValue 的度量类型应与 LowerBoundValue 的度量类型相同。

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

如果同时给出了上限和设定点,则 UpperBoundValue 的度量类型应与 SetPointValue 的度量类型相同。

NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(SetPointValue)) OR
(TYPEOF(UpperBoundValue) = TYPEOF(SetPointValue))
表 8.16.3.6.C

8.16.3.6.5 形式化表示(Formal representation)

ENTITY IfcPropertyBoundedValue
 SUBTYPE OF (IfcSimpleProperty);
	UpperBoundValue : OPTIONAL IfcValue;
	LowerBoundValue : OPTIONAL IfcValue;
	Unit : OPTIONAL IfcUnit;
	SetPointValue : OPTIONAL IfcValue;
 WHERE
	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;

8.16.3.6.6 参考文献