IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

4.1.2.3 Constraint Association

概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。

基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。

下图展示了应用此概念时使用的通用类和关系。 此外,概念可能对常见或标准化的行业实践和场景具有特殊意义。对于这些特定的使用场景,下表展示了用户可采用的推荐通用使用模式列表。

G <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjectDefinition.htm'>IfcObjectDefinition</a> IfcObjectDefinition 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesConstraint.htm'>IfcRelAssociatesConstraint</a> IfcRelAssociatesConstraint 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] 5. RelatedObjects [1:?] 6. Intent [0:1] 7. RelatingConstraint [1:1] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjectDefinition.htm'>IfcObjectDefinition</a>:HasAssociations1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesConstraint.htm'>IfcRelAssociatesConstraint</a>:RelatedObjects0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjective.htm'>IfcObjective</a> IfcObjective 1. Name [1:1] 2. Description [0:1] 3. ConstraintGrade [1:1] 4. ConstraintSource [0:1] 5. CreatingActor [0:1] 6. CreationTime [0:1] 7. UserDefinedGrade [0:1]      HasExternalReferences [0:?]      PropertiesForConstraint [0:?] 8. BenchmarkValues [1:?] 9. LogicalAggregator [0:1] 10. ObjectiveQualifier [1:1] 11. UserDefinedQualifier [0:1] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRelAssociatesConstraint.htm'>IfcRelAssociatesConstraint</a>:RelatingConstraint1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjective.htm'>IfcObjective</a>:IfcObjective0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a> IfcMetric 1. Name [1:1] 2. Description [0:1] 3. ConstraintGrade [1:1] 4. ConstraintSource [0:1] 5. CreatingActor [0:1] 6. CreationTime [0:1] 7. UserDefinedGrade [0:1]      HasExternalReferences [0:?]      PropertiesForConstraint [0:?] 8. Benchmark [1:1] 9. ValueSource [0:1] DataValue 10. DataValue [0:1] 11. ReferencePath [0:1] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjective.htm'>IfcObjective</a>:BenchmarkValues1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a>:IfcMetric0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjectiveEnum.htm'>IfcObjectiveEnum</a> IfcObjectiveEnum <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjective.htm'>IfcObjective</a>:ObjectiveQualifier1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjectiveEnum.htm'>IfcObjectiveEnum</a>:IfcObjectiveEnum0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLogicalOperatorEnum.htm'>IfcLogicalOperatorEnum</a> IfcLogicalOperatorEnum <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcObjective.htm'>IfcObjective</a>:LogicalAggregator1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLogicalOperatorEnum.htm'>IfcLogicalOperatorEnum</a>:IfcLogicalOperatorEnum0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetricValueSelect.htm'>IfcMetricValueSelect</a> IfcMetricValueSelect <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a>:DataValue1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetricValueSelect.htm'>IfcMetricValueSelect</a>:IfcMetricValueSelect0 IfcAppliedValue_0 IfcAppliedValue 1. Name [0:1] 2. Description [0:1] 3. AppliedValue [0:1] 4. UnitBasis [0:1] 5. ApplicableDate [0:1] 6. FixedUntilDate [0:1] 7. Category [0:1] 8. Condition [0:1] 9. ArithmeticOperator [0:1] 10. Components [1:?]      HasExternalReference [0:?] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a>:DataValue1->IfcAppliedValue_0:IfcAppliedValue0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTable.htm'>IfcTable</a> IfcTable 1. Name [0:1] 2. Rows [1:?] 3. Columns [1:?] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a>:DataValue1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTable.htm'>IfcTable</a>:IfcTable0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBenchmarkEnum.htm'>IfcBenchmarkEnum</a> IfcBenchmarkEnum <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a>:Benchmark1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBenchmarkEnum.htm'>IfcBenchmarkEnum</a>:IfcBenchmarkEnum0 IfcReference_1 IfcReference 1. TypeIdentifier [0:1] Attribute1 2. AttributeIdentifier [0:1] 3. InstanceName [0:1] 4. ListPositions [1:?] 5. InnerReference [0:1] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a>:ReferencePath1->IfcReference_1:IfcReference0 IfcLabel_1 IfcLabel <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a>:Name1->IfcLabel_1:IfcLabel0 IfcText_1 IfcText <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMetric.htm'>IfcMetric</a>:Description1->IfcText_1:IfcText0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArithmeticOperatorEnum.htm'>IfcArithmeticOperatorEnum</a> IfcArithmeticOperatorEnum IfcAppliedValue_0:ArithmeticOperator1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArithmeticOperatorEnum.htm'>IfcArithmeticOperatorEnum</a>:IfcArithmeticOperatorEnum0 IfcAppliedValue_1 IfcAppliedValue 1. Name [0:1] 2. Description [0:1] 3. AppliedValue [0:1] 4. UnitBasis [0:1] 5. ApplicableDate [0:1] 6. FixedUntilDate [0:1] 7. Category [0:1] 8. Condition [0:1] 9. ArithmeticOperator [0:1] 10. Components [1:?]      HasExternalReference [0:?] IfcAppliedValue_0:Components1->IfcAppliedValue_1:IfcAppliedValue0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLengthMeasure.htm'>IfcLengthMeasure</a> IfcLengthMeasure IfcAppliedValue_0:AppliedValue1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLengthMeasure.htm'>IfcLengthMeasure</a>:IfcLengthMeasure0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReal.htm'>IfcReal</a> IfcReal IfcAppliedValue_0:AppliedValue1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReal.htm'>IfcReal</a>:IfcReal0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableRow.htm'>IfcTableRow</a> IfcTableRow 1. RowCells [1:?] 2. IsHeading [0:1] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTable.htm'>IfcTable</a>:Rows1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableRow.htm'>IfcTableRow</a>:IfcTableRow0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableColumn.htm'>IfcTableColumn</a> IfcTableColumn 1. Identifier [0:1] 2. Name [0:1] 3. Description [0:1] 4. Unit [0:1] 5. ReferencePath [0:1] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTable.htm'>IfcTable</a>:Columns1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableColumn.htm'>IfcTableColumn</a>:IfcTableColumn0 <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIdentifier.htm'>IfcIdentifier</a> IfcIdentifier <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableColumn.htm'>IfcTableColumn</a>:Identifier1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcIdentifier.htm'>IfcIdentifier</a>:IfcIdentifier0 IfcLabel_0 IfcLabel <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableColumn.htm'>IfcTableColumn</a>:Name1->IfcLabel_0:IfcLabel0 IfcText_0 IfcText <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableColumn.htm'>IfcTableColumn</a>:Description1->IfcText_0:IfcText0 IfcReference_0 IfcReference 1. TypeIdentifier [0:1] 2. AttributeIdentifier [0:1] 3. InstanceName [0:1] 4. ListPositions [1:?] 5. InnerReference [0:1] <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTableColumn.htm'>IfcTableColumn</a>:ReferencePath1->IfcReference_0:IfcReference0
Figure 4.1.2.3.A

General Usage

ApplicableEntity
IfcObjectDefinition
表 4.1.2.3.B