Curve from edge but with face normals (i can explain :))

Hey there!
i’m trying to create zipper to a mesh, and it’s almost done, except one thing, i can’t force face normals to the edges which will converted into curve(s)

problem is if i separate the edge the normals are changing (as they should), and if i array an object along a curve, the object will not follow the original surface, but the normals of the curve converted from the separated edge mesh.

question: is there a way to force the face normals to the edge, or somehow transfer the face normals to the edge or the curve object?

Thank You!

Hello!

You can’t control normals of the curves themselves (as far as I understand, they are calculated from points positions and twist method)…
…but you can tilt the curve to needed position.

For a start (a simplified case):

  • Capture Attribute - the original normals on points - it should carry over to curve after “Mesh to Curve”;
  • then find an angle between that attribute and curve normals (arccosine of dot product);
  • and feed it to Curve Tilt node.

In practice, there is a bit more to it than that though: the original normals probably must be projected on a plane perpendicular to Tangent, and then the angle can be more than 90degrees which needs to be accounted for…
…I think.

1 Like

Unfortunately curve objects with a GN modifier do not output a curve - it appears as it it outputs a mesh and when converting to mesh and back to curve you lose all the tilt data :cry:

For now OP either has to do the whole array operation in GN or set the tilt manually in edit mode… :man_shrugging:

1 Like

Hehe, oops - I somehow automatically assumed it was a GN question :sweat_smile: I’ve been completely spoiled by the nodes…

But yeah, doing the whole thing (including array) in GN is still the best answer to this problem, imo.
Actually, this exact issue is why I looked into nodes in the first place.

2 Likes

Well, i try to do this automatized, but not with GN but with python (since chatgpt i can try at least :D)

I would love to use GN, but still stuck in Blender 3.2 (yeah lot of macros, scripts keep me down :P)
Maybe You can help me with an anothet issue that is GN related:
-i want to select a certain vertex group
-then select its vertices
-then go to edge mode (keeping the selection)
-then bevel those edges
-then go to face mode (keeping the selection)
-then extrude

or another scenario, when i don’t want to bevel, but
-expand the selection (select more)
-then go to face mode
-then extrude

it’s important that i have mutliple vertex group with different purposes, so i need vertex group selection addressing by their name, not just selecting vertex group vertices in general.

Oh well, I’m afraid I can’t be of help here.

Sounds like a case for python - we can’t bevel in GN yet, afaik

Not even sure what there is to automate…

ahh, no bevel in GN?
not even in blender 4, or not just on blender 3.2?

“Not even sure what there is to automate…”
those 3 steps (after the several other ahead of these 3 steps :))

But most important GN would be lovely because then i could use those modification on the mesh as modifier entity with manually set parameters those i can save and backup easily.

There are some tricks apparently, depending on use case, but as far as I know a node for that is still not developed :person_shrugging:

I recommend, you study a bit of GN and see what they are capable of (and their current limits) for yourself.

1 Like

Yeah i would, but since i stuck to blender 3.2 (ok i would able to upgrade to 4 with lot of rework) it would be tricky to separate GN B4.0 features from GN B3.2 features.

Anyhow Thank You for the info, at least You saved me a few hours to search after that is not exist (yet! because i’m pretty sure B will implement every tools and operators into GN sooner or later :))