Curve Offset

Hey All, i build a cluster for curve offset. Personally i believe it’s foolproof for any curves, yet, i still want opinions of the possibility of it to fail to perform. Things i notice with GH curve offset is the length changes. With moving the vector perpendicular to line, the offset curve remain the length properties.

Did you try it with any other example than the one you give? Even the example you give is not an offset. If you measure the resulting curves, they will have a variable distance between the original curve on different parameters along the line.


I know this concept must be new for a designer, and sadly for many software developers as well. (I used to be one of them as well) … One of the most vital part of writing functionality is doing unit and integration testing… and documentation on where a functionality is failing, because almost any functionality will fail. Oh and @siemen already said you also need to actually validate what you are doing. Assuming doing something is bullet proof just hurts if the bullet hits you :wink:

1 Like

Can u show me what u mean by variable distance?

Offset.3dm (53.1 KB) (18.2 KB)

Try a closed curve, it will fail.

1 Like

Is there anyway to offset a curve meeting these conditions

  1. offset curve maintain the original length dimension
  2. ensure equal distance apart from original and offset?

The reason i making a cluster for it is because GH offset tend to be unequal dimension from original.

Hey there,

Actually offset never guaranties a same curve length. If you curve turns more to the left (for example), it’s more likely that an offset to the inner side (the left in this case) will be shorter. Outer side and it becomes longer than the original curve.

Think of offsetting a comlete circle… It has to be larger or smaller (outside or inside). You cannot simply move the circle (+ move where? left right above ?). :slight_smile:

1 Like

If you mean offset with preserve the original length you can use extend curve

Offset (19.9 KB)

1 Like

Any curve with a curvature unequal to one or infinitive will have unequal length for its offset… Extrapolating the offset is possible, but whats the criteria for this? I think without any line of code you’ll have hard times in maintaining this condition. Also, why do you need such functionality? And how much deviation is acceptable? Because no offset is excat.

1 Like

“Any curve with a curvature unequal to one or infinitive will have unequal length for its offset” its asolutely not correct !!
Any copy by translation in direction Z+/Z- of a planar ellipse © in worldxy its an offset of © has a finite curvature and the length of the offset curve is equal to the length of the original curve ©, Or i am Wrong?

not one but zero, of course (meaning no curvature). Sorry that was a mistake.

If you offset a xy-planar curve in z, the curvature in z-direction is 0. Which is the z-coordinate of the normal/curvature vector.