We know the offset curve function in Rhino is weak, but the GH function seems to be much worse…
In the .gh below, which references 5 closed planar polylines in the .3dm file, I want to offset the curves to the outside. As you can never know which side a closed curve will offset (depending on the curve direction CW or CCW) I run both offsets and then choose the outside. The “outside” curve can be chosen by a variety of methods, I used closed curve containment on the offset curve start point in this example and used that to filter (that incidentally produced another problem, see below),
As the .gh is saved with an offset of 0.4, everything looks fine. Now, move the offset slider to 0.7 or above. Boom, the leftmost profile no longer offsets correctly to the outside (due to one area being too small) and everything goes pear-shaped. Try the native Offset command in Rhino with a value of 0.7 or above and it works fine however.
As for the secondary problem, set the offset slider at 0.5. The right most profile then gets two extrusions - because both the inside and outside offset curve start points are determined to be ‘outside’ (value=0) by the containment component. Don’t know why that is happening.
The Rhino file is a V6 file but I tested in V7 and it is the same.
What is disappointing is the most CAM programs know how to offset 2D profiles perfectly - this since the 90’s when I started using them - that is their essential function otherwise pocketing, profiling, cutter radius compensation and the like would be impossible. If they have been able to do it 30 years ago already, why can’t Rhino?
I can work around this all sorts of ways, but it’s sad to have to explain to people “Well, uhhh, yeah… this is just something that doesn’t work reliably in Rhino, sorry…”
OffsetProblem.3dm (341.9 KB)
BadOffset.gh (12.8 KB)