Addon to align loops?

I’m looking for a addon (or other method) to help align edge loops.

Two examples of situations I often end up with are below. The most common one is zig-zaggy loops like in the leftmost picture. Or oblique ones like in the second. Or also non-equidistant ones. (Rightmost one is how things should be).

I’m looking for an operator to automatically align them better without disturbing the surface curvature (much). The only thing I found is an addon named EdgeFlow. The ‘Set Flow’ operator seems to be supposed to to do all of that in one step, but it is not perfect. In particular with the zig-zag case the resulting the loops are usually still significantly zig-zaggy afterwards. And also one has little control. It e.g. cannot fix both situations independently, like only smooth out the zig-zags without creating equidistant loops.

Does someone have a suggestion for an alternative?

Hi.

I suggest you to enable the “LoopTools” add-on (available in Blender by default).
Then just select several vertices or edges, right-click, then go to LoopTools > Relax.

Thanks for the suggestion. I played around a bit with LoopTools. It seems to have some useful operators, but I couldn’t find one for this specific problem. Relax seems to also align vertices perpendicular to the surface, with the effect of changing the loop towards a straight line instead of preserving the surface curvature:

Dissolve internal vertices and join opposite verts up and down with J. This follows your geometry and edges are parallel.

1 Like

Blender 2.7_ 2.8_2.9
http://airplanes3d.net/scripts-254_e.xml

1 Like

Hmm. But that will flatten the mesh if it is curved perpendicular to the loop. Also the vertices will only be aligned if the vertices of the neighboring loops are so already.

Example (before/after):

Nice. Thanks. The distribute operation seems to indeed be able to solve the non-equidistant problem in a curvature-preserving way.

The second problem (removing the zig-zags) is still be open, though. Dunno, maybe I write a plugin myself to do that, but I would find it surprising that nobody did that before, for this kind of common problem.

1 Like

@machin3 Do you know a script or a way to solve this problem ?

Looptools addon is offering several tools with several options.
You screencapture looks like you use it only on selection.
I think that you missed that you should use Parallel(all) as Input, instead.

You should obtain desired result with Space or Relax tool.

Ah, thanks. The space tool indeed gets rid of the zig-zagging. Missed that. Can it also be made to act only on a part of the loop? It seems one can select which loops it should act on, but not restrict it to sections of the loop, no?

The relax tool does the same as above, with ‘Parallel (all)’, but for the whole mesh, then:

I roughly tried on a grid that looked similar but I am not sure that I did it correctly.
By selecting edge loop corresponding to middle row, I did not obtain such smooth result but more same kind of result as Space.
But if Space is satisfying, who cares ?

Like most operators in Blender, if you hide parts of mesh that should not be affected ; operators should only be restricted to visible parts of mesh.

1 Like

I believe, it depends on loops of which direction you select. My result you get, if you select a vertical loop. Loop Tools quite counterintuitively works on the loops perpendicular to the one selected.

But, yes, you are right, when I select a horizontal loop, Relax behaves like Space (on repeated invocation).

In any case, it smoothes strongly along the selected loop, which Vertex Tools->Distribute does less so:

The selected loop was operated on by Loop Tools -> Space. The one further left by Vertex Tools -> Distribute.

Ah, indeed. Didn’t think about that. Thanks.

1 Like

it can help your plugin

Ah, I see. I tested it on a 2.79 install. It includes both the features of loop tools and vertex tools.

Playing around with it, I discovered another nice feature of loop tools: gstretch. Not particularly easy to get a perfectly aligned mesh with that (except if you have a very steady hand), but it preserves the curvature if one set the annotation tool to placement=surface.

1 Like
  • enable Surface Slide
  • relax or straighten the edges
  • finish Surface Slide
1 Like

Let’s try this.
I’ve created this example mesh.


Then I’ve selected lines to preserve in the geometry and to serve as guides for the operation.

Then, in loop tools I clicked on curve as it is in this screenshot:

And the result is:

Does this help you?