Nested List to Point.ByCoordinates


#1

I’ve got a two nested lists that I’m feeding into a Point.ByCoordinates node (crossed laced) and I expect to see as many different grids as I have level lists but instead I’m seeing one massive grid.

How can I tell the Point.ByCoordinates to treat each pair of sublists as an individual action? I’ve tried a List.Map but I must not be using it correctly.


#2

If I’m understanding you correctly, then the trusty ol’ “List.Combine” node is all you need. Hook it up as shown below and be sure to turn off the “Use Default Value” on the x and y inputs of the “Point.ByCoordinates” node. The output will be two separate sub-lists of points. If you have more nested lists of coordinates, you’ll get more nested lists of points. If the two inputs are not the same lenght, you could try List.LaceLongest/Shortest instead.

Capture4


#3

I can’t see your image well enough to make out some of the details but I think I got the jist of it. Regardless it didn’t do what I’m looking for… I probably didn’t explain myself well enough.

I’m trying to create a grid of points that bound 2D shapes – closed model lines in the project file. I isolated the closed lines, pulled a min/max XYZ from their bounding boxes, and calculated points to fill the bounding rectangle. I’ve got a list of X’s, and a list of Y’s for each shape and if I single out a shape (GetItemAtIndex) I get a complete grid – this is what I want for each shape. I’ll then figure out which points lie within the shape and project those point onto a topo surface in order to place families (shrubs in this case).

This is what I get when I just feed the X/Y lists into the Point.ByCoordinates node;

Point.ByCoordinates

This is what I’m looking for all the shapes;

Point.ByCoordinates_w_GetItemAtIndex

 

 

 

 

 

 

And this is what I get with the List.Combine node (and turning off Default Values)

Point.ByCoordinates_w_List.Combine


#4

I think that my suggestion is pretty similar to what you already have. Download the latest archi-lab.net package from the manager and you’ll find the amazingly useful node called Group Curves. Group your curves into surfaces with it and then intersect each of those surfaces with the points laying on the surface defined by the bounding box of the curves using List.Map and Geometry.Intersect .

Capture1


#5

My definition looks different but the concept is the same.

I would rather generate a grid for each shape rather than one grid that encompasses all of them. The results from the second image is what I’m looking to do for each shape.


#6

Hi Greg,

The only way of generating points per surface, that I can think of, is with design script.

2015-03-16_145228

 

However, you’ll need to specify u and v divisions manually per surface. This is where my initial approach was better, because you end up with a uniform grid between regions.


#7

I think I need to limit the number of points I’m dealing with. This is only a portion of the site I’m working with and I already have almost 7,000 points!

Thanks for your help!

7000 Points and Stilll Going