The issue was that the plane of your input curves changed from the previous example. I’ve added a couple of components that now auto-evaluate the plane of your boundary curve and feed it to the necessary components. I’ve marked the new components in mauve.
Furthermore, if you change scale, you have to adapt the minimum and maximum circle size, the number of input points, as well as the minimum distance to the attractor line. I’ve marked these sliders red, so you won’t forget the next time.
Big geometries like your stairs are going to need huge amounts of random input points. For the above example (cf. screenshot), I had to pump the slider to 10,000 and it could have used even more! This can get pretty laborious for your computer and Rhino might crash at some point.
Since in reality, this staircase bannister wouldn’t be fabricated and constructed in one piece, you could break it up into panels and evaluate each panel individually. The script would stay much more interactive that way and your concept would be much more realistic.
gradient_circles_04.gh (22.8 KB)