If you're reading this, we've just migrated servers! If anything looks broken please email dion@thinkmoult.com :)

Random BlenderBIM questions / troubleshooting

Created this thread to have one place to ask questions and hopefully archive what works, for easy future retrieval. Hopefully this will be useful for others too.

Comments

  • I've come to find collection instances to be really handy in organizing my work, so that for repetitive objects or groups of objects, I only need to edit the main object and the changes get propagated to all the instances. However collections instances don't show up when the file is exported to ifc. How can collection instances be made to appear in ifc exports without making the instances real, while also preserving object hierarchies?

  • Still connected to the first question, how do you handle ifc classification for multi part objects, for example, a desk made up of 5 parts would have an empty at the top level of the hierarchy named Desk. In ifc, this hierarchy is not preserved and the only way I've seen to get the entire desk to export as ifc is to classify each of the five components as an ifc desk, which is neither logical nor helpful. If my hierarchy named Desk and every collection instance linked to it can be exported either as one compound object each named Desk, or a multipart object with the hierarchy preserved and the top level of the hierarchy named Desk, that would be most helpful. This seems to me like a good candidate for the sort of automation python tends to be good at, which would be nice to have as part of the export process.

  • @DADA_universe said:
    Still connected to the first question, how do you handle ifc classification for multi part objects, for example, a desk made up of 5 parts would have an empty at the top level of the hierarchy named Desk. In ifc, this hierarchy is not preserved and the only way I've seen to get the entire desk to export as ifc is to classify each of the five components as an ifc desk, which is neither logical nor helpful. If my hierarchy named Desk and every collection instance linked to it can be exported either as one compound object each named Desk, or a multipart object with the hierarchy preserved and the top level of the hierarchy named Desk, that would be most helpful. This seems to me like a good candidate for the sort of automation python tends to be good at, which would be nice to have as part of the export process.

    This should be of interest to you @Andyrexic, in view of your work with HomeBuilder and future integration with BIM workflows in Blender. With this sorted, furniture objects made in Blender can retain their multipart structure for future parametric editing if required, while also being easily assigned ifc classification right from inside Blender. It will be helpful for roundtripping.

  • edited December 2020

    Pinging @Moult
    So I made all the collection instances real, assigned all the objects under each individual object an ifc furniture class and then tried to export this to ifc. Blender went crazy and tried to open multiple instances. I forced Blender to close and reopened the file, cleaned out the ifc structure and tried to recreate the ifc structure, now it bugs out. Any clues from this console error please?

    EDIT: PLEASE IGNORE. I didn't save preferences after installing the latest version of BlenderBIM, so the add-on was not activated. Activating it fixed this!

  • Please help improve our documentation, or let me know if you need a hand with new pages etc. I know people think it's easier in a forum, but conclusions from discussions like this can contribute a lot to making documentation relevant.

    https://wiki.osarch.org/index.php?title=Category:BlenderBIM_Add-on

  • @DADA_universe the correct technique is to use IFC aggregations. You can find the ability to create aggregations from the scene properties. It effectively creates a collection instance, and lets you retain the class hierarchy underneath it.

    Hope it helps.

  • Thanks @Moult, that works.
    @duncan, I will try to create a ''how to page'' on the wiki and populate it with this sort of info.

    duncan
  • Useful comment here by Dion Moult, on optimizing meshes for Blender BIM, from a different thread. Linking it here for easy reference.

  • Hi @Moult,
    I tried testing with the bookshelves in the linked comment above, to confirm what works within the context of what you said. I suppose collection instances create fresh instances of the meshes, compared to linked duplicates which retain one mesh. I rebuilt the shelf, merged the books into one mesh and one linked duplicate per row. I made linked duplicates for the casters and shelf boards as well, and then duplicated (linked) each shelf + books collection five times with the intention of exporting to ifc. I gave up when I couldn't figure out the error I was getting while trying to export (see below), but thought to share the file with you to see what you make of it. My aim was to confirm to what extent linked duplicates help with optimization, by incrementally adding more bookshelves the same way and noting at what point Blender chokes.

    location: :-1
    Python: Traceback (most recent call last):
    File "C:\Users\ATTITA\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\blenderbim\bim\operator.py", line 97, in execute
    ifc_exporter.export()
    File "C:\Users\ATTITA\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\blenderbim\bim\export_ifc.py", line 18, in export
    self.set_header()
    File "C:\Users\ATTITA\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\blenderbim\bim\export_ifc.py", line 46, in set_header
    self.file.wrapped_data.header.file_name.name = os.path.basename(self.ifc_export_settings.output_file)
    AttributeError: 'NoneType' object has no attribute 'wrapped_data'

    location: :-1

Sign In or Register to comment.