8.3.3.3 IfcObjective(目标)
8.3.3.3.1 语义定义(Semantic definition)
IfcObjective 用于捕获基于目标的约束的定性信息。
IfcObjective 是 IfcConstraint 的子类型,可通过 IfcControlExtension 模式中的 IfcRelAssociatesConstraint 关系与任何 IfcRoot 子类型相关联,或通过 IfcResourceConstraintRelationship 与 IfcProperty 相关联。
IfcObjective 的目标是指定应用约束的目的,并捕获约束的基准指标。
8.3.3.3.2 实体继承(Entity inheritance)
8.3.3.3.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcConstraint (9) | |||
| 1 | Name | IfcLabel |
约束的可读名称。 |
| 2 | Description | OPTIONAL IfcText |
约束的可读描述,可提供关于约束的附加信息。 |
| 3 | ConstraintGrade | IfcConstraintEnum |
限定约束类型的枚举。 |
| 4 | ConstraintSource | OPTIONAL IfcLabel |
约束来源的任何原始材料,如规范或标准。 |
| 5 | CreatingActor | OPTIONAL IfcActorSelect |
创建约束的个人和/或组织。 |
| 6 | CreationTime | OPTIONAL IfcDateTime |
指定约束实例的信息创建时间。 |
| 7 | UserDefinedGrade | OPTIONAL IfcLabel |
允许在 IfcConstraintEnum 类型的 ConstraintGrade 属性提供的枚举值(强制、建议、咨询)之外指定用户定义的约束等级。 当为 UserDefinedGrade 属性提供值时,ConstraintGrade 属性应同时设置为 USERDEFINED 枚举值。 |
| HasExternalReferences | SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects |
引用与约束关联的外部参考,如库、分类或文档信息。 |
|
| PropertiesForConstraint | SET [0:?] OF IfcResourceConstraintRelationship FOR RelatingConstraint |
引用应用约束的属性。 |
|
| 点击显示 9 个隐藏的继承特性 点击隐藏 9 个继承特性 | |||
| IfcObjective (4) | |||
| 8 | BenchmarkValues | OPTIONAL LIST [1:?] OF IfcConstraint |
嵌套约束的列表。
|
| 9 | LogicalAggregator | OPTIONAL IfcLogicalOperatorEnum |
标识基准指标逻辑聚合类型的枚举。
|
| 10 | ObjectiveQualifier | IfcObjectiveEnum |
限定目标约束类型的枚举。 |
| 11 | UserDefinedQualifier | OPTIONAL IfcLabel |
当类型为 IfcObjectiveEnum 的 ObjectiveQualifier 属性值为 USERDEFINED 时,限定目标约束类型的用户定义值。 |
8.3.3.3.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| WR21 |
当 ObjectiveQualifier 的值设置为 USERDEFINED 时,必须声明属性 UserDefinedQualifier。 |
|
|
8.3.3.3.5 形式化表示(Formal representation)
ENTITY IfcObjective
SUBTYPE OF (IfcConstraint);
BenchmarkValues : OPTIONAL LIST [1:?] OF IfcConstraint;
LogicalAggregator : OPTIONAL IfcLogicalOperatorEnum;
ObjectiveQualifier : IfcObjectiveEnum;
UserDefinedQualifier : OPTIONAL IfcLabel;
WHERE
WR21 : (ObjectiveQualifier <> IfcObjectiveEnum.USERDEFINED) OR
((ObjectiveQualifier = IfcObjectiveEnum.USERDEFINED) AND EXISTS(SELF\IfcObjective.UserDefinedQualifier));
END_ENTITY;