Cutting many openings into solid object - how would you do this?

Hello everyone. I’m working on the design of the leg prosthesis cover, which will be 3D printed. This is how it should look like.

Here is my grasshopper definition. leg_DIAMONDS.gh (448.1 KB)

The biggest challenge is to create smooth object with openings while still keeping my definition somehow “light”. Could you, please, help me solving this problem? I tried more approaches:

  1. Create surface, offset surface, fillet edges and subtract “diamonds” from it. This “diamonds” are created by using Lunchbox.
    This is computationally heavy and is permanently crashing Rhino. It only works after baking objects into Rhino and subtracting it there (why this doesn’t work within Grasshopper, by the way?) (it still takes few minutes). But this somehow destroys my parametric workflow. And still, I need to get fillet edges, which is way too heavy…

  2. Create diamond surface using Lunchbox, create mesh, thicken this mesh and soften edges (using some subdivision loop). I am not much using meshes in my workflows, so I see that this approach returns much better results measured by computational time, but I can’t achieve as smooth object as by first approach. There are probably ways how to smooth mesh correctly, but I tried many (WB, Kangaroo smoothing…) with no satisfaction. Edges look too sharp or wierd, messy and jagged.

My ideas:
a) Stick with surface approach, but prepare everything in GH, then bake it and run final booeanDifference in Rhino (to get final product with no need to parametrize it more - this is how I did the sample)
b) Create single surface mesh, cut openings, thicken mesh and smooth only “sharp” corners, if this is possible (?).
c) Do the same but instead of smoothing, try to get some good results with Cocoon (or similar plugin).

Any help or comments welcomed. Many thanks!

Hello Petr,
there were some discussions here about that topic, I found this one searching for “arm cast” with a gh-def from @HS_Kim:


It uses the Weaverbird plugin, so you might have to install it. Add .gh to the filename “Morphed” after downloading.
He uses Surface Morph component which is much less “heavy” than doing boolean operations.
HTH
Ferry

I’ve made quite a few 3D printed parts with holes. For your leg geometry I’d say meshes are the way to go - your option b. There are several reasons for this:

  1. As you have found out, the SDiff function requires a lot of CPU time. For as many holes as you have, this will make development a very slow process.
  2. Even if you got the SDiff approach working you’d still have sharp edges around each hole. That will lead you to the filleting problem, about which there are lengthy threads here already - see this one in particular: Variable fillet in GH?.
  3. There are several ways to smooth mesh edges; I’ve seen some really nice looking results that started with simple polygonal patterns on curvy surfaces. I don’t use meshes myself and I don’t know much about them, but there are people here who do.
  4. 3D printing is really mesh printing, so you may end up with better results if your entire development is done with meshes.

PS: I tried your GH file but I could not get it to display anything. It loaded OK and looks fine in GH, but I couldn’t get anything to show on my Rhino screen.

Thanks for suggestion. I am using edges and isocurves as attractor, so this approach is a bit complicates as I should first “unroll” surface using the same UV characteristics. And I am not sure how to achieve that. Or maybe evaluate original surface and then match the same data to “sample” surface dedicated for morphing? I will try this and compare results.

What I tried is Dendro plugin. Here are some promising results. It’s work in progress, the resolution is not satysfying yet:

  1. convert meshed surfaces to Dendro volumes.

  2. subtracting volumes is much much faster … actually, I was really impressed by the speed

  3. smoothing volume, converting back to mesh and … here is how it looks

The result is still not as smooth as I need. This HP 3D printer that we are using has amazing precision and this would be visible. But … let’s keep on trying. I will also try to “thicken” meshed surface with cut-outs already trimmed.