Building a custom designed stair with Blender

A cute little side project - doing a stair with Blender. This was a great little test to not only design the stair with Blender, but also to do construction documentation with the BlenderBIM Add-on.

The Blender Point Cloud Visualiser add-on was used to bring in a point cloud scan of the stair void to make sure that the stair could fit.

The stair tread was modeled in both Blender and FreeCAD. FreeCAD allows it to be exported into STEP geometry to be sent to the fabricator.

Here's the first test fabrication of the stair tread!

... and another photo ...

Might need a few more modifications to get it a bit more stable, but it's getting there!



  • @Moult Dion what does it mean? "FreeCAD allows it to be exported into STEP geometry to be sent to the fabricator."

    BlenderBIM doesn't do this? 🤔🤨

  • BlenderBIM export as IFC format.

  • @bitacovir So, IFC is based on STEP! Doesn't it?

  • @bitacovir Then BlenderBIM needs an .IFC to .STEP(STEP AP 242 (ISO 10303-242) and even .IFC to .JT converter

  • Although IFC uses the STEP grammar, it introduces many keywords that are specific to the IFC schema, as well as many ways to represent geometry. You cannot simply rename an .ifc file into a .stp file and expect it to work.

    More importantly, Blender is a polygonal modeler. For some geometries, polygonal models do not represent the curves or cutouts that are useful for fabricators. It is similar to the ability to include a raster image in a SVG, compared to a true vector SVG file. FreeCAD is a dedicated tool towards this type of geometry. It isn't as simple as saying "let's create a converter" - they are fundamentally different paradigms, each with their pros and cons. This is regardless of the STEP format, this is more to do with the underlying geometry description.

  • @Moult This is why I started a geometry modeling topic

    It'd hard for many (especially me😃) to accept to use two different software and at least one add-on (BlenderBIM) to do a whole job

    Also, what's the common STEP used? AP 203? AP 214?

    FreeCAD is based on ISO 10303-21? or AP 203? or AP 214?

    Can we add more modeling possibilities into Blender/BlenderBIM?

  • It'd hard for many (especially me😃) to accept to use two different software and at least one add-on (BlenderBIM) to do a whole job

    @ReD_CoDE We must consider that Blender was not suppose to be used on construction industry. BlenderBIM or IfcOpenShell are bridges that connect different worlds whit the intention get more value from all this wonderful tools.

  • @bitacovir I totally agree and this is why I support BlenderBIM movement

    However, I think BlenderBIM has the potential to become move valuable than the path today follows

    As you said Dion opened a door for bridging two worlds, and I think this bridge "can revolutionize the BIM industry" but through MaterialPass, ProductPass and FacilityPass projects

    Mounting data/information on materials and objects and assemble them like LEGOs

    Hope @Dion and all friends help me in this way:

  • @Moult Did a POC before for material (

    However, IfcOpenSheel didn't support all Material classes, and he and Thomas have worked more on materials, but still it's not complete YET

  • Sverchok attempt

  • In that example I prepare lines and as in ArchiCAD converted them to stairs. Next could be adding details

  • edited August 2021

    Really cool stuff.

  • edited January 11

    Staying in theme with stairs if that's okay in this thread.

    I tried to model a stair using Array with an object modifier, my aim is to create this:

    I feel like this could be extremely easy in Blender but I get stuck, I can't get the rotation right of the tread/step.

    This was my attempt:

    I don't have full control over the riser height, and I want to model walls around it, so I can cut the treads with a Boolean.

    I tried cutting the steps with a Boolean, I don't think these are too complex shapes, but the Boolean clipping yields very unpredictable results
    Am I doing something wrong?

  • From the last image, I assume that the problem is that the boolean is set to "intersect" and I think you would like the "difference". Also, when I get weird behavior from the Boolean Modifier, I like to check if everything is ok with the geometries by using "merge by distance".

    I don't have full control over the riser height

    You can change the array to "constant offset" instead of relative

  • Also try the "Exact" method in the boolean modifier, sometimes it behaves better, sometimes it does not :p

  • @bruno_perdigao
    It works after fiddling around with with it.

    Needs some tweaking:

    Also took a look at the Archipack PRO add-on how stairs are created there

    But my aim is to create different type of stairs. Like this,
    If you scroll down on this page, you see all preset IFC stairs free download:

    I used the array and boolean modifier to create a stair, in the array modifier I have full control over the riser height.
    Would be a dream scenario to be able to use these modifiers directly on IFC instead on clicking apply. Don't know if it's even possible. Or at least take the relevant information from the array modifier and export them to a IfcPropertySet.

  • After some tweaking it starts to make sense, need to find out how to add the 'sides'.
    I'm tempted to start writing an IFC stair maker add-on now, haha.

Sign In or Register to comment.