该页全部中文内容仅供20252453-T-424 项目组内部使用

20252453-T-424 项目

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 并不限制任何内容,而是描述了某事如何发生的具体步骤。虽然程序在某种意义上通过描述内部细节来控制/限制“任务应如何执行”,但这与产品的一部分指示“零件应如何组装”没有区别。因此,它并不限制整体的外部项,而是提供了项的内部细节。

procedure example
Figure 5.3.3.3.1.1.A — Procedure relationships

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.1.1.B

5.3.3.3.4 形式化命题(Formal propositions)

名称(Name) 描述(Description)
CorrectPredefinedType

PredefinedType 可不设置,也可设置为非 USERDEFINED 的取值;若取值 USERDEFINED ,则应提供属性继承的 ObjectType

NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcProcedureTypeEnum.USERDEFINED) OR
((PredefinedType = IfcProcedureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType))
HasName

应插入 Name 特性来描述任务名称。

EXISTS(SELF\IfcRoot.Name)
表 5.3.3.3.1.1.C

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 关系包含在 IfcTaskIfcProcedure 中。IfcProcedure 还可以嵌套其他 IfcProcedureIfcEvent 实体。此类嵌套表示细节的分解级别。

此概念可应用于以下资源

Object Typing General

IfcProcedure 定义了任何程序的预期或实际发生;关于程序类型的通用信息由 IfcProcedureType 处理。

此概念可应用于以下资源

Process Assignment General
Sequential Connectivity General

IfcRelSequence 关系用于指示控制流。作为 IfcEvent 后继的 IfcProcedure 表示应响应事件执行该程序。作为 IfcEvent 前驱的 IfcProcedure 表示事件应在程序之后触发。由于程序具有任意持续时间,IfcRelSequence.SequenceType 特性对 IfcProcedure 没有影响,但如果使用 IfcTask,它仍然适用于关系的反向端。

表 5.3.3.3.1.1.D

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;

5.3.3.3.8 参考(References)