IFC 4.3.x development

8.6.3.10 IfcLibraryReference

Change log

IFC4

additions attributes Description
additions attributes Language
additions attributes ReferencedLibrary
modificationsinverses ReferenceIntoLibrary definitionChanged from SET OF [0:1] IfcLibraryInformation FOR LibraryReference to SET OF [0:?] IfcRelAssociatesLibrary FOR RelatingLibrary
modificationsinverses ReferenceIntoLibrary name Changed from ReferenceIntoLibrary to LibraryRefForObjects

8.6.3.10.1 Semantic definitions at the entity

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.

HISTORY  New entity in IFC2.0.

IFC4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship).

8.6.3.10.1 Attributes

# Attribute Type Description
IfcExternalReference
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.

> IFC4 CHANGE  The data type has been changed from IfcLabel to IfcURIReference

> .
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).

> IFC4 CHANGE Attribute renamed from ItemReference for consistency.

>
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).
ExternalReferenceForResourcesSET [0:?] OF IfcExternalReferenceRelationship FOR RelatingReferenceReference to all associations between this external reference and objects within the IfcResourceObjectSelect that are tagged by the external reference.

> IFC4 CHANGE  New inverse attribute added with upward compatibility.

>
IfcLibraryReference
4 Description OPTIONAL IfcText Additional description provided for the library reference.

> IFC4 CHANGE  New attribute added at the end of the attribute list.
5 Language OPTIONAL IfcLanguageId The language in which a library reference is expressed.

> IFC4 CHANGE  New attribute added at the end of the attribute list.
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.

> IFC4 CHANGE  New inverse attribute.

8.6.3.10.2 Entity inheritance

dot_inheritance IfcLibraryReference IfcLibraryReference IfcExternalReference IfcExternalReference IfcLibraryReference->IfcExternalReference IfcExternalReference_children 5 more... IfcExternalReference_children->IfcExternalReference

8.6.3.10.3 Formal representations

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