Skip to content
  • Categories
Collapse
Solibri Society Forum
  1. Home
  2. Comments & Feedback
  3. Tech Talks
  4. Missing Type Enumeration in Solibri 9.12

Missing Type Enumeration in Solibri 9.12

Scheduled Pinned Locked Moved Solved Tech Talks
7 Posts 3 Posters 1.3k 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.
  • agroniA Offline
    agroniA Offline
    agroni
    wrote on last edited by
    #1

    Hi,
    am I missing something here or did the Type Enumeration of IFC Entities just disappear?

    4fc972d8-87b7-4494-9b45-fb42ae66c16d-grafik.png

    In this IFC File I have an IfcSlab Type FLOOR. The Type is not displayed anymore, respectively cannot be defined in the RuleSet.
    Is it not anymore supported?

    AllesWirdGut Architecture
    www.awg.at

    1 Reply Last reply
    0
    • agroniA Offline
      agroniA Offline
      agroni
      wrote on last edited by agroni
      #4

      Oh Boy!!!
      The Predifined Type was always there:
      3149caf8-ce71-4add-85f1-e1168b20ec5c-grafik.png

      I think I need to go to check my eyes 😳
      Sorry for the trouble and thanx for your quick reply
      cheers 😉

      AllesWirdGut Architecture
      www.awg.at

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

        Hi. The Predefined Type (Vordefinierter Typ) here seems to show FLOOR in this example.

        Generally Predefined type for components comes from the corresponding IFC Type enum. For Slabs specifically it is the IfcSlabTypeEnum.
        And it is good to remember that, in case IfcSlabTypeEnum happens to be ROOF, the component is actually imported as Roof in Solibri, not Slab. This weirdness has been implemented to support modeling workflows that have been modeling roofs as slabs with this type set.

        IfcType field usually comes from the related IfcTypeObject instance, which in this case is IfcSlabType.

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

          9.10.6 had some changes to the IFC type showing: https://www.solibri.com/news/solibri-9-10-6-release-notes

          1 Reply Last reply
          1
          • agroniA Offline
            agroniA Offline
            agroni
            wrote on last edited by agroni
            #4

            Oh Boy!!!
            The Predifined Type was always there:
            3149caf8-ce71-4add-85f1-e1168b20ec5c-grafik.png

            I think I need to go to check my eyes 😳
            Sorry for the trouble and thanx for your quick reply
            cheers 😉

            AllesWirdGut Architecture
            www.awg.at

            1 Reply Last reply
            2
            • Kowal-GradlK Offline
              Kowal-GradlK Offline
              Kowal-Gradl
              replied to lasse.lindqvist on last edited by
              #5

              @lasse-lindqvist

              Hi, I would like to ask how to determine the value of the predefined type for IfcSlabTypeEnum, as it is specified in the IFC file.

              getIfcEntityType() returns SLAB instead of FLOOR, similar to the example above.

              Unfortunately there is not the same possibility for slab as there is for covering:

              if (component instanceof Covering) 
              {
                 Covering covering = (Covering) component;
                 Covering.Type type = covering.getType();
                 CompIfcType_String = type.toString(); 
              }
              

              Best regards, Reinhard

              L 1 Reply Last reply
              0
              • L Offline
                L Offline
                lasse.lindqvist
                replied to Kowal-Gradl on last edited by
                #6

                @Kowal-Gradl said in Missing Type Enumeration in Solibri 9.12:

                @lasse-lindqvist

                Hi, I would like to ask how to determine the value of the predefined type for IfcSlabTypeEnum, as it is specified in the IFC file.

                getIfcEntityType() returns SLAB instead of FLOOR, similar to the example above.

                Unfortunately there is not the same possibility for slab as there is for covering:

                if (component instanceof Covering) 
                {
                   Covering covering = (Covering) component;
                   Covering.Type type = covering.getType();
                   CompIfcType_String = type.toString(); 
                }
                

                Best regards, Reinhard

                This should be just added to the API, but hasn’t been done as of yet.

                It might be available via

                slab.getRelated(Relation.of(Relation.Type.DEFINES_BY_TYPE, Relation.Direction.FORWARD)
                

                or

                slab.getRelated(Relation.of(Relation.Type.DEFINES_BY_TYPE, Relation.Direction.BACKWARD)
                

                and study the Type object it finds (untested code),
                but the intention is to add the simple getter methods.

                Kowal-GradlK 1 Reply Last reply
                0
                • Kowal-GradlK Offline
                  Kowal-GradlK Offline
                  Kowal-Gradl
                  replied to lasse.lindqvist on last edited by
                  #7

                  @lasse-lindqvist

                  Thanks for your answer, but this way I only get UNKNOWN as Type of the Related, but the Slab is definitely FLOOR in Solibri interface and SLAB in API -> component.getComponentType()

                  May you have one more hint for me, thanx a lot so far

                  Reinhard

                  Collection<Component> CT = component.getRelated(Relation.of(Relation.Type.DEFINES_BY_TYPE, Relation.Direction.BACKWARD));
                  	
                  if (CT.iterator().hasNext()==true)
                  {	 
                  	String CTYPE = CT.iterator().next().getComponentType().toString();
                  }
                  
                  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