I'm using Blender 3.6.1 LTS.

I have an edge loop isolated from the edge loops generated by a boolean difference. Using the answer from geometry nodes - Get Faces of Edge I can isolate the faces on that edge loop.

I want to further separate those faces into two groups, one on either "side" of the edge loop. In the below picture, the green octagon is the edge loop, the faces on the loop are in white, and I've arbitrarily assigned the two "sides" as 1 and 2.

A cube with a cylindrical hole punched through it

I can do this in this case by separating out the white faces into their own mesh, then splitting the green edge. Now I have two mesh islands (indexed 0 and 1) and I could transfer that data back to the original mesh, and then discard my separated and split mesh as no longer needed.

Example of split mesh showing different islands Example node tree

This seems a bit kludgy to me, and I'm not sure if there's memory/performance implications by duplicating mesh like this, only to delete it. Is there another approach?


1 Answer 1


Assuming you use the node Mesh Boolean to intersect two objects, you can use the following setup:

enter image description here enter image description here

The trick here is that you first simply mark the faces of one of the two meshes with Capture Attribute, and combine this value with the intersecting edges after the Mesh Boolean node.

This way you can easily select either the intersecting edge faces of one or the other mesh.

(Blender 3.6+)

  • $\begingroup$ Yes, that's exactly what I'm doing! Thank you, that's a nice simple solution. $\endgroup$
    – Emily
    Aug 11, 2023 at 16:44

You must log in to answer this question.

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