Grasshopper

algorithmic modeling for Rhino

Hello. I am wondering if someone can guide me to a system. That 1. searches for points contained within a closed curve (done). Of which those points incidentally are in multiple branches of a data tree (i.e. the points are points on a number of closed curves, which thus are branches of the data I am searching) - This I find difficulty with. I ultimatley want to be supplied with a list that culls the branches from the list and thus curves from the collection... and cant seach the list and then cull branch that this part of the list is invovled with... ??

Can this be done with Path Mapper? Or will I need a VB script? conversley would it be simpler to use f(x) function such as: IF F Contains (1,2) x = cull parent branch??  i.e. a system that identifies which branches contain the number 0 & 1, to ear mark those branches for self removal.

I attach an image which shows I can do the job with centre points but to do this with division points means I must look into each branch.

Hope you can direct me here someone.

Views: 646

Attachments:

Replies to This Discussion

Hi Jonathan,

Would you be so kind to share the definition (.gh with .3dm file too - if present).
Thank you.

That's the problem - I can not understand it.
Somebody else may help you.

here you go

Attachments:

You want to cull all curves (colored in white) which are outside, or partly outside of your offsetted curve (colored in green):

?

Yes I have posted a good boundary example in the screen grab as the two that cross the threshold in the corner are not culled by using a centroid containment, and I would rather cull these based on a number of divisions on that curve as in the defintion (i.e. by 4). The offset in the def is slightly different and should cull two or three more curves as in the lists that show my aim below.

Basically I want to look into each branch of the groups of points from each closed curve . Marking in a list whether it contains a one or a zero (0= outside 1 = coincidents).

              {0;0}
0. 2
1. 2
2. 2
3. 2
            {0;1}
0. 0
1. 2
2. 0
3. 2
            {0;2}
0. 0
1. 0
2. 0
3. 0
            {0;3}
0. 2
1. 2
2. 2
3. 2
            {0;4}
0. 2
1. 2
2. 2
3. 2
            {0;5}
0. 2
1. 2
2. 2
3. 2
            {0;6}
0. 0
1. 2
2. 2
3. 1
            {0;7}
0. 2
1. 2
2. 0
3. 0
            {0;8}
0. 2
1. 2
2. 2
3. 2
            {0;9}
0. 2
1. 2
2. 2
3. 2
            {0;10}
0. 2
1. 2
2. 2
3. 2
            {0;11}
0. 2
1. 2
2. 2
3. 2
            {0;12}
0. 2
1. 2
2. 2
3. 2
            {0;13}
0. 0
1. 2
2. 2
3. 0
            {0;14}
0. 2
1. 2
2. 2
3. 2

I want to create a list from these points. That marks each curve that pokes out, in a cull pattern as such:

2
0
0
2
2
2
1
0
2
2
2
2
0
2

Using a 1 where there are co-incidents in the curve points and the boundary. A 2 for true (outside points) and a 0 for containment. So I might be able to use the 1 in future developments - however if a true false list is easiest I can live with that.

So could I use F(x) function? - to look for 0 or 1's in each bunch of points and thus list as such for a cull pattern? or will Path mapper help me here? Or can I rely on simply grafting and splitting??

I am usure of the neatest solution and would love to learn. Hope you can direct me.

rgrds

J.

Use this:

Attachments:

Brilliant thats exactly what i wanted and more - and as it would happen I had come to a similar conclusion myself... however using a simpler route - which means I couldnt do quite as much as yours - so thankyou - and Happy New Year!

Would a Function to perform a Culling pattern look something like this I wonder?:

If x = 0 or 1

J

Attachments:

Thank you for posting your solution.

By the way, some of us are still using Rhino 4.

Evaluation version 5 can be downloaded, but it is 90 days limited. And it has a 25 saves constraint.
So it would be useful if you could upload your Rhino .3dm files as v4 ("File-> Save as-> Rhino 4 3D models").
Thank you.

Happy New Year to you too.

A pleasure and will do.

Just to let you know that the y component on the image I posted is the number used to divide each curve.

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service