-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Texture support in BIM files #391
Comments
@carmenfan , I'm getting close to testing the solution with with the BIM003 file generated by the plugins. Could you point me to some BIM001/BIM002 files I can use for unit testing? |
@carmenfan Is there reason that we are casting to float here, even though we may have 64bit verts? I noticed that there was no makeMeshNode for 64bit verts are they not supported? |
Every single renderer in the world seems to work on 32bit vertices so there's no point storing them in 64 bit (would double the memory usage and we'd have to end up casting it down before sending it to the renderer), so we store it in 32bit. However, a lot of CAD software works in crazy values (like 1e6-1e7) due to the fact that they work in some form of world coordinate system, so they need 64bit representation at import to preserve the precision. Luckily they don't use the whole scale of the number range. So we calculate the world offset (minimum point within the model) and subtract that off every single vertices. This way the numbers become significantly smaller to the point we can preserve the precision using 32bit values. So this is what is going on on that line. |
I thought we had some system test setup for .bim but it looks like I was imagining things.. 😆 If you install the current release version of the plugin you should be able create BIM002: this is 2.8.0, which should produce BIM001: (EDIT: this predates navis 2021 so you're going to have to installer an older version of navis for this) https://www.dropbox.com/s/gghy33rnsh7yela/%5Bv2.8%5D%203D%20Repo%20Navisworks%20Plugins.msi?dl=0 Make sure the files are relatively small (like a cube or something) so Travis doesn't take forever. While you're at it, if you create some system test as well (can use the same model files, that's fine), that would be great too (in st_3drepobouncerClient.cpp) |
…'t break things as fin get reset by the end of the function)
…ng paths for compatability with Unix.
…on, so explicitly included the relevant for for error codes
…string char pointer. putting the variable memory on the stack is it is not used elsewhere.
Dev tasks
Preparation
Bouncer dev
Assumptions
Questions
Observations going through this issue
Related ticket
see https://github.com/3drepo/3drepoPlugin/issues/105
Reference
Wiki page for the file format descriptions
The text was updated successfully, but these errors were encountered: