Hello Community, I need your help and thank you in advance.
I’m currently working on a very large number of IFC files that contain wall geometry (IfcWall). The goal is to automate the modeling of this geometry (extraction from the IFC). The issue is that this geometry carries no information other than the IFC class, and on top of that, it’s a single solid meaning that all the geometry visible in the screenshot represents just one solid. I tried extracting the contour lines to group them and find the medial axis, but the result isn’t satisfactory at all.
Do you have any ideas? Any leads on how to decompose this solid?
if it comes from an IFC it should have walls, or there should be another IFC with the walls in it. You’re losing the data that defines each of the ‘blades’ in your tomato(?) cutting tool analogy.
It’s not a standard IFC exported from a BIM software; it’s a file coming from an application called Abyla. In the tool, there are 2D plans, and at the moment of the IFC export, it retrieves the boundaries of the interior rooms and the exterior rooms; the gap between the two is the walls (solids, not native walls). When there is geometry, it works fine, and I managed to convert them into Revit walls. However, sometimes the tool bugs out and only outputs rooms. So when doing the extraction, I end up with a single solid and I can’t manage to break it down.
Step 1 is to let the company know their exporter is broken and need to be addressed. No reason you should be chasing what you are on account of their error.
Step 2 is to check their documentation to see if there is a known reason why the exporter doesn’t work sometimes, and if not do some analysis and experimentation on your own. The goal is to get to the point where you can ‘disable’ the stuff which causes the failure before you export.
Step 3 is to move into finding a way to extract good data from the bad. This isn’t an ‘easy’ thing as you’ve got a TON to deal with, and honestly the ‘configurations’ of the tools which I’ve seen to attempt this are significant enough of a lift that it often isn’t worth the pain. A ‘loose’ extraction is sometimes possible, but the configurations of it vary rarely scale well. This is why steps 1 and 2 are so important, but there is certainly a fit for the partial automation. Posting a sample IFC as @c.poupin noted is likely a requirement for anyone to help as otherwise we’d have to fight reproduction of your dataset.
Thank you for your response, and especially you, @Jacob, thank you for your constant availability.
Indeed, the tool we use to extract the IFC is an old tool that was sold to another vendor, and they have not planned to develop it further. They don’t even take into account reports of the tool malfunctioning, as this falls outside the scope of the missions mentioned in the contract. Our goal is to retrieve the IFC and model the buildings, and since we have a very large number of them, we are looking for a way to automate this task.
Can you post a sample IFC so we can have a look at the options? Might be that the data is there but not complete causing it to fail to be recognized by modern readers (a lot of IFC exporters manage to fall into that trap).
Ok this is an odd result… Too bad you can’t get them to patch it. I’ll think over some paths forward for you, but ‘complete automation’ of this task is likely not possible without building your own IFC file parser (which may in fact be the best path forward).
Since the IFC file contains only IFCSpace elements (no IFCWall elements), I’ll start by extracting the boundary lines of the IFCSpace elements and then group them by direction and distance, much like we would with a DWG file.
arhh thats the case, then i would try what @c.poupin suggest in other post with wall by profile, here is a fast test on one level, on your file…can maybe work
Thank you for your response. I’m aware of this solution, but the problem is that my case is different all my walls are defined by the empty space between two or more spaces
arhh yeah have admit i wasnt so deep in it…hahaha, then try get these spaces perimeter curves and group then by direction, distance and loft them as surface and then create an isoline by 0.5 on them for placement if you mean for interior walls…just an idea, maybe
I got a part of the way though this, but found the IFC data too convoluted to bulk process. I don’t think automation can save the mismanaged data here as every project is going to be broken in it’s own way. As such you likely should review other options for export (DWG, GIS, etc.) before you begin.