Grasshopper

algorithmic modeling for Rhino

Hi everyone I'm new to Grasshopper and I'm trying a couple of tuts to get started.I'm trying to create a "bridge generator" wich from a basic curve as the main path would generate somehow the whole structure.It'd be made of circle archs linked by steel trusses winding around.
Thats what I achieved so far. It's fine this way, but the division of the "archs" are based on a known and common value for the radius.

 

 

 

I get troubles when I go for modifying randomly the radius of the circles, this way :

And trying the Divide curve operator works for generating the points, but then I cant use the list of points I get... Any idea to sort it in a right way to Interpolate a winding spiral?

 

Thanx a lot for your help!

Views: 1059

Attachments:

Replies to This Discussion

To get the spiralling effect you would probably have to include a Shift List component that causes the curve to select the next point around at the next frame. The Wrapping Boolean should be set to True.

 

That's it^^

 

Many thing new for me here, first of all the Graft, I understood mostly how usefull it is here, but I can get how the Shift list works here... Do you have a tutorial in mind that I could use to understand this better? 

 

Whatever. The definition works now the exact way I wish! Thx a lot

One more stupid question :

 

now I've a list of point showing up this way

 0 = x

1 = y

2 = z

etc...

 

How to turn it this way? 

 

0 = x

1 = x+y

2 = x+y+z

etc...

 

Thx again!

If you haven't worked it out by now the Shift List component will move the placement of list items. eg

List (A,B,C,D)

Shift List = 1 --> (B,C,D)

Shift List = 2 --> (C,D)

etc

Now introduce the Wrap value = True

Shift List = 1 --> (B,C,D,A)

Shift List = 2 --> (C,D,A,B)

You can also use negative values.

Shift List = -1 --> (A,B,C)

Shift List = -2 --> (A,B)

and with Wrap = True

Shift List = -1 --> (D,A,B,C)

Shift List = -2 --> (C,D,A,B)

 

The most useful Shift List action I use is to either get rid of the first or last item in a list and sometimes both.

Shift list = -1 --> (A,B,C) Shift list = 1 --> (B,C)

 

In the example posted above you are creating a shift list value equal to its location along the curve. The first section = 0 doesn't get shifted, the second section gets a shift = 1, third = 2, forth = 3 and because the wrap value is set to true the fifth section gets back to 0, sixth = 1 etc etc. creating the twisting effect.

 

The "one more stupid question" answer is Mass Addition. You will find the component on the Math tab or you can type it into the Keyword search feature (by double clicking the canvas). This component has two outputs a total amount for each list and a partial set of results giving:

List (3,6,9,12)

{0} = 3

{1} = 3+6 = 9

{2} = 3+6+9 = 18

{3} = 3+6+9+12 = 30

Thx again danny for all the info. I finally found the "search" function in the forum and it seems that my next issue is not an easy one.

 

I would like to control the distance between circles ("arches") based on multiple attractor point. Basically the "bridge" is beared by columns and near those columns the effort in the structure increases.

 

In GH the matter is to divide the main "path" curve, not into equal segments but in smaller segments when it gets closer to the attractor points (would be several columns, not only one...)

 

The only thing I found out so far (wich doesnt work) : 

You could use the subcurve Component to get sections of curve near your attraction points and then divide these curves to get pFrames

Attachments:

Nice! it's a good workaround actually, it needs a bit of "inacurrate" tuning but well

Now it's working fine!

Well the issue is, I got now two lists, one grouping the points from the division of subcurves near the "columns points" and the second one grouping the points from the subcurves away from the "columns points"

(the set didnt change from the picture above)

 

so param viewers show me (with 3 columns points)

1 list with 3 branches : {0;0}/{0;1}/{0;2}

an other with 4 branches : {0;0;0}/{0;0;1}/{0;0;2}/{0;0;3}

 

I tried to merge those 2 and then input the list in a path mapper but could'nt manage to make it work to get :

{0;0;0}/{0;0}/{0;0;1}/{0;1}/{0;0;2}/{0;2}/{0;0;3}

 

Am I using the right component?

can you upload the ghx and 3dm files?

Sorry didnt check for reply so fast! :)

Here they are

Attachments:

In this situation I think the best approach would be to Flatten the data and then sort it according to its position along the curve.

Attachments:

Damn... so easy :(

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service