IfcSpace and BlenderBim

Hi everybody, i'm trying to figure out how to correctly define an IfcSpace in BlenderBim.
What i would like to do is to define an IfcSpace bounded by n.4 IfcWall, one IfcRoof and one IfcFloor (for simplicity). The volume and the area of the IfcSpace should update modifying walls.
I tried creating an empty object, assign it an IfcSpace entity, but the list in IFC Space Boundaries of this entity is empty.
Can sombody help me? Thanks in advance.


  • edited June 2021

    I think at the moment you need to create the space as a box-shaped object, and assign all the relationships manually.

  • @agonzalezesteve is currently working on a way to automatically generate spaces. See Energy Modeling topic.

  • edited June 2021

    @brunopostle ok, and how can i generate them manually?
    @Cyril ok thanks, i'll see

  • @Massimo I have no idea, only that blenderbim won't create the space automatically (yet).

    An IFC boundary typically associates a boundary surface, a space volume, and a wall/slab/roof. So you would need all three, but I suspect there isn't a blenderbim button to associate them.

  • The first part of this video shows how to create a IfcSpace manually.
    The 2nd part, shows how to create 'wall types'.
    The later part, shows how i tried to 'contain' the wall within the IfcSpace, but I don't think you can. Perhaps, not schematically correct to do it that way... not sure.

  • Update: it looks like you can contain it in the IfcSpace, I just needed to 'export' the IFC again and then the option was available to me, which is a little hiccup in the UI.

  • So currently when you export, it looks for unsynchronised spatial hierarchy changes, and synchronises them. That's why it works after export. Things become unsynchronised when you drag and drop in the collection instead of using the UI buttons. I will see if there is a way to synchronise prior to the export to improve the user experience.

    There is currently no BlenderBIM Add-on function to associate boundaries unfortunately.

  • @theoryshaw i image that an IfcSpace is the space bounded by 4 walls, 1 roof and 1 floor (for simplicity); in this terms, contain a wall in an IfcSpace is not very realistic, right?

  • Yeah making the wall contained in the space isn't what you're looking for. You're looking for boundaries - which as @brunopostle describes needs three things: the space, the wall, and the boundary geometry. There is currently no feature available to create this relationship, nor specify or detect the boundary geometry :(

  • @Moult ok, it's clear. I was thinking about a feature where i can select the six faces and define an entity IfcSpace with the space bounded by them (so also the relationship).
    So i'll try to do that and if i can do something i'll post it here.

  • edited June 2021

    btw @Moult , in BlenderBIM, selecting an IfcSpace entity, there is the attribute IFC Space Boundaries, but it's empty.
    I show you the screeshot

    Do you know what it is about?

  • edited June 2021

    @Massimo It shows all IfcRelSpaceBoundary relating to this space. Geometry is not displayed at the moment.

  • edited June 2021

    @Cyril ok, so does it shows the IfcRelSpaceBoundary already present in an ifc file, but, at the moment, it's not possible to assign a new relation with BlenderBIM?

  • Not yet but hopefully we will be able to soon.

  • ArvArv
    edited November 2022

    Hi, is IfcRelSpaceBoundary available in blenderbim? How do i assign IfcSpace to its boundaries

  • edited December 2022

    @theoryshaw said:
    Seems to, to a degree, however there seems to be some glitches...

    @Arv At the end this is not a glitch but it definitely deserve a better UX. See my comment.

  • edited September 11

    I have created an IfcSpatialZone that I added to my model. When I save the IFC project and then open it in Solibri, it does not appear in the same location as in Blender. I suspect that this could be because, although in Blender it appears in the tree at the right location (i.e. inside an IfcBuildingStorey), when I look at its Spatial Container property, it states "No Spatial Container". When I try to set this value to something such as the right IfcBuildingStorey, it doesn't work. Any idea what I may be doing wrong here?

  • @Moult's comment here, might provide some insight.

  • Partly. My issue is that the geometry displays but not in the right location. Having looked at the results in Solibri, the Global X/Y/Z coordinates of the other objects seem to be in Global reference system (they have very large numbers) while these new IfcSpatialZones have Global X/Y/Z coordinates that seem to be in local reference system. So, it would appear that, when saving the IFC, the Global X/Y/Z are not computed correctly (?). I can submit screenshots if it helps.

  • This is definitely a known bug. Basically most likely your model has large coordinates (if it a vertical construction project like a building, this almost always means your model is incorrectly geolocated) and we've autodetected a false origin (we call this a temporary Blender offset). The code has done a little bit to help accommodate this offset in some authoring workflows, but not all (basically it's annoying to handle and I got lazy) so can you please recreate your steps and report a bug?

  • Regarding my first comment in this thread, in the meanwhile now it is possible to create IfcSpace from cursor position and from selected walls; it is possible also to assign new IfcRelSpaceBoundary relations from selected space...so things are going on :-)

    when I look at its Spatial Container property, it states "No Spatial Container"

    @fbosche i think that it is correct that a IfcSpatialZone is not listed in the Spatial Container menù because the relation between a storey and a space is a IfcRelAggregregates so it would appear under the Aggregates menù ... for more info look at https://github.com/IfcOpenShell/IfcOpenShell/issues/3057

  • @Massimo Indeed, I saw the relationship in the Aggregates menu. You are right that I shouldn't expect it in the Containers, there.
    I suppose what got me there is because of the Global X/Y/Z coordinates not being correct (not accounting for the IfcSite information), which I (seemingly wrongly) thought might be because it didn't inheritate it through containment. Anyways, I'll try to replicate my issue with a small case and report a bug accordingly (unless I find out what my mistake is). Thx all!

  • Thank you for this tool @Massimo !

  • @SigmaDimensions thanks :-) your videos are great

Sign In or Register to comment.