Problem offsetting closed curve

Hi,
I’m trying to offset this closed outer curve which was obtained through ‘silhouette’ command. However, the offset doesn’t seem to be working properly. Only a small section gets offset. I’ve tried using CurvatureGraph tool to locate problematic areas and clean it up. It takes a long time.

I was wondering if there is a quick way to clean and rebuild this curve so it maintains its shape and can be offset easily? Also, after cleaning up a curve, it seems to offset only after I break the curve into a non closed curve. Anyone know what that is?

thanks

try a curve boolean on the curve, with delete input= yes.

then try to offset the result. If it bowties, use curve boolean again to remove them

1 Like

Silhouette and Make2d often produce curves that are hard to work with. Same with Draft Angle Analysis curves. I hope this gets fixed in Rhino 8.

You’re lucky you got a closed curve!

One somewhat slow way to get a reliable closed curve that’s a silhouette is in grasshopper: convert to a very fine mesh, and use the Mesh Shadow component. The result is a polyline with a ton of vertices, but it can be rebuilt and simplified.

Another way, in Rhino, is to do a contour command on the object, with a very close spacing of the contours, and then project to c plane and do curve boolean. That will get you a very close approximation of the silhouette, as a true curve, but you’ll have to deal with the silhouette curves for the holes in the object manually.

1 Like

Hello - see if SimplifyCrv makes it any better, or post the curve in a Rhino file.

-Pascal

1 Like

thank you everyone for the suggestions. I used CurveBoolean a few times and it cleaned up the curve very well. No need for me to CurvatureGraph to locate problematic loops to manually fix them. Also, during Offset I had to use other options like ‘corner=chamfer’ for it to work. I could also use offset options like ‘loose=yes’ as a last resort but that would require trimming and joining the multiple offset curves myself. I didn’t need to do that but that is still faster than me trying to locate all the problematic microloops through CurvatureGraph and trying to fix them manually. :slight_smile: