I use the attached nodes to:
1. Import an STL file [upload.wikimedia.org]
2. Convert the STL triangles to voxels by OpenVDB.
3. Convert the voxels to iso-surface polygons by OpenVDB.
4. Save the iso-surface polygons as a new STL file.
When the voxel size is smaller, then the iso-surface polygons are all connected. But when the voxel size becomes larger, then some iso-surface polygons are disconnected as separate components. This is an expected behavior, since the eight corners of a large voxel might not reflect the change in the signed distance field. For example the eight corners may have the same sign, but the signed distance field is actually changing within the large voxel.
The screenshots are attached.
By any chance, is there a trick or workaround to force the connectivity of the iso-surface polygons even if the voxel size is large? Just curious.
Converting voxels to iso-surface polygons
806 2 1- megiddgit
- Member
- 7 posts
- Joined: Nov. 2019
- Offline
- Aizatulin
- Member
- 495 posts
- Joined: July 2005
- Offline
As you have already described, if the voxels are too large, they are not able to determine between thin connections and no connections. If you only have this information, there is no chance to reconstruct a connectivity, because it is not even clear that a connection exists.
Edited by Aizatulin - Feb. 13, 2024 10:49:48
- megiddgit
- Member
- 7 posts
- Joined: Nov. 2019
- Offline
-
- Quick Links