Suppose I'm given a shape with a Voronoi pattern, such as this lamp. I'd like to be able to add a "skin" which covers the complete shape on the inner surface so I could print it with translucent material to produce a more-or-less uniform glow. Here's an example of what I'd like to end up with: tea lamp shade. Any ideas on how to reverse-engineer a Voronoi object?

  • 1
    $\begingroup$ I will rather ask on blender forum or pure 3dGraphics, as this is a very hard question - there are a few google responses when you search for 'reverse voronoi' , but I am not so deep it 3d modeling to suggest anythig. $\endgroup$
    – profesor79
    May 14, 2018 at 12:39
  • $\begingroup$ I think blender might be the best application to accomplish your objective. With my limited knowledge of the software, I can only envision manually skinning each hole, but there has to be an easier way to accomplish your task than that. $\endgroup$
    – fred_dot_u
    May 14, 2018 at 16:02
  • $\begingroup$ @carl-witthoft With any program than can edit your STL file and adding a mesh to the inner surface. Few years ago (18) I was using 3Dmax to create some models and adding meshes to create skins or textures, you can find any tutorial to use it easily. $\endgroup$ May 15, 2018 at 19:04
  • $\begingroup$ @FernandoBaltazar thanks for the pointer. If you could post up a simple example or "steps to follow" as an answer, I'll accept it. $\endgroup$ May 16, 2018 at 12:46

1 Answer 1


I posted this to an Autodesk forum, and a fellow named "MagWeb" proposed the following solution. I have not tried it yet.

A possible workflow depends much on the overall shape of the voronoi object: If it's convex all over (like an egg) or convex and planar (like a cylinder) e.g:

  • SelectAll (Ctrl+A or Cmd+A on MAC)

  • Run Edit/FitPrimitive and set its PrimitiveType to ConvexHull (CreateNewObjects checked)

  • Run MakeSolid on this hull object and set its SolidType to Accurate. Accurate enables the OffsetDistance slider. Pull it down a bit and hit update. You want to get a result intersecting but showing the voronoi object. If needed adjust the offset. Finally accept.

  • Now activate both the voronoi and the MakeSolid result and run BooleanUnion

  • Show the FitPrimitive object again (MakeSolid did hide it before) and run MakeSolid again in Accurate mode. Now set a slightly bigger offset as you did before. The difference will determine the "lining's" thickness. Accept

  • Activate the BoolleanUnion result first and the last MakeSolid result and run BooleanDifference to get a hollow object. You might use another intersecting object to bool-off an opening the bottom.

Harder but doable with a different workflow on an voronoi object owning concave regions...


Having run some trials, I can confirm this works for simple convex objects. If there are concavities, most likely the source shape needs to be chopped into sections each of which can be treated as convex.
I played around with Meshmixer's "apply pattern" functions with limited success. I could get a form-fitting pattern shape but with a rather uneven surface. Some fine-tuning of the pattern parameters may help. Note that the new shape tends to be as thick as the original voronoi object, so it may well be better to do something like the following:
1) create a duplicate of the original
2) shrink the duplicate by a few percent
3) align the two objects to a common origin and take the boolean difference to create a thin-wall version of the original.
4) Build the pattern object based on that thinwall object.

edit number 2

I succeeded! For those who care, I took an open Voronoi glasses case and put a skin inside to protect your glasses. See this Thingiverse item

  • $\begingroup$ The thing you linked shows up empty, no preview :( $\endgroup$
    – 0scar
    Jul 31, 2018 at 12:38
  • $\begingroup$ @0scar Yeah, I don't know what Thingiverse did wrong. I've tried to edit but the STL images don't show. I'll add an actual photo one of these days. $\endgroup$ Jul 31, 2018 at 13:47
  • 1
    $\begingroup$ @Trish Amazingly enough, I found the forum page - now linked in my answer. $\endgroup$ Oct 25, 2018 at 13:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .