@Cyril thanks, I'm seeing my boundaries in odd locations, is the placement of a boundary relative to the Space placement? (I had assumed it was in world coordinates, but relative placement makes sense).
I also don't see colours, though my boundaries are assigned to slabs, walls, roof etc..
@topologic yes, the snap spaces together is a pretty horrific hack and I only use it as a clean-up aid together with manual cleanup. I'm not very good at coding geometric algorithms, so I hope someone else in the future can revisit this puzzle and make my attempt obsolete :)
@Moult any tips for moving an IfcRelSpaceBoundary? the usual trick of using spatial.assign_container doesn't work because neither the boundary or any of the bits that define it can be assigned to a spatial container. And geometry.edit_object_placement doesn't change anything either.
@topologic said:
Why not simulate it right in Blender using TopologicEnergy and openstudio? Actually, you already have the CellComplex which is better suited for that.
Because I can't get Openstudio to run on Fedora, and the CellComplex doesn't have the windows or doors (they could be added though).
@brunopostle said: @Moult any tips for moving an IfcRelSpaceBoundary? the usual trick of using spatial.assign_container doesn't work because neither the boundary or any of the bits that define it can be assigned to a spatial container. And geometry.edit_object_placement doesn't change anything either.
Sorry, perhaps new API usecases need to be written in the API's boundary module to add this functionality.
@Max said:
Hi tried to import the example IFC in IDA ICE but unfortunatly it is IFC 4 and IDA ICE only supports 2x3 and lower. Is it possible to convert it?
Thanks, I read that the Migrate script is distributed as a part of BlenderBim and I guess IfcPatch is as well, do you know how to run them from Blender?
@Max said:
Thanks, I read that the Migrate script is distributed as a part of BlenderBim and I guess IfcPatch is as well, do you know how to run them from Blender?
After a bit of messing around i managed to combine the 'energy modelling' and 'BEM' tags into one new tag 'Building Energy Modeling (BEM)'. It turns up as a suggestion if you begin writing 'energy' or 'BEM'. I think that's an improvement for people wanting to find relevant pages :-)
... and now I can link to the tag from the https://wiki.osarch.org/index.php?title=Energy_Modeling page
The Homemaker add-on embeds a full set of Space Boundaries into the IFC model, so in principle it should be possible to use this as the basis of an energy model. I couldn't find a tool for doing anything with this IFC Boundary data, but there is an old IFC-to-gbXML-converter that needed a bit of fixing-up, forked here.
The output is missing materials and roofs, and it doesn't have a license! but it looks promising. Any ideas for something useful I can do with gbXML?
I am confused. Why are we going from Topologic to Homemaker to faulty gbxml when we can go from Topologic to perfect gbxml immediately or from Topologic to conduct energy analysis right there in Blender immediately?
@Nigel said:
this might be about turning an imported IFC model into a gbXML and not creating it from scratch?
Yes I was thinking of that. If you have the space boundaries in the IFC file why not give them to Topologic. If you don’t have them, Adria wrote BIM2BEM and I added those to Topologic. Not sure how well they work on complicated models. But for Homemaker created IFC, wouldn’t it be better to give them back to Topologic for energy analysis than to go to a 3rd party imperfect gbxml exporter?
@Nigel said: @topologic Can Topologic create a simple thermal envelope from an IFC, automatically? seems like a really useful project
This is what I integrated in Topologic: https://github.com/agonzalezesteve/BIM2BEM
It is not my software, but it uses Topologic. We should test it on a ‘real’ project.
What I can tell you is that if the IFC has a proper boundaries for energy analysis like homemaker, then it is a doddle to conduct energy analysis using Topologic within Blender.
@topologic said:
I am confused. Why are we going from Topologic to Homemaker to faulty gbxml when we can go from Topologic to perfect gbxml immediately or from Topologic to conduct energy analysis right there in Blender immediately?
Because I can't get any of this stuff to work, Open Studio is unmaintained dependency hell, everything else is proprietary or a Revit or rhino plugin.
The IFC Space Boundary data is more than just geometry, it has thermal properties too. So it is an assembled energy model, which the initial Topologic model isn't.
@brunopostle said:
Because I can't get any of this stuff to work, Open Studio is unmaintained dependency hell, everything else is proprietary or a Revit or rhino plugin.
The IFC Space Boundary data is more than just geometry, it has thermal properties too. So it is an assembled energy model, which the initial Topologic model isn't.
I think there is a misunderstanding here. The topologic model you are building is geometry and topology only, but it can have all the material and construction information for building an energy model if you choose to add it to your homemaker model. I am happy to work with you on that. This what I do when building the energy model for analysis. Openstudio works perfectly on Windows, but perhaps they are not supporting Linux well? In that case, how about outputting to HBJSON? I have included that in Topologic.
Regardless, Topologic can also take your space boundaries after you have built them and export to a hood gbxml. Here is what I suggest, send me an example ifc file from Homemaker that has the boundaries with instructions on how to visualise them in Blender. I will test creating a gbxml file. I will also investigate openstudio and ladybug tools on Linux.
@brunopostle Just for my understanding: Is the IFCSpaceBoundary data in your HomeMaker IFC model loaded with all the thermal properties? If so, where do you get them from? or do you load defaults? I am happy to work on code that extracts all the information from an IFC and creates a gbxml without needed openstudio. A starting point could be this old code at: https://github.com/MGVisschers/IFC-to-gbXML-converter
Is that what you used? I think I can adapt it to support IFC4 and generalise it to output to any gbxml file.
Blenderbim won't load the Space Boundary geometry on import, but it will show the Building Elements, the Structural model and the Topologic model that I have stashed in the file - they all appear on top of each other.
Select the Structural model (Menu -> Select -> Select Pattern.. ifcstructural*) and hide it.
Select the raw Topologic geometry this is stored in an IFC System, but the easiest way to access it is to select ifcvirtualelement*. Note that this is in a format intended for round-tripping through Topologic Sverchock, the Topologic Dictionaries are attached to each of these Elements as EPset_Topologic_Dictionary. There are two kinds of geometry: faces and vertices representing spaces. Hide this for now. In fact select everything visible and hide it.
To load the Space Boundary geometry, in Scene Properties -> IFC Geometry -> IFC Space Boundaries -> Load all project space boundaries, then click on the paint-brush icon to colourise everything.
I'm sure you know this, but for anyone else reading this, you can select an object in Blenderbim, then in Scene Properties -> IFC Quality Control -> IFC Debug -> Inspect From Object. You can now browse all the IFC data and relationships for the IFC Entity corresponding with this object. For a Space Boundary, interesting connections are the RelatingSpace, RelatedBuildingElement, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, and (depending on whether you have selected a Window, Door or Wall) the ParentBoundary or InnerBoundaries.
To access the Layer Set for a Wall, browse: RelatedBuildingElement -> IsTypedBy -> RelatingType -> HasAssociations -> RelatingMaterial
Not all the Materials in this model have thermal properties, some of them have a ThermalConductivityTemperatureDerivative, but I have no idea what units this is in, so I haven't bothered propagating this properly until somebody can tell me.
@topologic said: @brunopostle Just for my understanding: Is the IFCSpaceBoundary data in your HomeMaker IFC model loaded with all the thermal properties? If so, where do you get them from? or do you load defaults? I am happy to work on code that extracts all the information from an IFC and creates a gbxml without needed openstudio. A starting point could be this old code at: https://github.com/MGVisschers/IFC-to-gbXML-converter
Is that what you used? I think I can adapt it to support IFC4 and generalise it to output to any gbxml file.
I assign some IFC thermal properties, but I have have no idea what units they are in.
I can convert an IFC with Space Boundaries to OpenStudio so I could be done also to gbXML. OpenStudio is the only certified software that supports gbXML.
Comments
Let's start auditing IFC energy model with BlenderBIM Add-on !
This feature is not currently available in daily build. I have opened a PR and I am going to update it or open a new one for colours.
@Cyril thanks, I'm seeing my boundaries in odd locations, is the placement of a boundary relative to the Space placement? (I had assumed it was in world coordinates, but relative placement makes sense).
I also don't see colours, though my boundaries are assigned to slabs, walls, roof etc..
@brunopostle yes, it is relative to the space.
@topologic yes, the snap spaces together is a pretty horrific hack and I only use it as a clean-up aid together with manual cleanup. I'm not very good at coding geometric algorithms, so I hope someone else in the future can revisit this puzzle and make my attempt obsolete :)
@Moult any tips for moving an IfcRelSpaceBoundary? the usual trick of using
spatial.assign_container
doesn't work because neither the boundary or any of the bits that define it can be assigned to a spatial container. Andgeometry.edit_object_placement
doesn't change anything either.You mean that the paint button in scene properties does not work on your model ? If so please share the model so I can see why.
Ah, the paint button does set colours (I sort-of 'fixed' the relative placement issue):
Here is the above building, I'd be interested to see if this actually loads into any energy modelling software:
Why not simulate it right in Blender using TopologicEnergy and openstudio? Actually, you already have the CellComplex which is better suited for that.
Because I can't get Openstudio to run on Fedora, and the CellComplex doesn't have the windows or doors (they could be added though).
Leave it with me. Tomorrow ?
Sorry, perhaps new API usecases need to be written in the API's boundary module to add this functionality.
Hi tried to import the example IFC in IDA ICE but unfortunatly it is IFC 4 and IDA ICE only supports 2x3 and lower. Is it possible to convert it?
You can try using
IfcPatch
withMigrate
recipe.Thanks, I read that the Migrate script is distributed as a part of BlenderBim and I guess IfcPatch is as well, do you know how to run them from Blender?
In theory:
After a bit of messing around i managed to combine the 'energy modelling' and 'BEM' tags into one new tag 'Building Energy Modeling (BEM)'. It turns up as a suggestion if you begin writing 'energy' or 'BEM'. I think that's an improvement for people wanting to find relevant pages :-)
... and now I can link to the tag from the https://wiki.osarch.org/index.php?title=Energy_Modeling page
Added the Building Energy Modeling (BEM) tag
The Homemaker add-on embeds a full set of Space Boundaries into the IFC model, so in principle it should be possible to use this as the basis of an energy model. I couldn't find a tool for doing anything with this IFC Boundary data, but there is an old IFC-to-gbXML-converter that needed a bit of fixing-up, forked here.
The output is missing materials and roofs, and it doesn't have a license! but it looks promising. Any ideas for something useful I can do with gbXML?
Here it is in the Ladybug gbXML web viewer:
I am confused. Why are we going from Topologic to Homemaker to faulty gbxml when we can go from Topologic to perfect gbxml immediately or from Topologic to conduct energy analysis right there in Blender immediately?
this might be about turning an imported IFC model into a gbXML and not creating it from scratch?
Yes I was thinking of that. If you have the space boundaries in the IFC file why not give them to Topologic. If you don’t have them, Adria wrote BIM2BEM and I added those to Topologic. Not sure how well they work on complicated models. But for Homemaker created IFC, wouldn’t it be better to give them back to Topologic for energy analysis than to go to a 3rd party imperfect gbxml exporter?
@topologic Can Topologic create a simple thermal envelope from an IFC, automatically? seems like a really useful project
This is what I integrated in Topologic: https://github.com/agonzalezesteve/BIM2BEM
It is not my software, but it uses Topologic. We should test it on a ‘real’ project.
What I can tell you is that if the IFC has a proper boundaries for energy analysis like homemaker, then it is a doddle to conduct energy analysis using Topologic within Blender.
Because I can't get any of this stuff to work, Open Studio is unmaintained dependency hell, everything else is proprietary or a Revit or rhino plugin.
The IFC Space Boundary data is more than just geometry, it has thermal properties too. So it is an assembled energy model, which the initial Topologic model isn't.
I think there is a misunderstanding here. The topologic model you are building is geometry and topology only, but it can have all the material and construction information for building an energy model if you choose to add it to your homemaker model. I am happy to work with you on that. This what I do when building the energy model for analysis. Openstudio works perfectly on Windows, but perhaps they are not supporting Linux well? In that case, how about outputting to HBJSON? I have included that in Topologic.
Regardless, Topologic can also take your space boundaries after you have built them and export to a hood gbxml. Here is what I suggest, send me an example ifc file from Homemaker that has the boundaries with instructions on how to visualise them in Blender. I will test creating a gbxml file. I will also investigate openstudio and ladybug tools on Linux.
@brunopostle Just for my understanding: Is the IFCSpaceBoundary data in your HomeMaker IFC model loaded with all the thermal properties? If so, where do you get them from? or do you load defaults? I am happy to work on code that extracts all the information from an IFC and creates a gbxml without needed openstudio. A starting point could be this old code at: https://github.com/MGVisschers/IFC-to-gbXML-converter
Is that what you used? I think I can adapt it to support IFC4 and generalise it to output to any gbxml file.
@topologic here is a recent IFC model generated with the Homemaker add-on. Also a gbXML file generated using IFC-to-gbXML-converter - the attraction of this workflow is that this conversion script is expecting exactly the level of data that the Homemaker add-on produces.
Blenderbim won't load the Space Boundary geometry on import, but it will show the Building Elements, the Structural model and the Topologic model that I have stashed in the file - they all appear on top of each other.
Select the Structural model (Menu -> Select -> Select Pattern..
ifcstructural*
) and hide it.Select the raw Topologic geometry this is stored in an IFC System, but the easiest way to access it is to select
ifcvirtualelement*
. Note that this is in a format intended for round-tripping through Topologic Sverchock, the Topologic Dictionaries are attached to each of these Elements asEPset_Topologic_Dictionary
. There are two kinds of geometry: faces and vertices representing spaces. Hide this for now. In fact select everything visible and hide it.To load the Space Boundary geometry, in Scene Properties -> IFC Geometry -> IFC Space Boundaries -> Load all project space boundaries, then click on the paint-brush icon to colourise everything.
I'm sure you know this, but for anyone else reading this, you can select an object in Blenderbim, then in Scene Properties -> IFC Quality Control -> IFC Debug -> Inspect From Object. You can now browse all the IFC data and relationships for the IFC Entity corresponding with this object. For a Space Boundary, interesting connections are the RelatingSpace, RelatedBuildingElement, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, and (depending on whether you have selected a Window, Door or Wall) the ParentBoundary or InnerBoundaries.
To access the Layer Set for a Wall, browse: RelatedBuildingElement -> IsTypedBy -> RelatingType -> HasAssociations -> RelatingMaterial
Not all the Materials in this model have thermal properties, some of them have a ThermalConductivityTemperatureDerivative, but I have no idea what units this is in, so I haven't bothered propagating this properly until somebody can tell me.
@brunopostle Thank you. I will work on these and see what I can accomplish.
I assign some IFC thermal properties, but I have have no idea what units they are in.
Yes this is the code that I used, it needed a few tweaks to get it working with IFC4, python3 and OCC 7.5.0 - see my forked repository here: https://github.com/brunopostle/IFC-to-gbXML-converter/commits/master
Before we work more on this code, we need some confirmation that it is under an open source license.
I have already sent a message to the author to see if the code can be used (always with attribution of course.)
I can convert an IFC with Space Boundaries to OpenStudio so I could be done also to gbXML. OpenStudio is the only certified software that supports gbXML.