buildingSMART Forums

Definition of the level for the IfcBuildingStorey (opinion poll)



as an architect exchanging models in IFC with other consultants, I came across a topic that got me wondered… this is my first post here, so here I go :smirk:


I am talking about the IFC4 IfcBuildingStory. In the documentation it is defined that this parameter is related to the upper edge of the constructive slab, therefore resulting in a negative value when we are speaking about the ground floor. Until now I was working with IFC2x3 and in my authoring tool I was defining this parameter to the upper edge of the finishing floor, which at the same time was ±0,00m. On the other hand, the agreed story names and their numerical heights are documented in the BEP. All changes happening to the composition of the slab did not have any influence on the IfcBuildingStory, because the story values stayed the same (story nett height changed). Only if the planning team decided to lower the storey height, only then action was needed resulting in changes in the numerical story value. According to the IFC4 when for example, some layers of the finishing floor change thickness, this automatically impacts the numerical value of IfcBuildingStory, because it will shift upwards or downwards the constructive slab (preconditioned my finishing upper edge must remain the same).

Therefore, I am questioning the validity and usability of the IfcBuildingStory being referenced to the constructive element of the slab and not the finishing layer, in this case the ±0,00m.

Can someone explain this to me please…:thinking:



Hi Agron,

Just to transfer part of the discussion we already had about this toppic…

The truth is, as an Architect (and modeller) I would prefer to use the finishing level as IfcBuildingStorey. But from a perspective of BIM Coordinator, whether in Design or Construction stage, It makes more sense to use the structural level as IfcBuildingStorey, establishing a negative value in the AC Storey zero level.

In the past, I used both methods and I assume that the second one brings fewer issues with the other disciplines and enables to manage with the construction site reliably.

We know that for architectural design process and deliveries isn’t the best approach.

What’s your opinion, after this?


I think that as architects we should include while designing enough room for manoeuvre. In the same way that we are placing columns or walls with estimated dimensions or location, we should do with slab composites, increasing their thickness from the top reference plane downward, overlaping the air cavity below.

The only stories which we should establish our anchors in finishing top surface are the Ground floor or stories with an external level connection.


Blockquote But from a perspective of BIM Coordinator, whether in Design or Construction stage, It makes more sense to use the structural level as IfcBuildingStorey, establishing a negative value in the AC Storey zero level.

What is the advantage of the BIM Coordinator in this case?

After I sat down and modelled the elements, I believe I gave an answer to myself :thinking:

It depends on what is actually the change in the project. Therefore I have done an illustration:

Case 1,2,3 are where the net height (255cm in blue) should always remain the same.
All the changes happening to the structure (2 - thickening of the structural slab or 3 - reduction of finishin layers) will have impact on the IfcBuildingStorey, resulting always in new values. In this case it does not matter if the IfcBuildingStorey sits on SSL or FFL…it will alway be a new value.

Case 4,5,6 are where the FFL should remain the same no matter the structural changes. In case 6 where the finishin layers are reduced, the SSL shifts upwards, again resulting in a new IfcBuilding. But maybe this is the case that I war refering to in the begining. If the IfcBuildingStorey would be conected to the FFL, than the shift in value would not take place.

On the other hand we as architects when we calculate stairs, we must reference to FFL heights which in IFC are not comprehensible, unless we measure it. Taking into consideration that the SSL to SSL height is not always the same as FFl to FFL, it will be a bit painstaiking.


Interesting discussion. And one that has not been fully resolved in our regional working groups. As we are designing and constructing for end users, the FFL seems to be the most logical point-of-reference. This is what matters in the end (everything else becomes mostly invisible).

However (and as always Revit seems to be the culprit) IFC exports based on BuildingStorey have the nasty habit that they will move elements linked to Revit Levels underneath to the lower building storey upon export. And then filtering by building storey does not give usable results.

You could enforce every element to be linked to the right building storey and work with offsets (as you would do in e.g. ARCHICAD or even SketchUp for that matter), but then you have no use for levels anymore.

In ARCHICAD it is often easier to set floor reference plane to CORE TOP and align wall bases to that same level. You can put wall bases at negative offsets, but then they tend to interfere with elements on lower storeys. Nothing is perfect…

All in all, the concept of a fixed building storey height and fixed construction floor thicknesses and floor finishing thicknesses is also not really sound as they may not be fixed throughout the project.

I’d stick with building storey height = FFL.

1 Like

In Austria there is already a BIM norm that defines the floor height should be in SSL, no matter which phase. Nonetheless there is an older norm for drawing conventions which says the opposite, hence FFL.

But maybe the definition of the storey level should not be so strict, since during the whole life cycle of the building we are dealing with different approaches. The design team for sure would favor the FFL since in the beginning of design phase, we cannot exactly define the thickens of each layer in the finishing floor (above SSL), and there are other elements which favor the FFL approach, such as the stairs. Afterwards comes the construction, which here makes more sense to work with SSL. FFL in the construction site is theory since it will be visible just at the end of the construction phase. In the end, the Facility Management will take the data for further use. Personally I believe that also in this phase the FFL makes more sense, since it represents the as built case. Therefore I strongly believe there should be a way to “easily” shift the IfcBuildingStorey from FFL (design) to SSL (construction) and then back again at FFL (operation).

Since there is a possibility to create relations, maybe create an IFC for the SSL relation. This for example would help the structural engineers to create the load bearing slabs in the correct storey height.

Just a thought…

1 Like

It seems in Germany (at least the architect) are standing 50/50 to this - half go for FFL, half for SSL.
Although our DIN 276 goes parallel to the IfcBuildingStorey you have shown first - from the top of the slab to top the slab.


This discussion is great! I am working with users that are now trying to comply with COBie and the relationship of the room related to the level the room is on and in this case they are using both Revit and ArchiCAD, so using IFC is how they will come to an equal understanding across various models. For reference the IFC MVD for IfcBuildingStorey for others to follow along.
Not to hijack this discussion, but as a deliverable to an owner, which is where I think @agron was going, in COBie there is a Floor and Space Section. For how this works in Revit, here is a video and the issue we are seeing relates to Floor Name - which wants to be the same as IfcBuildingStorey and the Usable Height - which is not fully clear where in the IFC - but does related to the FFL idea. If we think of the owner and linking this IfcBuildingStorey location with CObie, would the finish floor not make the most sense? I see the challenges of a definition defined early for construction coordination and what might be needed for an owner for down stream use. I would be interested to know what an owner thinks about this and if they see more value in FFL.

1 Like

Thanx for the input everyone. I can see that there are different opinions about this matter :smirk:

Coming back to the topic I have made another drawing. Since our projects are not so simple as the diagram represented in the IFC4 Documentation, in our daily tasks as architects or designers we are confronted with more complex building geometries.

As an example, I have drawn a storey which has the same FFL distance but not in SSL. The lower slab shifts downwards resulting in two different SSL levels. Which is the correct storey height based on IFC diagram? I believe, here starts the confusion for the designing team: SSL height is not the same as FFL; does the lower SSL count as IfcBuildingStorey since it covers most of the building floor?; the possibility is higher of the lower slab changing its horizontal position than that of the FFL, resulting in new “Storey heights”. It gets even stranger when the buildings height ±0,00 on the ground floor must be referenced to the geographical elevation. In this case the FFL counts which is not equal to storey height!

Also, won’t you agree with me, that during the design of a building, it is most relevant for the investor to talk about the finishing levels (FFL)? Why on earth would the investor be more interested in net height of the construction and not in the actual net height of the finishing elements? I agree that for model-based cost estimation the SSL makes more sense, since all walls begin at SSL :nerd_face:

I am not talking here about how one can do it in the software. I want to stay software neutral with my statement, and the case of how it is done in the software will be another subject to discuss. My purpose of initiating this topic is to question the validity and the proper usage of this definition by different decision makers, since after all we are talking about the life cycle of a building.


@agron Look IfcBuilding and the 0,00 value for IfcBuilding.ElevationOfRefHeight and negative value for IfcBuildingStorey


I am happy to see this discussion. I hope others chime in and add to it. I think one approach would be to create a list of the different uses cases of “building storey” and see what is important or unique about the desired representation. For example:

  • Architectural design - ??
  • Structural design - ??
  • Mechanical design -??
  • Building Energy Simulation and Analysis - ??
  • Facilities Management - ??
  • Construction phasing - ??

Analyze/compare the differences. Then weigh the possibilities of merging or comprising based on weight of priority. Maybe there can be 3 or 4 different definitions, but they need to be explicitly designed for each use case and then documented so they can be consistently implemented and coordinated.

With end users creating “standards” or “best practices” it makes it easier for the software vendors to implement consistent solutions, once and for all. In the meantime, most are just making it up as they go along… not out of spite, but out of lack of end user consensus.


Hi @jwouellette, thanx for your response. I appreciate your involvement and to motivate others to participate in this issue.

I am happy that there is reaction to this subject that has been going around in my head for a while. And I also agree with you concerning the use cases. This would be the best way to gather the necessary information, in order to arrive to a conclusion which “levels” are used at which stage of the building life cycle.

I was thinking to do a poll in this post with the cases you mentioned so everyone coming from the appropriate profession will choose an option. This way would cover the global aspect, because I can only speak for a certain part of Europe of how it is being done, but I don’t know what the other side of the globe does. The results would be then taken into analysis to set the definitions, as you are mentioning.

Since there is no possibility for a poll, any other options/ideas?

1 Like

Hi @agron ,

Actually, we do have the ability to build polls in this Discourse forum. Email me offline with your ideas on how to set it up and let’s put something together!

1 Like

Another relevant question in these BIM model days;
Do we really need reflected veiw and different storey definition for each dicipline?


Hi @jwouellette
sorry that I did not reply until now…
as soon as my health gets better, I will write you a message.


Get well soon!


I think SSL should be the reference level for a storey for several reasons:

  • The position of SSL in 3D space is fixed very early in the project phase.

  • other, in particular load-bearing components, build (in the truest sense of the word) on it

  • In most cases the raw ceiling is horizontal over a large area.

  • During the construction phase, the raw ceiling is physically present very early. (It could also only be changed at great expense.)

In case there are different SSLs in one floor, in my opinion that part with the prospect of stability (in the sense of altitude) and with the largest area as reference plane is to be taken. But this is only my rough rule and should be determined by the team at the beginning of the project.

It’s true, the user of the building probably never sees the SSL, but he will rarely address an storey with the numerical value, but rather with the floor or room name.


Thank you @kurt.battisti for mentioning the cases.

Personally, I see some discrepancies that I would like to comment:

  • I don’t believe the position of the SSL of a load bearing slab is defined (in the design phase) before knowing where the FFL is. In many cases the designers work with a structural slab and finishing one as a whole, since it is not very clear in the beginning what are the exact thicknesses of the finishing layers (fire safety, acoustics, loads, etc.) and also the structural engineer comes first with a suggestion before doing a more precise calculation. In addition, there are also parameters that define the total thickness of the structural slab, meaning how is going to be built: reinforced concrete, steel construction, Cobiax, precast.
  • True, most of the vertical elements sit on the structural slab.
  • When a slab is being built in reinforced concrete, in many cases we are dealing with the lowering of the slab while drying. That is why the designer must plan the so called “the sliding connection” for walls, in order to avoid compression forces on those walls that would create unwanted cracks. Meaning the lower part of the raw ceiling is horizontal only in the virtual model, but not in reality. That is why all these discrepancies are leveled with the finishing layers that come above the structural slab an to achieve an almost ideal horizontal level of the finishing material. Tolerances in structural construction (Concrete) are in CM, whereas for the finishing layers are in MM.
  • True, the raw construction is one of the first to be seen on the construction site. But as I mentioned previously, the tolerances are 2-5cm. Talk about precision :wink:

As already mentioned by others, this is not necessarily true in the full project lifecycle. During a programming and early design stage, little is known about the thickness of the finishing layers, so only an estimate of this level is possible. The only thing that is known in advance and what matters at the end of the project is the finished floor level. So I tend to aim for that. Being trained as an architect does influence this vision, obviously.

So would it make sense to define both of them and clearly indicate which is used for what? Right now it leads to discussions when defining your stories or levels in BIM software and has an impact on the way models will be shared in IFC.


FFL is also making sense when taking into account the making of a (H)BIM of an existing building, in case you have no buildinginformation at all (no actual or accurate drawings). In that case you can only depend on what you can see (or what you can measure by for instance a 3Dscan).

Implementationwise a wellknown and broadly used BIM Authoring Tool has recently implemented a nice new feature in their IFC exporter functionality, making it possible to override the Level for export as IfcBuildingStorey, making use of a new parameter: so, the structural slab can in the BAT be referenced to a structural level (without the need of an offset), while mapping it to the preferred finished floor level.