Offset of polylines sometimes creates polylines with fewer sub-curves

Offset of polylines sometimes creates polylines with fewer sub-curves, as in this example. This is bad for me because I need to know where curved bits are starting and ending in order to edit things to my needs.

Version 6 SR13
(6.13.19035.17431, 2/4/2019)

offset creates single curve.3dm (79.2 KB)

Hi Peter - this seems to follow thew file angle tolerance - if you set that lower, say .1, then Rhino does not merge the segments, which are well below 1 degree off tangent, on offset.


Hi Pascal,
I can do that, but I don’t understand why rhino doesn’t just create an offset with the same structure as the input. Doesn’t it work that way when offsetting polysurfaces? I don’t want to have to fiddle with the angle tolerance whenever I offset polylines.

Hi Peter - you can Offset > Loose=Yes to maintain the curve structure (at thew possible expense of accuracy in the offset - not a problem in your example,. it looks like)


I’ll try it & see. What exactly does loose do?

Hi Peter - Loose preserves structure - the offset is created by moving the curve Edit points (the ones from EditPtOn) out normal to the curve.

I see the result is not joined here…not sure what that is about. Apparently linear segments are simplifed… that might be another oddity to look into. OK - I guess the ends are out of tolerance on the offset, barely…

You’re providing wealth of glitches this morning! (thanks)


@phcreates An “exact” offset of a NURBS curve or surface will not be a NURBS curve or surface with the same structure. With Loose=No Rhino adds as many control points as are needed for the resulting curve or surface to be within the absolute tolerance of the exact offset curve or surface. With Loose=Yes Rhino doesn’t alter the structure of the curve or surface and creates what it decides is the best offset curve or suface with the inherited structure.

(To be precise the exact offset of a NURBS curve or surface usually is not a NURBS curve or surface but has some other mathematical form.)

Right, I know that curves have to basically be rebuilt in many cases to offset within tolerance. I just want them to break where the original curve breaks. This is important to me because if I need to go back & make a blend larger or smaller, I need to be able to see where the blend starts & ends.