Move points

So I have this list of points. Is there a way that I can let dynamo pick a point (index) from the list let it move a random XY value and then let it pick the next point without removing the value of the XY from the previous point? It is going to be part of a generative design so every point that is moved is going to be translated into a geometrie.


As seen in the image it can now pick an index number and move the point but when it picks the next it removes the data from the previous point. Anyone has any suggestions? Thanks in advance!

So I now have made this. It is possible to use this method and go untill index 29. But is there a more efficient way to deal with this?

It is not very clear what you mean

Possibly lacing is the answer

I made 30 points. For a generative design proces all these points need a slider to move XY. In this script I have these points all seperated, but I think this is not the most efficient way of scripting. I am using dynamo for not that long so I don’t know everything about list manipulation etc.

The process should be:
List of points > pick point 1 > move point 1
Same list of points > pick point 2 > move point 2
etc.

How do I do this without removing the XY value of point 1? I am sorry if im not clear :sweat_smile:

so you want all 30 points to move by the same random distance.
or different (random) distances for each of the 30 points ?

A different distance for each of the 30 points.

Hi Nick, from what I understood, you need a list of random numbers with the same length of the list of points. Take a look at the different Random nodes available.

Here is a simple example:

1 Like

This might be the solution. Although I am not sure how and if refinery works with random values because it is “searching” for the best solution. Thanks for your response!

Is this more of what you’re looking for? I have a list of points, extracting the first point, obtaining the z value, determining a max range then generating a list of random numbers based on a seed, and then translating the points. Each new seed will produce a new random sequence.

Thanks also looks interesting. The only problem is that I don’t know how refinery works with random numbers but I will try this one out and just look what the outcome will be.

1 Like

Awesome! I also am curious as to how it works with it. If it’s similar to the previous iterative design platform for sandbox Dynamo.

Sorry, is that Sequence.RandomNumbers note from lunchbox?

Yes, it is.
image

Thanks!

1 Like

I think the optimization doesn’t work with random numbers sadly. I need to change the XY of the points indepently without using a randomizer.

This makes sense as each time you open and run the graph you’ll get a new random number unrelated to the previous one (even if you wanted the same value). Randomization doesn’t really optimize as a result, and as such it’s usually not a good method for moving the values. There are many methods out there though so what you’re after may be doable, but without knowing more of what you’re after it’s hard to know what method to recommend.

Not working of randomization sounds logical. My goal was to make a surface with points that are connected with a polyline (which goes form closest point to closest point). I started this by making a rectangle and put points on this rectangle. Now the points need to move independently over X and Y. The only way I found, besides randomization, was to filter every point and move them. The only problem is that I need to make this 30 times. And because I’ll probably expant these number 30+ times. I am not sure if this is the only way and most of all if this is the most efficient way. Made an example file with 5 points. Any suggestions? Making surface.dyn (79.7 KB) In this example the X Y movement would be the input within the generative design.

To accomplish what exactly? Knowing what your goal is (building a mass in the maximum zoning envelope, placing a space in an existing building footprint, just making art) really helps in this space.

I’ll try and take a look at the file later today.

Out of multiple surfaces a solid will be made. The area of the surfaces will be maximized and the area of the solid will be minimized.