Weird data behaviour

Hello everyone,

I encountered a very weird thing with data order. Please see the attached GH and images. I will appreciate that if someone can answer this!

I use “Random” component to generate a list of number for moving my voronoi cell up, and somehow the data order of the “moved object” and the “boundary surface” (which is derived directly from the moved object) changes, is this normal?

However, when I use “Range” or other methods to generate a list of number to move my object up and apply boundary surface to it, the data order of my original object and the one applied boundary surface component to it will remain the same ( You can use the toolge or slider to switch between “Random” , “Range” and “Series”.)

From my understanding, Random, range, series…etc they all work the same, which is just generating a list of numbers, applying any of them shouldn’t have an impact on changing the data order of an object ? Did I miss something about how the random component works?

This is the result when I use Range to generate numbers. You can see that my curve and surface are both at the same location when extracting them from the same index.

This is the result when I use Random, You can see that my curve and surface are at different places with the same index number.

question.gh (17.5 KB)

Boundary surfaces operates on all the input curves at once and it tries to find loops among them. It assumes that several curves will go into making a single surface. As a result, the output order of Boudnary Surfaces is essentially random.

If you want to convert individual closed curves into individual surfaces, you must either Graft the curves prior to using Boundary surfaces, or you can just plug the curves directly into a surface parameter, they will get autoconverted 1:1.

Hello David, I see. Yes, it works immediately after I applied Graph Tree to the curves! Thank you very much for your instant answer and explanation!