8.16.3.13 IfcPropertyTableValue(属性表值)
RV ⓘ
AbV ⓘ
8.16.3.13.1 语义定义(Semantic definition)
IfcPropertyTableValue 是一种属性,其值范围由具有两个(数值或描述性)值列表的属性对象定义。这些值指定了一个包含两列的表格。定义值提供第一列并为定义值(第二列)建立范围。可选的 Expression 属性可以给出用于推导范围值的方程,但这仅用于提供信息。
IfcPropertyTableValue 定义了一个定义/被定义属性值组合,其中给出了属性名称、包含定义值和被定义值的表格及其度量类型(以及可选的用于定义值和被定义值的单位)。
单位由 DefiningUnit 和 DefinedUnit 属性处理,参见表 8.16.3.13.A 中的表格值属性示例:
- 如果未给出 DefiningUnit 或 DefinedUnit 属性,则单位已由 IfcMeasureValue 或 IfcDerivedMeasureValue 的类型隐含。关联的单位可以在项目级别全局定义的 IfcUnitAssignment 中找到(IfcProject.UnitsInContext)。
- 如果给出了 DefiningUnit 或 DefinedUnit 属性,则单位属性所分配的单位将覆盖全局分配的单位。
IfcPropertyTableValue 允许为属性描述指定一个定义值/被定义值对的表格。可选属性 CurveInterpolation 允许确定两个给定值之间的区间插值方式。
| 名称 | 定义值 | 定义值类型(通过 IfcValue) | 被定义值 | 被定义值类型(通过 IfcValue) | 定义单位 | 被定义单位 |
|---|---|---|---|---|---|---|
| 声音传输损失 | 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 |
非正式命题
- DefinedValues 列表和 DefiningValues 列表是对应的列表。
8.16.3.13.2 实体继承(Entity inheritance)
8.16.3.13.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcPropertyAbstraction (1) | |||
| IfcProperty (8) | |||
| 点击显示 9 个隐藏的继承特性 点击隐藏 9 个继承特性 | |||
| IfcPropertyTableValue (5) | |||
8.16.3.13.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| WR21 |
无可用描述 |
|
|
| WR22 |
无可用描述 |
|
|
| WR23 |
无可用描述 |
|
|
8.16.3.13.5 形式化表示(Formal representation)
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;