IFC 4.3.0.0 (IFC4X3) final

8.6.3.10 IfcLibraryReference

8.6.3.10.1 Semantic definition

An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation.

The ifcLibraryReference additionally provides the capability to handle multilingual library entries. The Language attribute then holds the language tag for the language used by the strings kept in the Name and the Description attribute.

Depending on the type of technology used by the library, different IfcLibraryReference.Identification identifiers will be appropriate:

Publisher Technology Identifier
ASHRAE BACnet 32-bit decimal BACnetObjectIdentifier indicating type ID and instance ID (e.g.'12.15' for Digital Input #15).
Brick Development Team Brick Full URI with no namespace (e.g. 'http://example.org/digitaltwin#AHU01')
IETF IPv4 32-bit decimal address for an IPv4 network (e.g.'192.168.1.1').
IETF IPv6 128-bit hexadecimal address for an IPv6 network.
IETF MAC 48-bit hexadecimal form of MAC address.
ISOIEC LonTalk 48-bit hexadecimal neuron ID.
OPCFoundation OPC Hierarchical ItemID in alphanumeric form (i.e. 'B204.Tank2.Temperature)
SmartLabs Insteon 24-bit hexadecimal instance address.
Table 8.6.3.10.A

8.6.3.10.2 Entity inheritance

8.6.3.10.3 Attributes

# Attribute Type Description
IfcExternalReference (4)
1 Location OPTIONAL IfcURIReference

Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string.

2 Identification OPTIONAL IfcIdentifier

The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as * a key, e.g. a classification notation, like NF2.3 * a handle * a uuid or guid

It may be human readable (such as a key) or not (such as a handle or uuid) depending on the context of its usage (which has to be determined by local agreement).

3 Name OPTIONAL IfcLabel

Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document).

ExternalReferenceForResources SET [0:?] OF IfcExternalReferenceRelationship FOR RelatingReference

Reference to all associations between this external reference and objects within the IfcResourceObjectSelect that are tagged by the external reference.

Click to show 4 hidden inherited attributes Click to hide 4 inherited attributes
IfcLibraryReference (4)
4 Description OPTIONAL IfcText

Additional description provided for the library reference.

5 Language OPTIONAL IfcLanguageId

The language in which a library reference is expressed.

6 ReferencedLibrary OPTIONAL IfcLibraryInformation

The library information that is being referenced.

LibraryRefForObjects SET [0:?] OF IfcRelAssociatesLibrary FOR RelatingLibrary

The library reference with which objects are associated.

Table 8.6.3.10.B

8.6.3.10.4 Formal representation

ENTITY IfcLibraryReference
 SUBTYPE OF (IfcExternalReference);
	Description : OPTIONAL IfcText;
	Language : OPTIONAL IfcLanguageId;
	ReferencedLibrary : OPTIONAL IfcLibraryInformation;
 INVERSE
	LibraryRefForObjects : SET [0:?] OF IfcRelAssociatesLibrary FOR RelatingLibrary;
END_ENTITY;

8.6.3.10.5 References

8.6.3.10.6 Changelog

  • attributes, Description
  • attributes, Language
  • attributes, ReferencedLibrary
  • inverses ReferenceIntoLibrary definition, Changed from SET OF [0:1] IfcLibraryInformation FOR LibraryReference to SET OF [0:?] IfcRelAssociatesLibrary FOR RelatingLibrary
  • inverses ReferenceIntoLibrary name, Changed from ReferenceIntoLibrary to LibraryRefForObjects