1
$\begingroup$

I have a mesh, some edges share verts, all verts are connected. Empties on the image below show the verts that belong to only 1 edge — mesh "endpoints": enter image description here

I separate the edges, convert the mesh to a curve, trim it — every segment gets trimmed. However I want to offset only the points that aren't the endpoints from the previous image. Here's the result I'm getting with the empties showing where the 4 mesh endpoints should've stayed: enter image description here

Here's my node tree: enter image description here

I can get curve end points with the Endpoint Selection node but converting to curves will split the mesh into several splines. I've also tried to capture the mesh endpoints with the Vertex Neighbours node before splitting the mesh to get the 1-edge verts but... I don't know what to do with them after, there's no selection I could plug them into that I can think of.

And the scene: https://www.dropbox.com/s/zfim0903q9pugla/trim_without_endpoints.blend?dl=1

$\endgroup$

1 Answer 1

2
$\begingroup$

You could solve this as follows:

enter image description here

  • First determine the number of vertices per edge. You use this value as selection for Set Position.
  • You determine the position by calculating the direction vector of an edge and scaling it with the value of your choice.
  • The direction of the scaling is obtained by comparing the previously selected stand-alone point with the position of the points returned by the node Edge Vertices.

Of course, you can also turn this around by simply checking that the number of vertices equals $1$:

enter image description here


(Blender 3.1+)

$\endgroup$
1
  • $\begingroup$ Beautiful! The solution was to make your own version of the trim with more control. Thank you! $\endgroup$ Commented Aug 28, 2022 at 6:27

You must log in to answer this question.

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