Ifc Classification of Layered Building Elements

@brewsky @rtches @nnijmeijer @MikeWayzovski @Odd_Haakon_Byberg

Hi guys, sorry to bother you, but I’ve crossed many posts from you and you might be able to help me with this.

How can I organize a Sketchup model so I can have a group/component which is an IfcWall, IfcSlab or IfcRoof, but it is composed of several layers.

Shall I simply create a group/component, classify it and then it’s child hierarchy doesn’t need to be classified, or should it have a specific classification?

Examples:
IfcWall - Brick, Insulation, Exterior Cladding
IfcWall - Gypsum board, Light Structure, Insulation, Cement Panel, Waterproofing, Mortar, Tiles
IfcSlab - Pavement, Insulation, Slab, Void, Light Structure, Ceiling
IfcRoof - Roof Tiles, Frame, Insulation, Waterproofing, Slab, Void, Light Structure, Ceiling

I just structure the main building elements with ifc classification. I have one component for each floor, with the axis for that storey being placed on top of the floor. The storey component is classified, and the wall and stab component inside is classified. Also the furniture, windows and doors is ifc classified. Ideally as I understand it you’re supposed to break up the outer wall by storeys and have that part of the outer wall as a separate classified component inside each storey.

I dont always do that, and then ifc Manager makes a separate storey out of that outer wall component, which is not ideal :slight_smile:

I am happy if the people using the ifc is able to sort the main components of my file, and I dont need to get into ifc perfection.

Having nested and SU tagged group/component levels inside the ifc classified component for the sake of the SU model organisation is not a problem, as far as I have used ifc. But I am no ifc expert, and I´m just happy when the customer dont complain…

1 Like

That’s definetely the best approach. Happy clients!

So you don’t care about the inner layers of each Slab for IFC export, but you’d still have layers inside building elements on the Sketchup model if you need them, right?

I mean your roof component can have several different components/groups under the single roof component that has been classified as roof, right?

Or was it a problem for you before?

Sorry, I have no solution for a composite wall that is a single IfcWall with multiple IfcMaterial layers, I have no ideay how we could model that in sketchup and recognize the layers so they fit IFC. If you only want the layers as different colors, and not really the IfcMaterial layers than it should be possible with IFC Manager to make a component classified as IfcWall, and inside that a few groups painted with different materials, then it should LOOK goot but only has the IfcMaterial for the material painted on the outer wall component. What I might be able to build is a set of materials for all parts in the wall, but not nicely in layers.

1 Like

Hi @brewsky

For me it wouldn’t matter if all layers are arranged in a nice way or not. What it would matter is that a stakeholder in the BIM management side, would be able to pull out all insulation by finding the insulation inside walls, slabs, roofs, inner walls, and so on.

So, what I was expecting was to be able to have some sort of hierarchy that could define some wall type has having certain subwalls inside. Their order would be given by looking at the model.

Should I stack several walls together inside of an IfcStorey?

Or is there a way of stacking them inside of an IfcWall?

I read about aggregates. Could that be it?

IfcRelAggregates

EDIT:

I would probably have an IfcWall which would have those IfcRelAggregates inside, and each would be painted with a different material, as concrete, insulation, brick, wood, steel frame.

Would that work?

It kind of depends what specific information is needed and agreed upon to have.
For stucco and screed you might want to check out IfcCovering, for Windows and framed walls one can use IfcElementAssembly.
For instance the mulion components of a window frame can be IfcMembers in a window component that is an IfcElementAssembly:

The nesting in SketchUp should take care of the correct hierarchy.

1 Like

yes, I get that to work, so that I can organise my model effectively with tags. Not sure what really happens if you apply ifc classifications double up, lets say if you have a part classified as ifcRoof inside a main component thats also classified as ifcRoof. The internal ifc exporter seems to get problems with that, but I dont use that exporter anyway.

1 Like

Thanks for your replies.

If you have any other kind of classified element inside the roof, besides IfcRoof, then that would be viable, right?

So a roof is an IfcRoof and can have a child hierarchy of:

  1. Unclassified components/groups
  2. Classified as elements different from roof.

@MikeWayzovski I don’t understand the hierarchy of that Assembly. Is it like this:

  • IfcElementAssembly
    • IfcDoor
      • IfcWindow
        • GlazingAreaFraction - Painted with Glass
    • IfcPlate
    • IfcWindow
      • IfcWindow
        • GlazingAreaFraction - Painted with Glass

Or is GlazingAreaFraction not a classification but a property of that secondary window which has been painted with glass and represents the glazing model?

It’s strange that @Odd_Haakon_Byberg found issues when exporting IfcRoofs inside of IfcRoofs, while we could have IfcWindows inside of IfcWindows.

Here all sub-elements are on the same level, below the IfcElementAssembly:

  • IfcElementAssembly
    • IfcDoor
    • IfcWindow (left one with frame)
    • IfcPlate
    • IfcWindow (Top in door)
    • IfcWindow (bottom in door)
    • IfcPlate
    • IfcMember.Mulion
    • etc

A ‘bear’ glass panel can be classified as IfcWindow, in this ILS specification, it is agreed upon that it’s IfcMaterial contains the word ‘glas’
It can be used for daylighting design, for instance, because the software can detect via the name in that property.

The GlazingAreaFraction can be used when the individual glass panels aren’t nested as individual IfcWindow (eg. real glass panels). Consider a multiplex door with glass and you don’t want to specify the individual glass panel, you than use the GlazingAreaFraction property.

It is part of the common propertyset of both IfcWindow as IfcDoor, that’s why the IfcManager from @brewsky is so usefull, it assigns the right common property set to the ifc elements

Most important part is what you agreed upon in the BIM-project

1 Like

I try to simplify as much as possible. When a wall has several pieces inside I classify it as IfcWall and inside I try to make them all groups and not components.

Regarding the structure, the level of hierarchy that I try to follow is:
-Project
-Site
-Storey
-Spaces, Wall, Window, Door, etc

Sometimes I create IfcSystem to group pipes and something like that.

2 Likes

I’m just like you. I’m not trying to make things more complicated.

1 Like

It helps me to make Quantity Takeoff.
What I do is add information to each Ifc element to comply with the Building Smart Standard. I use IfcManager mainly to classify and export.

1 Like

OK, so, simply classify an object as IfcWindow, and treat it’s child groups as geometry from the window.

They will be useful for Sketchup but not that useful for Ifc. Got it.

Where can we access that standard?

The standard is from Building Smart. For example, at the moment if you classify a wall with the native SketchUp classification you obtain this


But if you use Ifc Manager you obtain this:

Those attributes are required as shown here:

Depending of the EIR (Exchange Information Requirements) you should have some attributes filled with the proper information.

The ideal will be that your IFC model can pass the Building Smart validation service

It is necessary to take into account that many of the recognized BIM modelers do not always pass this test. I know that Trimble has a team working so that the IFCs that are generated with SketchUp have the highest possible quality.

2 Likes

That’s amazing info.

Apart from this, there is also standard practices on modeling that we have to be concerned about?

For example, should all walls be separated by segment and we shouldn’t have complex walls like L or S shaped?

And how are materials being applied for quantity take offs? Shall I apply them to faces or to wall components?

I made some exceptions in IFC Manager for IfcRoof, IfcElementAssemly and IfcCurtainwall because those are the classes that ‘normally’ behave as aggregations. When you nest other IfcProducts (like a window in a column) I try to ‘fix’ the model hierarchy(placing the window on the same level as the column).

Maybe it’s interesting to read the docs for IfcBuildingElementPart, I think that could be what you are looking for. The only problem is that I didn’t add an implementation for that so I have no idea how the IFC export behaves :sweat_smile:

https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcBuildingElementPart.htm

1 Like

BTW that ‘development’ version of the IFC documentation website from buildingSMART is a very good resource, it shows all changes between IFC versions since IFC2x3, but the best part, it has a search bar!
https://ifc43-docs.standards.buildingsmart.org/

2 Likes

Yes, walls should be separated.
L or S shaped are not the best options.

I apply materials to components. I extract quantity takeoff with BIM5D software. Previously I use my plugin to attach the quantity takeoff Pset. Ifc manager export that information to the ifc file.

1 Like

I have tried learning about IFC in the past, but the first descriptions of it are so broad and general as to explain nothing. Looking at specific example like this, I still can’t get a better understanding. Is there a good beginner learning resource?

3 Likes

it would be really useful if sketchup could provide some guidelines on how to make good ifc´s.

  • Tagging vs classifications
  • group/ component structure
  • using Colors in sketchup vs colors in the ifc file.