IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) ⚠ buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

8.21.2.2 IfcGloballyUniqueId

8.21.2.2.1 Semantic definition

An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally Unique Identifier (GUID) which is an auto-generated 128-bit number. Since this identifier is required for all IFC object instances, it is desirable to compress it to reduce overhead. The encoding of the base 64 character set is shown below:

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

The resulting string is a fixed 22 character length string to be exchanged within the IFC exchange file structure.

The base64 encoding process may differ from common base64 implementations. The following steps are used:

  1. The first byte is encoded in the first two characters
  2. The remaining bytes are encoded in groups of 3, taking up 4 characters

As a result, the first character must be either a 0, 1, 2, or 3.

8.21.2.2.2 Formal representation

TYPE IfcGloballyUniqueId = STRING(22) FIXED;
END_TYPE;

8.21.2.2.3 References

Edit on Github

3 contributor(s): ArturTomczakDion MoultbSI-Bot
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 2024-07-16T16:07:28+02:00

Is this page difficult to understand? Let us know!