I’m trying to achieve the geometry as in the project nine bridges country club.

My idea was to use attractors in creating a pull effect on a uniform horizontal grid of points based on a few points at the floor level(attractors). Next I would like to create a NurbsSurface.ByPoints and try applying a grid of lines on the surface for creating the framing elements.

I only got as far as generating values for translating the horizontal points to the ZAxis.

I’m new to working with lists. I’ve tried some options to maintain the ZAxis translation value distribution to match the distribution of the initial horizontal points, but still no solution. The image below is just a capture based on what I would like to achieve, though the points are on 2 separate lists and the NurbsSurface.ByPoints node cannot be used on such lists.

Interesting packages, thanks. I’ll definitely check them out.

I’m however very interested in learning how the Dynamo Nodes and Dynamo scripts work at the moment.

For this project particularly I’d like to figure out some stuff about working with lists.

So I have a list of distances calculated between the points and the attractors, then I successfully filtered them to have only the shortest distance: from each point to its closest attractor point. From this list i did a replace item by condition to make all the values less than or equal to 0.9 override to zeroes. The next step was to remap the range of the remaining values to even out the distribution while ignoring all the zeroes - this is where I got stuck. Remapping the entire list couldn’t work because it factored in the zeroes. Only way I could remap the numbers is if I separated them from the main list, but then I couldn’t get them back into the list at their original indices. I tried some stuff with the ReplaceItemAtIndex to no avail.

I revisited the List.GroupByKey node based on your hint. At the very end, I joined the two lists normally, then I did the GroupByKey operation twice: first based on the XAxes of the points, then based on the YAxes of the points. This was successful in restoring all the points to the original distribution.

Just realized I don’t need the NurbsSurface anymore for the grid.

I’m curious though. My original intention for developing the NurbsSurface was to have a platform for applying a grid independent of the location of the original points (something like a tessellation). I haven’t experimented with tessellation yet though and I’m not sure if this is the best way to go.

Currently I have a two dimensional grid developed from the points. But what if i needed like a Hexagonal pattern?

You may want to look into the Isocurve nodes - specifically the onenwhich allows you to draw a line along a surface between points (which I believe is more in line with your precedent than a tessellated pattern).

It truly is incredible what @Vikram_Subbaiah has accomplished with such a small Code Block. I’m also going through it step by step trying to figure out what’s going on in there. Very good learning exercise

What could be going on here? is it some form of automatic lacing/replication? it’s like all the points from the polygons that share the same xyz coordinates each end up with a different ZAxis translation. pav.dyn (7.7 KB)