Getting started with BlenderBIM

There seems to be an enormous gulf in how to get started.
The "tutorial" is how to assign a default cube, but there is nothing beyond that except "here is literally everything else and no guidance on how to do anything or move forward.

Can anyone point me to a more useful tutorial, for example, how to model and assign a simple one room house, and then do some basic analysis?

I'm quite experienced with Blender, QGIS, spatial analysis tools, python, github, etc, but the lack of useful guidance makes it hard to get started.



  • Hey @MexiKiwiMike
    I agree completely. there have been a few videos which help explain how to get started with the UI, I added them to this post here:
    (Scroll to the top)
    Otherwise @theoryshaw is probably the most experienced using BlenderBim with actual projects, if you follow him you can keep up with the latest iterations.
    The addon gets updated so much things become redundant very quickly, so it's difficult to document but it's pretty amazing how far it's come!

  • edited July 2021

    @MexiKiwiMike hey there! You're 100% correct. There are no structured documentation or tutorials - just bits and pieces on the wiki done by the community and on YouTube. The reason this is the case is because the BlenderBIM Add-on is alpha software. In other words, it's still heavily under construction and does not yet have all the necessary features to do a full job. Many features are incomplete and unstable. Do not expect a drop-in replacement for proprietary products which have been around for decades with full time paid teams of developers. With such a moving target, documentation isn't the highest priority right now. This might help:

    That said, we're on the lookout for contributors to help write this documentation to help the next user who comes around with a request just like yours. Will you be that contributor? Are you up for it? If so, a million thanks, and we can help you get started! A good start is to randomly press buttons and see what happens. Writing docs takes time, and it's a great way to contribute without coding. @theoryshaw 's and @condur 's videos have really helped visually communicate progress.

    The features to model a single room house aren't there yet. Well, sort of. In theory, all the features are there, but a tool where you can with one click place a door in a wall doesn't even exist. You can do it with perhaps 50 clicks. Don't worry, we'll get there. With your help, we'll get there faster.

    I'd like to rewind to two years ago. OSArch didn't exist. FreeCAD and some trickily compiled software was the only way to view IFCs with free software and on Linux. IFC4 support had to be specially compiled and was otherwise not available. The BlenderBIM Add-on didn't exist. Native IFC didn't exist. A free model checker, clash detection software, COBie tool, patching tool, spreadsheet editing all did not exist. There was no API. IfcOpenShell has doubled in contributors (from 50 to 100+) in that time. We've held dozens of meetups and hundreds of wiki pages have been authored. We might just seem as though we're learning to crawl in comparison to the well established proprietary ecosystem, and that's true - but I am blown away by how far we've actually progressed in 2 years, and I think all of us at OSArch has seen this grow and accelerate over time.

    It might seem bizarre that in 2 years, so much have been accomplished, yet we still can't draw 4 walls, a slab, a roof, and a door in a few clicks. It's crazy that the BlenderBIM Add-on doesn't have a "door tool". However, there is method behind the madness. There was a time when the BlenderBIM Add-on did in fact have a door and wall tool. There was a time where it integrated with Archipack and so you could just use Archipack. Instead, the BlenderBIM Add-on took a leap of faith and ventured into uncharted territory: Native IFC. The entire system was rebuilt from the ground up about 7 months ago. This created a series of technical reasons why something as simple as "the wall tool" took a while to re-emerge - but rest assured it is starting to come back, and there was good reason for rebuilding it. In short, right now, the BlenderBIM Add-on's capability to author from scratch is just incomplete.

    It's a bit of a long story and I hope you'll investigate further and I haven't scared you away. If you're looking for some quick hands-on experience on getting started, a lot of us are available on the OSArch Live Chatroom (I'm online during Sydney timezone hours). Happy to screenshare and discuss live.

    If you want to try out a more established tool that didn't decide to rebuild itself from scratch and take a huge risk, you might want to look at FreeCAD and chat with @yorik. It has a wall tool, door tool, drawing support, lots of tutorials and documentation, and a thriving community behind it! It is used to produce commercial output right now.

  • edited July 2021

    @Moult thanks for the detailed response.

    Fair enough, I remember when QGIS required significant existing coding and GIS skills, now it is very polished.
    I can definitely help with documentation and guides, (I am a former military hydrographer instructor) but need to get to the point where I am competent enough to write/record them with the tools available.
    Sydney timezone is fine, since that is the Mexican evening.

    I use Archipack Pro already, and take my models into Unreal for real-time photo-realistic exploration of house designs, but am keen to add energy modelling to my skillset, since that gets zero consideration locally, and people are left with houses that are too hot in summer, and too cold in winter, despite the climate being perfect for passive thermal, largely due to the "standard" construction practices.

    BlenderBIM would be my focus since I use Blender already for most of my work, is the Archipack integration still there?

  • @MexiKiwiMike Latest archipack release rely on blenderbim for export, but it is a for dumb single click exporter ony, as keeping editing of archipack object in synch with blenderbim's file still was not possible at release time.
    So basically model in archipack, then use archipack's ifc exporter, no need to classify / structure into collections, the addon take care for you. The drawnback is that every pre-existing classification will be overriden by the exporter.

  • @MexiKiwiMike cheers! Why don't you catch us online on the live chat sometime, and when you feel comfortable enough to start writing down the more mature aspects, we can discuss on the best way to format and structure such a document.

    For energy modeling, unfortunately, the BlenderBIM Add-on is not yet ready for that, though there have been requests to add support for some of these energy modeling concepts. Also, Ladybug is only available for solar analysis, not energy right now. Hopefully @kaiaurelienzh can make some progress on that.

  • @MexiKiwiMike also check out this live demo by @Moult posted by @theoryshaw: 20210522 - Dion Moult's Quick Demo of BlenderBIM Wall Join and Drawing.

  • edited August 2021

    Hi all,
    this is a "very simple workflow to deal with BlenderBim" thah I used to get an IFC project. I attach some images triying to show where find the tools used and the text is mainly "google translated" so maybe there is some mistakes and is not enoug clair, but think can help to deal with BlenderBim in a "simple way".
    1.- Context.
    In the government agencies with which I sometimes work, the use of formats associated with the BIM environment and the delivery of projects must necessarily be formalized, in addition to the usual formats (dwg, word files, etc.), in * format. .ifc with different requirements. These, fundamentally, consist of adding to the objects or sets of determined properties and associating them with the corresponding value.
    The type of projects I work with is not only the "traditionally associated with BIM", this is architecture projects located in a "reduced" area (such as a roundabout project) but linear works projects associated with highways with certain length (6000 meters or in some case 14000 m).
    Traditional software tools (at least the ones I have) did not offer an adequate solution for these requirements (something that fortunately is changing but also at a high price) so I decided to try the free alternatives that at that time (approximately one year ago) I was able to find, mainly freecad and blender (with blenderBIM and blenderGis addons).
    2.- Work flow.
    These free software programs did not always have the tools I needed to create the project (for example, the layout of a road) so I decided to previously create the model in cad format with the tool I usually used and then incorporate it into blender through import ( with a previous conversion from * .dwg to * .cae or wavefront). In this way I manage to introduce the objects in blender to create the IFC project.
    The direct import of the objects initially did not work because importing objects in their real coordinates caused problems in Blender (Y coordinates of the order of 4,550,000) so I decided to georeference the scene and set a new point of origin close to the objects so that the value of its coordinates was not very high. Thus, by moving the objects in cad near the origin, I manage to avoid the problems in Blender and the import occurs without problems, obtaining a model displaced in coordinates with respect to the original.
    You have to pay attention to the units in the scene after each import because depending on what software the * .dae or wavefront format is generated with, they are modified in Blender and must be restored. Also note that in the import I use the option "import units" activated
    Objects in another format can also be imported and placed in their correct position with the "translate", "rotate" and scale "tools in blender.
    3.- Creation of the IFC model
    The truth is that I hardly know the use of Blender and I only use some basic commands to obtain the model according to the requirements I need. I also have no knowledge of IFC beyond the "curious user" level.
    I do the importing of objects before creating the ifc structure of the project (although it can be done later) and in Blender I do some basic edits to simplify what is obtained. For example, the plotting program that I use creates a mesh for each carriageway on the road, with coincident but separate nodes that I merge (in "edit mode") I also join some separate objects on import that are part of the same layer (for example imported agglomerate layer is formed by the separate meshes corresponding to the top, bottom surface, left and right one to have a single layer such object models).
    3.1.- Creation of the ifc project
    To create the * ifc project, go to the blender "scene properties" icon, fill in some values in the ifcProject panel that appears and press the "create project" button. This makes the basic structure of the ifc project appear in the "outliner" panel (ifcProject element, ifcSite, ifcBuilding, etc.) that will be containers for the objects.
    Depending on the version of blenderbim addon used, the information for creating the project may appear in different panels. In version 201207 you must search for "Building Information Modeling" and in 210729 you must search for "IFC Project" and some additional information is shown in other panels (for example the choice of version IFC2x3 or IFC4, etc.) so if you do not you know exactly where it is, you have to browse the different sites until you find it. In the latest versions, this information appears directly in the ifcProject panel.

    3.2.- Assignment of ifc classes to objects
    With the project structure created, each object that wants to be added to the project must be assigned its associated ifc class. Depending on the version of blenderbim addon that you use, this is done from one or another blender tab. I have used the versions 201207 with blender 2.83 and 210729 with blender 2.93 and they are the ones I explain.

    • for 201207 you must go to the "scene properties" panel, select the outliner objects and assign the corresponding class

    • for 210729 you must go to the "object properties" panel, select the outliner objects and assign the corresponding class.

      After that, select object in the outliner, drag and drop-them inside the IfcBuildingStorey object. This add selected objects to the ifc project.
      3.3.- Creation of a set of user properties ("user pset").
      Each object included in the project can be assigned one (or more) sets of user properties "user pset". To do this, you must previously define these sets of properties in a * .ifc file that is stored in "C: \ Users \ User \ AppData \ Roaming \ Blender Foundation \ Blender \ 2.83 \ scripts \ addons \ blenderbim \ bim \ data \ pset" (or add them to an existing one) using the tools that appear in "IFC Property Sets" for version 201207 or "IFC Property Set Templates" for version 210729 of the "scene properties" panel

      3.4.- Assignment of a set of properties and properties to objects
      After property sets are defined, they must be assigned to objects. This is done from the "object properties" panel using "IFC Object Property Sets".
      The objects are selected, the desired property set is chosen from the drop-down control, and they are added. In version 201207 this assigns the property set to all selected objects but in 210729 only to the first selected object.
      By clicking on the set of properties assigned, it is displayed and shows the included properties that can be edited. In version 201207, the entered (or modified) value can be transmitted to the rest of the selected objects by means of the "paste" icon that is shown in the edit field. In version 210729 the edition only affects the selected object value and the data entered cannot be transmitted easily; You must assign the set of properties individually to each object, activate said set as editable in each object and then copy the value by pressing the right button of the mouse in the editable field and use "copy to selection".
      This system is not viable if the number of objects is high and the implementation of the previous version is preferable.

  • 4.- Export of the model in ifc format
    With the simple steps above you are ready to export your model to the ifc format. Simply select the objects to be exported in the blender outliner (including the IfcProject, IfcSite, IfcBuilding objects, etc.) and export them through the blender "File / Export" menu choosing the ifc format.
    If you have grouped objects in collections, you must display these so that the objects are selected and can be exported.

    5.- Georeferencing of the model.
    With the indicated workflow, a model has been created whose origin, and plant, are the coordinates X, Y = 0.0 in blender, and the export is also referred to those coordinates, although within blender you have used the option of georeference the scene (remember that we had moved the objects near the 0,0 coordinates to avoid the problems that large numbers create).
    BlenderBim offers the possibility of creating georeference data (with scene properties in the IFC Georeferencing tab) but in the tests that I have carried out, these data are not recognized by the viewers that I have tested, so I have needed an alternative.
    In my case they ask me that when the ifc file is opened, the viewer shows the real coordinates of the objects when they are queried, in the same way that a cad file would show the real coordinates of the drawn objects. The meaning of this is to "federate projects" in the same way that external references can be linked in a cad program to superimpose different projects in their real coordinates.
    The export from blender creates the model with origin in 0,0 and to solve this question what I do is edit the ifc file and modify the IFCCARTESIANPOINT value associated to the IFCBUILDING object of the ifc file including the reference coordinates used in blender, thereby that the viewer already shows the correct coordinates and the objects are positioned appropriately with respect to other ifc projects (the same can be done with the IFCSITE object).
    I do not know if it is the right solution because I have no greater knowledge of ifc but in the tests carried out it has worked correctly.
    6.- Conclusion
    With the simple steps outlined above, I have managed to create a project in ifc format with BlenderBim from the data and designs that I usually use in a "3d cad workflow" without requiring expensive programs or substantially modifying my way of working. For the conversion of formats I have used a "cad clone" like Progecad, for the creation of structure objects I have used Freecad and the rest are programs used in road design that I used until now (in my case, Bentley PowerCivil quite old, but any program capable of exporting the 3d model should be applicable)
    As advantages, highlight the low cost of the considered systematics and the flexibility that blender and blenderbim offer, allowing ifc objects to be defined to almost anything (solids or surfaces). Other programs that I have tried only allow the generation of ifc objects from solids, which makes their use quite difficult.
    As drawbacks indicate the lack of documentation (program still in beta with several changes in its design) that requires a lot of testing time but this is the case. Welcome to free software: what is lacking in money is left over from desire and imagination :-)

    More samples from blenderbim and freecad here:

  • @avico this raises a good point for the use of False Northings and False Eastings when working with, and preserving local datums, UTM zones, etc. in Blender.
    While existing tools reproject at import/export, working in real-world coordinates could be useful without needing to export stuff to QGIS, etc.
    But I also see it is an issue some familiar faces have been grappling with for years already, due to the use of float32 which limits us to about 7 sig figs.

    It seems to me you could apply the grid to Blender coordinate reprojection back to the reported coordinates (e.g. expand infobox to report geo-grid as well as Blender grid, for vertex coordinates), not sure of the performance hit on something like that.
    Although of course you might also run into potential grid vs true north issues for things like sun studies, at extreme latitudes near edges of UTM blocks, but that seems like an edge case, that people in those locations would be aware of?

  • Hi MexiKiwiMike,
    I usually use UTM grid and a point of reference because it is easy to work with. You only need to save information for a point. I use georeference in Blender for BlenderGIS and to check real coordinates activating "Geocoordinates" in view panel ("n" key, view tab) with good behavior. Now, I test Blender mainly to "compose" the project scene (creating, importing from different source and small objects modifications ) and apply blender bim addon to get the ifc file of the projects. The issue with coordinates arises when I try to view the ifc generated with some "popular viewers" and when try to "federate" other projects from other source. "Extreme latitudes" and other studies like sun studies are not my case at the moment :-)

  • @avico Thank you for your detailed workflow, I'd like to know more of it, for example adding terrain to the IFC model

  • @avico, I hadn't seen that button before. Thanks!
    Adherence to our local grid is truly awful for local survey data. I thought for a while there was some odd local datum in use, but it is just bad work, and lack of a decent documented network of local reference points. So I just use WebGeo from Google Imagery and work straight from known points most of the time.

    I'm pretty busy this week but plan to work out a simple workflow that meets my needs, then I'll document it and record it.
    My plan at the moment, based on the outputs I currently want to offer my clients:

    • Import architect drawings
    • Generate a low poly model for VI Suite ventilation and energy analysis in Blender 2.83
    • Append drawings and low poly and generate a high poly model with Archipack in Blender 2.93
    • Sun studies
    • Export to Unreal Engine 5 for real-time 3D rendering for exploration of the space

    But the builder I work with is very interested in the application of BIM around costing, scheduling and modelling the infrastructure in a coherent manner. There is nothing like it in the local market, due to the cost of traditional software.

  • I've written a few notes about geolocation which might help here: - geolocation is typically poorly implemented in traditional BIM programs, and the BlenderBIM Add-on should be able to distinguish whether it is being done correctly, but it requires a bit of prerequisite knowledge on CRSes and their helmert transformation for small sites, grid north, project north, and true north.

  • edited August 2021

    Hi Aldo,
    terrain is added using BlenderGis, importing Esri Acii grid and georeferenced raster. BlenderGis documentation can help to do it.

  • edited August 2021

    @avico said:
    4.- Export of the model in ifc format
    With the simple steps above you are ready to export your model to the ifc format. Simply select the objects to be exported in the blender outliner (including the IfcProject, IfcSite, IfcBuilding ..

    This is great, can you please add what you wrote here to the wiki? (If you haven't already)
    By the way I think some of your steps are not entirely correct (e.g. you don't have to select objects to export them as far as I know) but we can work on that.

  • @tlang said:
    @MexiKiwiMike also check out this live demo by @Moult posted by @theoryshaw: 20210522 - Dion Moult's Quick Demo of BlenderBIM Wall Join and Drawing.

    @Moult just a side note: what you are using is not the grease pencil tool, but the annotation tool. Is there any reason you chose to use this one? It's much simpler than the GP and used mostly just for notes. It is for example possible to import svg lines as GP but not as annotation lines and I don't think you can convert them in the current version.

  • @JanF no particular reason, other than that it was immediately available from the toolbar. I guess we can support both!

  • edited August 2021

    @JanF I know you can do it for Archipack, by importing SVG and converting to curve for polygon detection. Although normally I do a simple mesh layout snapping to SVG points to get a clean layout for conversion.

Sign In or Register to comment.