algorithmic modeling for Rhino

Good morning GH Community,

I am having trouble generating a pattern that i am hoping the community can help me out.

I have a grid of points (12500 in total). I want to create 5 groups of points from all these 12500 points.

Group 1 would represent the point located at 0, 5, 10, 15, 20 etc.

Group 2 - 1, 6, 11, 16, 21 etc.

Group 3 - 2, 7, 12, 17, 22 etc.

Group 4 - 3, 8, 13, 18, 23 etc.

Group 5 - 4, 9, 14, 19, 24 etc.

I can create the pattern but the selection of points are all the points in row 0 and then all the points in row 5 and so on.

I would like the selection of points to start at the bottom left, and sequentially continue to the right and then continue on the 2nd row (left to right & bottom to top). i am hoping the pattern i am trying to achieve is more understood with the quick screen capture I uploaded.

the end goal is to be able to select all the points in the grid that are in each pattern.

Thanks in advance for any guidance with this.  

Views: 4098

Replies are closed for this discussion.

Replies to This Discussion

there will be many ways to do this

- series and list item

--two series components

the first series component has count of 5, step of 1, and start of 0. Plug this into a second series component so that your start is 0,1,2,3,4,5 , make your step 5, amd your count will be the amount of points, from this you can use a list item, and just graft your data into the corresponding branches 0,1,2,3,4,5

if you are having trouble with the point order, use the sort points component, -- if you are not happy with the standard x,y,z sort, you can just reverse the data post-sort to get (z),y,x (presumably your points are planar?

(i am on my linux machine so i cant do an example 4u)

Thank you for the quick reply Arkadius,

I am getting some funky branching from the second series component. 

Hi Alyne, it should be pretty straight forward, follow this example, i can suggest you learn data lists, branches, tree's etc., if you don't already, it's handy and makes light work of exponential problems... :)

sorry  i should mention that you  have plugged your pt component into your series count, i meant that you need to use the component 'list length' [in combination with a little math] to get the desired result ---


the pattern works but i may i ask how i retrieve all the points in the individual branches. 

I put the list of points into the list item and i get a tree with xyz coordinates which i believe refer to the points i need. i am having trouble selecting just the points in the branch. I keep getting rows again but i think i am not using the correct components.

hi, sorry, you can use the 'explode tree' component to separate your branches -- you will have to zoom into the component and press the '+' to access the extra branches, see this post:

Hi Arkadius,

Explode tree is giving me the same result of rows. The pattern (coordinates) coming out of the list item is in rows too

Hi alyne, you are doing great, there seems no problem to me, your points have been grouped or separated into the branches you wanted: 


Group 1 would represent the point located at 0, 5, 10, 15, 20 etc.

Group 2 - 1, 6, 11, 16, 21 etc.

Group 3 - 2, 7, 12, 17, 22 etc.

Group 4 - 3, 8, 13, 18, 23 etc.

Group 5 - 4, 9, 14, 19, 24 etc. "

except in data, the branches start at 0, so 'group 1' is branch 0

as for the order of your points, that depends on the input prior sorting...


--- if you want columns then you would have to sort your points in the y direction prior the list retrieval, but to me, and the picture you provided, i am not sure what else i can suggest

this has been great as i have learned something about data tress. However, maybe I wasn't clear enough in the original post.

The 1st group would include the points at 0, then moving right, the fifth point, then the 10th point so on and so, moving right along the rows and then moving up to the next row. The original image i posted has the points grouped by color in this way. Another way or putting it, if i had eleven points in the first row (0-10) i would want to select three of them, one located at 0, then the point located at 5 and then the point located at 10. I want to do this for all the points grouped separately by the previous pattern.






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service