1
$\begingroup$

It was difficult to explain my issue with a simple title. So I will try to do it better here:

Let's say you have a relatively complex solid piece of geometry with quads, tris, and n-gones. And you use the node Split Edges with it.

Now you have a bunch of faces with lots of overlapping vertices. But each of your vertices is connected to 2 (and only 2) other vertices, and to two different edges that are connected to your vertex, right?

So each vertex is connected to another vertex with 1 edge, and to another vertex with another edge.

Is there any way to capture the position of these 2 connected vertices?

I thought the node Edge Vertices would do just that (and it does exactly that for maybe 70% of the vertices, but not for the rest of them. And it looks pretty random in how it chooses which vertices to return with that Edge Vertices node.

$\endgroup$
3
  • $\begingroup$ The problem is that Edge Vertices gets edges for input, not vertices. So to make it work, it converts vertexes to edges, usually by getting one of the nearest. So you get some result, but of course not that you want. $\endgroup$
    – Crantisz
    May 4, 2022 at 13:04
  • $\begingroup$ If you would have connected every vertex to exactly 2 other vertices, then you had a cyclic line. $\endgroup$ May 4, 2022 at 21:01
  • $\begingroup$ If your question has been solved, please be so kind and mark the answer that contributed to the solution as "Accepted answer". This will make it easier for others to see which path leads to the solution, and the question will no longer show as unsolved. Thank you! Here you can find more information: What should I do if someone answers my question?. If you still haven't gotten a solution to your question, please be kind enough to address it. $\endgroup$
    – quellenform
    Oct 4, 2022 at 18:19

1 Answer 1

1
$\begingroup$

Is there a way to capture the position of these 2 connected vertices?

Yes, it is possible with a simple trick and a little node juggling:

enter image description here enter image description here

  • I first save the original indices of the points and then scale the separated faces by half.
  • Then I convert the scaled mesh into curves and get one spline per face. These splines have an independent numbering of the indices.
  • If I then move the index within this spline one forward and one backward, I get the possibility to query the original indices of the adjacent points.
  • The rest is then only a transfer of the indices from splines to scaled mesh, and from scaled mesh to original mesh.

With these indices you can then easily read different values of the other points.

For example, to get the position of another point, you can use the node Field at Index:

enter image description here


(Blender 3.2)

$\endgroup$
1
  • $\begingroup$ Yuck! :(. ... +1 :). $\endgroup$
    – Robin Betts
    Aug 29, 2022 at 6:50

You must log in to answer this question.

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