algorithmic modeling for Rhino
Hello,
I know this is a popular topic but I am still having trouble creating a planar hexagonal surface on a compound curve. I watched someones video on how to do it with kangaroo however it really didn't work for me. Does anyone have a good, straight forward solution/ approach?
Attached a what I am trying to achieve which was done in Rhino w/o parametric capabilities.
Thanks.
-Colin
Tags:
After using a complicated script to do this work in 3D with ball cutters via Boolean difference, I thought to try first making the entire relief form flat first, to morph the flat structure onto the NURBS cup surface, and boy oh boy did it ever work more uniformly than using 3D orb cutters on a 3D cup. Different sized spheres return the *same* hex grid only less and less raised up as the spheres get very large.
My first question is whether these are different in character or just in Z scaling, so if I rescale them all to the same Z thickness, after extracting only the relief structure via Boolean union and splitting...and they are only *slightly* different in character, which means mere Z re-scaling of a single moderate ball size relief is an appropriate cheat to avoid slow Boolean union re-making each relief Z scale with different sized balls.
The one on the right is a very shallow relief scaled up to the same Z thickness as the pure sphere one on the left. And really, we will be mostly scaling *down* from a thicker master surface so that will attenuate any weirdness in the curvature. Indeed, I see no difference, so it makes sense to only archive the thickest one so we can control the full range of thicknesses, all the way to nearly flat bulbs. Here is the thickest one, just before the balls lose holes between them, scaled down compared to a shallow one made with huge balls to start with:
Now we just use Rhino Flow Along Surface or the Grasshopper Jackalope plug-in Sporf to morph this flat system onto our lathe form.
With Rhino history for the Flow Along Surface step I can rescale the original in Z and wait twenty seconds to see the update:
There are sad edge artifacts that will require some strategy to retain or later delete a whole row:
Maybe add more geometry to later delete or make a solid to hold stuff together?
So vastly decreasing the cell count and changing grid direction to match your cup:
The edges came out fine on this one, happily. The isocurve count has been increased by the Flow Along Surface command:
It can't be filleted yet since the joint where the cup NURBS surface has a joint now leaves feathery edges, so I went back and duplicated the border of the flat array, offset and lofted to make a protecting surface:
But that gave crazy artifacts:
I'm just going to use symmetry to fill in the joint with good faces that are not having to be joined as two halves. I had to turn my Rhino units tolerance down from a silly 0.0001 to 0.01 units to get a good re-join, but it still won't fillet without leaving holes.
SO LET'S FILLET THE FLAT THING. Same problem but a bit faster, and actually repairable manually. Rhino 5 is buggy as hell with core commands, damn it. This is not world class behavior.
Let's try it in Rhino 6 WIP, our great hope of the future: nope, the same. I had to simply manually copy the missing pieces from where it did work, which at least is easy to do in flatland. Now I get a cup:
This can *all* be done quickly in Rhino without Grasshopper, and Rhino affords you fast cage editing of the original flat array that Grasshopper cannot yet do. You just need to use Analyze Direction to be able to swap UV directions of the source or target and flip the source surface to achieve concave vs. convex patterns.
Grasshopper doesn't even have a fillet (multiple) edges component so there's not a lot of advantage to having some super slow parametric system via Grasshopper. It's not like you'll be able to see the changes fast enough to tweak a design.
I get the impression Rhino has been falling down the same rabbit hole, to join AutoCad. If Rhino is capable to climb back up to say, " What's up Doc " There wont be anyone left to hear the call, much less care! Lets hope the next generation of users wont get infected. :)
I can even take the patch spans down to only 2 and it becomes very fast, as if 53ms (milliseconds) and the final native Rhino filleting is also considerably faster.
It's a blast helping pull Grasshopper kicking and screaming into the industrial design market, meaning the world of real and efficient NURBS surfaces. The Grasshopper patch component was broken and there was no blend component until I made one in Python, simultaneously with Tom Jankowski.
http://www.grasshopper3d.com/photo/advanced-surface-tools-plug-in?c...
I vastly prefer to release things as Python, also minus the cult of object oriented programming, so others can tweak them, Python being layperson readable.
Are you doing NURBS math or cheating by hacking things together with curves and then letting Rhinocommon do the math?
Colin blundered into this strategy for subtlety faceting surfaces, as he struggled manually in Rhino, but I find it fascinating how forcing lines onto a curved surface, then patching the non-planar line-based cells, gives a beautiful ceramic cup I one day hope to find cheap in Chinatown.
A clear answer is to see God better, thanks.
What is a pointer?
I was able to get it to work with shallow curves, not with deep one, including covering an inflection point and curve reversal. Use Dan Piker's planarization, and play with the input variables. And yes, indeed, surfaces are flat to 0.001", you can walk a straight edge around the surfaces and they are flat. Here it is 3d machined in 6061 aluminum, 20" long, 12 " wide, about 1" deep
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by