IfcUtilityResource(公用资源)

IfcUtilityResource(公用资源)

IfcUtilityResource处理所有权和变更的一般概念。它还包括一个基本的信息结构:表。此模式的类在整个IFC对象模型中由其所有模型层引用。因此,IfcUtilityResource模式包含用于指定许多实用程序类型的信息内容的模型规范。

This schema contains the following concepts:

  • Ownership
  • History
  • Table

每个对象、关系和类型定义都将提供有关其当前所有权的信息。所有权信息是当前的“拥有”应用程序和拥有(负责)参与者。此所有权信息可用于访问和更改权限。所有权可以通过项目的生命周期从一个人转移到另一个人。

IFC对象的历史记录仅以上次修改用户、应用程序和日期的形式捕获。

表数据类型是通用的,可用于任何二维矩阵类型的文档。它允许将信息记录在行和列中,在这些行和列中,每一列都用其包含的信息类型进行标记。该模型不允许对表的信息内容进行任何数学运算(即,它不起电子表格的作用)。

Types
1 IfcGloballyUniqueId 
2 IfcChangeActionEnum  (更改操作枚举)
3 IfcStateEnum (状态枚举)

Entities
1 IfcApplication (应用)
2 IfcOwnerHistory (所有者历史)
3 IfcTable 
4 IfcTableColumn (表列)
5 IfcTableRow (表行)

Types
1 IfcGloballyUniqueId

IfcGloballyUniqueId保存用于唯一标识IFC对象的编码字符串标识符。IfcGloballyUniqueId是一个全局唯一标识符(GUID),它是自动生成的128位数字。由于此标识符是所有IFC对象实例所必需的,因此需要对其进行压缩以减少开销。基本64字符集的编码如下所示:

           1         2         3         4         5         6 
 0123456789012345678901234567890123456789012345678901234567890123
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$";

结果字符串是一个固定的22个字符长的字符串,将在IFC交换文件结构中交换。

EXPRESS Specification

TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;

2 IfcChangeActionEnum

IfcChangeActionEnum标识在上一个会话(例如,added、modified、deleted)期间对象可能发生的更改类型。在部分模型交换场景中需要此信息,以便应用程序或模型服务器知道对象可能受到上一个应用程序的影响。有效的枚举是:

假设应用程序A将创建一个IFC数据集,它希望将其发布给其他人进行修改,并且能够随后将这些更改合并回原始模型中。在发布之前,它可能希望将IfcChangeActionEnum设置为NOCHANGE以建立一个基线,以便可以轻松识别其他应用程序更改。然后,应用程序B接收该IFC数据集并添加一个新对象,并将IfcChangeActionEnum设置为ADDED,同时将应用程序B定义为OwningApplication。应用程序B然后修改现有的对象,并且(重新)将修改后的LASTimeDebug日期定义为LastModifyingUser,并将其更改为IFCMUMANDANY组织,并将LASTMULTFIGIN应用程序设置为应用程序B。它可以确定应用程序B添加和修改了哪些对象,并根据需要合并或拒绝这些更改。因此,目的是应用程序仅在对对象执行某些操作时修改IfcChangeActionEnum的值,进一步的目的是模型服务器负责在IfcChangeActionEnum准备好重新发布时将其清除回NOCHANGE。

TYPE IfcChangeActionEnum = ENUMERATION OF (
 NOCHANGE, 
 MODIFIED, 
 ADDED, 
 DELETED, 
 NOTDEFINED);
END_TYPE;

3 IfcStateEnum

IfcStateEnum枚举标识对象的状态或可访问性(例如,读/写、锁定)。

Entities
1 IfcApplication

IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer.

2 IfcOwnerHistory


3 IfcTable

An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects.

Limitation: For backwards compatibility, the rows of an IfcTable object are constrained to have the same number of cells. The first row of the table provides the number of cells. All other rows are forced to include the same number of cells. This is enforced by the WR2.


4 IfcTableColumn


5 IfcTableRow

原文地址:https://www.cnblogs.com/herd/p/12230154.html