Cutting a mesh in half

49

17

I have a mesh which I have imported from an OBJ file. I would like to apply Material A to the section of the mesh which is on one side of a given plane, and apply Material B to the section of the mesh which is on the other side of that plane. A potential plane is indicated here as a blue line. Note that it does not necessarily intersect the centre.

To do this, I need to split the any faces which intersect this plane, and select all faces on one side of the plane so that I can apply a material to them. How can I do this in the current versions of Blender?


I've tried using the K knife tool in Z cut-through mode, but the cuts haven't been reliable. Even when they were, after the cut was finished I couldn't figure out how to select only the faces on one side of the cut. (The details were too fine to be reliably selected with any tools I know, such as the C circle select tool.) I tried using the B selection tool, but it only selected the faces on the near-side of the mesh.

We used to have a procedure to cut a mesh using a plane in Blender 2.4, but it involved using mesh boolean tools which appear to have been replaced, and I can't figure out how to adapt it.

user

Posted 2013-12-05T20:21:07.717

Reputation: 1

Another use for this is for deleting one side before creating a mirrored object. – Mechanical snail – 2014-02-18T21:11:05.350

Answers

63

I would recommend using the bisect tool (new in Blender 2.69):

  1. Enter edit mode (Tab), then press Space and type in Bisect, or select Bisect from the toolshelf (under Add).
  2. Click and drag, to bisect the object. enter image description here
  3. Press F6 to bring up the options for the tool, and select clear inner, or clear outer depending on which half you don't want. enter image description here

If you don't want to delete half, but just want to select it:

  1. Instead of step 3, press H to hide the loop: enter image description here
  2. Hover over the half you want and press L to select linked vertices under the cursor: enter image description here
  3. Unhide everything (AltH), leaving you with one half of the object selected: enter image description here

CharlesL

Posted 2013-12-05T20:21:07.717

Reputation: 12 338

1

Note that this feature was added in Blender 2.69, which is at present newer than the version in the Ubuntu repositories. You can get a newer version from a PPA: http://askubuntu.com/questions/4586/is-there-a-ppa-for-the-latest-blender-version

– Mechanical snail – 2014-02-18T21:09:13.790

In step 3, how would one go about filling in the missing faces? – tecywiz121 – 2014-06-09T03:02:35.573

@tecywiz121 You could create an n-gon with F, then triangulate the mesh with Ctrl-T. – CharlesL – 2014-06-09T13:02:04.283

Thank you, that's incredibly helpful! Do you know if there's a way to just select the other half, instead of deleting it? – user – 2013-12-05T20:32:43.140

1@JeremyBanks yep, added the process to the answer. – CharlesL – 2013-12-05T20:35:16.117

1Thank you very much. That almost works, but unfortunately the selections created with <kbd>L</kbd> sometimes cross over the bisection, even with the middle parts hidden. I'll keep trying to figure it out. Even if I can't get it perfect, you've helped me get a much better result than I had so far. – user – 2013-12-05T21:19:46.253

2@JeremyBanks I think you are looking for Select > Select Loop Inner Region. – Leon Cheung – 2013-12-06T05:03:24.597

18

A recommended workflow here would be:

  1. KZC, then drag a perfect vertical line. (Optional for C)
  2. Menu: Select > Select Loop Inner Region, to select one side of the cut result.(F6 > Select Bigger to select the other side)
  3. Assign a second material for the selection. Done.

As shown below: enter image description here

Leon Cheung

Posted 2013-12-05T20:21:07.717

Reputation: 21 565

@Jeremy Banks, have you solved it? – Leon Cheung – 2014-03-24T01:08:34.927

1I'd prefer this version over CharlesL's, because I had to cut in the perfect middle and with K + Ctrl you can snap to the exact center of an edge and thus keep full precision. – Jan – 2014-12-21T15:21:09.483

8

If you want to create two identical halves from a symmetrical mesh, all you need to do is to tab into Edit Mode and press Numpad 5 then Numpad 1. Now you can press B for Box Select and drag over the vertices to one side of the center line, then delete those vertices.

GIF Illustration

This method can be used to make Vertex Groups for easy selection, so you can assign materials. Notice that your selection will be limited to the vertex locations, and no new geometry will be created to ensure a straight line.

VRM

Posted 2013-12-05T20:21:07.717

Reputation: 14 867

3

Just to add a more procedural way to do this cutting thing. This is one solution if using Sverchok Add-On. The cutting is done using Bisect Node, very similar to Blender's Modeling own Bisect operation.

enter image description here

enter image description here

https://gist.github.com/d6149321dfa1cce9db64347f48a33bf5

You will end up with 2 new objects in this case, but you can join them if you like.

Blender Sushi Guy

Posted 2013-12-05T20:21:07.717

Reputation: 933

What is the 2nd picture? – kyb – 2018-03-24T22:50:19.757

12nd picture is Sverchok node tree. You need to install this addon. – Blender Sushi Guy – 2018-03-25T10:40:48.427