About Classification and Properties in BIM


When Manufacturers create custom objects for use in BIM software, they often want to embed as much relevant information as possible into the objects. In BIM-software such as ARCHICAD or Revit, you can do this fairly easy: ARCHICAD supports Custom Properties and Revit has Project or Shared Parameters. The basic concept is more or less the same: you define a property set and individual properties inside the set, with a data type and possibly default value.

To make these properties available for the user to enter, you can attach them to an element category (like wall, slab, beam, window). So far so good...

The problem

However... a category applies to ALL instances of elements of that category. Every single element will gain the properties assigned to the element category. So if you start loading manufacturer objects for e.g. doors, every single door will gain these new properties... even those for which this is not relevant.

Managing Properties inside Autodesk Revit

Here is an example of a property arriving from a custom family loaded inside Revit. Wienerberger added the Shared Parameter "Wienerberger Code" and linked it to the Walls category.

Revit Shared Parameter > linked to Category

As a result, every single wall in the project will all-of-a-sudden gain the "Wienerberger Code" parameter, if you like it or not. We already heard end users complain that they don't want huge lists of properties from manufacturers, as they permeate in different places and make the selection lists enormous.

Here is an example of a System family, which receives custom parameters from a manufacturer.
Revit System Family Paramaters

As you can see, Brick Dimension, Brick Height and Brick Width are visible. These are now available for every single Wall in the project! And they aren't even related to the Wall, but are actually parameters related to the material.

The only exception are Family parameters, as they can be limited to the family in question. However, in that case, you are not able to schedule them, which defeats the purpose quiet a bit.

We know that inside the Revit API, it is possible to add new fields to materials, but as "Material" is only a single category, every single material in the project will get this field.

Inside ARCHICAD 21

ARCHICAD 21 introduced a new classification system in release 21 and this allows users to limit the properties to a specific classification value. Only the elements or zones with that particular assigned classification value will receive these properties.

This makes a huge difference. Here is an example from the default AC21 template:
ARCHICAD 21 Classification with available properties

You can see that in this case, the properties are attached to the "Footing" classification. At first sight, this is not different from ARCHICAD 20, which had one single default classification available (visible inside the Property Manager).

But now you can create NEW classification systems and organise your properties alongside.

Two limitations:

  • You can have as many classification systems as you like, but each element or zone can only receive one classification value per system.
  • Classifications only exist on the level of an Element (wall, slab, door, morph, ...) or Zone (the equivalent of IfcSpace). There is no way (yet) to attach classifications or properties to materials, composites, profiles or other attributes.


To help users, parameters should be generic and have generic naming. "Manufacture" or "Product Page" are usable names. But "Concrete_Class" is not, as this will permeate to elements who are not made of concrete.
And if the limitations of your software hinder you, speak to your resellers or on forums. Software companies are still learning about BIM and its use in practice.