Somewhere in my project I made a curve (subcurve of other curve).
As soon I want to offset this, I get the most weird lines.
I isolated the curve to test how to fix this, but get stuck here. A rebuild only helps a bit. It offsets the curve but also adds a new arc to it.
In the project there is an almost identical other curve, no problem there at all.
- What causes such behaviour? And how to avoid/fix/solve it?
strange curve offset.gh (6.6 KB)
The curve is not in the ‘World XY’ plane. In fact, the curve is not planar. But this works:
strange curve offset_2025Feb4a.gh (5.3 KB)
Thank you Joseph for your fast answer.
- So for offset curve it must be Planar. (probably that other curve is -) )
My goal was to move the edge of an object a bit away from the object. And the xy plane was most close to the direction I needed. Maybe there are other way to do that. One I thought of is to use a central point and expand the distance from there.
I could manage that like this:
strange curve offset2.gh (7.7 KB)
Maybe there is a simpler (component) solution for that.
Incorrect, as the code I posted demonstrated.
Did you consider Move 
Yes, I surely did.
Was in fact the first I used.
The shape of object (so also of edge → curve) caused that it moved nicely in 1 direction and I got the distance I needed. But just around the “corner/arc” it did not create enough distance.
Offset worked better because it moves the curve (from it seems a central point) outwards and gave the distance I needed along the complete curve.
Move outwards from a central point (as in my last example) gives almost same effect.
I wonder if there is a way to “scale” the curve outwards from a central point. Like if it is a curve on a sphere and you scale the sphere + curve
Offset Curve does not move the curve.
Then I do not understand the difference:
Move: Creates a new curve “Translate (move) an object along a vector.”
And we have two curves. Identical in size and orientation, but there is a distance along the vector
Offset: Creates a new curve “with a specified distance.”
In the settings a plane is given, so the offset is in this plane.
(for me not clear what gives the direction of the offset. Your remark explained that the curve does not need to be planar, but the offset happens in the given plane.
In both cases I end up with two curves. Maybe I should not have used the word “move”. Just trying to get some grip on the difference.
Correct, it’s an offset, not a move.
Here is another idea using perp frames to move points and then create a new IntCrv. Not sure why it’s slightly different than Offset?
strange curve offset_2025Feb4b.gh (11.8 KB)
P.S. Rotating the perp frames -165 degrees instead of -180 degrees seems to match. (or +195 degrees instead of +180 degrees)
Thanks.
Enough material to work and develop more
And another one using scale.
Moving the central point to give direction to the new curve (how do we call this one? Not Move, Not Offset )
strange curve offset3.gh (6.7 KB)
No need to repeat just one
would have done 
I do also prefer to only use standard GH components. So I will kick Wombat out.
But… the result was not an offset, but would have worked just fine in my project