4
$\begingroup$

I'm trying to cut a triangular pyramid precisely into two pieces, a lower base part and the upper tip, as shown by the blue lines in the picture.

Example shape

Vertices A B C must have the same exact z-coordinate. So when the tip is cut away it will leave a perfecly flat (non-angular) surface.

I've tried subdividing and sliding vertices (Shift V) and trying to snap to a vertex in another mesh (with the required z coordinate), but its semms there is no vertex snapping for slide operations.

I also tried bevelling the top vertex to 0.0001 which allows using Edge loop and slide, but the same issue then occurs, ie no vertex snapping.

I could just add the vertex on each edge and then manually slide into place until I see the exact z coordinate, however I need to do this many times and it is relatively slow and error prone.

Is there a builtin way (or add-on) that simply lets us cut an object into two pieces precisely?

$\endgroup$
4
$\begingroup$

You can easily achieve this with a boolean modifier, using a plane. Add a plane, set its height to be where you want to cut the pyramid, then add a boolean modifier to your pyramid, set the plane as the object, and duplicate the pyramid.

One copy of the pyramid should have the boolean operation parameter set to difference (keep the top of the pyramid), while the other should be set to intersection (keep the bottom of the pyramid).

Apply the modifier on both copies to complete the process.

Bool

$\endgroup$
  • $\begingroup$ Great, that does the job thanks. I've had issues with the Boolean modifier in the past messing up meshes and not working with coplanar edges. But that was on more complicated meshes though. Do you know if it has been improved/fixed recently (I'm using 2.74). $\endgroup$ – Ash Oct 16 '15 at 10:54
  • $\begingroup$ The boolean modifier has made huge improvements. I used to be scared of using it in any program (coming from older versions of Maya you're taught to avoid it at all costs). But I've been using it in many different applications since, scripting on complex meshes included. You just need to avoid some things that cause it to malfunction (non-manifold geometry, reversed normals, irregular scale and rotation) and you're fine. $\endgroup$ – TLousky Oct 16 '15 at 11:23
4
$\begingroup$

For quickly cutting intersections in edit-mode, the intersect tool can be used for this.

Simply add a plane in edit-mode, access from the Menu: 'Mesh->Faces->Intersect' (demo video)

  • Advantages over bisect is you can intersect more complex shapes.
  • Advantages over boolean is it doesn't have to calculate inside-outside, its an editing tool instead. Also its less hassle to setup then boolean.
    Although they are really intended for different purposes.
$\endgroup$
  • $\begingroup$ Thanks. 4 ways to accomplish it, each with their pro/cons! Still, this question will be a good reference for me (and others) in future. (That demo video is ok, but way too fast paced. I think Blender needs more tutorial videos and less demos). $\endgroup$ – Ash Oct 17 '15 at 4:39
  • $\begingroup$ Since this is a primitive operation, theres going to be a few ways to do it :), as for the video, it wasn't intended to be a tutorial - just showing that the tool was added to Blender. $\endgroup$ – ideasman42 Oct 18 '15 at 8:47
2
$\begingroup$

You may use a Knife Project tool.

Add an edge and place it at a certain distance from your pyramid. enter image description here

Enter the orthographic view (5), choose the Front view (Numpad 1) and place the edge at the desired height. In Object Mode select an edge, then a pyramid and then press Tab to enter the Edit Mode. Now press (Space), type Knife Project and press Enter. enter image description here

In Tool Shelf check the Cut throught box. enter image description here

Delete the top vertex. Fill the gap with the F button. enter image description here

$\endgroup$
  • $\begingroup$ Really helpful, thanks. I had to use a plane as I'm not sure how to add just an edge. I also tried cutting 3 objects at once, but it only works on the final selected object, is that possible? $\endgroup$ – Ash Oct 16 '15 at 11:25
  • $\begingroup$ Ash, if you want to add an edge just add a plane and delete its 2 vertices :). If you want to cut through multiple objects you'll have to join them first (Ctrl+J) and eventually separate (P) them later. $\endgroup$ – Paul Gonet Oct 16 '15 at 12:10
2
$\begingroup$

Bisect

As stated by the Blender Reference Manual page:

The bisect tool is a quick way to cut a mesh in-two along a custom plane.

You can find the command in the Tools tab of the toolshelf while in Edit mode:

enter image description here

Select the interested faces (probably all) and draw the trace of a plane.

Once released the button you can tweak the cutting plane location and orientation in the operator panel:

enter image description here

For a cutting plane parallel to the XY plane you should set a normal vector of (0,0,1). By changing the plane Z position, you'll have full control on where to cut the pyramid.

$\endgroup$
  • $\begingroup$ Thanks, works well. Boolean may be slightly quicker as I don't have to separate mesh. When tracing the plane can you "snap" to angle increments such as 5 degrees? Then we wouldn't have to adjust the normal. $\endgroup$ – Ash Oct 16 '15 at 11:10
  • $\begingroup$ No, you can't snap angle increments. It requires precise vector values that you can calculate (e.g. 5° of rotation on Y axis => X=sin(5°), Y=0, Z=cos(5°)), but if you need some grade of interactivity because you don't know the final anglese, boolean operations are definitely the best option. $\endgroup$ – Carlo Oct 16 '15 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.