This page was saved using WebZIP 6.0.8.918 on 10/09/06 15:41:57.
Address: http://www.iai-international.org/Model/documentation/R20/Online_Documents/Documents/IfcUtilityResource.htm
Title: IFC R2.0 Final  •  Size: 41610  •  Last Modified: Wed, 01 Aug 2001 07:13:32 GMT

Specification for IfcUtilityResource

Link to EXPRESS Definition

EXPRESS Definition

Link to EXPRESS-G Diagram

EXPRESS-G Diagram


Table of contents


Simple Types

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

G IfcGloballyUniqueId
M IfcModifiedFlag

Select Types

  • No Select Types defined in this Schema
  • Enumerations

  • No Enumerations defined in this Schema
  • Class Definitions

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    A IfcApplication
    IfcAuditTrail
    O IfcOwnerHistory
    T IfcTable
    IfcTableRow
    IfcTransaction

    Functions

  • No Functions defined in this Schema

  • Schema Semantic Definition

    The resource schema IfcUtilityResource deals with general concepts – Identification, Ownership and History. It also includes a basic information construct – Tables. The classes of this schema are referenced throughout the whole IFC Object Model by all of its Model Layers as defined in the IFC Architecture Document. The IfcUtilityResource schema consequently contains model specifications for specifying the information content of a number of utility types.

    The various types of registries were removed from this schema in Release 2.0 since the method used within applications to store those types of information could differ between different applications.

    This schema contains the following concepts:

     

    Identifier

    The identifier allows IFC classes to be uniquely identified within the scope of the whole software world. Classes that do not have independent existence, i.e. that are contained by other classes, do not have an independent identifier - their uniqueness is provided by the container class.

    Ownership

    Each object, relationship and type definition will provide information about their current ownership. Ownership information is the currently "owning" application and the owning (responsible) actor. This ownership information can be used for access and change permissions. Ownership can be transferred from one person to another through the life cycle of a project.

    NOTE: the specification of access rights is not described in this IFC release.

    HISTORY

    The history of an IFC object is captured as an audit trail, where only the fact that a modification or transaction is kept, not the modification itself. For each modification, including the creation and deletion, a triple of date, user and application is stored.

    Table

    The specification of table is general purpose and may be used for any two dimensional matrix type document. It allows information to be recorded in rows and columns where each column is labeled with the type of information it contains. The model does not allow for any mathematical operations on the information content of a table (i.e. it does not function as a spreadsheet).


    Type IfcGloballyUniqueId

    Link to EXPRESS Definition

    EXPRESS Definition

    Type Semantic Definition

    Holds an identifier that is unique throughout the software world. This is also known as a Universal Unique Identifier by the Open Group. The identifier is generated using an algorithm published by the Object Management Group based on the IP address of the computer than generates the identifier. The algorithm is explained at http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt. The document as it exists on 13 March 1999 is included in the Development Guide as an appendix. In Release 1.5 the Microsoft Foundation Class function "CoCreateGuid" was used. The MFC function is an implementation of the above algorithm.

    The identifier resulting from the application of the GUID algorithm is then compressed into 20 characters using an algorithm developed by Peter Muigg which maps the GUID bits onto a base 84 digit encoded from the following character set : "0123456789ABCDEFGHIJKLMNOPQRSTUV WXYZabcdefghijklmnopqrstuvwxyz!#$%&^|*+,-./:;<=>?~`@_". The index in this string determines the "value" for each character (0-84), e.g. "A" has a value of 10, "@" has a value of 83. Please note: the characters are case-sensitive! This is also explained in the Development Guide.

    NOTE : IfcProjectUniqueID from R1.5 is no longer used.

    Type

    STRING(20) FIXED

    Type IfcModifiedFlag

    Link to EXPRESS Definition

    EXPRESS Definition

    Type Semantic Definition

    This flag is used to notify an application that is reading data about the state of dependent information. The bits considered in sequence define the following states:

    First bit

    Full Read/Write Access to unchanged object

    Second bit

    Dirty (contents of object have been changed by "somebody")

    Third bit

    Object is Read Only

    Fourth bit

    Object is Locked. This allows a repository server to mark an object as being unavailable either because 1) its contents have been checked out to another process, 2) a commit is in process, etc.

    Consequently, the following states can be given using bitwise operations under an octal numbering system:

    0 = Clean read/write

    1 = Dirty read/write

    2 = Read Only

    3 = Dirty read only

    4 = Locked

    5 = Dirty locked

    6 = Locked Read only

    7 = Dirty Locked Read only

    Further explanation of this capability is given in Volume 2 of the IFC Specifications.

    History

    New Defined Type in IFC Release 2.0

    Type

    BINARY(3) FIXED

    Class IfcApplication

    Link to EXPRESS Definition

    EXPRESS Definition

    Class Semantic Definition

    The IfcApplication is an IFC compliant application developed by an application developer who is a member of the International Alliance of Interoperability. The IfcApplication gets an unique identification within the IFC development framework.

    NOTE Added in IFC Release 1.5 .

    History

    This Class has changed after IFC Release 1.5.1, please see the Migration Guide for details
    ISSUE See issues I-003 for changes made in 1.5 final release. This object was called IfcRegistered Application in Release 1.5.1

    Attribute and Relationship Definitions

    Superclasses and Subclasses

    This Class does not have any Superclasses or Subclasses

    Attributes and Relationships

    Attribute type (OPT, DER, INV)

    Redefinition (SELF)

    Attribute / Relation

    Data or Rel. type

    Definition

     

    ApplicationIdentifier

     

    STRING(16)

    Short, max. 16 character long identifying short name for the application, being registered and known to the IAI conformance program.

     

    ApplicationFullName

     

    STRING(255)

    The full name of the application as specified by the application developer.

     

    Version

     

    STRING(255)

    The version number of this software as specified by the developer of the application.

     

    ApplicationDeveloper

     

    IfcOrganization

    name of the application developer, being requested to be member of the IAI.

    Unique Rules

    UR1

    Ensure that there are no duplications of application instances with the same registered identifier.

    ApplicationIdentifier

    UR2

    The combination of application name and version shall be unique.

    ApplicationFullName, Version


    Class IfcAuditTrail

    Link to EXPRESS Definition

    EXPRESS Definition

    Class Semantic Definition

    The IfcAuditTrail maintains a limited history for an object instance. Currently, this history records the person responsible for and the application used to create, delete and modify objects. The deletion of an object is also captured as an object will most likely be marked as deleted, but not actually removed from the model file. This will facilitate "roll back" functionality in future releases of IFC.

    NOTE This class is a revised version of the IFC Release 1.0 class IfcExtendedId.

    History

    This Class has changed after IFC Release 1.5.1, please see the Migration Guide for details
    ISSUE See issue I-004, I-215, I-216 for changes made in 1.5 final release. The WHERE rule which limited the audit trail length to one operation was removed in IFC Release 2.0.

    Attribute and Relationship Definitions

    Superclasses and Subclasses

    This Class does not have any Superclasses or Subclasses

    Attributes and Relationships

    Attribute type (OPT, DER, INV)

    Redefinition (SELF)

    Attribute / Relation

    Data or Rel. type

    Definition

     

    CreationDate

     

    IfcTimeStamp

    Date on which object was created

    OPT

    DeletionDate

     

    IfcTimeStamp

    Date this object was deleted from the model - NOTE: an deleted Object still needs to be communicated.

     

    CreatingUser

     

    IfcPersonAndOrganization

    End User who created this object. The integer defines a pointer into the IfcProjectTeamRegistry.

    OPT

    DeletingUser

     

    IfcPersonAndOrganization

    End User who deleted this object from the model. The integer defines a pointer into the IfcProjectTeamRegistry.

     

    CreatingApplication

     

    IfcApplication

    Application used to create this object. The integer defines a pointer into the IfcProjectAppRegistry.

    OPT

    DeletingApplication

     

    IfcApplication

    Application that deleted this object from the model. The integer defines a pointer into the IfcProjectAppRegistry.

     

    Transactions

     

    LIST [0:?] OF IfcTransaction

    Stored last transactions that affected the object. Currently only the last transaction is kept

    INV

    ToOwnerHistory

     

    IfcOwnerHistory

    Reference to the IfcOwnerHistory in which the IfcAuditTrail is defined (and contained).


    Class IfcOwnerHistory

    Link to EXPRESS Definition

    EXPRESS Definition

    Class Semantic Definition

    The IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties.

    The IfcOwnerHistory is used to identify the creating and owning application and user for the associated object. An optional description can also be provided by the owner. A reference to the audit trail of the object is also provided.

    NOTE This class is a revised version of the IFC Release 1.0 class IfcOwnerId .

    History

    This Class has changed after IFC Release 1.5.1, please see the Migration Guide for details
    ISSUE See issues I-001, I-002 and I-003 for changes made in 1.5 final release.

    Attribute and Relationship Definitions

    Superclasses and Subclasses

    This Class does not have any Superclasses or Subclasses

    Attributes and Relationships

    Attribute type (OPT, DER, INV)

    Redefinition (SELF)

    Attribute / Relation

    Data or Rel. type

    Definition

     

    OwningUser

     

    IfcPersonAndOrganization

    Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User.

     

    OwningApplication

     

    IfcApplication

    Direct reference to the application which currently "Owns" this object on behalf of the owning user, who uses this application. Note that IFC includes the concept of ownership transfer from one app to another and therefore distinguishes between the Owning Application and Creating Application.

     

    ModifiedFlag

     

    IfcModifiedFlag

    Three bits that define the current state of the object. 0 indictes that the object is safe for that aspect (not yet final)

    OPT

    ApplicationId

     

    STRING

    Internal ID used by the Owning Application.

    OPT

    OwnerDescriptor

     

    STRING

    User or application descriptor for this object. This might be the user descriptor like "Molly's Room", or description of intended use like "Barge board for south facade siding", etc.

    OPT

    AuditTrail

     

    IfcAuditTrail

    Reference to the history related information, if given, it shows the latest transaction that leaded to modifications at the object.


    Class IfcTable

    Link to EXPRESS Definition

    EXPRESS Definition

    Class Semantic Definition

    A data structure for the provision of information in the form of rows and columns. Each instance may have a heading row, with titles or descriptions for each column. The rows of information are stored as a list of IfcTableRows.

    Limitation: In this release of IFC 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.

    History

    This Class has changed after IFC Release 1.5.1, please see the Migration Guide for details

    Attribute and Relationship Definitions

    Superclasses and Subclasses

    This Class does not have any Superclasses or Subclasses

    Attributes and Relationships

    Attribute type (OPT, DER, INV)

    Redefinition (SELF)

    Attribute / Relation

    Data or Rel. type

    Definition

     

    GlobalId

     

    IfcGloballyUniqueId

    Assignment of an unique identifier within the project that allows to ensure uniqueness in a project context.

     

    Name

     

    STRING

    A unique name which is intended to describe the usage of the Table.

     

    Rows

     

    LIST [1:?] OF IfcTableRow

    Reference to information content of rows.

    DER

    NumberOfCellsInRow

     

    INTEGER

    The number of cells in each row, this complies to the number of columns in a table. See WR2 that ensures that each row has the same number of cells. The actual value is derived from the first member of the Rows list.

    DER

    NumberOfHeadings

     

    INTEGER

    The number of headings in a table. This is restricted by WR3 to max. one.

    DER

    NumberOfDataRows

     

    INTEGER

    The number of rows in a table that contains data, i.e. total number of rows minus number of heading rows in table

    Formal Propositions

    WR1

    Ensures that each row defines the same number of cells. This restricts the available table styles in IFC Release 1.5. The rule compares whether all other rows of the IfcTable have the same number of cells as the first row. EXPRESS = SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0

    SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0

    WR2

    Ensures that each row defines the same number of cells. This restricts the available table styles in IFC Release 1.5. The rule compares whether all other rows of the IfcTable have the same number of cells as the first row. EXPRESS = SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0

    SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0

    WR3

    Ensures that there is one heading row as maximum. This restricts the allowed number of heading rows for this release. This limitation may be removed in future releases. EXPRESS = 0 <= NumberOfHeadings <= 1 }

    { 0 <= NumberOfHeadings <= 1 }


    Class IfcTableRow

    Link to EXPRESS Definition

    EXPRESS Definition

    Class Semantic Definition

    The information content of each row within the table (other than the heading row). A table contains a number of rows which record information concerning the instance of the type of information recorded within the table.

    Limitation: There is the restriction within this release of IFC. All IfcTableRow objects referenced by an IfcTable shall have the same number of Row Cells. The actual number of Cells shall be taken from the number of cells of the first IfcTableRow for that table. The number of Cells is calculated by the derived attribute NumberOfCellsInRow in the associated IfcTable.

    NOTE Added in IFC Release 1.5

    History

    This Class has changed after IFC Release 1.5.1, please see the Migration Guide for details
    ISSUE See issues I-153, I-218, I-219, I-220, I-221, I-222 for changes made in 1.5 final release

    Attribute and Relationship Definitions

    Superclasses and Subclasses

    This Class does not have any Superclasses or Subclasses

    Attributes and Relationships

    Attribute type (OPT, DER, INV)

    Redefinition (SELF)

    Attribute / Relation

    Data or Rel. type

    Definition

     

    RowCells

     

    LIST [1:?] OF IfcMeasureValue

    The value of information by row and column using the units defined. NOTE - The row value identifies both the actual value and the units in which it is recorded. Each cell (unique row and column) may have a different value AND different units. If the row is a heading row, then the row values are strings defined by the IfcString.

     

    IsHeading

     

    BOOLEAN

    Flag which identifies if the row is a heading row or a row which contains row values. NOTE - If the row is a heading, the flag takes the value = TRUE.

    INV

    OfTable

     

    IfcTable

    Reference to the IfcTable, in which the IfcTableRow is defined (or contained)


    Class IfcTransaction

    Link to EXPRESS Definition

    EXPRESS Definition

    Class Semantic Definition

    IfcTransaction currently captures the date, the application and the user who made a change. The change itself is not captured.

    NOTE Added in IFC Release 1.5.

    History

    This Class has changed after IFC Release 1.5.1, please see the Migration Guide for details
    ISSUE See issues I-004 for changes made in 1.5 final release.

    Attribute and Relationship Definitions

    Superclasses and Subclasses

    This Class does not have any Superclasses or Subclasses

    Attributes and Relationships

    Attribute type (OPT, DER, INV)

    Redefinition (SELF)

    Attribute / Relation

    Data or Rel. type

    Definition

     

    TransactionDate

     

    IfcTimeStamp

    Date and Time at which the transaction occurred.

     

    TransactingUser

     

    IfcPersonAndOrganization

    User who carried out the transaction.

     

    TransactingApplication

     

    IfcApplication

    Application being used to carry out the transaction.

    INV

    ToAuditTrail

     

    IfcAuditTrail

    Reference to the IfcAuditTrail in which context the transaction is captured