5.3.3.5 IfcRelSequence(关系序列)
5.3.3.5.1 语义定义(Semantic definition)
IfcRelSequence 是进程之间的顺序关系,其中一个进程必须在时间上先于另一个进程发生,并且关系的时间可以描述为一种序列类型。关联进程(IfcRelSequence.RelatingProcess)被视为关系中的前驱(具有优先权),而关联的进程(IfcRelSequence.RelatedProcess)是后继。
IfcRelSequence 定义为一对一关系;因此,它将一个前驱分配给一个后继。
Use definitions
IfcRelSequence 用于描述两个进程之间存在的逻辑顺序关系。这种逻辑关系表明存在一个前驱或关联进程和一个后继或关联进程。在 IFC 中,关系中可以有一个前驱和一个后继。可以存在许多 IfcRelSequence 实例来描述一个前驱任务与多个后继任务之间的顺序关系,或者描述多个前驱任务与一个后继任务之间的顺序关系,从而实现任务之间的 m:n 顺序关系。请注意,顺序关系可用于定义进程实例之间的依赖关系,也可用于定义进程类型之间的依赖关系(有关更多信息,请参阅 IfcRelDefinesByObject 和 IfcTaskType)。在定义进程实例之间的依赖关系时,顺序关系应保持在有向无环图中。
可以为序列设置序列类型。对于分配给工作计划的任务,预期将断言序列类型。对于流程图,其中进程之间的顺序关系仅仅是逻辑流,则不必断言。
可以为序列分配时间滞后,并且序列类型定义了时间滞后应用于序列的方式,无论是作为持续时间的比例或百分比(例如,当前驱任务完成 50% 时开始后继任务),还是作为时间度量(例如,在前驱任务开始后一周开始后继任务)。在分配时间滞后给序列时,应谨慎使用,具体取决于序列类型的设置,因为没有检查时间滞后值是否与设置的序列类型一致。
5.3.3.5.2 实体继承(Entity inheritance)
-
- IfcRelSequence
- IfcRelConnectsElements
- IfcRelConnectsPortToElement
- IfcRelConnectsPorts
- IfcRelConnectsStructuralActivity
- IfcRelConnectsStructuralMember
- IfcRelContainedInSpatialStructure
- IfcRelCoversBldgElements
- IfcRelCoversSpaces
- IfcRelFillsElement
- IfcRelFlowControlElements
- IfcRelInterferesElements
- IfcRelPositions
- IfcRelReferencedInSpatialStructure
- IfcRelServicesBuildings
- IfcRelSpaceBoundary
5.3.3.5.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRoot (4) | |||
| 1 | GlobalId | IfcGloballyUniqueId |
在整个软件世界中分配全局唯一标识符。 |
| 2 | OwnerHistory | OPTIONAL IfcOwnerHistory |
分配有关该对象当前所有权的信息,包括所有者参与者、应用程序、本地标识以及捕获到的关于对象近期更改的信息。 |
| 3 | Name | OPTIONAL IfcLabel |
供参与的软件系统或用户使用的可选名称。对于某些 IfcRoot 的子类型,可能需要插入 Name 特性。这将通过 where 规则强制执行。 |
| 4 | Description | OPTIONAL IfcText |
可选的描述,用于提供信息性注释。 |
| 点击显示 4 个隐藏的继承特性 点击隐藏 4 个继承特性 | |||
| IfcRelSequence (5) | |||
| 5 | RelatingProcess | IfcProcess |
指向作为前驱的进程的引用。 |
| 6 | RelatedProcess | IfcProcess |
指向作为后继的进程的引用。 |
| 7 | TimeLag | OPTIONAL IfcLagTime |
序列的时间持续时间,即前驱和后继之间的时间滞后,由 SequenceType 指定。 |
| 8 | SequenceType | OPTIONAL IfcSequenceEnum |
时间滞后应用于序列的方式。 |
| 9 | UserDefinedSequenceType | OPTIONAL IfcLabel |
允许指定序列的用户定义类型,超出 SequenceType 特性(START_START、START_FINISH FINISH_START、FINISH_FINISH)提供的枚举值。当在属性 UserDefinedSequenceType 中提供值时,属性 SequenceType 应具有枚举值 USERDEFINED。 |
5.3.3.5.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| AvoidInconsistentSequence |
RelatingProcess 不得指向与 RelatedProcess 相同的实例。 |
|
|
| CorrectSequenceType |
当 SequenceType 的取值为 USERDEFINED 时,必须断言 UserDefinedSequenceType 特性。 |
|
|
5.3.3.5.5 概念用法(Concept usage)
| 概念 | 用法 | 描述 | |
|---|---|---|---|
| IfcRoot (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcRelationship (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcRelConnects (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 6 个隐藏的继承概念 点击隐藏 6 个继承概念 | |||
| IfcRelSequence (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
5.3.3.5.6 形式化表示(Formal representation)
ENTITY IfcRelSequence
SUBTYPE OF (IfcRelConnects);
RelatingProcess : IfcProcess;
RelatedProcess : IfcProcess;
TimeLag : OPTIONAL IfcLagTime;
SequenceType : OPTIONAL IfcSequenceEnum;
UserDefinedSequenceType : OPTIONAL IfcLabel;
WHERE
AvoidInconsistentSequence : RelatingProcess :<>: RelatedProcess;
CorrectSequenceType : (SequenceType <> IfcSequenceEnum.USERDEFINED) OR ((SequenceType = IfcSequenceEnum.USERDEFINED) AND EXISTS(UserDefinedSequenceType));
END_ENTITY;