8.3.1 Schema Definition(模式定义)
- IfcConstraintResource模式提供了约束的规范(IfcConstraint),它可以应用于任何对象,该对象是IfcObjectDefinition或IfcPropertyDefinition的子类型(通过提供关系类IfcRelAssociatesConstraint)。同样,约束可以应用于特定的资源对象,比如IfcProperty(通过提供关系类IfcResourceConstraintRelationship)。
- 可以为约束设置等级,以确定它是硬约束(必须满足)、软约束(应该满足)还是简单的建议。
约束必须命名,并且可以选择具有一个或多个定义约束或从中获取约束的源。此外,可以选择地为约束指定创建参与者、创建日期和描述。
约束可以是定性的(客观的约束)或定量的(测量的约束或度量)。限定符可以应用于确定其应用目的的目标约束。它可用于定义可能违反建筑规范的约束值,或限制规范中可选择的值范围(例如,a值必须大于a但小于B)。通过枚举提供了几种可能的用途。
测量的约束或度量定义了约束的一个或多个实际值。可以根据设置约束意图的基准要求定义值,例如,基准是大于(>)还是小于(<)。可以根据通过选择机制可用的许多数据类型来定义约束的值。
类型
1 IfcBenchmarkEnum (基准)
2 IfcConstraintEnum (约束)
3 IfcLogicalOperatorEnum (逻辑操作)
4 IfcObjectiveEnum (客观)
5 IfcMetricValueSelect (度量值)
实体
1 IfcConstraint
2 IfcMetric
3 IfcObjective
4 IfcReference
5 IfcResourceConstraintRelationship
Types
1 IfcBenchmarkEnum (基础枚举类型)
8.3.2.1 IfcBenchmarkEnum
- IfcBenchmarkEnum是一个枚举,用于标识可以与约束值一起应用的逻辑比较器。
Enumeration definition
Constant | Description |
---|---|
GREATERTHAN |
Identifies that a value must be greater than that set by the constraint. 标识一个值必须大于约束设置的值。 |
GREATERTHANOREQUALTO |
Identifies that a value must be either greater than or equal to that set by the constraint. 标识一个值必须大于或等于约束设置的值。 |
LESSTHAN |
Identifies that a value must be less than that set by the constraint. 标识一个值必须小于约束设置的值。 |
LESSTHANOREQUALTO |
Identifies that a value must be either less than or equal to that set by the constraint. 标识一个值必须小于或等于约束设置的值。 |
EQUALTO |
Identifies that a value must be equal to that set by the constraint. 标识一个值必须等于约束设置的值。 |
NOTEQUALTO |
Identifies that a value must be not equal to that set by the constraint. 标识一个值不能等于约束设置的值。 |
INCLUDES |
Identifies that an aggregation (set, list or table) must include the value (individual item) set by the constraint. 标识一个聚合(集合、列表或表)必须包含由约束设置的值(单个项)。 |
NOTINCLUDES |
Identifies that an aggregation (set, list or table) must not include the value (individual item) set by the constraint. 标识一个聚合(集合、列表或表)不能包含由约束设置的值(单个项)。 |
INCLUDEDIN |
Identifies that a value (individual item) must be included in the aggregation (set, list or table) set by the constraint. 标识一个值(单独的项)必须包含在由约束设置的聚合(集合、列表或表)中。 |
NOTINCLUDEDIN |
Identifies that a value (individual item) must not be included in the aggregation (set, list or table) set by the constraint. 标识一个值(单独的项)不能包含在约束设置的聚合(集合、列表或表)中。 |
8.3.2.2 IfcConstraintEnum
- IfcConstraintEnum是一个用于限定约束的枚举。
Constant | Description |
---|---|
HARD |
Qualifies a constraint such that it must be followed rigidly within or at the values set. 限定约束,使其必须在值集内或值集处严格遵循。 |
SOFT |
Qualifies a constraint such that it should be followed within or at the values set. 限定约束,使其在值集内或值集处遵循。 |
ADVISORY |
Qualifies a constraint such that it is advised that it is followed within or at the values set. 限定约束,建议在设置的值内或值处遵循该约束。 |
USERDEFINED |
A user-defined grade indicated by a separate attribute at the referencing entity. 由引用实体的单独属性指示的用户定义等级。 |
NOTDEFINED |
Grade has not been specified. 没有指定等级。 |
8.3.2.3 IfcLogicalOperatorEnum
- IfcLogicalOperatorEnum是一个枚举,它定义了逻辑操作符,可以应用于满足一个或多个操作数(IfcConstraint)。
- 表683说明了ifclogicaloperatrenum在三个操作数a、B和C的情况下对每个操作符的应用。
Constant | Description |
---|---|
LOGICALAND |
Defines a relationship between operands whereby the result is true if all operands are true, and false if at least one operand is false. 定义操作数之间的关系,其中如果所有操作数都为真则结果为真,如果至少有一个操作数为假则结果为假。 |
LOGICALOR |
Defines a relationship between operands whereby the result is true if at least one operand is true, and false if all operands are false. 定义操作数之间的关系,其中如果至少有一个操作数为真,则结果为真,如果所有操作数为假,则结果为假。 |
LOGICALXOR |
Defines a relationship between operands whereby the result is true if exactly one operand is true (exclusive or). 定义操作数之间的关系,其中如果恰好一个操作数为真,则结果为真(互斥或)。 |
LOGICALNOTAND |
Defines a relationship between operands whereby the result is true if at least one operand is false, and false if all operands are true. 定义操作数之间的关系,其中如果至少有一个操作数为假,则结果为真,如果所有操作数为真,则为假。 |
LOGICALNOTOR |
Defines a relationship between operands whereby the result is true if all operands are false, and false if at least one operand is true. 定义操作数之间的关系,其中如果所有操作数都为假,则结果为真,如果至少有一个操作数为真,则为假。 |
8.3.2.4 IfcObjectiveEnum
- IfcObjectiveEnum是一个枚举,用于确定约束需要满足哪个目的的目标。
Constant | Description |
---|---|
CODECOMPLIANCE |
A constraint whose objective is to ensure satisfaction of a code compliance provision. 一种约束,其目标是确保代码遵从性规定的满足。 |
CODEWAIVER |
A constraint whose objective is to identify an agreement that code compliance requirements (the waiver) will not be enforced. 一种约束,其目标是确定代码遵从性需求(放弃)不会被强制的协议。 |
DESIGNINTENT | A constraint whose objective is to ensure satisfaction of a design intent provision.一种约束,其目标是确保满足设计意图规定。 |
EXTERNAL |
A constraint whose objective is to synchronize data with an external source such as a file 一种约束,其目标是将数据与外部源(如文件)同步 |
HEALTHANDSAFETY |
A constraint whose objective is to ensure satisfaction of a health and safety provision. 目的是确保满足健康和安全规定的约束。 |
MERGECONFLICT |
A constraint whose objective is to resolve a conflict such as merging data from multiple sources. 目标是解决冲突的约束,例如合并来自多个源的数据。 |
MODELVIEW |
A constraint whose objective is to ensure data conforms to a model view definition. 一种约束,其目标是确保数据符合模型视图定义。 |
PARAMETER |
A constraint whose objective is to calculate a value based on other referenced values. 一种约束,其目标是根据其他参考值计算一个值。 |
REQUIREMENT |
A constraint whose objective is to ensure satisfaction of a project requirement provision. 目标是确保满足项目需求规定的约束。 |
SPECIFICATION |
A constraint whose objective is to ensure satisfaction of a specification provision. 目标是确保规范规定的满足的约束。 |
TRIGGERCONDITION |
A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. 一种约束,其目标是指出一个限制值,超过这个限制值,一个对象的条件需要一种特殊形式的注意。 |
USERDEFINED | |
NOTDEFINED |
8.3.2.5 IfcMetricValueSelect
- IfcMetricValueSelect是一种选择类型,它允许为IfcMetric的值组件选择数据类型。
- 使用的类型如下:
- IfcValue:使用项目默认单位的常量。
- IfcMeasureWithUnit:使用指定单位的常量值。
- IfcAppliedValue:从公式中计算出的值。
- IfcTable:从表中检索的值。
- IfcTimeSeries:随时间变化的值。
- IfcReference:对象属性上引用的值。
Constant | Description |
---|---|
IfcMeasureWithUnit | 使用指定单位的常量值。 |
IfcTable | 从表中检索的值。 |
IfcTimeSeries | 随时间变化的值。 |
IfcAppliedValue | 从公式中计算出的值。 |
IfcValue | 使用项目默认单位的常量。 |
IfcReference对象属性上引用的值。 |
8.3.3 Entities
8.3.3.1 IfcConstraint
- IfcConstraint用于定义一个约束或限制值或边界条件,可以应用于一个对象或一个属性的值。
- 约束可以细分为用户定义的约束和系统定义的约束。用户定义的约束由用户应用,并且仅限于高级定义,比如对象属性。系统定义的约束可以应用于任何对象属性,通常由应用程序定义以执行数据验证或参数化行为,并打算由应用程序执行,但不能由最终用户直接编辑。
- IfcConstraint可能与任何相关亚型IfcObjectDefinition或通过IfcRelAssociatesConstraint IfcPropertyDefinition关系来表示一个系统定义的约束,或可能与IfcResourceObjectSelect有关(如IfcPropertySingleValue) IfcResourceConstraintRelationship显示一个用户定义的约束。
- 约束必须有一个通过IfcConstraint应用的名称。Name属性和可选的描述,通过IfcConstraint.Description。约束的等级(硬的,软的,建议的)必须通过IfcConstraint指定。ConstraintGrade或IfcConstraint。UserDefinedGrade,而源,创建参与者和时间,约束被创建可以选择通过IfcConstraint断言。ConstraintSource IfcConstraint。CreatingActor IfcConstraint.CreationTime。
- 约束还可以通过ifcexternalreferencerrelationship与之关联的附加外部信息(比如分类或文档信息),通过反向属性IfcConstraint进行访问。HasExternalReferences
Attribute inheritance
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcConstraint | |||||
1 | Name | IfcLabel | [1:1] |
A human-readable name to be used for the constraint.
|
X |
2 | Description | IfcText | [0:1] |
A human-readable description that may apply additional information about a constraint.
|
X |
3 | ConstraintGrade | IfcConstraintEnum | [1:1] |
Enumeration that qualifies the type of constraint.
|
X |
4 | ConstraintSource | IfcLabel | [0:1] |
Any source material, such as a code or standard, from which the constraint originated.
|
X |
5 | CreatingActor | IfcActorSelect | [0:1] |
Person and/or organization that has created the constraint.
|
X |
6 | CreationTime | IfcDateTime | [0:1] |
Time when information specifying the constraint instance was created.
|
X |
7 | UserDefinedGrade | IfcLabel | [0:1] |
Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED.
|
X |
HasExternalReferences | IfcExternalReferenceRelationship @RelatedResourceObjects |
S[0:?] |
Reference to an external references, e.g. library, classification, or document information, that are associated to the constraint.
|
X | |
PropertiesForConstraint | IfcResourceConstraintRelationship @RelatingConstraint |
S[0:?] |
Reference to the properties to which the constraint is applied.
|
X |
8.3.3.2 IfcMetric
www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htmhttp://www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htm
- IfcMetric用于捕获可应用于目标的定量结果度量。
- IfcMetric是IfcConstraint的一个子类型,可以通过IfcControlExtension模式中的IfcRelAssociatesConstraint关系与IfcRoot的任何子类型相关联,也可以通过IfcResourceConstraintRelationship与IfcProperty相关联。
- IfcMetric的目标是捕获约束的定量方面。
Attribute definitions
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
8 | Benchmark | IfcBenchmarkEnum | [1:1] |
Enumeration that identifies the type of benchmark data.
|
X |
9 | ValueSource | IfcLabel | [0:1] |
Reference source for data values. If DataValue refers to an IfcTable, this attribute identifies the relevent column identified by IfcTableColumn.Identifier.
|
X |
10 | DataValue | IfcMetricValueSelect | [0:1] |
The value to be compared on associated objects. A null value indicates comparison to null.
|
X |
11 | ReferencePath | IfcReference | [0:1] |
Optional path to an attribute to be constrained on associated objects. If provided, the metric may be validated by resolving the path to the current value on associated object(s), and comparing such value with DataValue according to the Benchmark.
|
X |
8.3.3.3 IfcObjective
www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htmhttp://www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htm
- ifcobjobjective为基于目标的约束捕获定性信息。
- ifcobjobjective是IfcConstraint的一个子类型,可以通过IfcControlExtension模式中的IfcRelAssociatesConstraint关系与IfcRoot的任何子类型相关联,也可以通过IfcResourceConstraintRelationship与IfcProperty相关联。
- ifcobjobjective的目的是指定应用约束的目的,并捕获约束的基准指标。
Attribute definitions
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
8 | BenchmarkValues | IfcConstraint | L[1:?] |
A list of nested constraints.
|
X |
9 | LogicalAggregator | IfcLogicalOperatorEnum | [0:1] |
Enumeration that identifies the logical type of aggregation for the benchmark metrics.
|
X |
10 | ObjectiveQualifier | IfcObjectiveEnum | [1:1] |
Enumeration that qualifies the type of objective constraint.
|
X |
11 | UserDefinedQualifier | IfcLabel | [0:1] |
A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED.
|
X |
Formal Propositions
Rule | Description |
---|---|
WR21 |
The attribute UserDefinedQualifier must be asserted when the value of the ObjectiveQualifier is set to USERDEFINED.
|
8.3.3.4 IfcObjective
www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htmhttp://www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htm
- 该实体用于引用实例上属性的值。它可以引用标量属性的值,也可以引用基于集合的属性中的值。引用的属性可以是直接值、对象引用、集合、逆对象引用和逆集合。引用可以链接起来形成一个对象属性引用的路径。
Attribute definitions
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
1 | TypeIdentifier | IfcIdentifier | [0:1] |
Optional identifier of the entity or type such as 'IfcMaterialLayerSet'. For entity, type, or select-based references within a collection, this resolves the reference to such type. If omitted, the type is assumed to be the same as the declared referencing attribute.
|
X |
2 | AttributeIdentifier | IfcIdentifier | [0:1] |
Optionally identifies a direct or inverse attribute within an entity such as 'MaterialLayers'. If TypeIdentifier is specified and refers to an entity, the attribute must exist within the referenced entity. A null value indicates a reference to the type or entity itself, such as for indicating that the type of a value must match a specified constraint.
|
X |
3 | InstanceName | IfcLabel | [0:1] |
Optionally identifies an instance within a collection according to name. If the instance has an attribute called 'Name', such attribute is used for comparison; otherwise the first STRING-based attribute of the entity is used.
|
X |
4 | ListPositions | IfcInteger | L[1:?] |
Optionally identifies an instance within a collection according to position starting at 1. For referencing single-level collections, this attribute contains a single member; for referencing multi-level collections, then this LIST attribute contains multiple members starting from the outer-most index.
|
X |
5 | InnerReference | IfcReference | [0:1] |
Optional reference to an inner value for ENTITY, SELECT, SET, or LIST attributes. A path may be formed by linking IfcReference instances together.
|
X |
8.3.3.5 IfcResourceConstraintRelationship
www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htmhttp://www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htm
- IfcResourceConstraintRelationship是一个关系实体,它允许约束与一个或多个资源级对象相关。
- IfcResourceConstraintRelationship允许将约束规范应用于许多实体类型。一种重要的情况是将约束应用于属性。因此,应用的约束使属性能够携带标识需求的值,以及标识这些需求的实现的值。
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcResourceLevelRelationship | |||||
1 | Name | IfcLabel | [0:1] |
A name used to identify or qualify the relationship.
|
X |
2 | Description | IfcText | [0:1] |
A description that may apply additional information about the relationship.
|
X |
IfcResourceConstraintRelationship | |||||
3 | RelatingConstraint | IfcConstraint | [1:1] |
The constraint that is to be related.
|
X |
4 | RelatedResourceObjects | IfcResourceObjectSelect | S[1:?] |
The properties to which a constraint is to be related.
|
X |
暂无评论内容