buildingSMART Forums

What Ifc Product does a ladder belong to?


After a brief look, I would assume that ladders should be set to be IfcStair. Can anyone confirm this or is there another type of IfcProduct that it should be instead? I see no explicit mention on the stair documentation page that it is the correct type. I also do not see any clarification on the IfcStairTypeEnum that allows me to describe it as a ladder.


a ladder that is not a permanent built-in component, like a stair, shouldbe considered as a discrete accessory.

1 Like

Thanks. Most ladders are metal and bolted in in a way that is “permanent”, but theoretically I guess it can be unbolted (but then again, so can any steel bolted connection). So therefore my conclusion is that it is an IfcStair, unless it is meant to be a moveable non-built-in component, in which case I will make it an IfcDiscreteAccessory.

1 Like

I have defined it in one project as a IfcStair. In the end it is an element used for a vertical connection between two stories.

1 Like

There is a differecne between an IfcStair and an IfcStairFlight.
A ladder is an ifcStairFlight. “[Assembly of building components in] a single “run” of stair steps (not interrupted by a landing). …”


IMO, you should only use IfcStairFlight if you model the whole stair container and then assign IfcStairFlight to each one of the single “runs” of stair steps not interrupted by a landing, as you said.
If your goal is to model a ladder, then IfcStair seems more convenient, as the whole object (container).

1 Like

Looking at the Type Use Definition, there is no direct reference to a ladder, but the ones mentioned seem like smaller elements in comparison (sub-elements in a larger element if you will). Perhaps the use of IfcDiscreteAccessory can be further explained in the ongoing IFC4.2 work?

I don’t think this is correct. The entity should always be IfcStair, and IfcStairFlight is specifically the rising part of the IfcStair. I think this is backed up by the properties, such as RequiredHeadroom in Pset_StairCommon and (actual) Headroom in Pset_StairFlightCommon. But please correct me if I am wrong.