5.3.3.3 IfcProcedure(程序)
5.3.3.3.1 语义定义(Semantic definition)
IfcProcedure 是指为响应事件或引起事件发生而采取的一系列逻辑动作。
5.3.3.3.1.1 Use definitions
IfcProcedure 用于捕获关于分步过程的信息,例如校准、设备项的启动/停止程序、在紧急情况下采取的指定措施等。程序不是任务,但可以描述一系列任务及其发生的顺序,以响应或引起事件。
如图 5.3.3.3.1.1.A 所示,IfcProcedure 并不限制任何内容,而是描述了某事如何发生的具体步骤。虽然程序在某种意义上通过描述内部细节来控制/限制“任务应如何执行”,但这与产品的一部分指示“零件应如何组装”没有区别。因此,它并不限制整体的外部项,而是提供了项的内部细节。

5.3.3.3.2 实体继承(Entity inheritance)
5.3.3.3.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 个继承特性 | |||
| IfcProcedure (1) | |||
| 8 | PredefinedType | OPTIONAL IfcProcedureTypeEnum |
标识程序预定义类型,可从中设置所需的类型。 |
5.3.3.3.4 形式化命题(Formal propositions)
| 名称(Name) | 描述(Description) |
|---|---|
| CorrectPredefinedType |
PredefinedType 可不设置,也可设置为非 USERDEFINED 的取值;若取值 USERDEFINED ,则应提供属性继承的 ObjectType 。 |
|
|
| HasName |
应插入 Name 特性来描述任务名称。 |
|
|
5.3.3.3.5 属性集(Property sets)
-
Pset_Risk
- RiskName
- RiskType
- NatureOfRisk
- RiskAssessmentMethodology
- UnmitigatedRiskLikelihood
- UnmitigatedRiskConsequence
- UnmitigatedRiskSignificance
- MitigationPlanned
- MitigatedRiskLikelihood
- MitigatedRiskConsequence
- MitigatedRiskSignificance
- MitigationProposed
- AssociatedProduct
- AssociatedActivity
- AssociatedLocation
5.3.3.3.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 个继承概念 | |||
| IfcProcedure (4) | |||
| Object Nesting | General |
IfcProcedure 可通过 IfcRelNests 关系包含在 IfcTask 或 IfcProcedure 中。IfcProcedure 还可以嵌套其他 IfcProcedure 或 IfcEvent 实体。此类嵌套表示细节的分解级别。 此概念可应用于以下资源 |
|
| Object Typing | General |
IfcProcedure 定义了任何程序的预期或实际发生;关于程序类型的通用信息由 IfcProcedureType 处理。 此概念可应用于以下资源 |
|
| Process Assignment | General | ||
| Sequential Connectivity | General |
IfcRelSequence 关系用于指示控制流。作为 IfcEvent 后继的 IfcProcedure 表示应响应事件执行该程序。作为 IfcEvent 前驱的 IfcProcedure 表示事件应在程序之后触发。由于程序具有任意持续时间,IfcRelSequence.SequenceType 特性对 IfcProcedure 没有影响,但如果使用 IfcTask,它仍然适用于关系的反向端。 |
|
5.3.3.3.7 形式化表示(Formal representation)
ENTITY IfcProcedure
SUBTYPE OF (IfcProcess);
PredefinedType : OPTIONAL IfcProcedureTypeEnum;
WHERE
CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcProcedureTypeEnum.USERDEFINED) OR
((PredefinedType = IfcProcedureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
HasName : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;