Closed KevinFournier closed 4 years ago
Are there any warnings generated? Xplorer will show a small icon in the bottom toolbar if there are any. Clicking this will show the logs
Kevin do you have a sample file that we could reproduce this with please?
Andy,
Yes, there is errors in the "old" version of xBimExplorer but they do not seem to impact the geometry. In the build version, however, there is only warning but the geometry is affected. Here is few images:
Build version, with warning, missing geometry:
Exe version, with errors
Steve,
I can provide you the file I used in the previous example.
I tried with another file (that I can’t show nor share, unfortunately). In this one, there is also missing geometry when I reconstruct the geometry in Unity but it doesn’t seem to have missing geometry in both xBimXplorer I used. This file is much bigger, however, and some parts could be missing without notice (There is obvious missing of geometry part in my read and reconstruct app).
I am waiting for more file to be given to me for further testing. I should have more information by the mid of next week.
Kévin F.
EDIT : There is no warning nor error log with the second file I used in both xBimXPlorer versions. Unless I got other files to invalid this, I think the problem come either from the file quality or/and my misuse of Xbim in my app.
Thanks Kevin I will have a look, it looks like a problem joining the curve segments up, I thought I had recently made this more reliable, but maybe something got broke, I will explorer and get back to you
Kevin I have found and fixed the problem with this model. Its a good exposure of a quite difficult edge case. Thanks for taking the time to publish it. Basically there are three issues that caused this omission of geometry, they are all in IfcCompositeCurve #1315. 1) The model you have is not respecting the tolerances specific in the representation context, specifically the Composite Curve eighth segment is 2.3395e-4 from the end of the previous segment (seventh), the model precision is 1e-5. This may seem small but it happens to make a great difference in the next condition 2) The composite curve is self intersecting, the first segment wholly overlaps with 7th segment, whilst legal for a composite curve it is not legal for the swept solid it represents. This plus the tolerance issue meant that xbim found the nearest point to be the end of the first segment and as this resulted in a non-manifold wire it gave up on the rest. 3) Finally, the xbim wire builder used OCC wire maker which by default when adding segments to a wire hooks the start or end of segment to any nearest point of the rest of the composite curve, Hence the wire was not contiguous or manifold. I have now changed the code so that it gives priority to the start or end of the composite curve, not just the nearest.
Thank you Steve !
Hello,
I have encountered an issue when trying to reconstruct the geometry from an ifc; some parts of the model are missing.
Context: I am making a .Net application to send the data of an ifc file through the network and read it in another application (Unity3D) to display the model and information about it. I do not know the process of creation of the ifc files I work with and the files could come from any Bim related software.
What I have done: I tried to visualize the ifc file with XbimXplorer:
The parts missing when I use the data send over the network and the one on the built version of XbimXplorer are the same. Here are some images to illustrate the previous explanation and the assemblies use to build XbimXplorer on my computer:
Downloaded XbimXplorer:
Built XbimXplorer:
Assembly details of the built version:
I have found a workaround to my problem by using the version 5.0 of the Xbim NuGet packages (essential and geometry) instead of the version 5.1
I currently use those packages:
When I update to version 5.1.xxx, the missing parts are missing again.
The error may still be on my side because I am new to Xbim (and bim) and might have done something wrong when reading the geometry data. I am sorry for the disarrangement if that's the case.
Regards,
Kévin Fournier