BLIS-XML for the IFC 2x classification concept

NOTE: The documentation for this BLIS-XML schema uses the definitions that were provided for elements
and attributes in the original IFC 2x documentation by the IAI (International Alliance for Interoperability)

<IfcCalendarDate>

Required elements: None
Optional elements: None
Required attributes: XMLID , DayComponent , MonthComponent , YearComponent
Optional attributes: None

Description

Definition from ISO/CD 10303-41:1992: A date which is defined by a day in a monthof a year.

HISTORY This entity has changes after IFC Release 1.5.1.

Required Attributes

Attribute: XMLID
Description: The XML ID used by idref and idrefs
Type: id
Attribute: DayComponent
Description:
EXPRESS:IfcDayInMonthNumber
Definition (IAI):The day element of the calendar date.
Type: int
Attribute: MonthComponent
Description:
EXPRESS:IfcMonthInYearNumber
Definition (IAI):The month element of the calendar date.
Type: int
Attribute: YearComponent
Description:
EXPRESS:IfcYearNumber
Definition (IAI):The year element of the calendar date.
Type: int

<IfcClassification>

Required elements: None
Optional elements: None
Required attributes: XMLID , Source , Edition , Name
Optional attributes: EditionDate , Contains

Description

Definition from IAI: An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common characteristics.

HISTORY: New class in IFC Release 1.5. It has changed in IFC Release 2x.
ISSUES: See issue and change log for changes made in IFC Release 2x.

Use Definitions

In previous releases of IFC, the IfcClassification class was used as the means for connecting classifications to objects. This is no longer the case for IFC Release 2x, the IfcClassificationNotation Class having taken on this role. IfcClassification is now used to identfy the classification system or source from which a classification notation is derived. The objective is to minimize the number of IfcClassification objects contained within an IFC model. Ideally, each classification system or source used should have only one IfcClassification object. However, because multiple classification is allowed, there may be many IfcClassification objects used, each identifying a different classification system or source. An example of the use of the IfcClassification class is:

#1 IFCCALENDARDATE (31,8,1997);
#2 IFCCLASSIFICATION(‘RIBA’,’1’,#1,’Uniclass’)

Required Attributes

Attribute: XMLID
Description: The XML ID used by idref and idrefs
Type: id
Attribute: Source
Description:
EXPRESS:IfcLabel
Definition (IAI):Source (or publisher) for this classification.
Type: string
Attribute: Edition
Description:
EXPRESS:IfcLabel
Definition (IAI):The edition or version of the classification system from which the classification notation is derived.
Type: string
Attribute: Name
Description:
EXPRESS:IfcLabel
Definition (IAI):The name or label by which the classification used is normally known.
NOTE: Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU etc.
Type: string

Optional Attributes

Attribute: EditionDate
Description:
EXPRESS:IfcCalendarDate
Definition (IAI):The date on which the edition of the classification used became valid.
NOTE: The indication of edition may be sufficient to identify the classification source uniquely but the edition date is provided as an optional attribute to enable more precise identification where required.
Type: idref
- IfcCalendarDate
Attribute: Contains
Description:
EXPRESS:INVERSE SET [0:?] OF IfcClassificationItem
Type: idrefs
- IfcClassificationItem

<IfcClassificationItem>

Required elements: None
Optional elements: None
Required attributes: XMLID , Notation , Title
Optional attributes: ItemOf

Description

Definition from IAI: An IfcClassificationItem is a class of classification notations used.

Note: The term 'classification item' is used in preference to the term 'table' for improved flexibility. For example, the classification item "L681" in Uniclass may be used to contain all subsequent notation facets within that class of classifications which has the title "Proofings, insulation"(e.g. L6811, L6812, L6813 etc.).
HISTORY: New entity in IFC Release 2x.
ISSUES: See issue and change log for changes made in IFC Release 2x.

Use Definitions

Usage of the IfcClassificationItem class is as follows:

  • #1 IFCCALENDARDATE (31,8,1997);
  • #2 IFCCLASSIFICATION(‘RIBA’,’1’,#1,’Uniclass’)
  • #100 IFCCLASSIFICATIONOTATIONFACET ('L6814');
  • #200 IFCCLASSIFICATIONITEM (#100,#2,'Door Panel');

Required Attributes

Attribute: XMLID
Description: The XML ID used by idref and idrefs
Type: id
Attribute: Notation
Description:
EXPRESS:IfcClassificationNotationFacet
Definition (IAI):The notations from within a classification item that are used within the project.
NOTE: In Uniclass this label is called the Code, in UDC it is called the Class Number.
---
Type: idref
- IfcClassificationNotationFacet
Attribute: Title
Description:
EXPRESS:IfcLabel
Definition (IAI):The name of the classification item.
NOTE: Examples of the above attributes from Uniclass:
A classification item in Uniclass has a notation "L6814" which has the title "Tanking".
It has a parent notation "L681" which has the title "Proofings, insulation".
---
Type: string

Optional Attributes

Attribute: ItemOf
Description:
EXPRESS:IfcClassification
Definition (IAI):The classification that is the source for the uppermost level of the classification item hierarchy used.
NOTE: Where a classification item hierachy is developed within the IFC model, only the uppermost level needs to refer to the classification system or source from which it is derived since all other levels of the hierachy will refer to the source by virtue of their containment by the uppermost level. However, the uppermost level MUST point back to the classification source by virtue of the fact that it is not contained by a higher level classification item.
---
Type: idref
- IfcClassification

<IfcClassificationNotation>

Required elements: None
Optional elements: None
Required attributes: XMLID , NotationFacets
Optional attributes: None

Description

Definition from IAI: An IfcClassificationNotation is a notation used from published reference (which may be either publicly available from a classification society or is published locally for the purposes of an organization, project or other purpose).

Note: A classification notation may be developed using various notation facets. A facet is a part of the actual notation but which has a specific meaning. For instance, it may be appropriate to classify an item by owning actor (represented by A=Architect) and by an entry from a classification table such as CI/SfB (represented by 210 for external wall). This gives a classification as A210
HISTORY: New class in IFC Release 1.5. It has changed in IFC Release 2x.
ISSUES: See issue and change log for changes made in IFC Release 2x.

Use Definitions

All classifications of an object that are contained within the IFC model are made through the IfcClassificationNotation class (and not through IfcClassification as was the case up to R2.0). For a given object, the IfcRelAssociatesClassification class (contained within the IfcKernel) makes the connection between the IfcObject (abstract superclass, IfcDoor has been taken as an example for instantiation) and the IfcClassificationNotation. IfcObject <-- IfcRelAssociatesClassification --> IfcClassificationNotation. Consider an object that is to be classified with the notation "L6814". In this case, the IfcRelAssociatesClassification has the form:

  • #100 IFCDOOR (.....); 
  • #200 IFCCLASSIFICATIONNOTATIONFACET ('L6814'); 
  • #300 IFCCLASSIFICATIONNOTATION ((#200)); 
  • #400 IFCRELASSOCIATESCLASSIFICATION ((#300),#100); 

If the object is to have other notations (e.g. B2186 and Z6793), the IfcRelAssociatesClassification has the form:

  • #100 IFCDOOR (.....); 
  • #200 IFCCLASSIFICATIONNOTATIONFACET ('L6814'); 
  • #210 IFCCLASSIFICATIONNOTATIONFACET ('B2186'); 
  • #220 IFCCLASSIFICATIONNOTATIONFACET ('Z6793'); 
  • #300 IFCCLASSIFICATIONNOTATION ((#200,#210,#220)); 
  • #400 IFCRELASSOCIATESCLASSIFICATION ((#300),#100); 

It is a requirement that a classification notation can only bring together facets from the same classification system or source. Bringing together notation facets from different sources within the same classification notation is not allowed. However, since the IfcRelAssociatesClassification class does allow for multiple classifications to a single object, then it is possible to define multiple classification notations where each notation contains facets from a single source.

  • #100 IFCDOOR (.....); 
  • #200 IFCCLASSIFICATIONNOTATIONFACET ('L6814'); 
  • #210 IFCCLASSIFICATIONNOTATIONFACET ('B2186'); 
  • #220 IFCCLASSIFICATIONNOTATIONFACET ('Z6793'); 
  • #300 IFCCLASSIFICATIONNOTATIONFACET ('106'); 
  • #400 IFCCLASSIFICATIONNOTATIONFACET ('A-31-623'); 
  • #410 IFCCLASSIFICATIONNOTATIONFACET ('B-62-562'); 
  • #500 IFCCLASSIFICATIONNOTATION ((#200,#210,#220));
  • #510 IFCCLASSIFICATIONNOTATION ((#300)); 
  • #520 IFCCLASSIFICATIONNOTATION ((#400,#410)); 
  • #600 IFCRELASSOCIATESCLASSIFICATION (#100,(#500,#510,#520)); 

Required Attributes

Attribute: XMLID
Description: The XML ID used by idref and idrefs
Type: id
Attribute: NotationFacets
Description:
EXPRESS:SET [1:?] OF IfcClassificationNotationFacet
Definition (IAI):Alphanumeric characters in defined groups from which the classification notation is derived.
Type: idrefs
- IfcClassificationNotationFacet

<IfcClassificationNotationFacet>

Required elements: None
Optional elements: None
Required attributes: XMLID , NotationValue
Optional attributes: None

Description

Definition from IAI: An IfcClassificationNotationFacet is a group of alphanumeric characters used within a classification notation.

HISTORY: New class in IFC Release 1.5. This class has changed in IFC Release 2x and had been renamed from IfcNotationFacet.
ISSUE: See issue and change log for changes made in IFC Release 2x.

Use Definitions

An IfcClassificationNotationFacet object holds an individual classification value that is to be assigned to an object through IfcClassificationNotation and IfcRelAssociatesClassification objects. For example:

  • #200 IFCCLASSIFICATIONNOTATIONFACET ('L6814');

Required Attributes

Attribute: XMLID
Description: The XML ID used by idref and idrefs
Type: id
Attribute: NotationValue
Description:
EXPRESS:IfcLabel
Type: string

<IfcClassificationReference>

Required elements: None
Optional elements: None
Required attributes: XMLID
Optional attributes: Location , ItemReference , Name , ReferencedSource

Description

Definition from IAI: An IfcClassificationReference is a reference into a classification system or source (see IfcClassification). An optional inherited ItemReferenced key is also provided to allow more specific references to classification items (or tables) by type. The inherited Name attribute allows for a human interpretable designation of a classification notation (or code) - see use definition of "Leightweight Classification".

HISTORY: New entity in IFC Release 2x.
ISSUES: See issue and change log for changes made in IFC Release 2x.

Use Definitions

Lightweight Classification

The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'ItemReference' attribute inherited from the abstract IfcExternalReference class. In this case, the 'ItemReference' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model.

However, it is not recommended that this lightweight method be used in cases where more than one classification system is in use or where there may be uncertainty as to the origin or meaning of the classifcation.

  • #100 IFCFLOWEQUIPMENT (.....);
  • #200 IFCCLASSIFICATIONREFERENCE ($,'L6814','Tanking',$);
  • #300 IFCRELASSOCIATESCLASSIFICATION ((#200),#100);

Referencing from an External Source

Classifications of an object may be referenced from an external source rather than being contained within the IFC model. This is done through the IfcClassificationReference class. Consider the Uniclass notation "L6814" which has the title "Tanking". In this case, the optional attribute 'ItemReference' uses the title 'Tanking' that would otherwise be applied to the IfcClassificationItem (if it was to be contained in the model). The location of the classification reference may be found from a classification server that is available via the Internet. In this case, it may be something like "http://www.ncl.ac.uk/classification/uniclass/tanking.htm#6814"

  • #1 IFCCALENDARDATE (31,8,1997);
  • #2 IFCCLASSIFICATION(‘RIBA’,’1’,#1,’Uniclass’)
  • #100 IFCFLOWEQUIPMENT (.....);
  • #200 IFCCLASSIFICATIONREFERENCE ('http://www.ncl.ac.uk/classification/uniclass/tanking.htm#6814','L6814',$,#2);
  • #300 IFCRELASSOCIATESCLASSIFICATION ((#200),#100);

Because the relation between IfcRelAssociatesClassification and classification is actually made at the IfcClassificationNotationSelect class which allows classification to be either contained or referenced, it is possible to assign both contained and referenced classifications to an object.

  • #1 IFCCALENDARDATE (31,8,1997);
  • #2 IFCCLASSIFICATION(‘RIBA’,’1’,#1,’Uniclass’)
  • #100 IFCFLOWEQUIPMENT (.....);
  • #200 IFCCLASSIFICATIONNOTATIONFACET ('L6814');
  • #210 IFCCLASSIFICATIONNOTATIONFACET ('B2186');
  • #220 IFCCLASSIFICATIONNOTATIONFACET ('Z6793');
  • #300 IFCCLASSIFICATIONNOTATION ((#200,#210,#220));
  • #400 IFCCLASSIFICATIONREFERENCE ('http://www.ncl.ac.uk/classification/uniclass/tanking.htm#6814','L6814',$,#2);
  • #500 IFCRELASSOCIATESCLASSIFICATION (#100,(#300,#400));

Required Attributes

Attribute: XMLID
Description: The XML ID used by idref and idrefs
Type: id

Optional Attributes

Attribute: Location
Description:
Inherited from:IfcExternalReference
EXPRESS:IfcLabel
Definition (IAI):Location, where the external source (classification, document or library). This can be either human readable or computer interpretable. For electronic location normally given as an URL location string, however other ways of accessing external references may be established in an application scenario.
Type: string
Attribute: ItemReference
Description:
Inherited from:IfcExternalReference
EXPRESS:IfcIdentifier
Definition (IAI):Identifier for the referenced item in the external source (classification, document or library). The internal reference can provide a computer interpretable pointer into electronic source.
Type: string
Attribute: Name
Description:
Inherited from:IfcExternalReference
EXPRESS:IfcLabel
Definition (IAI):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).
Type: string
Attribute: ReferencedSource
Description:
EXPRESS:IfcClassification
Definition (IAI):The classification system or source that is referenced.
Type: idref
- IfcClassification

<BLIS_XML_for_IFC_2x_Classification>

Required elements: None
Optional elements: IfcCalendarDate , IfcClassification , IfcClassificationItem , IfcClassificationNotation , IfcClassificationNotationFacet , IfcClassificationReference
Required attributes: None
Optional attributes: None

Description

Root document container & name for this schema