Multiple points on a curve


#1

This should be very simple, but I am having trouble with it - When a list is passed to the the “Curve.PointAtDistance” node, it only takes the first input, creates only one point, and ignores rest of the list. How do I create multiple points along a curve?

 

CurvePointAtDistance


#2

Aseem - use Curve.PointAtParameter instead


#3

This has to do with the lacing options which you can find in the bottom right corner of almost all Dynamo nodes.

In your example the Curve.PointAtDistance node has lacing option set to “shortest”. That means that the node only executes for the shortest list of the inputs, which in this case would be your curve. If you however set it to “longest”, the node will execute for the longest list of the inputs and repeat the last item for as long as the longest list is.

(If you set it to “cross product” it will execute for all combinations of two lists)

Edit: and now I see that it’s not a Point.AtParameter node! :wink:


#4

Duh!! Now that makes me feel silly.

Thank you Jostein, the lacing fixed it.


#5

The lacing option is irrelevant in this instance. The Curve.PointAtDistance is using the range syntax that is in the codeblock so start…end…#amount. Therefore the first point is at 0 and the final point at 1. Therefore either your curve isn’t long enough for that distance so you see no other points or you need to zoom in more and they will be there. Check the outcome using the small box in the corner of the node or use a watch node.


#6

Mark,

  1. Your reasoning is sound. That was my first guess as well, when I tried troubleshooting before posting there. But with the lacing set to “Shortest”, the node would drop the rest of the list, and create only one point.

  2. The “Curve.PointAtDistance” is chosen intentionlly, over the “Curve.PointAtParameter” for certain geometric reasons. But that was not causing the problem, the lacing was.

Thanks for your input.