component recognition
-
Hej there!
It’s my first entry in this board and I am also quite a newbie in this field.
So my first question is a presumably very basic one:
How does Solibri recognise components?
In the beginning I thought that this resulted out of a classification, meaning if something is classified as “IfcSlab” it would automatically be recognised in Solibri as the component “Slab”. Now it occured that I drew a roof in ArchiCAD but classified it as “IfcSlab | ROOF”. Hence I expected it to be translated into the component “Slab” in Solibri. It ended up being translated into the component “Roof” instead.
There is not really any indication in the info of the element itself that hints where Solibri could have this knowledge from. I can imagine cases where one needs to build elements which others but needs them to be recognised as what they represent and not by their original defintion (e.g. furniture built with multiple slabs in AC)
I am very thankful for your replies!
-
Hi. So mostly the components behave such that IfcSlab becomes a Solibri Slab. But Solibri tries to be smart when it comes to some components, such as the one you found. For example, we have found that some things that “should” be modeled as IfcRoof are modeled as Slabs, and Solibri detects these and uses Solibri Roof for these.
If you need to see the true IFC component the Solibri component comes from, you can check it from the Info view (IFC Entity field).
-
Thanks for the fast reply!
To be honest, it’s nice that Solibri wants to be clever but in fact it should just do what the author of the model tells it to do, meaning, if I classify something as Slab it should also be interpreted as Slab. That is because I intentionally did it this way since I’m for example limited by my software’s capabilities.
Solibri’s unexpected behaviour is quite error-prone.
Okay, so it doesn’t take into account the hierarchical definition, meaning TypeEnum? I classified suspended ceilings as “IfcCovering” “CEILING” which isn’t interpreted as component “suspended ceiling” but “covering”.
Hm! -
I cannot really list all logic now, but the following I looked up in the code base:
IfcCovering is imported as Covering, unless its IfcCoveringTypeEnum is CEILING in which case it is imported as Ceiling.
While it might be useful for some to stop doing these deductions, these are unlikely to change as it would be a change that would break many existing rulesets and other resources that rely on filters that assume these conversions.
-
Thank you for this explanation.
I understand of course that once a program runs you cannot simply change its logic.
It would just really be helpful if there was a specification to look up to understand those translations without having to stumble across them when checking the model.
-
I’ll promise to find all of them and post to this thread next week.
-
The following are the major things that differ between Solibri and IFC. The others should map 1-to-1 from IFC to Solibri components.
IfcFurnishingElement and IfcFurniture -> Solibri Furniture since Solibri does not have a separate type for general IfcFurnishingElement
IfcSlab -> Solibri Slab unless IfcSlabTypeEnum is ROOF, then it becomes Solibri Roof
IfcRoof -> Solibri Roof always
IfcCovering -> Solibri Covering unless IfcCoveringTypeEnum is CEILING, then it becomes Solibri Ceiling (There is no such thing as IfcCeiling)
IfcCurtainWall -> Solibri CurtainWall
IfcWall -> Solibri Wall
In Solibri CurtainWall extends Wall, but in IFC IfcCurtainWall does NOT extend IfcWall -
Hello.
I’ve also been struggling with the hardcoded mapping. If IfcCoveringType.CEILING is mapped into Suspended Ceiling category, then why not map all of the IfcCeiling Predefined types:
CEILING - the covering is used to represent a ceiling
FLOORING - the covering is used to represent a flooring
CLADDING - the covering is used to represent a cladding
ROOFING - the covering is used to represent a roof
INSULATION - the covering is used to insulate an element for thermal or acoustic purposes.
MEMBRANE - an impervious layer that could be used for e.g. roof covering (below tiling - that may be known as sarking etc.) or as a damp proof course membrane
SLEEVING - the covering is used to isolate a distribution element from a space in which it is contained.
WRAPPING - the covering is used for wrapping particularly of distribution elements using tape.Suspended Ceiling is some-how more important then flooring or cladding?
But as classification is free to be self-configurated, then it isn’t a big deal.
Silver
-
-
Hi,
I would like to reopen this topic. I’m using Solibri version 25.3.2.65.
I realized that Solibri just seems to calculate Areas and Thickness when IfcCovering contains Predifined Type as CEILING. When it is used other Predifined Type like CLADDING, FLOORING, INSULATION, etc then Solibri doesn’t calculate the those quantities. But basicly this are the same elements. Why and how to go arround this issue so one can get those quantities for all IfcCoverings?
Nuno
Copyright © 2025 Solibri Inc. | Powered by NodeBB