OSArch Community

[BEM, Topologic] BIM Energy Modeling

  1. A

    @brunopostle said:

    @agonzalezesteve I'm thinking of the building models that I encounter, where you can't rely on elements fitting perfectly without gaps between them, I've rarely seen an airtight 3d model.

    Also, these Boolean operations are very unreliable even when you take care to align objects, you would have to draw everything overlapping, whereas ifc models tend to be drawn with zero overlap - exactly the sort of geometry that causes problems for Boolean operations.

    If models are drawn with zero overlap, they can be drawn without gaps too, isn't it? In the worst case two IfcSpace will be merged.

    @agonzalezesteve said:

    What if we take the polygons of IfcWalls, IfcSlabs and IfcRoofs and intersect them? The intersection doesn't belong to a 1st level space boundary. Then, if we do XOR of all polygons, two polygons that share and edge belong to the same IfcSpace.

    I attach a script that does that in txt, because I cannot upload a py file, and a test file in ifc with an IfcWall an two IfcSlabs. It's not perfect but it seems to work.

    If we decide to follow this worklow, I would need help to define IfcSpace and IfcRelSpaceBoundary.

  2. A

    I share with you a script that's able to find the geometry of 1st level IfcRelSpaceBoundary and group them by the IfcSpace they should belong to. I've done it in a geometric/abstract way and it's time to create the ifc objects but I don't know how to do it. Some help @Cyril @Moult?

    @Cyril said:

    Clipper is apparently for 2D only. From my understanding of publications polyhedron approach is the most promising approach (CBIP revised). CGAL might have some interesting algorithm in this regard.

    I ended up using the pyclipper library because gives less errors than CGAL.

  3. C

    @agonzalezesteve said:

    I share with you a script that's able to find the geometry of 1st level IfcRelSpaceBoundary and group them by the IfcSpace they should belong to. I've done it in a geometric/abstract way and it's time to create the ifc objects but I don't know how to do it. Some help @Cyril @Moult?

    Nice. We can meet to figure this out. pm me your availabilities or join chat and mention me to make sure I see notification.

  4. C

    @agonzalezesteve I checked IFC documentation further about IfcSpace. It propose a 2D geometry representation and 3 possible 3D geometry representation. It would be great to have generate both 2D and 3D representation. 2D representation would allow to compute area and it would also be great to be able to choose at which height it has to be computed as it varies from a country to another.

    I discussed with @Moult about 3D representation. Considering you are generating faces the Body Brep Geometry is probably the best way to go. He said that in IFC4 IfcPolygonalFaceSet is better (I think this is because definition is simpler and has a smaller size) but it doesn't exist in IFC2X3 so in this case IfcFacetedBrep should be used.

    There is an example of how to generate both in BlenderBIM addon source code :

  5. L

    may be too late..because you are on your way to succeed.. from London and Creta

  6. A
  7. C

    Today we had a meeting between @agonzalezesteve @Moult and myself to talk about energy modeling in IFC / BlenderBIM addon. Here is a brief meeting report :


    @agonzalezesteve is going to work on an algorithm to generate IfcSpace from construction elements (wall/slab/roof etc…). A way using Topologic/Homemaker will be investigated. He also took administrative steps to obtain funding for these developments. Goal is a set up a full workflow for Spain standard compliant energy and life cycle analysis using BlenderBIM addon + EnergyPlus.

    @Moult will help to integrate IfcRelSpaceBoundary entities in BlenderBIM addon (hopefully in a way that will also handle other subtypes of [IfcRelationship](https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/link/ifcrelationship.htm which will help other developments like for structural and MEP analysis). He also talked about current developments which will help on this topic :

    • on modeling side : way to create an instance (IfcEntity) from type (IfcEntityType).

    • on data side : way to use connections between elements like connections between walls.

    • on visualisation side : goal to display layers from IfcMaterialLayerSet in a similar way to how IfcMaterialConstituentSet are now displayed. (See issue #1227)

    @Cyril have shown IFC entities implied in BEM and his experience/knowledge about it. He provided some example file containing IfcRelSpaceBoundary generated from Revit and ArchiCAD :

    He will try to help others in their development.


    Next meeting on 26th of May at 08:00 UTC

  8. Y

    I really want to tackle this in FreeCAD tooat some point.. But thinking of doing the other way round: users model the spaces themselves. It's possible to derive spaces from bounding walls already, but it doesn't work well (i'm interested by that algorithm!) and you usually want precise control over these spaces. It should be possible however to automatically derive surface + opening data from walls and slabs

  9. B

    If you can define all the walls, floors and roofs as faces/planes, Topologic can find spaces and tell you which walls connect which spaces. Topologic doesn't require that the edges of the faces align perfectly, but they do need to overlap to define an 'airtight' space - i.e. if you have decomposed a wall into a simple rectangle, but are not sure if there are small gaps between adjacent floors and walls, then you can simply expand the rectangle to be sure that it overlaps, Topologic will trim away the excess.

    I had the previous Perl Homemaker code generating IfcRelSpaceBoundary, but I had no way of knowing if it was correct or useful. The current Python Homemaker code doesn't have this yet, it's on the TODO list, but in principle it should be fairly easy since I start with the spaces.

    I would love blenderbim to ship with a set of beautiful procedural materials and apply them based on the IFC material.

  10. M

    @yorik the user is free to model spaces themselves, but I think it's also important to offer a "generate" function for convenience. I have tried as much as possible to always allow vanilla and manual authoring where possible.

  11. A

    @brunopostle said:

    If you can define all the walls, floors and roofs as faces/planes, Topologic can find spaces and tell you which walls connect which spaces. Topologic doesn't require that the edges of the faces align perfectly, but they do need to overlap to define an 'airtight' space - i.e. if you have decomposed a wall into a simple rectangle, but are not sure if there are small gaps between adjacent floors and walls, then you can simply expand the rectangle to be sure that it overlaps, Topologic will trim away the excess.

    @brunopostle I think that's the point. Yesterday we were talking about using @topologic for automatic generation of IfcSpaces from IfcBuildingElements.

  12. T

    One of the earliest use cases for Topologic was TopologicEnergy that automatically created energy models and simulated them in openstudio. We have published this in Architectural Science Review journal and the TopologicEnergy source code is on GitHub.

    I am itching to flesh out the ifc nodes in sverchok, I would love to collaborate with anyone who knows their IFC well.

  13. C

    @topologic said:

    I am itching to flesh out the ifc nodes in sverchok, I would love to collaborate with anyone who knows their IFC well.

    I know IFC pretty well but I have not played with sverchok. Send me a message if you want to have a talk to see if we can collaborate.

  14. A

    Merging IfcBuildingElements with @topologic and using ExternalBoundary, IfcSpaces should be Cells of the merged topology.

    I share a script with this idea.

  15. T

    @agonzalezesteve said:

    Merging IfcBuildingElements with @topologic and using ExternalBoundary, IfcSpaces should be Cells of the merged topology.

    I share a script with this idea.

    I ran it and I got the following. Is this what was expected?

    1. Space

    2. Y: 0.0

    3. X: 4.0

    4. Y: 0.0

    5. Y: 0.0

    6. X: 4.0

    7. X: 4.0

    8. Y: 0.0

    9. X: 0.0

    10. Y: 0.0

    11. X: 0.0

    12. X: 4.0

    13. Y: 3.0

    14. X: 4.0

    15. Y: 3.0

    16. Y: 0.0

    17. X: 0.0

    18. X: 0.0

    19. Z: 3.20000004768372

    20. Z: 3.20000004768372

    21. X: 4.0

    22. Y: 3.0

    23. Y: 3.0

    24. Z: -0.200000002980232

    25. Z: -0.200000002980232

    26. X: 0.0

    27. X: 0.0

    28. Y: 3.0

    29. Y: 3.0

    30. X: 0.0

    31. X: 0.0

    32. Space

    33. Y: 2.79999995231628

    34. X: 3.7999999523162797

    35. Y: 2.79999995231628

    36. Z: 0.0

    37. Z: 0.0

    38. X: 3.79999995231628

    39. Z: 3.000000022351744

    40. Z: 3.000000022351744

    41. X: 0.20000000298023193

    42. Y: 0.200000002980232

    43. Y: 0.20000000298023193

    44. X: 0.200000002980232

  16. A

    @topologic said:

    I ran it and I got the following. Is this what was expected?

    Yes sorry, is not intuitive...

    The first Space is not exactly an IfcSpace, it is the envelope of the building elements. The second one is the real IfcSpace of the IFC I have used.

    After every space, there is a list of faces with the plane to which they belong to. The geometry is parallel to the axis so printing the plane makes easier to check if it works.

  17. T

    @agonzalezesteve said:

    @topologic said:

    I ran it and I got the following. Is this what was expected?

    Yes sorry, is not intuitive...

    The first Space is not exactly an IfcSpace, it is the envelope of the building elements. The second one is the real IfcSpace of the IFC I have used.

    After every space, there is a list of faces with the plane to which they belong to. The geometry is parallel to the axis so printing the plane makes easier to check if it works.

    I will try to visualise it using Topologic-Sverchok. Stay tuned :)

  18. T

    So here is what I got. This CellComplex has only one Cell??

  19. A

    No> @topologic said:

    So here is what I got. This CellComplex has only one Cell??

    No, there sould be three (two IfcSlabs and one IfcWall).

    The Cell of the image is the bottom IfcWall.

  20. T

    @agonzalezesteve said:

    No> @topologic said:

    So here is what I got. This CellComplex has only one Cell??

    No, there sould be three (two IfcSlabs and one IfcWall).

    The Cell of the image is the bottom IfcWall.

    The script is not quite right then. Here is what I get with a much simpler script:

  21. A

    I achieved reading the IFC from BlenderBIM and drawing IfcConnectionSurfaceGeometry in Blender using topologic but I don't know how to send this info back to the IFC file. @Moult @Cyril how should I create this entity?

    @topologic FaceUtility.AdjacentCells is not working and I cannot obtain the relating and the related elements.

  22. C

    @agonzalezesteve Sorry for delay I hoped an answer from @Moult then I forgot xD. I do not know very well all geometry panel available in IFC so I don’t know what it is the best way to store it. What I know :

    • Revit stores it as IfcCurvedBoundedPlane made of an OuterBoundary of type IfcPolyline and 0 or more InnerBoundaries of type IfcPolyline.

    • ArchiCAD stores it as IfcCurvedBoundedPlane also but with OuterBoundary/InnerBoundaries of type IfcCompositeCurve which is made of multiple IfcCompositeCurveSegment

    • IfcCurvedBoundedPlane coordinates are always flat (X/Y plane). BasisSurface is used to store transformation which allows to give relative placement of the boundary to the IfcSpace location. So if you produce geometry without taking IfcSpace placement in account everything will be close to 0,0,0.
  23. E

    I tried, but without success. I had exported from Revit to IFC and used IFC uploader, then the open BIM analytical model. That part worked, but my end goal of doing heat/cooling load calcs did not work once I tried loading within CYPETHERM loads. Have you tried? I was hopeful that there was an avenue to bridge BIM to BEM via IFC.

    @agonzalezesteve said:

    Has anyone used Open BIM Analytical Model from CYPE?

  24. A

    @edwinguerra said:

    Have you tried?

    No, I'm not a CYPE user.

  25. T

    @agonzalezesteve apologies for the extreme delay. I will look into it and report back.

  1. Page 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6

Login or Register to reply.