← All ideas
  • Published 1 Feb 2023

[Geometry Nodes] - Edge Loop and Edge Ring Selection

I want to propose two nodes for basic mesh selection: Edge Loop Selection and Edge Ring Selection . This is especially needed for cases where there is no possibility to store selection in vertex groups because the geometry is created entirely in Geometry Nodes modifier.

Nodes take selection input and add set number of edges to it depending on the iteration number and direction and outputs it as a boolean attribute on edge domain. Selection should work only on quad-based topology. When selection encounter mesh boundary or an n-gon there should be no more selection segments added.

Chaining loop and ring nodes can easily give selection of parallel edges. On the other hand running two nodes of the same type in parallel can give the ability to grow selection from one edge in both directions by different amount. show_nodes.jpg Simple use case of selecting 6 edges in a loop starting from one edge: show.jpg details.png

100%

Development Status: In Development

Upvote 20 Downvote 0 blender/pulls/104623
silex
1 Feb 2023

6 Comments

1
silex Author

Thanks! I should have search it on phab first. The only difference between this proposal and your work is the ability to select partial loops/rings. This might be a valuable feature.

modormoder

I've been thinking about this for a while. This may be of high complexity.

silex Author

I was trying to do this with existing nodes with detecting second neighbouring vertex of edge vertex, but I gave up. What kind of limitation exists here? Is it because of the mesh structure?

modormoder

he problem is complexity. Speaking specifically about parallel (rather than connected) edges: you must either build a link map and iterate over it. Or build all groups, and then accumulate a new chain of connections for each of them. The main problem: you never know the beginning and the number of all chains. I just haven't found a way to make it all parallel.

1
david494

It's not quite the same as the node proposed here, but I built nodes for edge loop and edge ring selection, available here: blenderartists.org/t/gn-tool-edge-ring-and-edge-loop-selection/1624785

May be useful to someone without waiting for built-in support.