Replies: 1 comment 4 replies
-
|
Thank you @soigniert — I will look into this. It should not be hard to add that to the Voxel to Mesh functions. Also the mesh simplification algorithm looks like something that I could add the the C++ code. I am working on the 2.x kernel anyway these days, so I'll probably just go ahead. Best, |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
-
Dear Josefine and Lin,
First of all, I would like to thank you for your outstanding work in computational engineering, and for keeping it open and accessible. PicoGK is slowly pulling my attention away from intensifying my knowledge of design engineering with grasshopper, which I have done for the past six years, as the benefits of object-oriented computational engineering become more visible and unavoidable to me.
I have now used PicoGK for some recent projects to handle the "heavy work" of Boolean operations and voxelisation, and it has performed well. I have also recognised the limitations of .vdb (Paraview) and .stl processing when working with small voxel sizes.
Mesh: In Parview and MeshLab, one can apply the "QuadraticDecimation" filter to reduce the mesh size. MeshLab points out that this was developed by M. Garland and P. Heckbert in Surface Simplification Using Quadric Error Metrics (pdf) in Proceedings of SIGGRAPH 97, and has many well-known and widely used implementations. (I found the "best" to be this.).
VDB: To avoid large meshes, I use Paraview to process .vdb files. However, this fails for me with ~1 GB .vdb files. Paraview then only loads a portion of PicoGK.Voxels with values. At a certain height all the values become -3, but this is definitely a Paraview issue since the same file can be loaded back into PicoGK without any problems.
I'm also aware, that openVDBs volumeToMesh() takes in an "adaptivity" value, which can also reduce the face count by combining neighbours. See an exaple attached. The following table indicates the mesh face count depending on voxel bandwith (in PicoGK it set to 3? - maybe this could also get a user defined value as voxel size?) and adaptivity:
Since I'm not familar with cpp, I would try to build a PicoGK-FQMS bridge app for now, with some coding agent, but as far as I see a native implementation or using openVDB's method would be better.
So my request is all about the possibility to implement one, both methods or your own method, in order to process the geometry with high resolution but then outputting a reduced mesh, making storage and slicing more convenient.
Best
Alex
(tagging @eflehder1 , since he also raised the question about file sizes )
Beta Was this translation helpful? Give feedback.
All reactions