Example: Classification of a building
Note. The Autodesk Revit examples are presented in two different representations with different templates included (see the download section, Software templates). Firstly, all CCI-EE properties are defined as Instance, and secondly, Instance and Type properties are used together, depending on the Autodesk Revit component category. The Type template allows for faster classification because the properties associated with the type are associated with the Autodesk Revit category type. However, note that the Type representation also has some CCI-EE properties as the Instance type (e.g. room, Project Information). Thus, when preparing those templates, it is avoided that one property appears in two different locations (both Instance and Type). The only difference between the examples is the display of property names (with the ending Inst or Type) and also in the difference of their input location, either directly on the Properties palette or through the Edit Type setting. The sample tables (Schedules) in the template files include the necessary property columns based on sample Autodesk Revit category. It helps to understand what CCI-EE related properties should be filled in based on the chosen template.
In this example we carry out a basic classification of a building, where we select one component, one technical system (with the functional system reference designation) and also one built space and a building as a whole. Autodesk Revit template (included in Software templates section) is used, from where the previously described parameters/properties have been copied). In addition, the CCI-EE application table is used, which lists the types/subtypes used in the classification.
Note. The types/subtypes given in CCI-EE application table must be based on a uniform set of rules, e.g., a distinct function that the element performs or some other, distinct aspect. Types/subtypes can always be specified with product-specific properties (additional properties), so the CCI-EE application table types/subtypes must not be viewed in the context of a product/manufacturer or based on some too specific property. However, in some cases, the distinguishing type/subtype can be the context of the material if such a distinction is very fundamental (e.g., environmental aspect). The CCI-EE application table presented here is owner-wide (applicable for different owner types – infrastructure client, building client, railroad client etc.). Meaning that if you look at the given application tables from the perspective of one specific owner, it is obvious that one does not need to expand all CCI/CCI-EE class codes into types/subtypes, but to work on with those that are important to them only.
Download the sample Autodesk Revit model used in this example (version 2023):
- BasicSampleProject-ENG-Revit2023-InstanceBased_CCI-EE-2022.10.0.1.rvt
- BasicSampleProject-ENG-Revit2023-TypeBased_CCI-EE-2022.10.0.1.rvt
Note. The example file is currently classified only in the scope of the examples below. Since we are using the example model that comes with the Revit software, for those who are not interested in the matter, I recommend trying it “from scratch”, i.e., following the examples below, where, among other things, the necessary properties are transferred from the Autodesk Revit template (see the download section).
Classification of a component
After importing CCI-EE classification-related properties into the active project, they are displayed in the Properties > Identity Data section (if InstanceBased template is used) and partly in Properties > Edit Type dialog (if TypeBased template is used). InstanceBased set-up is somewhat easier to use if you prefer to see all properties in one location. However, TypeBased set-up simplifies the input of type-based properties (quite many CCI-EE classification-related properties are type-based and not as instance-based). Autodesk Revit is limited in that, we can use only built-in sections to gather properties together, like Identity Data, IFC Parameters, etc. While other properties, which also come from the CCI-EE <RI> table, are gathered in the Data section. The property display can be set based on the object’s category (e.g., it does not make sense to show a property related to a component or technical system with rooms, or it makes no sense to show a classifier characterizing a building with a component, because it is shown only under Project Information dialog).
It should be noted that, depending on the type of element/component, the main classification feature is filled only at the general level of that component. For example, for window, only cciCOcode, cciCOterm, but no more cciCTcode, cciCTterm, etc., because they are defined under the related elements. However, we do fill in reference designation codes which present the connection to other elements. For example, the window shown in the picture below “belongs” to the wall (wall = technical system), the wall in turn belongs to the functional system, and from there we can also reference to the room / building or building complex.


Using the example of a window as a component, we will therefore go through the properties shown in the previous image, which also stipulates the rules for fulfilling these properties.
Note. Inst or Type suffix is not added to the property names below to make their description more universal, because whether a given property is used in an Instance or Type setting does not change their substantive implementation.
- AC175_cciCOcode – window key class code (from CCI-EE <CO> table). No additions (numbers/letters) are allowed. In this example: QQA
- AC180_cciCOterm – concept supporting the key classifier as text (from CCI-EE <CO> table). In this example: Window
In essence, the basic level of classification is limited to those two parameters. It will be extended through the definition of reference designation system, which includes, among other things, the unique ID of the window, the ID of the window type, as well as the relation to a wall type/ID, and from there to the desired main level (functional system, construction entity, built space, construction complex).
- AT800_TypeNumber – it provides the type number derived from the type table (the CCI-EE application table, which is separate from the CCI-EE general table and may be established at the project / owner level). For example, in this example we write the value as 60, which indicates that it is a fixed window.

- AT850_TypeDesignation – this property is based on the two previous ones – the type number and the classification of the component or element (so in this example as: QQA60). This property is important if you want to have a stand-alone parameter that focuses on the type/subtype aspect. This property is not needed in a situation where you want to move immediately to a reference designation property that also contains a type description part (see below). However, this property can be used, for example, to represent a type designation in a drawing.
- AJ125_IDNumber – this property is associated with an element’s type/subtype, introducing the uniqueness of an element associated with a particular type/subtype. Therefore, it is worth emphasizing that this ID is not unique over the entire building / project, but it is unique in the system of related elements (unique across the typical windows in a wall or unique in terms of the associated room/space – in that case we can use the range of values 01-99, otherwise, if we would like to see this value across the construction entity, we may run out of available ID numbers (there could be hundreds of windows in one building). In this example as: 03
- AR200_ReferenceDesignation – this property summarizes the key classifier, type identifier and ID number and is written according to the scheme given in the CCI-EE guidelines. The sequence is: CCIcode+IDnumber % CCIcode + type number. The last part is also available as an AT850_TypeDesignation property value. So, in our example: QQA03%QQA60 (% represents the part where the reference to the type starts, see the CCI-EE guidelines).
- AM945_MultiLevelRD – in this example it is empty because there is no other related component associated within the window (e.g., on a openable window we may want to refer to the window lock, window handle, etc.)
- AR225_ReferenceDesignationSet – this field contains the reference designator of current component (AR200_ReferenceDesignation) and the reference designators at higher levels (hence the name – reference designation set). For example, with the component, the reference code of the wall will be added (as a technical system, as a functional system), and you can also put parts of the construction entity and construction complex. In this example given as:
-B1001.AD3001.QQA03%QQA60 (see the description below regarding the technical/functional system, as this part must be derived from the wall side/reference to which the window belongs to). Note that the reference designation set can also be presented as “smaller bites”, for example without a construction entity/complex. The CCI-EE manual describes when to use the “-” sign and when to use the “+” sign. In addition, we may wish to refer to the reference designation of the room within that reference designation set. The context of “placement” or “location” must be distinguished. For example, with the window, we are talking about the context of the placement. While a component in space can be referenced as from the context of the location (in which case “++” or double plus sign is used). Several reference designation sets can be added under one property, but in this case, those should be separated with the “/” sign.
-B1001.AD3001.QQA03%QQA60/+<CS>AAB$$$$
Note. The reference to the living space (AAB) is an additional reference, therefore the “/” delimiter is used and we also use the table reference to delimit that we are talking about the code part of the built space (there is no point in rewriting the entire part that follows, separated by the construction element and the “-” sign, because it has already been added beforehand). In this case, it makes sense to use the table reference. On the other hand, we could also integrate them under one code, where we start with the “+” sign, then adding a construction space reference, followed by a construction complex, construction entity and finishing up with “-” part as shown already (this is also explained in the CCI-EE guide). However, it has been said that the representation of the reference designation set should be viewed based on the exchange information requirements. And sometimes, chunking works better than writing everything in one line.
Classification of a technical system (wall example)
Below we have selected a wall in which we have classified the window in the previous section. Let’s look at what properties must be met (minimally) for the wall as a technical system.


- AC165_cciCTcode – the main classifier of the wall (in which all layers of the structure are included) (from the CCI-EE <CT> table). No other letters/numbers can be added to it. Noted here as: AD
- AC170_cciCTterm – the concept supporting the main wall classifier as text (from the CCI-EE <CT> table). Noted here as: Wall construction
In essence, the basic level of classification is limited to this, and it is followed by its specification as reference designators, which includes, among other things, the unique ID of the wall, the type ID, as well as the relation to a functional system, construction entity, built space, building complex.
- AT800_TypeNumber – it provides the type number derived from the type table (the CCI-EE application table, which is separate from the general CCI-EE table and may be established by the project / owner). For example, in this example we write the value 30, which indicates that it is a wall construction with a truss-central part.

- AT850_TypeDesignation – this property is based on the two previous ones – the type number and the technical system classification (so in this example as: AD30). This property is important if you want to have a separate parameter that focuses on the type aspect. This property is not needed in a situation where you want to move immediately to a reference designation that also contains a type description part (see below). But this property can be used as a label in the drawing, among other things.
- AJ125_IDNumber – this property is associated with an element’s type/subtype, introducing the uniqueness of an element associated with a particular type/subtype. Thus, it is worth emphasizing that this ID is not alone unique over the whole construction entity / project, but it is unique within the system of related elements (unique within the wall systems in a functional system or within a space). In this example, as the value: 01
- AR200_ReferenceDesignation – this property summarizes the classifier, type identifier and ID and is written according to the scheme given in the CCI-EE manual. The order is: CCIcode+TypeNumber+IDnumber, understandably we also have the first part as an AT850_TypeDesignation property. So, in our example, marked as: AD3001 (if the ID has not yet been set, it can also be shown as AD30$$, where $$ represent a placeholder for the ID value)
- AM945_MultiLevelID – in this example, it is not used because there is no other subcomponent associated with the wall (e.g., we may want to refer to the load-bearing part of this wall, i.e., a separate structural layer, for example AD30.BD30 – BD30 then comes from the list of a separate type/subtype list).

- AR225_ReferenceDesignationSet – in this field, the reference designation of this construction element (AR200_ReferenceDesignation) and the reference codes located above it, come together (hence the name – reference designation set). For example, in the case of a wall as a technical system, a functional system is added here, and in addition, references to construction entity and construction complex can also be added. In this example, filled in as:
-B1001.AD3001 (functional system type/subtype B10 and its unique ID as 01 are also included).

Classification of a construction space
Below we have selected a room in the building that has been classified according to the CCI-EE scheme. Let’s look at what properties should be filled in (minimally) for a room as a built space. Since the room/space is an Instance type element in the Autodesk Revit concept, there cannot be two-way filling here. Therefore, in both the Instance and Type templates, the room/space classification has the same logic, with exactly the same property names.

- AC125_cciCScode – the main classifier of the room (from the CCI-EE <CS> table). No other letters/numbers can be added to it. Noted here as: AAB
- AC130_cciCSterm – the concept supporting the main classifier as text (from the CCI-EE <CS> table). Noted here as: Living space
In essence, the basic level of classification is limited to this, and it is followed by its specification as reference designators, which includes, among other things, the unique ID, the type ID, as well as the relation to the construction entity, building complex.
- AT800_TypeNumber – it provides the type number derived from the type table (the CCI-EE application table, which is separate from the general CCI-EE table and may be established by the project / owner). For example, in this example we write the value 10, which indicates that it is a living room.

- AT850_TypeDesignation – this property is based on the two previous ones – the type number and the built space classification (so in this example as: AAB10). This property is important if you want to have a separate parameter that focuses on the type aspect. This property is not needed in a situation where you want to move immediately to a reference designation that also contains a type description part (see below). But this property can be used as a label in the drawing, among other things.
- AJ125_IDNumber – this property is associated with a room’s type/subtype, introducing the uniqueness of an room associated with a particular type/subtype. Thus, it is worth emphasizing that this ID is not alone unique over the whole construction entity / project, but it is unique within the system of related rooms (unique within the same type of rooms). In this example, as the value: 01
- AR200_ReferenceDesignation – this property summarizes the classifier, type identifier and ID and is written according to the scheme given in the CCI-EE manual. The order is: CCIcode+TypeNumber+IDnumber, understandably we also have the first part as an AT850_TypeDesignation property. So, in our example, marked as: AAB1001 (if the ID has not yet been set, it can also be shown as AAB10$$, where $$ represent a placeholder for the ID value)
- AM945_MultiLevelID – in this example, it is not used because there is no other sub-room associated with the main room.
- AR225_ReferenceDesignationSet – in this field, the reference designation of this built space (AR200_ReferenceDesignation) and the reference codes located above it, come together (hence the name – reference designation set). In case of rooms, we may not need to indicate the construction entity or construction complex, as those may be same for all rooms and such information can be easily added in some data extraction. On the other hand, as our room (built space) will stay to be classified according to a single key table only, additional references can be added in front of the reference designation, such as <CS>, which states that the following code is coming from one specific table. In current examples filled in as: <CS>AAB1001
Classification of a construction entity
Using the example of Autodesk Revit, the classification related to the construction entity and the construction complex can be presented in the Project Information dialog (provided that the project contains only one construction entity, if there are several, it is necessary that the classification related to the construction entity is in the Identity Data section and available for elements, e.g., the volume surrounding some construction entity via an additional element). As the Project Information includes only Instance-based properties, it is filled in in the same way in both templates (InstanceBased, TypeBased).

- AC145_cciCEcode – classification of the construction entity, building (from CCI-EE <CE> table). No other letters/numbers can be added to it. Noted here as: AA
- AC150_cciCEterm – a term supporting the construction entity main class code (from CCI-EE <CE> table). In this example as: Single-dwelling house
- AC135_cciCCcode – classification of the construction complex (from CCI-EE <CC> table). No other letters/numbers can be added to it. Noted here as: A
- AC140_cciCCterm – a term supporting the construction construction complex main class code (from CCI-EE <CC> table). In this example as: Residential complex
In essence, the basic level of classification is limited to this, and it is followed by its specification as reference designations, which includes, among other things, the unique ID of the building / building complex, the ID of the type. It is important to emphasize that the IDNumber and TypeNumber are filled in the context of the construction entity (building), and the ID and type number of the construction complex are presented here only within the reference designation set. Since in this case the type/ID of the building and the type/ID of the construction complex are not indicated, so-called placeholders remain for the rest of the properties (for numbers – $$, for the part with letters – #).
With this, we have provided an example of classification logic based on Autodesk Revit. The components are different and thus the previously discussed principles must also be used in the classification of other objects. The software specifics and template structure are described in a later section.