How do I cut an outline/silhouette out of a mesh?

  1. remove all interior vertices inside the outlining shape
  2. create new vertices/edges around border of outlining shape


Here is Lake Nyanza (outlined in orange) enter image description here

I would like all the vertices inside the shape removed, and the last edge of the borders ending at the point of intersection... enter image description here

...and the new border to be the lake shore enter image description here


  1. Boolean modifier:
  • This results in some very unusual faces (see below).
  1. Edit --> Select All --> Knife --> Ctrl+Click on outline --> Knife Project
  • This seems to do nothing.

Boolean difference (despite removing doubles/recalculating normals) enter image description here


1 Answer 1


I'm assuming both your meshes are 2D planes here.

Knife project is a bit finicky, You have to go into edit mode on your base mesh, then select your "lake" from the outliner, then line up your view to the direction you want to cut, then use the Knife Project tool, it helps when they are not on the same plane to get the best results. It won't remove the inner verts though, you'll have to do that manually.

As for the boolean modifier... The lake will need to be a 3D mesh, it will need some thickness, use a Solidify modifier on it. You will get best results if it is not on the same plane as the base mesh, in other words, the base mesh will need to be "inside" the lake mesh, also the lake mesh will need to be manifold. If your base mesh has no thickness, then this will cut a hole in your mesh using the Difference operand. You can then apply the boolean on your base mesh, remove the Solidify modifier from your lake, then move the lake to be in the same plane as your base mesh, join them together with CTRL J and go into edit mode and Merge by Distance. This is the simplest way to fill the hole, especially if your lake has multiple "islands" of vertices.

I recommend you duplicate both your meshes and work on the duplicates in case you mess it up you'll have a backup.

I hope this helps you.

  • $\begingroup$ It worked, but it boggles my mind that there is not a simpler way. $\endgroup$
    – SKNB
    Commented Mar 19, 2023 at 20:07

You must log in to answer this question.

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