该页全部中文内容仅供20252453-T-424 项目组内部使用

20252453-T-424 项目

4.1.2.3 约束关联(Constraint Association)

“约束关联”概念描述了对象或对象类型如何关联约束条件,以明确需满足的定性目标或定量指标。

基于指标的约束是可度量的,计算机可据此自动判定指标是否有效。指标约束基于简单的条件逻辑(例如“大于”特定值,或“包含于”指定列表/表格中)。此外,还可以利用布尔逻辑(如 AND、OR、XOR 或 NOT)将多个指标组合成复杂的约束条件。

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

<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