> For the complete documentation index, see [llms.txt](https://help.qonic.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.qonic.com/documentation/qonic-application/querying-and-reporting/libraries-panel/properties-library.md).

# Properties Library

Use this panel to get an overview of all Custom Property Sets (1) and Properties (2) in the project. If no property sets are displayed, check if there are any currently active filters (3 and 4). If no filters are active and no property sets are displayed, this means there are no custom properties defined in this project. You can create a new property or property set by clicking the <kbd>+</kbd> button in the bottom right corner (5).

{% hint style="warning" %}
**Note:** Custom *Imported* properties, created through e.g. an IFC of RVT import, are currently not editable and will not be displayed here. This panel only contains custom properties created in Qonic.
{% endhint %}

<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%2FjCbSbtaeeGs4YLc9Vm6L%2FGroup%20658.png?alt=media&amp;token=40fbbb28-f9d1-4df1-bf45-e115cd05725d" alt="" width="321"><figcaption></figcaption></figure></div>

A property is always defined inside a property set. Create a new property set by clicking the green <kbd>+</kbd> button on the bottom right corner of the panel.&#x20;

<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%2F3uc7UQ4889Qbq7rHFidX%2Fimage.png?alt=media&amp;token=0b877aca-4eae-40c1-855d-bb4d4f0e29ec" alt="" width="248"><figcaption></figcaption></figure></div>

When creating a new property set, you can define which IFC classes this property set will apply to. Leaving this blank will apply the property set to all IFC classes.

<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%2FRdBggqt13EHxzANPlrIu%2Fimage.png?alt=media&amp;token=cc26add8-6f85-46de-8675-b4eb6f7d7da0" alt="" width="290"><figcaption></figcaption></figure></div>

Click the ellipsis next to the newly created property set to create new properties within this set, or click the green <kbd>+</kbd> button to create a new property in any property set. Qonic supports two types of properties: (static) properties and dynamic properties.

#### Static properties

A static property, or property in short, is any property of which the value can be manually filled in. To create a new static property, click the green <kbd>+</kbd> button and click New Property. The property needs a name, a property set which it is part of, and a data type (String, Integer, Real, Boolean or Enumerated value).

<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%2FFb424nbNuj5ZT5MLNlSc%2Fimage.png?alt=media&amp;token=bb327dc9-448d-4f32-a5d3-98670c9ddaa4" alt="" width="289"><figcaption></figcaption></figure></div>

Once the property is defined, it can be assigned to products in the [Inspect Panel](/documentation/qonic-application/querying-and-reporting/inspect-panel.md), and a value can be filled in for each individual product having this property.

#### Dynamic properties

A dynamic property is a property of which the value is derived from a certain expression. This expression can include other property values, or measurements taken from the object. To create a new dynamic property, click the green <kbd>+</kbd> button and click New Dynamic Property. The property needs a name (1), a property set which it is part of (2), and an expression (3) from which the unit (4) will be automatically derived.

<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%2FCVDBCTaRgZAzK3AXf87k%2FGroup%20664.png?alt=media&amp;token=ed4b8583-7fa8-4b4c-9f0c-f966ac4b046e" alt="" width="286"><figcaption></figcaption></figure></div>

The expression can be a combination of property values (5) and quantities (6) from the object the property is applied to. The property value can be applied indirectly through e.g. a property of a **material** that is applied to the object.&#x20;

In the example above, the **mass** of an object will be calculated from the **mass density** of the material that is assigned to it, multiplied by the **volume** which is calculated from the geometry of the object. The unit of mass (kg) is automatically derived from the units in the expression (kg/m³ for mass density and m³ for volume).&#x20;

Once you created the expression, you can still click the different parts of the expression to switch to another property or e.g. add specifications for the quantity you selected.

Since the value of a dynamic property is calculated based on the expression, you will not need to fill in a value when assigning this property to an object in the model.

The unit will be automatically derived from the expression. It is also possible to overwrite the unit with another one, or to create custom units.&#x20;

In the example below, a property is created to calculate the duration of a given task. It is calculated on the object volume and a given productivity, in this case 150 cubic meters per day.

<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%2FiA9AqU9QuNRdHANS0SnQ%2Fimage.png?alt=media&amp;token=4be6ba58-7195-4b52-961b-900954685cc6" alt="" width="299"><figcaption></figcaption></figure></div>

This productivity of 150 cubic meters per day is just a constant, which at this point does not have a unit yet, meaning that the unit of this expression still resolves to m³. To ensure this expression resolved to a duration unit, we need to assign a custom unit to this constant. Click the constant in the expression to edit its value or its unit.

<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%2FnPYmhjwD8q968W2nBOsf%2Fimage.png?alt=media&amp;token=57bd3848-7279-445c-b802-62aca3633ca6" alt="" width="298"><figcaption></figcaption></figure></div>

Click the Unit field to choose from a list of commonly used SI units and derived units, or add a custom unit for specific purposes.

<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%2Fw1nR94fOQIvthWGMoTST%2Fimage.png?alt=media&amp;token=6e3fb32a-fc4d-41b0-9158-c6ff44d43491" alt="" width="300"><figcaption></figcaption></figure></div>

In this case we will create a custom unit for productivity, expressed in m³/day.&#x20;

<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%2FQ55NHirW58nvoVdkbWdg%2Fimage.png?alt=media&amp;token=ebf6cacf-3bee-4eb3-ba46-e49b5c63d1df" alt="" width="305"><figcaption></figcaption></figure></div>

Now our expression resolves to a unit of time.

<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%2FE62ZY3yvdcbbkF9oJRHS%2Fimage.png?alt=media&amp;token=c04a9002-2c5b-403a-be05-64f1fb9873bb" alt="" width="301"><figcaption></figcaption></figure></div>

We have now successfully created a custom dynamic property which calculated the construction duration of a product based on its volume.&#x20;

{% hint style="info" %}
Properties that resolve to **days** like the one used in this example can be used in the [Planning Panel](/documentation/qonic-application/querying-and-reporting/planning-panel.md) to drive the duration of actual tasks in a construction sequence.
{% endhint %}

<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%2FNYGtlKWJy1F6YeocLrBA%2Fimage.png?alt=media&amp;token=83826cc6-2e2c-4072-8faf-c5c5844c6319" alt="" width="298"><figcaption></figcaption></figure></div>
