Multistorey buildings with typical repetitive floor plates
I have an existing building with a unique level 1 and then 8 typical apartment levels, that are "mostly" identical.
How can I draw the typical information once on level 2 and link it to the above levels? I need to be able to model some unique information on each of the "typical" levels.
I intend on using walls, slabs, doors, windows, stairs, and spaces. I am hoping it is possible to dynamic tag the spaces to reflect the level + apartment number.
Is there a concept of modular modeling in Bonsai/IFC?
Tagged:
Comments
You can copy the contents of a floor to several other empty floors, but this doesn't become a link they are just new versions on different floors.
What you are asking might be achievable with aggregates (with duplicated links of a whole floor) but not sure if the annotation information of each floor will be displayed correctly and assigned correctly to each level. Separately the mirror function doesn't work well with openings and hosted elements. The concept of a modular building design is there but it is a bit difficult to achieve right now, it will most likely be more manual modelling and annotating that you expect for now.
Concur with what @Ace said.
I would use @bruno_perdigao's 'Linked Aggregates'.
You can update the attributes/pset values of each object, on each floor, but as soon as you 'refresh the aggregates' after a change, all the values would be lost and reset back to the 'original'.
It would be nice to have some functionality to maybe 'lock' the attributes/psets of an object, and only refresh the geometry after a change to a floor module.
Hi @tim
if editing your space properties based on their storey is what you need, a very rough approach could be exporting IfcSpace entities via Spreadsheet, including their storey info, edit the .csv in Excel with a temporary function (or manually), import it back to Bonsai
I was wondering something similar today. Namely, how to copy elements or whole stories between two blender files. Macs might work a bit differently than PC's (easy way here:
https://youtu.be/vk3X7_lClvc?si=SMfcAFQeAAaSOn41
) - but this got me wondering - from the second video below on using assets, can I save a whole upper level (dir) of a tree as an 'asset' hence 'storey' and simply duplicate that and raise it a level? The reason is, in my ArchiCad workflow I almost always have my template file open in a second instance of ArchiCad, and I copy-paste everything from landscape elements to entourage to architectural elements and preset objects, so that I can maintain all attributes, lines/pens/materials and the rest this way.... we have hotlinks there which are like 3D xrefs also - but nothing similar in Bonsai that I know of - I know Blender's asset browser is getting a refresh in 4.3 - will this help us organize content and even stories in a similar way?I just checked this and it appears to work (but I didn't assign it to a new storey in outliner, this was just a quick bash to see if it works).
The second asset appears orange in the outliner so you can see it's the copy - but the same objects are in there. Is it editable? Does it miror the lower level? Can I overwrite the saved asset? CONFIRMED: The edited original instance reflects changes to the child-asset in realtime - no need to clear or re-save the asset, it's a live link. So that can work for multistorey design just like a hotlink. Afaik all object properties are preserved.
PS - You don't even need a second instance of Blender open to create this kind of asset-copy from the outliner, you can do that within one instance of Blender being open, but I was just thinking for more complex projects this multi-instance approach can be handy.
Might be worth sharing this too, which i think could have a lot of potential here....
https://github.com/IfcOpenShell/IfcOpenShell/issues/668
Followup - the Asset method is Blender specific - meaning the doubled instance does NOT get written to the IFC file (even tho it shows in the outliner), but only to the .blend file - would be nice if duplicated instances like this were not lost, but somehow got embedded in the IFC tree.
I think I remember once upon a time Bonsai using collection instances, and I do remember discussions about aggregates and the possibility to use collection instances, however as I understand aggregation in IFC does not really work like instanciation in Blender, there really isn't a "main" or source origin of data which is used to instance the other occurrences, every aggregate occurrence should be editable and doesn't depend on any other one to exist. I do like the concept of collection instances though, and there are som Blender addons that enable edition of collection instances. If you're interested in exploring other Blender features you can check "linked" collections, right click in the collection in the outliner and "Duplicate Linked". This will however NOT be supported by bonsai, so definitely don't use that on a live ifc project, if you don't want to bungle it. Cheers
There's also https://bartoszstyperek.gumroad.com/l/GroupPro which is great.
I wonder if collection instances would speed up the time it takes to refresh 'linked aggregates'... which currently is very slow.
Using collection instances probably wouldn't allow for this, however. Not sure.
The other thing that would be huge, would be a way to support mirroring of these 'linked aggregates'. This would save a ton of design time.
@theoryshaw Yes, that's exactly what I need!

The building I am working on atm is essentially 1 apartment type (Apt 1) mirrored and/or rotated 12 times per level over 8 levels.
Yes, mirroring is essential.