algorithmic modeling for Rhino

Hi All,

I have a not-too-complicated issue which I believe I am too braindead to sort out. 

I am constructing a rough "solar gain/exposure" definition that is intersecting parallel rays with an array of boxes.  I need to filter out only the first point which each ray intersects, regardless of how many breps it intersects ultimately.   Eventually, I will be testing those points for inclusion on the subdivided rectangles on every box face. 

The subdivision part is something Giulio wrote, I believe.  All I need help with is getting those first intersection points only.  It may be as simple as a graft I'm missing.  Like I said, braindead.   THANK YOU

Views: 1338


Replies to This Discussion

a follow up question... how do I wrap a list onto itself at a certain frequency?

i.e.  I want the list {1;2;3;4;5;6;7;8;9}

      to become {1,4,7; 2,6,8; 3,6,9}  wrapped every 3rd item

OK I figured that out with a partition and path mapper...

What if I want to partition a tree with one more layer of structure?

[{0} {1} {2} {3} {4} {5} {6} {7} {8} {9}]

... see attached file, with same rhino file as before



I can not open you files, as I am using older version of grasshopper than you.
But the new list (one mentioned in your last reply), should have these values:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

And needs to be change in what way?

Hi thanks,

I need a to change a two-tiered list such as:






0:  point a

1: point b




0: point c


0: point d

1: point e


CHANGE TO (wrap onto self every 3 branches)




0: point c


0: point a

1: point b

2: point d

3: point e

does this make sense?

I think something like this might work:

Neglect anything out of the purple block (left of it). I just used that "other" part to generate the starting list you had.
Input your list into "data" parameter grouped in red block.


thanks!  that DOES work... but is there a way to manage it with a variable number of branches.... say, hundreds?  instead of a set number of data trees to merge, then a set number of exploded branches...

Is this what you need:



Sorry if I misunderstood you, and that is not what you are looking for.
I am quitting for today - it is 4 a.m. on this side of the globe.
Good night (morning).


yes, but maybe I should say, I need to be able to change the number of branches, on the fly--

in other words, this is successful at wrapping it into 3 branches, but what if i want to wrap it into 8, 25, 200, etc?  See attached image... If I want this parameter to be adjustable...  this may be getting to a point where i need recursion/a script to get what i want...

Thank you for your help.  I can understand if this is beyond the scope of asking here.


Cant open your rhino as I'm using rhino4. Despite all this list wizardry I think the solution is much simpler. Check out the component isovist ray. It will return only a point of the first object it hits. 

yes wizardy indeed.  what I am attempting is a 3D isovist, and this one operates in one plane... suppose I could just shift/rotate that plane and see what goes down.

just use 3d lines how you want. and plug them into s of isovist ray. It doesn't need to be flat as i show.

brilliant, thank you.  now onto the containment tests....






  • Add Photos
  • View All

© 2023   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service