You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have found out in certain cases MeshOps::retriangulateMeshSetForExport produces different (and wrong) result in each run.
While I am not certain if that is a bug in the triangulation or perhaps in loading in CSG (as the bugs are wall openings), as iterating one single face (result of geometry converter without invoking triangulation) produces non-planar 3D representation, which has ambiguous surface, therefore the triangulation can't be properly done.
Consider this mesh consisting of single face which produces incorrect result:
There is no way of telling which part of the mesh should be filled, which I believe causes the bugs:
This repository is more or less archived.
If you need support or customization for existing projects, it is still available (please contact info at ifcquery.com)
For new projects, I recommend Web-ifc, since it fulfills the same purpose, plus the ability to run in WASM, see (https://github.com/ifcquery/ifcplusplus).
@ifcquery Thanks for the response, I'll give it a try and rewrite the current code into the webifc library, I was at first concerned that I will have to deal with JavaScript and such, but it seems like the "web" part is just a scarecrow and it can be used as a standalone C++ library, and the issues I have mentioned seem to be fixed there.
Activity
mezlondr commentedon Jun 23, 2025
Possible Workaround just in case anyone has the same issue and needs quick fix, it helps if you disable MeshSimplifier.
Go to MeshOps.cpp, find
MeshOps::simplifyMeshSet(line ~890) and change these lines:ifcquery commentedon Jun 24, 2025
This repository is more or less archived.
If you need support or customization for existing projects, it is still available (please contact info at ifcquery.com)
For new projects, I recommend Web-ifc, since it fulfills the same purpose, plus the ability to run in WASM, see (https://github.com/ifcquery/ifcplusplus).
mezlondr commentedon Jun 25, 2025
@ifcquery Thanks for the response, I'll give it a try and rewrite the current code into the webifc library, I was at first concerned that I will have to deal with JavaScript and such, but it seems like the "web" part is just a scarecrow and it can be used as a standalone C++ library, and the issues I have mentioned seem to be fixed there.