Ionut Bim Studio Experiments Sverchok Blender3D BlenderBIM and other free and OS tech
I will start this discussion with a short inside into the question - "What is Sverchok", and 7 reasons why I like it.
At the next link you will find the text and video.
https://www.linkedin.com/feed/update/urn:li:activity:7165844617060454401/
Comments
Can it be used to link an object's Custom Property Value to a new piece of Text? Maybe with drivers? I have posted this query here: https://blender.stackexchange.com/questions/312259/link-with-driver-a-custom-property-value-to-a-newly-generated-piece-of-text
Hello!
Yes. I recently started to use it to read and write custom properties.
Blender native objects and BlenderBIM (IFCOpenShell python).
In this printscreen you have the nodes to write a value to the custom property and to read the value and output it to a text document outside the three nodes (csv, text, json).

I have a demo video on the last part (to write a text document from sverchok):

Kind of old. There are big changes to the workflow. Works directly.
Last week I've been a guest speaker to Petru Conduraru BIMvoice Podcast.

The live demo didn't go quite as planed.
I feel I owe all of the nice viewers who had the patience to watch me a demo video of how you can use ifcSverchok to create multiple ifc objects in BlenderBIM.
So on the weekend, I managed to record a test using those tools.
This is the journey of how you can transform some numerical data into IFC objects using Sverchok, Blender3D, and BlenderBIM.
Enjoy!
Excel to IFC elements using BlenderBIM and Sverchok
Blender 3D
IFC Viewer - BimVision
Table Input - LibreCalc
Add-ons used:

BlenderBIM
Sverchok
ifcSverchok
Sverchok Extra
I hacked BlenderBIM again.
This time to read the ifc elements attributes of my choosing.
It worked - so I wanted to share this small victory with you.
I included the github repository link.
https://github.com/ionuting/IonutBIMStudio
Tools: Blender3D, BlenderBIM, Sverchok.
And another great news. I changed the background music. Something more epic. So make sure to mute the sound.
Beholde! Authoring native IFC elements for free. Only with open-source tools. Blender 3D, BlenderBIM Add-on and Sverchok
Simply put - An old school - babooshka style - dirty Python code -Sverchok Hack in BlenderBIM - that works.
What did this script do⁉
✅ auto-regenerates the IfcWindow in the IfcWall when you move it - you don't have to hit the tool panel and regenerate button - biiiiig time saver ? ;
✅ controls the IfcWall length from a simple Blender line controller - just for fun;
Not a game changer! ?
I repeat - not a game changer! ?
We will have enough of those from the BIM Kings (and) today.
Just some plain old progress.
But if you think about it, it's kind of cool.
Kind regards,
a BIM Fool
Hi, I'm new to Sverchok and bbim in general, so would it be possible for you to share the used script? So I can try it out... Thanks!
In this repository you can find some of my Blender File with sverchok.
https://github.com/ionuting/IonutBIMStudio
Later this day I will upload the file from this video.
Just a parametric window for BlenderBIM with Sverchok and Geometry Nodes - proof of concept
? Is automation design a time saver?
? Is automation design helpful for repetitive tasks?
? Can you automate with free and open-source tools?
I watched Lloyd Bussio the IFC Architect Video tutorial about creating a window for BlenderBIM in 10 minutes.
Cool stuff! The link is here:

For some reason it got me intrigued.
So I started to replicate the tutorial using Sverchok and Geometry Nodes.
? Sverchok for the 2D representation of the window;
? GeoNodes for the 3D element.
It was a good exercise to test my discovery - how to control the input for the Geometry Node script with Python code using Sverchok.
Well, the results are in this video. Good enough for a proof of concept.
I even loaded the new ifcWindow Created into an ifcWall.
Full parametric house from template - with real-time updates for the drawings, quantities, costs, and data.
Imagine:
? Having the ability to reuse your popular work;
? Having the ability to analyze your concept model with multiple variations (dimensions and materials);
? To regenerate, in a few minutes, the 3D model, the 2D drawings, the quantities, and the cost estimation of a template building.
~In the kingdom of constraints, the axis grid is the queen! Said the Hard Hat man!~
This is the first series of some posts where I will give my best to make a full parametric house project template:
Phase 1 - The 3D model - Sverchok + Blender;
Phase 1.1 - Ifc export to BlenderBIM;
Phase 2 - Some 2D drawings - plans, elevations, and sections in Blender and Sverchok;
Phase 2.1 - Some 2D drawings - plans, elevations, and sections in BlenderBIM;
Phase 3 - A cost estimator - in Sverchok + LibreCalc;
Phase 3.1 - A cost estimator in Sverchok + BlenderBIM;
Phase 4 - 3D model and drawings for the structural elements;
The order may vary.
I've decided to give the axis grid back the shine that it deserves.
So I build my concept house referencing all my structural elements to it.
The drawings will use the same constraints.
Time spent on scripting the 3D model - 2-3h maybe.
2D drawing with dimensions from the BIM model should be as easy as generating an Excel graph.
2D drawings are a way of communication in AEC.
And the BIM philosophy should keep this universal language open. (Optional, of course - eh, don't worry! Nobody cares about my opinion.)
If you think about it:
You have a rich BIM model, with a lot of juicy data in there.
All you need is a location and some geometrical description to build the 3D representation of a wall.
The same data can be used to build 2D drawings, dimensions, labels, and so on.
In this video, I used only Blender with Geometry Nodes and Sverchok to prove my point.
A future challenge will be to map an existing IFC element and generate a drawing based on the metadata.
(BlenderBIM uses this logic, but I haven't figured out yet how to put texts and lines together on the 2D representation.)
Thank you all for the ideas and support!
P.S. - If I can do this, I can't imagine what smart people can do.
Parametric 3 layer ifc wall with python ifcopenshell code, sverchok inside BlenderBIM
Here is a video proving myself wrong:
I've managed to put together a script that creates an ifc wall with 3 material layers:
- finish one - 15 mm;
So the total thickness is 15 mm + var mm + 15 mm (280 mm in the final quantities).
The input of the thickness is for the core structural element.
Other imputs in this experiment:
LifeIsShort_Automate!
Thanks for the tutorial!
Very helpful so we can recreate your steps! Is it possible to start with a blank file next time? That way we can really see all the steps ;)
I'm trying to create a parametric IFC element from Sverchok only, that is dynamic. In de last step you write to a new file, which doesn't work for me. Might you know why?
Also, would you know how to write to the file that you're working in, so you place objects from Sverchok directly in the (opened) Blender and IFC file?
Or do you know another way?
Thanks in advance!
Hello!
import bpy
import blenderbim.tool as tool
ifc = tool.Ifc.get() # Get the active file, no need to query the path from disk
I've written a custom sverchok node for it, but it crashes Blender. (sverchok autoruns the script and it is not a good idea). I could put a run button or something but I didn't lost a lot of thought on it.
You can use also the template to create the sverchok nodes from parametric geometry, The last node for preview and bake is what you need.
The tutorial is here:
I do the following hack with ifc nodes:
I set the file path to the ifc document.
When I write a new object I create a button that reloads also the ifc file in BlenderBIM.
I use these lines of code:
Reload ifc file in blenderBIM
import bpy
bpy.ops.bim.reload_ifc_file(filepath="C:\Users\ionut\Desktop\teste\TestIFCOpenShell.ifc")
in this video I created an ifc parametric wall with an opening using this logic. The run button just reloads the ifc project.

I will soon post an article complete with the code and github repository for this workflow.
Generating an entire ifc model using a Blender python script for BlenderBIM - first test - ifcWalls - WIP
Link to the article and script included
Who remembers my video where I created a floor of a house using Sverchok and Blender native objects?
It is a bit up from this post here.
Imagine generating an entire IFC model from a template. Why not, even use an Excel file for the input?
Generating multiple variations for a fast cost analysis? I don't see why not.
So, why not train an ML model with it? I don't know:-??
I've started to convert the workflow into a direct ifcopenshell Python script.
You can try it using the steps from this video.
This is the link for the script and a wip documentation for this future house template. I will update it on the go.

https://www.obim.ro/
The demo video is here - first tests - (the evolution of my previous post):
My yellow ifc wall

What can you do these days with 130 lines of python code? Powered by ifcopenshell and BlenderBIM.
Generate a parametric ifc wall with a parametric opening;
Assign material and color;
Article with the breakdown of the code:
https://www.obim.ro/2024/05/09/my-yellow-ifc-wall-with-a-opening/
Demo vide:
Build annotated 2D CAD drawings from your BIM 3D ifc model. Wait, what?!
I flooded LinkedIn with this idea - that you should be able to generate 2D drawings from 3D IFC models complete with layering, line types, hatches, and annotations as easily as you generate a graph in Excel.
It is easy to say. But how about doing it and showing it?
Had to give it a try and record the process.
Just take a look:
So it turns out with some python code in Blender you can:
👉 create a ifc column with ifcopenshell python and make it purple;
Link to the code:
Obim.ro
And using the same input with ezdxf library to generate in a dxf file:
👉 at the same coordinates as the ifc column in BlenderBIM;
👉 the 2D section of my column as a closed polyline with a custom layer;
👉 a hatch of my choosing (Big fan of this diagonal one);
👉 aligned dimensions (for lazy me);
👉 some text with custom formatting (the text can also be parametric);
News - Sverchok has been updated to Blender 4.x.
So I gave it a try. 🤷♂️
👉 My purple column now has brothers and sisters.
Other news:
👉 I got a blog: www.obim.ro
👉 I got a discord channel: Ionut BimStudio - https://discord.gg/QAPz7UVx
Imagine a second viewer tab for Blender that shows the 2D representation of your ifc model in dxf format (or svg).
Work in progress. (The dxf file has also the dimensions and lineweight, still need to configure the viewer).
It is possible to configure also different styles or uses (for example formwork plan with specific notation, TOV reinforcement plan and so on).
This is cool!
Topologic - the begining of a beautifull frendship!
Hello Osarch community!
I've removed the subscriber limitation to my blog.
Now anyone can acces the ifcopenshell python code exercises and other experiments I post there.
www.obim.ro
Hello, please join your community, it seems unable to set a password.
How does Sverchok install on BLENDER 4.X?
Hello!
Use this instructions to install sverchok for blender 4.x
https://nortikin.github.io/sverchok/#Download
I must of set up the Wordpress template wrong. I will take a look.
If you want. you can join my discord community. Below an invite.
https://discord.gg/bWFETSnW
Have fun!
Now the access is free to the blog. No passport needed.
The BIM Game Logic

I have used sverchok topologic and Bonsai to create fast IFC 3D floorplans having a controler for the horizontal extrusions for doors and windows.
The hole point of the exercise is to create a super fast way to model buildings and generate dxf drawings in Blender, Bonsai and dxf.

More to come.
How about a workflow that imploys the superpowers of Bonsai and templating parametric metadata with json?
Build the database with informations that have the power to build entire buildings, drawings, cost documentation and other.
Employ a solver in your favourile BIM or FEM software.
Get fast results.
Any modifications? No problem. Change the input where needed and rebuild everything.
Fast.
And reuse it until you retire?
Yes sir!