I have a cylinder-like surface and a mirrored bezier curve shrinkwrapped onto it.
I'd like to use the curve as a seam for UV mapping, actually for pattern making purposes.
How can I create from the curve a (possibly easily selectable) edge loop on the cylinder?

enter image description here

  • $\begingroup$ you say 'pattern cutting' Is that in the flat? Could you elaborate a bit more on the intended use? $\endgroup$
    – Robin Betts
    Apr 10, 2022 at 19:59

2 Answers 2


Here's one way to do it.

  • adjust the shrinkwrap modifier so that the curve is entirely just above the surface.

  • apply the mirror modifier. You may want to make a backup copy of the curve before you do this.

  • In object mode select first the curve and then the cylinder.

  • Go to edit mode

  • Knife Project. You may want to make a backup copy of the cylinder before you do this. You can find Knife Project in the Mesh menu; or search for it with the F3 search.

This will create edges on the cylinder that match the curve. You can now mark those edges as seams. (Select the new edges, Ctrl–E to bring up the edge menu and select Mark Seams)

EDIT: Here's one way to ensure a precise match to a mirrored curve.

If you're mirroring, the original curve probably lies entirely one side of one of the axes. Meanwhile the cylinder's length is parallel to another In this example, the X and Z axes:

Cylinder with curve all on one side of the X axis

To obtain symmetry, knife project twice. The first projection is from the orthogonal view along the 3rd axis, with the positive direction coming out of the screen. In the example, that's the Front view. The second projection is from, the orthogonal view along the 3rd axis, with the negative direction coming out of the screen. In the example, that's the Back view.

Here's the example with the curve hidden showing a view of the cylinder after the two knife projections:

After the knife projections

There are cases this won't work for, but for the vast range of curves that are meant to be mirrored it should work well.

  • $\begingroup$ oh so they have also reimplemented the former way to use the knife project. Edit: no, it works this way only for curves, I didn't know you could cut with curve + there's a kind of inconsistency here $\endgroup$
    – moonboots
    Apr 10, 2022 at 7:37
  • $\begingroup$ Your method creates nice edge loops but it has a downside. It creates edges on the surface closest to me, not on the one that is closest to the curve. I assume this is related to the way the tool works ("Keep in mind that Knife Project works from the current view’s perspective.") This gives incorrect result with a closed surface and a closed curve. $\endgroup$
    – kkeri
    Apr 10, 2022 at 8:42
  • $\begingroup$ @kkeri you're right; knife project doesn't do what you want. I'll give it some more thought. $\endgroup$ Apr 10, 2022 at 13:47
  • 1
    $\begingroup$ The curve is mirrored, so you only have to work on half, and orthogonal knife-projection towards the mirror plane should be just fine? (mirroring the cylinder, too, if necessary) $\endgroup$
    – Robin Betts
    Apr 10, 2022 at 18:21
  • $\begingroup$ @RobinBetts good point, I have to work with mirrored shapes. I tried out your idea and it works well on this example, however for more complex shapes it yields fuzzy edges near the tangent. I need high quality output, so may be knife project is not the right tool to achieve it. $\endgroup$
    – kkeri
    Apr 10, 2022 at 19:57

Finally I figured out how to solve my problem. My solution gives exact seams and it doesn't assume that the curve or the cylinder is mirrored.

  • Convert the curve to a mesh, this will also apply all modifiers.
  • Add a skin modifier to the curve.
  • In edit mode select all vertices of the curve.
  • Set mean radius Y to 0 and set mean radius X to an appropriate value to get a ring that intersects the cylinder in a single loop.
  • If the ring leans on the cylinder surface, mark another vertex as root until you get a good result, similar to the screenshot below.

Skin modifier

  • Now add a boolean difference modifier to the cylinder and select the curve in the object field.
  • Apply the boolean modifier.

The resulting edge loop may need some cleanup but it is precise and independent of the current view.

Final result

  • $\begingroup$ a bit fiddly for finding the starting point, but a nice approach. $\endgroup$ Apr 10, 2022 at 20:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .