Infill for 3D mesh

198 views
Skip to first unread message

Mddt

unread,
Oct 25, 2020, 9:33:26 AM10/25/20
to OpenVDB Forum
Hi,

I'm trying to use OpenVDB to create infills for a 3D mesh. By infill, I mean such a thing like below, not exactly like this, but roughly. Any infill shape is fine:

2020-10-25 11_38_14-Window.png

Inspired by this video I can use Houdini to play around with OpenVDB tools available. I have gone this far in the process:

1. Import 3D mesh
2. VDB-from-polygons tool is used to covert 3D polygon mesh to VDB voxel field
3. VDB-to-spheres tool is used to fill VDB voxel field with spheres
4. Change the sphere radius size
5. Increase the sphere max number
6. Remove the sphere overlap

Having gone through steps 1 to 6, I will have such a result:

2020-10-25 16_51_59-Window.png

At this point, I'm looking for an OpenVDB tool to create these blue lines out of spheres:

2020-10-25 12_26_32-Window.png

In the above photo, I have spheres and I intend to get the blue lines (roughly, not exactly). What OpenVDB tool will help me to achieve this goal?

I think, I would need an OpenVDB tool to remove (inactivate) spheres (filled/active voxels) and create (activate) voxels in empty space in between. Not sure!

I appreciate any help =)

Vojtěch Bubník

unread,
Oct 26, 2020, 1:58:06 AM10/26/20
to OpenVDB Forum
I suppose the purpose of the exercise is 3D printing. When we are at it, we need to perform a somehow similar task:
We need to produce a Voronoi segmentation of a model volume based on the segmentation of the model surface. The task is a multi-material 3D printing based on surface segmentation.
We appreciate any hint as well :-)

Ken Museth

unread,
Oct 26, 2020, 4:53:15 AM10/26/20
to openvd...@googlegroups.com
What you guys are looking for is a so-called Power Diagram derived from the variable sized  spheres. Conceptually this is a weighted Voronoi diagram, i.e. a biased partitioning of space into convex cells with the spheres at the center. Unfortunately OpenVDB does not offer this functionality but it shouldn’t be too hard to implement. We could potentially add it to the library in the future but for now you're on your own.

Cheers,
Ken
Reply all
Reply to author
Forward
0 new messages