5.3.3.8 IfcWorkCalendar(工作日历)
5.3.3.8.1 语义定义(Semantic definition)
IfcWorkCalendar 定义了任务和资源的可用工作时间和非工作时间段。它可以定义具体的时间段,例如 2009 年 8 月 25 日的 7:00 至 12:00,也可以定义基于常用重复模式的周期性时间段,例如 2009 年 3 月 1 日至 2009 年 12 月 31 日期间每周一的 7:00 至 12:00。
工作日历是 IfcControl 的一个子类型,因此继承了通过 IfcRelAssignsToControl 控制其他对象的特性,该特性用于定义任务 (IfcTask) 和资源 (IfcResource) 的工作日历。它还继承了名称和描述特性,其中名称是必需的,而描述是可选的,用于指示其内容和用途。
时间段的定义可以从基础日历派生,和/或通过一组工作时间和非工作例外时间进行修改/定义。IfcWorkCalendar.ExceptionTimes 定义的所有时间段都将覆盖从基础日历继承的时间段(基础日历定义为任务或资源适用的下一个日历)。因此,例外时间将替换基础日历中的工作时间。
图 5.3.3.8.A 显示了工作日历的定义,它由一组工作时间和例外时间定义。工作时间定义为具有可选边界(从特定日期开始和/或到特定日期结束)的周期性模式。所示示例定义了一个简单的工作日历:周一至周四工作时间为 8:00 至 12:00 和 13:00 至 17:00,周五工作时间为 8:00 至 14:00,例外情况是每月第一个星期一工作开始时间推迟一小时——即,每月第一个星期一的工作时间被覆盖为 9:00 至 12:00 和 13:00 至 17:00。工作时间和例外时间均在 2010 年 9 月 1 日至 2011 年 8 月 30 日期间有效。

5.3.3.8.2 实体继承(Entity inheritance)
5.3.3.8.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 |
与附加到此对象的属性集定义的集合的关系。这些静态或动态定义的特性包含字母数字信息内容,这些内容进一步定义了对象。 |
|
| IfcControl (2) | |||
| 6 | Identification | OPTIONAL IfcIdentifier |
赋予控制的标识名称。 它是发生层级的标识符。 |
| Controls | SET [0:?] OF IfcRelAssignsToControl FOR RelatingControl |
引用将控制与被控制对象相关联的关系。 |
|
| 点击显示 18 个隐藏的继承特性 点击隐藏 18 个继承特性 | |||
| IfcWorkCalendar (3) | |||
| 7 | WorkingTimes | OPTIONAL SET [1:?] OF IfcWorkTime |
被视为工作时间初始设置的时间段集合。例外时间可以进一步限制这些工作时间。 |
| 8 | ExceptionTimes | OPTIONAL SET [1:?] OF IfcWorkTime |
定义给定工作时间(包括基础日历,如果提供)的例外(非工作时间)的时间段集合。 |
| 9 | PredefinedType | OPTIONAL IfcWorkCalendarTypeEnum |
标识工作日历的预定义类型,可从中设置所需类型。 |
5.3.3.8.4 形式化命题(Formal propositions)
| 名称(Name) | 描述(Description) |
|---|---|
| CorrectPredefinedType |
当 IfcWorkCalendarTypeEnum 的值设置为 USERDEFINED 时,必须断言 ObjectType 特性。 |
|
|
5.3.3.8.5 概念用法(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 |
无可用描述 |
|
| IfcControl (1) | |||
| Control Assignment | General |
控制通过使用关系对象 IfcRelAssignsToControl 从产品、过程或其他对象进行分配。 此概念可应用于以下资源 |
|
| 点击显示 17 个隐藏的继承概念 点击隐藏 17 个继承概念 | |||
| IfcWorkCalendar (1) | |||
| Control Assignment | General |
IfcWorkCalendar 的基础日历通过 IfcRelAssignsToControl 定义,其中 IfcRelAssignsToControl.RelatingControl 与基础日历链接,而 IfcRelAssignsToControl.RelatedObjects 与从基础日历派生的工作日历链接。虽然 IfcRelAssignsToControl 关系没有限制,但只允许有一个基础日历。 此概念可应用于以下资源 |
|
5.3.3.8.6 形式化表示(Formal representation)
ENTITY IfcWorkCalendar
SUBTYPE OF (IfcControl);
WorkingTimes : OPTIONAL SET [1:?] OF IfcWorkTime;
ExceptionTimes : OPTIONAL SET [1:?] OF IfcWorkTime;
PredefinedType : OPTIONAL IfcWorkCalendarTypeEnum;
WHERE
CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcWorkCalendarTypeEnum.USERDEFINED) OR
((PredefinedType = IfcWorkCalendarTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
END_ENTITY;