Complex Boolean Difference

Hi all.

I am trying to make a Key cover for 3D printing. I modelled the shape of the key that needs to be inside the cover and wanted to add a boolean to make a hole in the shape of that key.


The key shape should make a hole in the cilinder, so that the actual key fits perfectly in the printed model.

Whenever I apply a Difference Boolean, the cilinder disappears and only the negative shape of the key remains.


I don’t think it is impossible to achieve the shape I desire. But I just don’t know how to.

Can someone help me in the right direction? Thanks!

Keysurround.blend (764 KB)

No blend file supplied with your post ! Why not ? We therefore can only rely on guesswork.

Remove any double vertices
Remove any non manifold edges
Ensure all face normals point outwards

Ctrl+A --> Scale

Enter edit mode and press Ctrl+N to recalculate normals.

Do that with both objects.

I added the blender file in the first post.

Extra info: The key has been imported as an SVG file and transformed to a mesh. This results in a rather messy mesh. Maybe there is a way to fix that?

@Ognjen: I tried your suggestion, but this doesn’t seem to provide the results I require.

Both objects have unapplied and non-uniform scale. Cylinder also has negative scale.



Applying object scale makes the object data (mesh) dimensions match the object and what is shown in the viewport. That’s important because tools and modifiers use object data dimensions


After applying scale with ctrl+A -> scale the normals flip in the cylinder because the scale was negative


Have to make normals consistent for the cylinder (in edit mode) and the key has a lot of double geometry. Selecting all, W -> remove doubles gets rid of those. Merge distance for that now also operates on correct dimensions because object scale was applied.

Thanks for the tip. I followed the steps, but now I have 2 different results.

If I add a Boolean difference to the Curve, I get this:


If I add it to the cylinder, I get this:


The first one looks like it’s going in the right direction, although it’s not creating a negative space in the cilinder.

Deleting the faces leaves me with the edges, but no possible way to extrude downwards. I tried to Join both objects, but that doesn’t seem to do it either.

(I know, I am an absolute beginner with this)

Don’t crop images. You’re not telling blender version, viewport view, and possibly modifier and some object info by doing that and since there’s no updated .blend, can only guess what you’re showing and what could go wrong. But I’m not going to, this should be simple enough.

Do those mentioned things in order

  • first apply object scale, object mode, ctrl+A -> scale
  • then edit mode, select all, W -> remove doubles
  • still everything selected, ctrl+N
    for both objects

When boolean difference is working, it won’t remove the cutting object from view or otherwise. You have to hide it to see the result. Could hide it from the outliner (top right) by disabling the eye icon, or select the object and H to hide (alt+H to unhide).



Boolean modifier behaviour after mentioned fixes. Top viewport and top modifier when the modifier is on the key, and lower ones for when it’s on the cylinder.

A video to show the steps using only menus and the tool shelf

And the .blend with my edits
Keysurround_ja12.blend (186 KB)

That did it! Thanks a lot for your tips. I will also keep in mind to provide full screenshots and updated blender files.

I’ll mark this as solved!