Generative modeling – grasshopper

In the past week, I’ve been doing some early explorations of generative modeling. In my case, I’m using Rhino 5 with Grasshopper. I have to admit that I’m still a bit stymied in terms of finding a _good_ use for it beyond adding some weird detail to surfaces.

If you want to see some examples, check here.

For whatever reason, I set out to build surfaces from joined spheres. It makes an interesting surface.. kind of like lizard skin or some such. Initially I was assigning a random 3D pointfield to a cube (which is the default shape for Grasshopper’s 3D populate) and then using those as the center point of a sphere of random size. It’s pretty, but limited in usefulness.

gen

Sphere-ish object generation with Grasshopper.

I really couldn’t wrap my head around a way to limit the point field to a non cube object, (I suspect I need to use “inside” and then “cull”) so I decided to do it by surface, which seemed like it would limit the number of spheres. (good for processing time)

Sphere surface

Sphere surface

Next I started putting in whole objects. I ran into a problem where the random generator started making the same number a lot, but with the help of my prof, it now works reasonably.

Input and Output

Input and Output

It’s not perfect, but it’s pretty close to what I want. The next step is using this for another project – I’m doing a bronze casting, and thought that this kind of form would be perfect for it. These kind of shapes aren’t great for a lot of manufacturing techniques, but casting should work well.. the only problem will be cleaning up my initial model. It will be a 3D print of this form, and in the nature of the prints from the 3D printer at school, it will be very grainy. I’ve really not come up with a good way to sand a sphere yet…

Anyhow, I think the object I make is going to be a drum lug – a part of a percussion drum that allows the head to be tightened down. see illustration.

Drum Lug

Drum Lug

I figure I can have 8 or 10 of them cast and build a drum with them as a good way to show off the casting design. We’ll see how it turns out. If you’d like to play with this yourself, here’s the setup I’m currently using.

Grasshopper script

Grasshopper script