# Codes Libraries

Codes libraries are used to assign classification codes to objects in your models, which will help keep the models more organized and can help in creating automated quantity takeoffs and schedules.

<div data-with-frame="true"><figure><img src="https://929210962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZKeCFTBZzqUt4lpmhUdS%2Fuploads%2FFktuGAM3NzXIFNlxA18T%2Fimage.png?alt=media&#x26;token=4ada00b5-0755-4398-a883-542494c327d9" alt="" width="563"><figcaption></figcaption></figure></div>

When creating a new project codes library, you can create a new one from scratch, import your own library, or choose from a list of predefined templates or classification systems. These systems are linked to the [buildingSMART Data Dictionary](https://www.buildingsmart.org/users/services/buildingsmart-data-dictionary/) to ensure you always have access to the latest updates of the most commonly used systems.

<div data-with-frame="true"><figure><img src="https://929210962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZKeCFTBZzqUt4lpmhUdS%2Fuploads%2FujD42athfHwnlNyy9sZA%2Fimage.png?alt=media&#x26;token=c42c4aa2-5191-49b5-8b0c-f53dd74b245a" alt="" width="563"><figcaption></figcaption></figure></div>

To import your own library, use a .csv of .xls file structured according to the following example:&#x20;

| **Code** | **Name**      | **Parent Code** |
| -------- | ------------- | --------------- |
| 1        | Item 1        |                 |
| 1.1      | Subitem 1.1   | 1               |
| 1.1.1    | Subitem 1.1.1 | 1.1             |
| 1.1.2    | Subitem 1.1.2 | 1.1             |
| 1.2      | Subitem 1.2   | 1               |
| 1.2.1    | Subitem 1.2.1 | 1.2             |
| 1.2.2    | Subitem 1.2.2 | 1.2             |
| 1.3      | Subitem 1.3   | 1               |
| 2        | Item 2        |                 |
| 3        | Item 3        |                 |

&#x20;

A template for such a library can be downloaded here:

[**Codes library template download**](https://publicv4.qonic.com/classification-library-template.xlsx)

Once a codes library is added to the project you can open and view it, or you can start assigning classification codes in your models using the [Inspect panel](https://help.qonic.com/documentation/qonic-application/querying-and-reporting/inspect-panel).

Some classification systems come with predefined measurement definitions that define which quantities will be calculated when generating a quantity take-off. For instance, external walls classified with the code 2.5.1.1 of the NRM system - as shown in the image below - will have their **area** calculated in a quantity take-off.&#x20;

<div data-with-frame="true"><img src="https://20430882.fs1.hubspotusercontent-na1.net/hubfs/20430882/image-png-Nov-30-2023-08-56-31-8268-AM.png" alt=""></div>

Once a codes library is defined it can be edited; existing codes can be modified or removed, and new codes can be added. To edit a code, right-click it or use the action menu on the bottom of your screen after selecting it. You will have the options to:

* edit the selected code,
* insert a new row on the same level as the selected code,
* create a sub level of the selected code,
* delete the selected code.

When adding a new code or editing an existing one, you can define the identification code, the name and optionally a measurement definition.&#x20;

**Note:** when removing a code that is referenced in one or more models, you are effectively removing data from that model. Do this with caution, as this change is irreversible.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.qonic.com/documentation/qonic-dashboard/libraries/codes-libraries.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
