Skip to main content

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.


Popular posts from this blog

Improve usage of BIM during early design phases

When I was collecting ideas for a book chapter on BIM (that seemed to never have emerged after that), I collected 10 ideas, which I believe still reflect good recommendations to improve the usage of BIM during the early design phases. These ideas are related to BIM software, but you can apply them in any flavor, as long as you can model with Building Elements, Spaces and have control over representation. Introduction This article gives an overview of several recommendations and tips, to better apply BIM applications and BIM methodologies, in the context of the early design phases. Many of these tips are applicable in any BIM application and they are based on experience gathered from teaching, researching and using BIM software. Sometimes they could help software developers to improve the workflow of their particular BIM implementation. Tip 1 : Gradually increase the amount of information In the early design phases, the architect makes assumptions and lays out the main design in

Getting BIM data into Unity (Part 9 - using IfcConvert)

This is part 9 of a series of posts about getting BIM data into Unity. In this post, we’ll discuss the IfcConvert utility from the IfcOpenShell Open Source IFC Library to preprocess an IFC model for integration with Unity. This is (finally?) again a coding post, with some scripts which are shared to build upon. Conversion of IFC into Unity-friendly formats The strategy with this approach is that you preprocess the IFC-file into more manageable formats for Unity integration. Most Web-platforms do some sort of pre-processing anyway, so what you see in your browsers is almost never an IFC-file, but an optimised Mesh-based geometric representation. However, it wouldn’t be BIM-related if we’d limit ourselves to the geometry, so we will parse the model information as well, albeit using another, pre-processed file. IFC to Wavefront OBJ I used a test IFC-model and used the IfcConvert-utility converted it into OBJ en XML formats. The default way to use it is very simple:

Getting BIM data into Unity (Part 8 - Strategies to tackle IFC)

This is part 8 of a series of posts about getting BIM data into Unity. In this post, we’ll discuss IFC as a transfer format towards Unity. As with the previous post, this is not a coding post, although hints and examples are provided. Open BIM and IFC Everybody who ever met me or heard me present on a conference or BIM-lecture will not be surprised to hear that I’m a strong believer in the Industry Foundation Classes (IFC), an open standard, with already two versions published as an ISO standard, being IFC2x2 and IFC4 (but surprisingly not IFC2x3 which is widely used). In the ideal world, this would be the format to use to transfer BIM data into another environment, such as Unity. So what are our options? Looking in the Unity Asset Store Assimp is a library which supports multiple formats, including IFC.   I did a few attempts, but alas without any success. It is possib