Curve.Offset Behavior With Lines

Just when I thought I was starting to understand how Dynamo offsets curves, I ran into this problem today. It seems like Curve.Offset will offset the curve in the direction of the curve normal…except if the curve is a line, for some reason. In the image below, the short line is along the normal vector, and you can see that the offset is not following that. Anybody have an explanation for what is going on here?

Offset.dyn (20.8 KB)

I see now that Curve.Normal and Curve.NormalAtParameter give different results, and that the line is being offset in it’s plane (like it’s supposed to). But why does the plane change as I move the end point?

The axes of the normal and tangent will vary with each trial of changing the elevation of the line.

You have to create your own Axes in the required direction without using OOB nodes like ( Curve.Normal and Curve.NormalAtParameter).

One in the direction of line.
Second is the normal of the curve.
Third it’s cross product vector.

Thanks for the response, @ingenieroahmad.

That’s fine, except that this doesn’t provide any more control or reliability when offsetting the line. I guess you’d just have to translate the line along the desired direction vector.

Curve.Offset is being improved to be more consistent in the Dynamo 2.10 release :slight_smile:

Thanks @solamour, that is great news! I will read your well-presented blog posts before I post next time :wink:

1 Like

Haha no worries @mzjensen :smiley: Just excited to share that we’ve improved this (Long standing) inconsistency with the node!