IfcClassification

Natural language names
Klassifikationssystem
Classification
Classification
Change log
ItemSPFXMLChangeDescription
IFC2x3 to IFC4
    IfcClassification
      SourceMODIFIEDInstantiation changed to OPTIONAL.
      EditionMODIFIEDInstantiation changed to OPTIONAL.
      EditionDateXXMODIFIEDType changed from IfcCalendarDate to IfcDate.
      DescriptionADDED
      LocationADDED
      ReferenceTokensADDED
Semantic definitions at the entity
Entity definition

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. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an classification are organized in a tree structure.

The IfcClassification identifies the classification system or source to which a classification reference refers to. Each classification reference may reference an instance of IfcClassification. A classification system declared may be either formally published, or it may be a locally defined method of classifiying information.

NOTE  Examples for such formally published classifications are Omniclass, Uniclass, Masterformat, or DIN277.

There are two methods to define and reference a classification system:

  1. Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationReference's is included that defines the classification system including the relationship between the classification items. The ReferencedSource attribute of IfcClassificationReference links the classification item to the parent item, and the parent item finally to the IfcClassification.
  2. Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key as Identification attribute and it may link by ReferencedSource attribute directly to the IfcClassification.

HISTORY  New entity in IFC1.5

IFC 2x4 CHANGE  Attribute Edition made optional. Attributes: Description, Location, and ReferenceTokens and inverse attribute HasReferences added.

Attribute definitions
#AttributeTypeCardinalityDescription C
1SourceIfcLabel? Source (or publisher) for this classification.
NOTE  that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher.
X
2EditionIfcLabel? The edition or version of the classification system from which the classification notation is derived.
NOTE  the version labeling system is specific to the classification system.
IFC4 CHANGE The attribute has been changed to be optional.
X
3EditionDateIfcDate? 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.
IFC4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601.
X
4NameIfcLabel The name or label by which the classification used is normally known.
NOTE  Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc.
X
5DescriptionIfcText? Additional description provided for the classification.
IFC4 CHANGE  New attribute added at the end of the attribute list.
X
6Location- This attribute is out of scope for this model view definition and shall not be set.
7ReferenceTokens- This attribute is out of scope for this model view definition and shall not be set.
ClassificationForObjectsIfcRelAssociatesClassification
@RelatingClassification
S[0:?]The classification with which objects are associated.
IFC4 CHANGE  New inverse attribute.
HasReferencesIfcClassificationReference
@ReferencedSource
S[0:?]The classification references to which the classification applies. It can either be the final classification notation, or an intermediate classification item. X
Inherited definitions from supertypes
Entity inheritance IfcExternalInformation
Attribute inheritance
#AttributeTypeCardinalityDescriptionC
IfcExternalInformation
IfcClassification
1SourceIfcLabel? Source (or publisher) for this classification.
NOTE  that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher.
X
2EditionIfcLabel? The edition or version of the classification system from which the classification notation is derived.
NOTE  the version labeling system is specific to the classification system.
IFC4 CHANGE The attribute has been changed to be optional.
X
3EditionDateIfcDate? 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.
IFC4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601.
X
4NameIfcLabel The name or label by which the classification used is normally known.
NOTE  Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc.
X
5DescriptionIfcText? Additional description provided for the classification.
IFC4 CHANGE  New attribute added at the end of the attribute list.
X
6Location- This attribute is out of scope for this model view definition and shall not be set.
7ReferenceTokens- This attribute is out of scope for this model view definition and shall not be set.
ClassificationForObjectsIfcRelAssociatesClassification
@RelatingClassification
S[0:?]The classification with which objects are associated.
IFC4 CHANGE  New inverse attribute.
HasReferencesIfcClassificationReference
@ReferencedSource
S[0:?]The classification references to which the classification applies. It can either be the final classification notation, or an intermediate classification item. X
Formal representations
XML Specification
 <xs:element name="IfcClassification" type="ifc:IfcClassification" substitutionGroup="ifc:IfcExternalInformation" nillable="true"/>
 <xs:complexType name="IfcClassification">
  <xs:complexContent>
   <xs:extension base="ifc:IfcExternalInformation">
    <xs:sequence>
     <xs:element name="HasReferences" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcClassificationReference" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcClassificationReference"/>
       <xs:attribute ref="ifc:cType" fixed="set"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="Source" type="ifc:IfcLabel" use="optional"/>
    <xs:attribute name="Edition" type="ifc:IfcLabel" use="optional"/>
    <xs:attribute name="EditionDate" type="ifc:IfcDate" use="optional"/>
    <xs:attribute name="Name" type="ifc:IfcLabel" use="optional"/>
    <xs:attribute name="Description" type="ifc:IfcText" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcClassification
 SUBTYPE OF (IfcExternalInformation);
  Source : OPTIONAL IfcLabel;
  Edition : OPTIONAL IfcLabel;
  EditionDate : OPTIONAL IfcDate;
  Name : IfcLabel;
  Description : OPTIONAL IfcText;
  Location : OPTIONAL IfcStrippedOptional;
  ReferenceTokens : OPTIONAL LIST [1:?] OF IfcStrippedOptional;
 INVERSE
  ClassificationForObjects : SET [0:?] OF IfcRelAssociatesClassification FOR RelatingClassification;
  HasReferences : SET [0:?] OF IfcClassificationReference FOR ReferencedSource;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

JSON Specification
public class IfcClassification extends IfcExternalInformation
{
 private string Source;
 private string Edition;
 private string EditionDate;
 private string Name;
 private string Description;
 private string Location;
 private string[] ReferenceTokens;
 private IfcRelAssociatesClassification[] ClassificationForObjects;
 private IfcClassificationReference[] HasReferences;
}

References  References: IfcClassificationReferenceSelect IfcClassificationSelect

Link to this page  Link to this page