Skip to main content

About Classification and Properties in BIM

Introduction

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.

Conclusion

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.

Comments

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...

PythonOCC : Open Source interactive CAD shell (and how to run it on OSX)

What is PythonOCC? PythonOCC is an Open Source (LGPL) Python-wrapper for OpenCASCADE. So what is OpenCASCADE (OCC)? This is an advanced Open Source (custom license) modeling kernel, comparable to commercial engines, such as ACIS or Parasolid, which are used in quite some commercial CAD programs. When you want to develop CAD software, you could use OCC and write programs in C++. And why using Python? With this wrapper, you can create CAD and geometry scripts in Python, which is an interpreted Object-oriented scripting language. You can write almost "on-the-fly" and seriously reduce the implementation effort, by skipping the compiling-phase. You can even interact with a running program in the Python interpreter. Want to read more about this? The OpenCASCADE official website  (currently Linux and Windows are officially supported) The PythonOCC website/blog  (beware that the core of the actions happen in the development repositories). So far so good. Now the nasty, techn...

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. https://assetstore.unity.com/packages/tools/modeling/trilib-unity-model-loader-package-91777   I did a few attempts, but alas without any success. It is po...