Strange Offset Geometry on 3D Curve


I am trying to create a concentric curve of any offset distance of a curve derived from nonplanar slicing. The curve in question (red) looks normal but the offset creates very strange and unusable geometry (green). I’ve tried all 4 different corner selections of the Offset Curve function in GH and different offset distances, but still no success. Could anyone help me out?

Non planar slicing?

You are slicing with a surface then, I assume?!

If you are, then use “offset curve on surface”

Yes, this is being sliced with a surface.

Unfortunately, that command sends the offset curve back to the surface it was sliced from and creates even more strange geometry.


My goal is to have them be somewhat concentric, like what is provided with a 2D offset of a similarly shaped curve:
image
Is there anyway to clean up the curve being offset? That might have something to do with it though I’m not 100% sure.

Hard to draw conclusions w/o a file.

As I understand, if that curve is derived from slicing with a surface, then there should be a surface the curve is coincident with, no?

Anyhow though, a 2d offset on a 3d curve does not have a definite result like an offset on a 2d plane.

You need to adjust the plane of the 2d offset (P input), placing the plane normal around the center of the long arch of your curve.

Propeller_sliced2.gh (33.9 KB)
propeller_fixed.3dm (4.8 MB)

Here are the files if needed. Yes you are correct though, there is a surface related to its slicing, just need to pull it out basically. Could you elaborate on placing the plane normal around the center of the long arch? How do I go about doing that?

Sorry can’t look right now.

But what I mean about the plane for the offset:

Your red curve looks like it comes from an intersection of a surface that is extruded in one direction.

That basically leaves two options for placing the plane normal

A) along the vector of the extrusion

B) View your curve from the side(in direction of extrusion), so you only see a projection, a single stroke no loop. Then get the 2d normal of that view at the midpoint of the “stroke”. Align the plane to that, which should give you the concentric offset you are looking for

Grrrr

Argl !

You should try to rebuild those curves, because this is likely going to give more and more problems as you progress.

Anyway without doing so it’s possible to use the (full) base surface to make the offset, the split the surface and retrieve only the center piece.

Propeller_sliced2.gh (27.9 KB)

1 Like

That worked. Thank you for your help. However, I don’t understand your “Grrr” and “Argl!” is there a better way to go about this process?

I strongly recommend forgetting about the possibility to put several wires in a single input, and always use Merge. This makes data structures easier to manage and control.

When you face problems with curves (projection/intersection/offset/whatever…), first thing you should check is the number and spacing of control points. If it’s ridiculously high compared to what is needed to represent the curve accurately, you should try to find another approach. There is no general answer in this case though, Rebuild is one of them. Main criteria is : how far from the original curve can you go without breaking your project.

Thanks for your help. I’ll keep those in mind going forwards.