A
by agonzalezesteve on 29 Dec 2020
#
@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.
A
by agonzalezesteve on 13 Jan 2021
#
+1 votes
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.
C
by Cyril on 14 Jan 2021
#
@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.
C
by Cyril on 16 Jan 2021
#
+1 votes
@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 :
L
by lukas on 16 Jan 2021
#
may be too late..because you are on your way to succeed.. from London and Creta
A
by agonzalezesteve on 19 Mar 2021
#
+1 votes
Has anyone used Open BIM Analytical Model from CYPE?
C
by Cyril on 19 May 2021, edited 19 May 2021
#
+6 votes
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
Y
by yorik on 19 May 2021
#
+1 votes
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
B
by brunopostle on 19 May 2021
#
+2 votes
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.
M
by Moult on 19 May 2021
#
+1 votes
@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.
A
by agonzalezesteve on 20 May 2021
#
+3 votes
@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.
T
by topologic on 20 May 2021
#
+3 votes
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.
C
by Cyril on 20 May 2021
#
+1 votes
@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.
A
by agonzalezesteve on 28 May 2021
#
Merging IfcBuildingElements with @topologic and using ExternalBoundary, IfcSpaces should be Cells of the merged topology.
I share a script with this idea.
T
by topologic on 28 May 2021
#
@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?
-
Space
-
Y: 0.0
-
X: 4.0
-
Y: 0.0
-
Y: 0.0
-
X: 4.0
-
X: 4.0
-
Y: 0.0
-
X: 0.0
-
Y: 0.0
-
X: 0.0
-
X: 4.0
-
Y: 3.0
-
X: 4.0
-
Y: 3.0
-
Y: 0.0
-
X: 0.0
-
X: 0.0
-
Z: 3.20000004768372
-
Z: 3.20000004768372
-
X: 4.0
-
Y: 3.0
-
Y: 3.0
-
Z: -0.200000002980232
-
Z: -0.200000002980232
-
X: 0.0
-
X: 0.0
-
Y: 3.0
-
Y: 3.0
-
X: 0.0
-
X: 0.0
-
Space
-
Y: 2.79999995231628
-
X: 3.7999999523162797
-
Y: 2.79999995231628
-
Z: 0.0
-
Z: 0.0
-
X: 3.79999995231628
-
Z: 3.000000022351744
-
Z: 3.000000022351744
-
X: 0.20000000298023193
-
Y: 0.200000002980232
-
Y: 0.20000000298023193
-
X: 0.200000002980232
A
by agonzalezesteve on 28 May 2021
#
@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.
T
by topologic on 28 May 2021
#
@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 :)
T
by topologic on 28 May 2021
#
So here is what I got. This CellComplex has only one Cell??

A
by agonzalezesteve on 28 May 2021
#
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.
T
by topologic on 28 May 2021
#
@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:

A
by agonzalezesteve on 29 Jun 2021, edited 29 Jun 2021
#
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.
C
by Cyril on 6 Jul 2021
#
@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
.
E
by edwinguerra on 8 Jul 2021
#
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?
T
by topologic on 9 Jul 2021
#
+1 votes
@agonzalezesteve apologies for the extreme delay. I will look into it and report back.