8.3 IfcConstraintResource(IFC约束资源)

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.

  • 允许指定用户定义的约束等级,而不是由类型为IfcConstraintEnum的ConstraintGrade属性提供的枚举值(硬的、软的、建议的)。当为属性UserDefinedGrade同时提供一个值时,属性ConstraintGrade应该具有枚举值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.htmicon-default.png?t=M1H3http://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.

  • 数据值的参考源。如果DataValue指向一个IfcTable,这个属性标识了由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.

  • 关联对象上要约束的属性的可选路径。如果提供,则可以通过解析关联对象上当前值的路径来验证度量,并根据基准将该值与DataValue进行比较。
X

8.3.3.3 IfcObjective

www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htmicon-default.png?t=M1H3http://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.

  • 当IfcObjectiveEnum类型的ObjectiveQualifier属性值为USERDEFINED时,用于限定目标约束类型的用户定义值。
X

Formal Propositions

Rule Description
WR21

The attribute UserDefinedQualifier must be asserted when the value of the ObjectiveQualifier is set to USERDEFINED.

  • 当ObjectiveQualifier的值设置为USERDEFINED时,UserDefinedQualifier属性必须被断言。

 

8.3.3.4 IfcObjective

www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htmicon-default.png?t=M1H3http://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.

  • 实体或类型的可选标识符,如“IfcMaterialLayerSet”。对于集合中的实体、类型或基于选择的引用,这会将引用解析为此类类型。如果省略,则假定该类型与声明的引用属性相同。

EXAMPLE  
IfcRelAssociatesMaterial.
RelatingMaterial may be resolved to 
IfcMaterialLayerSet.

  • IfcRelAssociatesMaterial示例。相关材料可以被解析为IfcMaterialLayerSet。
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.

  • 可以选择在实体(如“MaterialLayers”)中标识一个直接或相反的属性。如果指定了TypeIdentifier并引用了一个实体,则该属性必须存在于引用的实体中。空值指示对类型或实体本身的引用,例如指示值的类型必须匹配指定的约束。
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.

  • 可选地根据名称标识集合中的实例。如果实例有一个名为'Name'的属性,则使用该属性进行比较;否则使用实体的第一个基于字符串的属性。

EXAMPLE  
IfcRoot-based entities such as 
IfcPropertySet use the 
Name attribute; 
IfcRepresentation entities use the 
RepresentationIdentifier attribute.

基于ifroot的实体,如IfcPropertySet,使用Name属性;IfcRepresentation实体使用具象标识符属性。

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.

  • 可以根据从1开始的位置在集合中标识一个实例。对于引用单级别集合,此属性包含单个成员;如果要引用多级集合,则LIST属性包含从最外层索引开始的多个成员。
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.

  • 对ENTITY、SELECT、SET或LIST属性的内部值的可选引用。路径可以通过将IfcReference实例链接在一起而形成。

EXAMPLE  A material layer thickness may be referenced using several instances: #1=IFCREFERENCE($,'IfcSlab','HasAssociations',#2); #2=IFCREFERENCE($,'IfcMaterialLayerSet','MaterialLayers',#3); #3=IFCREFERENCE('Core','IfcMaterialLayer','LayerThickness',$);

  • 一个材料层的厚度可以用几个实例来引用:#1=IFCREFERENCE($,'IfcSlab','HasAssociations',#2);# 2 = IFCREFERENCE($、“IfcMaterialLayerSet”、“MaterialLayers”,# 3);# 3 = IFCREFERENCE(“核心”、“IfcMaterialLayer”、“LayerThickness”,$);
X

8.3.3.5 IfcResourceConstraintRelationship

www.vfkjsd.cn/ifc/ifc4/link/ifcidentifier.htmicon-default.png?t=M1H3http://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

 

© 版权声明
THE END
喜欢就支持一下吧
点赞20 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容