Logic Formulas – BIMvision

Universal Method of Element Selection and Ways of Its Use in IT Tools of the IFC Model Platform

Effective work with IFC Models depends largely on efficient processing and obtaining the data they contain. When developing files often composed of several or several dozen thousand elements, effective methods of indicating objects according to their features are used. These can be properties such as technical parameters of individual elements, information related to their location in the model (spatial position, i.e. min. Z, max. Z) or attributes of objects (e.g. GUID, Name, Description).

Properly defined selections can be used for various purposes

One process in which they are useful is to check for collisions in the IFC model (s). Selectors created in this way enable a precise search for errors between industries. By specifying object groups in detail, the BIM Coordinator can obtain fewer collisions that are actually relevant to the project.

In professional practice, it is possible to come across models with varying degrees of accuracy, advancement, refinement, but also simply assumed detail. If you look at steel structures, for example, you can come into contact with a model that includes mechanical fasteners that collide with the individual steel profiles. With the appropriate definition of element groups, we can limit the scope of the check, resulting in a clearer collision report.

By excluding objects such as bolts, rivets or other mechanical fasteners from the check, a significantly lower number of detected collisions can be achieved, limited to those of significant importance.

Another example where the use of selectors makes sense is the creation of summaries. In this case, the precise display of the elements is also particularly important. Selection rules can be used multiple times for different files if they are created universally.

Creating a compilation that contains only elements defined as spiral-wound wires with a diameter of 0.8m

The efficient and correct selection of a group of elements in complex models is an important criterion for obtaining correct results. Selecting objects directly with the cursor is a simple and popular method, but often not sufficient in terms of time consumption, and in the case of large projects, simply ineffective.

Another example of the possibility of using selectors is an IT solution such as Takeoff Reports, a tool that allows you to efficiently collect measurements from the IFC model. It offers different ways to group the measurements from the IFC model. One of them is the use of a generator based on the geometry of the elements contained in the file. It is there that we can use our own selector to indicate which specific objects are to be automatically measured by the program.

By specifying the type of element and the condition concerning the names of the Main Panels of the facades, you can quickly select them and automatically calculate the values of e.g. their area

The use of logical formulas in programs that enable this allows for the immediate, simultaneous selection of many items

The approach using Logical Formulas is available in the popular IFC model platform – BIMvision and its plugins, but also in other IFC browsers or BIM modeling programs. The method of their creation may slightly differ depending, among others, on the interface. Tools such as “Find and select” in Archicad, the so-called Search Sets in Navisworks, or filters in visibility / graphics overrides in Revit.

Selectors, in which groups of objects are defined by means of logical formulas, are a dynamic form of selecting elements. Their unquestionable advantage is the ability to act on elements of various origins. Once created, they can be used many times on different models (universality). This definition of element groups is especially useful when models are updated and changed frequently. With dynamic selectors, we do not have to define groups of objects each time, we just need to load their saved definitions.

The main advantage of selectors is their global impact on models

For example, let’s compare the selection methods available from the level of “plugin” solutions in the above-mentioned BIMvision program. When using such extensions as Advanced Reports, Takeoff Reports or Clash Detection, we will find a division into several options for selecting elements. These can be “active”, “selected” elements, forming the so-called list of objects or specified with “custom selectors”. For some plugins there is an additional option to influence “visible” objects.

Different methods of selecting elements in the Advanced Reports plugin of the BIMvision Platform

The “active” and “selected” options are the ones whose status is checked at the moment of activating the mechanism. The activity of individual elements can be enabled / disabled in the IFC structure of the model. Selected elements constitute a selection of objects made manually on the model or in the structure. These two options – active and selected – are easy to use, hence popular, but not the most effective. Custom selector and List of objects are less standard solutions with great applicability however, they differ fundamentally in terms of the semantics of operation.

The list of objects is a static method that uniquely defines individual elements. The list is visible and transparent, so you can freely modify it by adding or removing individual items.

The Custom selector is a dynamic method, where the determination of elements depends on the model. The selection is made automatically based on the entered conditions. This is why “custom selectors” are such an important topic.

The operation of selectors and their universality depends on the definition of logical formulas

Logic formulas can be simple or complex. Their definitions can consist of many rules, and two tabs are used to define them: the main one, which defines the included objects, and the second one, which defines the excluded objects. The parent rules are: OR and AND – they influence the general behavior of the criteria defined in the selector tabs.

As an example, it is worth analyzing the case described below. As an example, it is worth considering the case described below. We will only want to select load-bearing walls that are to be built in the selected phase of construction. When creating a “Custom Selector”, it is a good idea to start by setting one of the two overriding conditions for the first tab (“Include”). The example uses the AND condition, which means that all entered rules must be met for the item to be included in the selection. The next step is to define the conditions. The first in the example specifies that the element is to be defined as a wall. The object type for this model will then be specified as IfcWall. In the selected IFC model, the walls have no information as to whether they are load-bearing or not. However, knowing the thickness of the load-bearing and partition walls, you can create, for example, a condition based on the width of the wall, i.e. the “width” parameter. In this case, the property will be defined as greater than or equal to 240mm. The last step will be, for example, a definition defining the construction phase, so the elements considered should have the property “phase” equal to 3 or 4.

Setting the superior conjunction function AND, as well as defining the first logical sentence (the element type is to be a wall – according to the IfcWall type)
Extensive selector. The object is to have the IfcWall type, its thickness should be greater than 24 cm and it should belong to the 3rd or 4th phase of execution

If you want to exclude a group of elements or several selected objects, you can do it in the lower “Exclude” tab. This way, you can easily determine which items are not included in the selection. Individual GUID numbers can also be used to indicate specific elements. If there are one or more specific objects in the model that are to be omitted, they can be easily determined this way. After creating a definition of a group of objects, it can be used, for example, by taking into account all the indicated objects in the statement and generating the resulting Excel table.

Definition of the “Exclude” tab of the selector. The parent rule OR specifies that it is sufficient for one of the conditions entered to be true for the object to be omitted
The exclusion rule in this example is to indicate two specific objects with their individual GUID numbers. You can see the defined selection in the model view.

Selectors can be reused and settings files can be uploaded

Dynamic selections based on logical formulas are especially important for frequently updated models. Then, once defined templates or selectors can be loaded from a previously saved external file or from an internal library, stored locally on the computer. This is useful, for example, when verifying the progress of work on resolving clash problems, in order to check whether subsequent versions do not include previous bugs or whether new ones have appeared elsewhere in the project.

Creating selectors with universal parameters can also be used, for example, to create lists of characteristic objects, according to the division into their types and their distinguishing physical tags. In the case when the design or executive team has internal fixed standards related to nomenclature and assigned properties, or when specific classifications are used, such templates can be set and saved “for specific, defined goals”. It will be possible later to use them not in one, but many different projects, created in one, coherent, systematized way.