BlenderBIM spreadsheet add-on new release.
The last half year I've re-written the BlenderBIM spreadsheet addon from scratch. Using the ifcopenshell.api
and experimenting with python to get as fast exports as possible. With the aim it's going to be merged into the BlenderBIM add-on one day.
You can download it here
https://github.com/C-Claus/blenderbim_spreadsheet#readme
New features:
- Every IfcMaterial definition now exports as it should.
- IFC4 support.
- Possiblity to save and set user interface settings with custom properties in a .json file.
Improvements:
- Faster export
- Focus on Libre Office Calc (see Youtube demo)
See more detailed information about the usage in this youtube demo.
Tagged:
Comments
And thanks @Gorgious for all the help :-)
You are amazing @Coen !
@Coen thanks for your work! In the video you mention a macro for libreoffice, could you elaborate? The spreadsheet add-on looks mature to me, any apparent reason not to merge into BlenderBim today?
@tlang
Thanks ?
I tried to create an autofilter and table from python within the spreadsheet add-on, unfortunately I could not find any good python libraries which are able to do this. For .xlsx it seem to be no problem with pandas. But I wanted to focus on Libre Office Calc, because I think it's a good open source alternative to MS Excel. When I was testing the add-on it seems MS excel does not always return valid xml files, while .ods files in Libre Office Calc do. So I even tried to modify the xml file in the .ods file to create an autofilter and table. I abandoned the idea halfway because it became way too complex for me, however I still think it should be possible. I decided to create macro in LibreOffice instead, which runs under my own defined hotkey. It's just a matter of pressing record macro in LibreOffice which creates this script. I also tried if I could run this macro from the blenderbim spreadsheet add-on. Again I could not find good libraries and it also got too complex for me with different operating systems.

The macro and it's outputted code:
I really would like to, but maybe I'm wrong, but I don't think BlenderBIM comes shipped yet with the
pandas
andopenpyxl
module which are heavily used in the spreadsheet scripts? Maybe @moult could enlighten me. :) And it's quite a lot of code to be reviewed in one pull request, I'm not so experienced with collaborating on open source software code yet. I definitely will look into it and with the experienced developers reviewing it I think it could only get better before it's merged into BlenderBIM one day.https://github.com/C-Claus/blenderbim_spreadsheet#quickstart-on-creating-your-own-custom-macro-which-creates-an-autofilter-and-table-style
Additional information in the readme.md of creating a macro with Libre Office Calc.
I'm very happy to see your project flourish like that ! I'm sure we can work something to integrate it into Blenderbim, if not natively at least with optional dependencies.
Thanks! I learned so much from you. I already went into the osarch matrix chat to ask some househould things. The ifcopenshell/blenderbim repo can be a bit intimidating for me because there is so much going on.
One note, for my 'real' job I am learning Microsoft Certification called AZ-400 Desiging and Implementing Microsoft Devops Solutions. It's all for free. In some chapters they are explainig braching strategies, git. source control, Github Actions workflows. For the rest it is obviously Microsoft focused. But some chapters are really useful for understanding on how to collaborate on big open source projects and to understand what's going on in the IfcOpenShell project.
I think a really cool feature for the Spreadsheet add-on would be stored views with the filtering of IFC elements. As was discussed here:
https://community.osarch.org/discussion/1402/ But I'm severely limited by my Blender knowledge.
There is a new release of the BlenderBIM Spreadsheet add-one with some bugfixes regarding IFC4 BaseQuantities and the possibility to export multiple classifications with IFC2x3 support.
You can download it here:
https://github.com/C-Claus/blenderbim_spreadsheet/releases
See a quick demo with some new BlenderBIM functionality relevant for BlenderBIM spreadsheet add-on

Looking forward to the IFCCSV demo, I think there's a lot I can learn from.
Tested this against Blender 3.6.2 on two different machines and with the latest release of the BlenderBIM add-on installed.
Please let me know if it works.
I like the idea of browsing the data in .ods and synchronizing the visibility of elemends in BBIM, it's like a very cool filter with visual representation for the data you're currently investigating in the table.
A next cool step would be, l if an Blender add-on could be made inside a docker container or something similar, with a live connection between the IFC and spreadsheet. So if a change is made in either the IFC in Blender or in the table it would update both ways. Some advantages would be you don't have to save the IFC each time after an modification, and don't have to export a new spreadsheet each time after saving the IFC.
Plus because you're using a container, hopefully preventing conflicting dependencies/modules. And maybe it's possible to already ship/install LibreOffice Calc or something similar inside that container with the Blender add-on. So end users don't have to configure or install it themselves.
Unfortunately I have no idea if it's possible to run a blender add-on inside a docker container or if it's technically possible. Definitely worth investigating. Someone somewhere must have already attempted this, however I can't find any documentation. I could only find running Blender itself in an container, I would like to run only the Blender add-on in a container.
Haven't worked much with Docker but if someone managed to run just Blender then it's definitely possible to run it with some addon - Blender by default is using bunch of addons, for example Cycles Render Engine is just an addon too. So some addon can be enabled by either opening
userpref.blend
and enabling the addon or from python code (addon_utils.enable
/bpy.ops.preferences.addon_enable
) or with--addons
command line argument starting Blender.Plus BlenderBIM has bunch of tests that run in background mode regularly so I guess it will be possible to run it from docker too.
@Andrej730
Would it be possible to have a "live" connection between IFC and a spreadsheet. Let's say a
POST
orGET
request eacht time after the user modifies the IFC (editing data or geometry) So the spreadsheet is listing and gets updated with a new record.. I don't think it should impact performance in Blender itself? But how would I know whenever the end-user modifies the IFC?@Moult
Or any other knowledgable developer.
Does the BlenderBIM add-on now comes shipped with
pandas
module included? If I understand correctlyAs seen in this line of code:
https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.7.0/src/blenderbim/Makefile#L387
Same for
openpyxl
?https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.7.0/src/blenderbim/Makefile#L388
Does this mean I could fork the ifcopenshell open repo to start the integration of blenderbim spreadsheet to integrate it into BlenderBIM if there's still a demand? IFCCSV is also around which kind of does the same thing.
Indeed, we now ship with pandas, openpyxl and odfpy.
From the release notes:
This makes the BlenderBIM spreadsheet add-on obsolete?
There is still quite a bit of work to be done, such as:
Until these are done, there is quite a bit of technical knowledge still required to use IfcCSV effectively, so I think a the BBIM spreadsheet add-on is still very much relevant.