Grasshopper

algorithmic modeling for Rhino

Hey guys,

I know too easy but I want to create sth like the attached image, is it created by assigning freeform in rhino or its just scripted by grasshopper, there are lots of them out there/

 thank you!

Views: 1446

Attachments:

Replies to This Discussion

I assume that the shape itself is made by hand, but the slicing and fabrication data was either scripted or grasshopper'd.

Hi Faya (another "simple" case ... eh? he he).

Well ... without realizing it you are asking the core of all engineering matters: how to individually control "things" in collections. Easily doable but strictly with code (BTW: did you crossed Rubicon?).

1. See this: Imagine a curve (say a "rail") that is divided N times and then circles are created with random radii. Circle control points (9, that is) are sampled (obviously) into a DataTree where branches are the rail divisions. Let's call the control points: "start" seed points.

2. Imagine a capability ... that stores all these (the original "seed" control points) into a "parameter" and then each time that a change occurs to them (varying the x/y, on a per point on a per branch on a per plane basis[that provides the Z]) stores the "modified point" into the parameter (at the same index with the old: meaning "deleting" the old) ... and then some other code gets that data and makes curves and lofts them. Reset means: sample again the original "seed" points into that "parameter". Closing are reopening the definition has no effect: the lofted stuff is derived from the (internalized, so to speak) modified points (from the "parameter").

3. A variety of "automation" is available: for instance if you jump from branch to branch and from item to item the value of the selected point is inquired and the sliders that control the new x/y are "set" to 0,0 (meaning no change - yet) values. There's mo "store" mode: it works automatically as far as you modify points or you hit the reset button

4. This does that (only achievable with code):

5. Obviously points can been replaced with anything ... and thus ... we can individually modify items in collections ... and forget for ever attractor points and all that (OK where appropriate, he he).

I'll post 30 similar examples soon in the forthcoming  mother of all threads: "GH goes (at last) interactive". Watch this space.

BTW: study the "animation" where points with index 6 are "sequentially" modified. I've added some delay in order to give you time to get the gist of the whole thingy.

best, Lord of Darkness

Attachments:

Hello Peter!

Thank you for all your post.

I divided the surface and for each one I am writing different algorithms like for instacne horizeental plane , vertical ..I am using Graph mapper , attractor curve .... but yours is easier since at the end I will have problem matching them

thank you

No ... this way of yours is CAT (Computer Aided Torture). What are you going to do if you want 30 "profiles" (or more) for loft? (or sweep or whatever).

I'll fix some "things" and I'll post the 12B soon.

Thanks so much!

Removed some automation (the whole approach is under a major concept reconstruction, the reworked thing soon).

For the moment, get this and familiarize  with what it does (and whilst the why is obvious ... leave the how for some other day, he he).

Here's the first exercise for you:

1. Read comments

2. Hit the reset data (yellow group) and then the reset xy (red group) and get this:

3. Now ... based on the indisputable fact that the sliced bread IS the biggest thing that happened to mankind > I want to create profiles for the lofted thing that resemble ... er ... hmm ... doorstep(s) [peanut butter optional]. Can you do it?

Attachments:

Thank you peter. But it is rather complicated I tried to explore the shape disappears at some points. 

Comments ignored eh?

1. 12C: is almost ready (+ total automation with regard what "master" sliders CONTROL what "slave" slider(s)). Slave sliders are the ones that vary the x,y value per control point. Master sliders are the rest. Traditionally 12C is 3 times more complicated (in the Name of Science, what else? he he). 

2. 12B: If you change the sliders on the left ... this means that a different control point collection is available. That's obvious since new divisions are made, new frames, new planes, new circles, new random radii, new seed + new cats/dogs. Shape disappears means that the "parameter" hasn't got the new collection of control points > HIT THE BUTTON in the YELLOW group.

Thank you

Well ... the Force is weak this particular summer: primary home workstation crashed (o/s disk kaput: BTW this never happens on a WD RE series HD ... but it happened) and this is the first message from a totally new system using ... er ... 2 WD RE series disks (you can't teach an old dog new tricks).

Moral: 12C can wait a "bit" . What a life!

"just algorithem", eh?  Well.  Algorithms can be amazing!

Just by accident, working on a different thread ("Incrementally scaled geometry"), I noticed a beautiful shape emerge from scaling and orienting a spiral curve along another curve ("rail"), then lofting the result as sections (left in image).  Got the code to handle two curves at the same time, so when they have the same end points (blue spirals), a shell emerges (uncapped, on the right in image).

Who knows where a bit of effort with something like this might go for sculpting shapes like what you want?  Rail and section curves are easy to explore, "bulkhead" sections between surfaces aren't necessarily difficult...  Solid Boolean union in Rhino...

Attachments:

This one uses two more appropriate section curves for seating:

  1. seat surface and back (both angled), 3" ledge
  2. seat bottom and back - an arbitrary curve joined to a horizontal bottom line

The image and code note that the 'Steps' slider (sections in yellow) cannot be changed without affecting the scale...  So 'PFrames' are used to get as many sections as you want (blue).

Attachments:

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service