|
EXPRESS Definition |
EXPRESS-G Diagram |
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
No Select Types defined in this Schema
No Enumerations defined in this Schema
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
IfcAuditTrailO IfcOwnerHistory T IfcTable
IfcTableRow
IfcTransaction
No Functions defined in this Schema
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
- Ownership
- History
- Table
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).
EXPRESS 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.
STRING(20) FIXED
EXPRESS 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.
New Defined Type in IFC Release 2.0
BINARY(3) FIXED
|
EXPRESS 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 .
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
This Class does not have any Superclasses or Subclasses
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
name of the application developer, being requested to be member of the IAI.
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
|
EXPRESS 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.
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.
This Class does not have any Superclasses or Subclasses
Attribute type (OPT, DER, INV)
Redefinition (SELF)
Attribute / Relation
Data or Rel. type
Definition
CreationDate
Date on which object was created
OPT
DeletionDate
Date this object was deleted from the model - NOTE: an deleted Object still needs to be communicated.
CreatingUser
End User who created this object. The integer defines a pointer into the IfcProjectTeamRegistry.
OPT
DeletingUser
End User who deleted this object from the model. The integer defines a pointer into the IfcProjectTeamRegistry.
CreatingApplication
Application used to create this object. The integer defines a pointer into the IfcProjectAppRegistry.
OPT
DeletingApplication
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
Reference to the IfcOwnerHistory in which the IfcAuditTrail is defined (and contained).
|
EXPRESS 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 .
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.
This Class does not have any Superclasses or Subclasses
Attribute type (OPT, DER, INV)
Redefinition (SELF)
Attribute / Relation
Data or Rel. type
Definition
OwningUser
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
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
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
Reference to the history related information, if given, it shows the latest transaction that leaded to modifications at the object.
|
EXPRESS 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.
This Class has changed after IFC Release 1.5.1, please see the Migration Guide for details
This Class does not have any Superclasses or Subclasses
Attribute type (OPT, DER, INV)
Redefinition (SELF)
Attribute / Relation
Data or Rel. type
Definition
GlobalId
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
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 }
|
EXPRESS 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
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
This Class does not have any Superclasses or Subclasses
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
Reference to the IfcTable, in which the IfcTableRow is defined (or contained)
|
EXPRESS 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.