5.3.3.6 IfcTask(任务)
5.3.3.6.1 语义定义(Semantic definition)
IfcTask 是在建筑项目中需要完成的可识别的工作单元。
任务通常用于描述产品建造或安装的活动,但不仅限于这些类型。例如,它可能用于描述设计过程、搬迁操作以及其他与设计、建造和运营相关的活动。
任务消耗的资源数量通过定义资源的 IfcElementQuantity 来处理,而不是在 IfcTask 的实例处处理。
5.3.3.6.1.1 Attribute use definition
每个 IfcTask 实例都有一个名称,该名称指示其内容(IfcRoot.Name)。可以提供任务的文本描述,并且可以通过叙述性长描述(IfcProcess.LongDescription)进一步阐述。可以声明用于执行任务的工作方法。任务被标识为里程碑任务或非里程碑任务。里程碑任务由标记 IsMilestone 定义,并且没有持续时间。还可以为每个任务设置状态和优先级。
5.3.3.6.1.2 Time and duration use definition
与之前的 IFC 版本相比,基本任务时间信息(计划开始时间、计划完成时间、持续时间)现在通过 TaskTime 特性直接附加到 IfcTask。常规任务通过 IfcTaskTime 定义。重复任务通过 IfcTaskTimeRecurring 定义。如果常规任务是从重复任务派生的,则这两个任务应通过 IfcRelNests 关系链接在一起,其中 IfcRelNests.IsNestedBy 指向重复任务,IfcRelNests.Nests 指向所有从重复任务派生的常规任务。
5.3.3.6.1.3 Representation of other activities
IfcTask 的使用定义已泛化,以表示其他活动,包括先前 IFC 版本中已有自己实体的活动。这包括
- 订单操作
- 搬迁操作
IfcTask 表示一项订单,可能由作为组织接口的 Helpdesk 执行,负责在设施用户和满足其需求的功能需求之间进行协调。IfcTask 实体表示的任务是将请求转化为订单并启动以完成订单的行动。IfcProjectOrder 或其子类型(包括维护工单)通过 IfcRelAssignsToControl 与 IfcTask 相关联。
IfcTask 也可用于描述将人员、组织内的群体或完整的组织及其相关家具和设备从一个地方移动到另一个地方的活动。因此,它取代了以前的 IFC 实体 IfcMove。功能在 IfcTask 中表示如下:
- 移动来源:人员及其相关设备移动的地点。使用 IfcRelAssignsToProcess,其中 RelatingProcess 指向任务,RelatedObjects 包含移动的来源位置。
- 移动目的地:人员及其相关设备移动到的地点。使用 IfcRelAssignsToProduct,其中 RelatedObjects 指向任务,RelatingProduct 指向移动的目的地。
- 检查清单:关于需要关注的搬迁的要点列表。使用 LongDescription 或识别子任务以单独跟踪检查清单项(通过 IfcRelNests)。
5.3.3.6.2 实体继承(Entity inheritance)
5.3.3.6.3 特性(Attributes)
| # | 特性(Attributes) | 类型(Type) | 描述(Description) |
|---|---|---|---|
| IfcRoot (4) | |||
| 1 | GlobalId | IfcGloballyUniqueId |
在整个软件世界中分配全局唯一标识符。 |
| 2 | OwnerHistory | OPTIONAL IfcOwnerHistory |
分配有关该对象当前所有权的信息,包括所有者参与者、应用程序、本地标识以及捕获到的关于对象近期更改的信息。 |
| 3 | Name | OPTIONAL IfcLabel |
供参与的软件系统或用户使用的可选名称。对于某些 IfcRoot 的子类型,可能需要插入 Name 特性。这将通过 where 规则强制执行。 |
| 4 | Description | OPTIONAL IfcText |
可选的描述,用于提供信息性注释。 |
| IfcObjectDefinition (7) | |||
| HasAssignments | SET [0:?] OF IfcRelAssigns FOR RelatedObjects |
引用分配(通过关联关系)其他 IfcObject 子类型到此对象实例的关系对象。例如,与产品、过程、控制、资源或组的关联。 |
|
| Nests | SET [0:1] OF IfcRelNests FOR RelatedObjects |
引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的一部分。对象实例或类型只能是单个分解的一部分(仅允许分层结构)。 |
|
| IsNestedBy | SET [0:?] OF IfcRelNests FOR RelatingObject |
引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的整体。对象或对象类型可以被多个其他对象(实例或类型)嵌套。 |
|
| HasContext | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions |
引用提供上下文信息的上下文,例如项目单位或表示上下文。它只应断言在最上层的非空间对象上。 |
|
| IsDecomposedBy | SET [0:?] OF IfcRelAggregates FOR RelatingObject |
引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的整体。对象定义可以被多个其他对象(实例或部分)聚合。 |
|
| Decomposes | SET [0:1] OF IfcRelAggregates FOR RelatedObjects |
引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的一部分。对象定义只能是单个分解的一部分(仅允许分层结构)。 |
|
| HasAssociations | SET [0:?] OF IfcRelAssociates FOR RelatedObjects |
引用将外部资源或资源定义与对象关联的关系对象。例如,与库、文档或分类的关联。 |
|
| IfcObject (5) | |||
| 5 | ObjectType | OPTIONAL IfcLabel |
该类型表示指示对象的特定类型。必须在可实例化的子类型的级别上建立用法。特别是,如果特性 PredefinedType 的枚举设置为 USERDEFINED,或者当实例化的具体实体没有 PredefinedType 特性时,它保存用户定义的类型。后者发生在一些特殊的叶子类中,以及直接实例化 IfcBuiltElement 时。 |
| IsDeclaredBy | SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects |
链接到指向声明对象的关系对象,该声明对象为此对象实例提供对象定义。声明对象必须是对象类型分解的一部分。关联的 IfcObject 或其子类型包含特定信息(作为类型或样式定义的一部分),该信息对于声明 IfcObject 或其子类型的所有反映实例是通用的。 |
|
| Declares | SET [0:?] OF IfcRelDefinesByObject FOR RelatingObject |
链接到指向接收对象定义的反向对象的关系对象。反向对象必须是对象实例分解的一部分。关联的 IfcObject 或其子类型提供特定信息(作为类型或样式定义的一部分),该信息对于声明 IfcObject 或其子类型的所有反向实例是通用的。 |
|
| IsTypedBy | SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects |
与对象类型的关系集合,该对象类型为此对象实例提供类型定义。然后,关联的 IfcTypeObject 或其子类型包含特定信息(或类型或样式),该信息对于引用同一类型的所有 IfcObject 或其子类型的实例是通用的。 |
|
| IsDefinedBy | SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects |
与附加到此对象的属性集定义的集合的关系。这些静态或动态定义的特性包含字母数字信息内容,这些内容进一步定义了对象。 |
|
| IfcProcess (5) | |||
| 6 | Identification | OPTIONAL IfcIdentifier |
为过程或活动指定的标识名称。 它是实例级别的标识符。 |
| 7 | LongDescription | OPTIONAL IfcText |
可以提供的扩展描述或叙述。 |
| IsPredecessorTo | SET [0:?] OF IfcRelSequence FOR RelatingProcess |
两个活动之间的依赖关系,它引用此活动的前驱后续活动。两个活动之间的链接可以包括链接类型和滞后时间。 |
|
| IsSuccessorFrom | SET [0:?] OF IfcRelSequence FOR RelatedProcess |
两个活动之间的依赖关系,它引用此活动的后继前驱活动。两个活动之间的链接可以包括链接类型和滞后时间。 |
|
| OperatesOn | SET [0:?] OF IfcRelAssignsToProcess FOR RelatingProcess |
与其他对象(例如产品、过程、控制、资源或参与者)的关系集合,这些对象被该过程操作。 |
|
| 点击显示 21 个隐藏的继承特性 点击隐藏 21 个继承特性 | |||
| IfcTask (6) | |||
| 8 | Status | OPTIONAL IfcLabel |
任务的当前状态。 |
| 9 | WorkMethod | OPTIONAL IfcLabel |
执行任务时使用的工作方法。 |
| 10 | IsMilestone | IfcBoolean |
标识任务是否为里程碑任务(= TRUE)或非里程碑任务(= FALSE)。 |
| 11 | Priority | OPTIONAL IfcInteger |
一个值,指示任务的相对优先级(与其它任务的优先级相比)。 |
| 12 | TaskTime | OPTIONAL IfcTaskTime |
与任务相关的时间信息。 |
| 13 | PredefinedType | OPTIONAL IfcTaskTypeEnum |
标识任务的预定义类型,可从中设置所需的类型。 |
5.3.3.6.4 形式化命题(Formal propositions)
| 名称(Name) | 描述(Description) |
|---|---|
| CorrectPredefinedType |
当 PredefinedType 的取值为 USERDEFINED 时,必须断言 ObjectType 特性。 |
|
|
| HasName |
应插入 Name 特性来描述任务名称。 |
|
|
5.3.3.6.5 属性集(Property sets)
-
Pset_PackingInstructions
MOVE- PackingCareType
- WrappingMaterial
- ContainerMaterial
- SpecialInstructions
-
Pset_Risk
- RiskName
- RiskType
- NatureOfRisk
- RiskAssessmentMethodology
- UnmitigatedRiskLikelihood
- UnmitigatedRiskConsequence
- UnmitigatedRiskSignificance
- MitigationPlanned
- MitigatedRiskLikelihood
- MitigatedRiskConsequence
- MitigatedRiskSignificance
- MitigationProposed
- AssociatedProduct
- AssociatedActivity
- AssociatedLocation
5.3.3.6.6 概念用法(Concept usage)
| 概念(Concept) | 用法(Usage) | 描述(Description) | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| IfcRoot (2) | ||||||||||||||||||||||||||||||||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
||||||||||||||||||||||||||||||
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
||||||||||||||||||||||||||||||
| IfcObjectDefinition (9) | ||||||||||||||||||||||||||||||||
| Classification Association | General |
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。 |
||||||||||||||||||||||||||||||
| Aggregation | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Approval Association | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Constraint Association | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Document Association | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Library Association | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Material Association | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Material Single | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Nesting | General |
无可用描述 |
||||||||||||||||||||||||||||||
| IfcObject (5) | ||||||||||||||||||||||||||||||||
| Object Predefined Type | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Object Typing | General |
任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。 此概念可应用于以下资源 |
||||||||||||||||||||||||||||||
| Object User Identity | General |
特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType,通用的 Name 和可选的 Description 与对象类型相关联。 |
||||||||||||||||||||||||||||||
| Property Sets with Override | General |
任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。 |
||||||||||||||||||||||||||||||
| Assignment to Group | General |
无可用描述 |
||||||||||||||||||||||||||||||
| IfcProcess (4) | ||||||||||||||||||||||||||||||||
| Property Sets for Objects | General |
此概念可应用于以下资源 |
||||||||||||||||||||||||||||||
| Object Typing | General |
此概念可应用于以下资源 |
||||||||||||||||||||||||||||||
| Process Assignment | General |
无可用描述 |
||||||||||||||||||||||||||||||
| Sequential Connectivity | General |
无可用描述 |
||||||||||||||||||||||||||||||
| 点击显示 20 个隐藏的继承概念 点击隐藏 20 个继承概念 | ||||||||||||||||||||||||||||||||
| IfcTask (7) | ||||||||||||||||||||||||||||||||
| Classification Association | General |
IfcTask 可分配来自已发布的外部结构或公司标准的分解结构(WBS)代码。除了用于指定代码之外,分类结构还允许识别工作分解结构分类的来源。 |
||||||||||||||||||||||||||||||
| Constraint Association | General |
可以通过将 IfcMetric.ReferencePath 设置为 IfcTaskTime 实体上相应的特性来将约束应用于任务的计划持续时间、开始或完成。 Figure 5.3.3.6.1.3.A 指示任务的固定持续时间,其中 ConstraintGrade 为 HARD,Benchmark 为 EQUALTO,因此对分配的 IfcConstructionResource.Usage.ScheduleWork 的更改将影响 IfcConstructionResource.Usage.ScheduleUsage,反之亦然。 Figure 5.3.3.6.1.3.B 指示如何约束任务的计划开始日期。根据 ConstraintGrade 和 Benchmark,约束可能表示不同的含义,如表 5.3.3.6.1.3.I 所示。
Figure 5.3.3.6.1.3.C 指示如何约束任务的计划完成日期。根据 ConstraintGrade 和 Benchmark,约束可能表示不同的含义,如表 5.3.3.6.1.3.J 所示。
|
||||||||||||||||||||||||||||||
| Object Nesting | General |
IfcTask 可通过 IfcRelNests 关系包含在 IfcTask 中。IfcTask 还可以嵌套其他 IfcTask、IfcProcedure 或 IfcEvent 实体。此类嵌套表示细节的分解级别。从 IFC4 开始,需要一个汇总任务(所有任务的根),用于定义与工作计划或工作计划的链接。然后,所有汇总任务的子任务都将隐式链接到此工作计划或工作计划。请注意,汇总任务用于数据组织,不用于存储用户定义的典型任务信息。因此,建议隐藏汇总任务,以避免混淆。另请注意,IfcRelNests 用于显示常规任务和重复任务定义之间的依赖关系(请参阅有关时间和持续时间使用定义的章节)。 如图 5.3.3.6.1.3.D 所示,在特定空间内安装若干设备可能是一个任务的主题,该任务被标识为“在空间 123 中固定设备”。IfcTask 表示建筑计划中某种类型流程的工作执行实例。 ![]() 任务可以像子项一样嵌套其他任务;嵌套关系由 IfcRelNests 建模,如图 5.3.3.6.1.3.E 所示。例如,螺柱墙的建造可以被指定为一个名为“安装墙 #1”的嵌套任务,包括“安装干墙”、“安装螺柱”、“墙面抹灰”和“竖立墙”等子流程。一个值,指示任务的相对树视图位置(与其它任务的树视图位置和 IfcRelNests 定义的任务层级结构相比)。 用于查看的任务顺序信息源自 IfcRelNests 关系定义的顺序,因此独立于通过 IfcRelSequence 定义的逻辑任务顺序。IfcRelNests 定义的层级结构和顺序使得可以在树视图或列表视图结构中对任务进行排序。 ![]() 顶级任务通过 IfcRelDeclares 关系在 IfcProject 中声明。 此概念可应用于以下资源 |
||||||||||||||||||||||||||||||
| Object Typing | General |
IfcTask 定义了任何任务的预期或实际发生;关于任务类型的通用信息由 IfcTaskType 处理。 此概念可应用于以下资源 |
||||||||||||||||||||||||||||||
| Process Assignment | General |
建议使用“汇总任务”(任务管理所需的任务层级结构根元素)将所有子任务分配给工作计划或工作计划。任务使用的资源通过 IfcRelAssignsToProcess 分配。 |
||||||||||||||||||||||||||||||
| Property Sets for Objects | General |
此概念可应用于以下资源
|
||||||||||||||||||||||||||||||
| Sequential Connectivity | General |
IfcRelSequence 关系用于指示控制流。作为 IfcTask 后继的 IfcTask 表示这些任务应如何执行的逻辑顺序。IfcTask 实体可以触发 IfcEvent 实体,也可以被 IfcEvent 实体触发,这也通过 IfcRelSequence 关系定义。 |
||||||||||||||||||||||||||||||
5.3.3.6.7 形式化表示(Formal representation)
ENTITY IfcTask
SUBTYPE OF (IfcProcess);
Status : OPTIONAL IfcLabel;
WorkMethod : OPTIONAL IfcLabel;
IsMilestone : IfcBoolean;
Priority : OPTIONAL IfcInteger;
TaskTime : OPTIONAL IfcTaskTime;
PredefinedType : OPTIONAL IfcTaskTypeEnum;
WHERE
CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcTaskTypeEnum.USERDEFINED) OR ((PredefinedType = IfcTaskTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
HasName : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;

