Skip to content
  • Categories
Collapse
Solibri Society Forum
  1. Home
  2. General Discussion
  3. component recognition

component recognition

Scheduled Pinned Locked Moved General Discussion
10 Posts 4 Posters 732 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    shapeless
    wrote on last edited by
    #1

    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!

    1 Reply Last reply
    2
    • L Offline
      L Offline
      lasse.lindqvist
      wrote on last edited by
      #2

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

      1 Reply Last reply
      1
      • S Offline
        S Offline
        shapeless
        wrote on last edited by
        #3

        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!

        1 Reply Last reply
        0
        • L Offline
          L Offline
          lasse.lindqvist
          wrote on last edited by
          #4

          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.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            shapeless
            wrote on last edited by
            #5

            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.

            1 Reply Last reply
            1
            • L Offline
              L Offline
              lasse.lindqvist
              wrote on last edited by
              #6

              I’ll promise to find all of them and post to this thread next week. 🙂

              1 Reply Last reply
              2
              • S Offline
                S Offline
                shapeless
                wrote on last edited by
                #7

                Wow, great, thank you!

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  lasse.lindqvist
                  wrote on last edited by
                  #8

                  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

                  1 Reply Last reply
                  0
                  • silver.aderS Offline
                    silver.aderS Offline
                    silver.ader
                    wrote on last edited by
                    #9

                    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

                    1 Reply Last reply
                    1
                    • L lasse.lindqvist referenced this topic on
                    • N Offline
                      N Offline
                      Nuno
                      wrote last edited by
                      #10

                      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

                      image.png

                      1 Reply Last reply
                      0

                      Copyright © 2025 Solibri Inc. | Powered by NodeBB

                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories