and then I saw a photo of the Chinese Olympic’s Ice Skating pavilion - the one with the large rectangular puffed outside panels. So I thought I’d try using puffed up hexagons instead of rectangles for a somewhat different shape.
I learned how to make a puffed up hexagon like this by using Kangaroo:
(es, I used different values for Kangaroo’s Pressure parameter for these results.)
The problem I had with both of these was the very long times my Ryzan5 based PC took to show the results on my Rhino screen. It actually never showed anything - I got impatient and cancelled it after several minutes of no visible results.
My new final shape uses 840 of the puffed up hexagons, and I figured the problem was the total number of squares or triangles produced by the mesh ==> Brep processes. So I proceeded to make my own approximation of a puffed up hexagon using 6 Loft surfaces that looks like this:
Clearly not as nice as the smooth Kangaroo one, but Rhino rendered it in about a minute and was able to export my final result as an STL file in around 20 seconds. It’s a 14 hour print in process now but looks pretty good so far:
Obviously I know nothing about how Rhino’s internals work, but it’s pretty clear to me that Breps are the way to go for making any geometry that has lots of individual parts. I reckon I could find a way to be more patient if I had a real job to do this sort of thing, but since I don’t that’s not going to happen.
Now if only there was a way to smooth out those sharp edges…
Here’s a quickie I whomped up containing all the geometry etc. I disabled the SrfMorph so the GH file would load quickly. Here’s what the Geo objects are:
Kangaroo output: a puffed 2D hexagon that’s what I started with but never let SrfMorph run to completion
Puffed Brep: The results of converting the Kangaroo meshed output to a Brep
Loft Cell: The 6-loft cell I made to approximate the Kangaroo output
WavyPlanter2: the 2 Loft surfaces (outside & inside) that define the final result. The Item component picks only the outside surface for the SrfMorph to arrange the puffed cells on.
When SrfMorph is enabled my system takes 9.9 seconds to complete. When I select it it takes about 25 seconds to display on my Rhino screen. My PC has 2 screens - one for GH and the other for Rhino.
I’m guessing there is no easy solution to this, but hopefully I’m wrong about that.
Good grief Daniel, your solution is (for me at least) simply mind boggling. I get that you are a McNeel person and are aware of things I could never even dream of, but how you figured that out is just amazing. I don’t know that I’ll ever understand exactly why it all works, but I’ll have plenty of things to look at for quite a while now.
A couple of notes on some details:
I see how Trimesh works and therein lies a bit of trickiness that I’m not sure how to deal with yet. The issue is the reverse curvature my base shape has. When I combine your method with my base geometry I get this:
Fixing that gap closes both the top and the bottom, so something else has to be done.
The good news is your solution can be Capped. I was surprised that doing that results in a Closed Brep, which means I can easily SDiff the inside shape and get a nicely printable result:
The top edge looks a little wonky in places, but reducing the size of the hexagons a bit will minimize that. It should be fairly easy to come up with a good compromise.
Finally, I do miss the regularity HexGrid gives the final result, but what I’ll probably do is post both results so people can decide which one they prefer.
Thanks again for your truly elegant solution - I guess that shows what is possible when you really know what you’re doing.