Match the same points constellation of set off curves with their originals

Always wanted to know how to do this the easy way. From what I know you can FitCrv but it would end up with two many points in the ‘child’ curve (offset) — any ideas to match them with the same point count and overall shape?

Maybe copy the original and scale it down?

Look at this video from Dave

Hi Hannes - the long way is to make a line, perpendicular, of ‘offset’ length at every curve edit point (not control point) then move copies of edit points to the ends of the lines. Same general shape…


Hi Hannes,

In addition to other replies, try what it gives you to run RebuildCrvNonUnifirm with both curves selected.
They will become equal in pointcount wich is good for lofting and such.


Hey @jordy1989 the video is unf only applying for the symmetrical curves only.

I think the only way to do this consistently well is the @pascal way from what I know until know. Pascal could you consider a script for this for the future? Thanks you all, Hannes

@pascal found out that this won’t match the shape. Maybe this is why there are so many control points :smile:

Yes, that’s why offset adds points, it needs them in order to maintain even spacing. Depending on the curve, offsetting control points can be relatively close to a real offset, or nowhere near…


This is what bugs me about offset though, is that the offset curve is often a lot more complicated than it needs / should be. For instance in the attached, over here if I offset this curve, which is 3 point 2 degree, 0.25 units using the default .0001 tolerance for this file, the result is a 7 point 3 degree polycurve, which explodes into two 4 point degree 3 curves. If I rebuild the resultant 7 point degree 3 polycurve to 3 points degree 2, Rhino reports it can do so with a maximum deviation of 1.81691e-05, which is about 5 times smaller than both the file and the offset tolerance. So in a case like this, why is the offset so messy? Or am I missing something?

OffsetEx.3dm (233.0 KB)


Thinking about a ‘loose offset’ command. with same control point location. could not someone script something like this??? :slight_smile:

Ok, I was looking for something along these lines today - I offset two curves that are also curved in the Z direction. Upon offset, the "outside of the OFFSET original curves are not in plane with the originals in the Z direction.

After a few minutes I remembered the project command - which I use a lot - and decided to create a vertical plane and project the curves onto from a front view. Then I created a plane in the X-Y direction using those original curves. Then I projected the offset curves onto the surface which I had used “extend surface edge” on all edges - and it matched the original curve in the Z direction.

After projecting I can see from a front view that they are once again - original and offset curves - in the same Z. Not sure if this is what you were looking for, but it worked fine for me.