Is it possible to create a Boolean difference with a defined air gap (offset) between object A and object B (see picture below)? This is particularly interesting for 3D printing operations, where one physical object needs to be set into another. So to achieve this, normally you give a tiny gap between both objects, so they can smoothly be joined.

If this is not possible the classical way, are there any automated workarounds to achieve this, without manually rescaling the (sometimes complicated) subtracted shape? Maybe even with another tool than blender?

Parametrized Air Gap after Difference Operation

  • 4
    $\begingroup$ Instead of scaling you can add Displace modifier to subtractor $\endgroup$
    – Serge L
    Jun 25 '19 at 12:03
  • $\begingroup$ I have had this problem a couple of times, and the only solution I could come up with was duplicating the object, scaling the duplicate, and then deleting the scaled duplicate. I don't think you could use other software because other software is incapable of dealing with .blend files. Also, really well written question, nice job. $\endgroup$
    – avatar
    Jun 25 '19 at 12:04
  • $\begingroup$ @avatar Blender does export to several well-supported file formats $\endgroup$
    – A C
    Jun 25 '19 at 21:51
  • $\begingroup$ But importing them back is rather complicated, since usually exports mash all of the separate objects into one $\endgroup$
    – avatar
    Jun 26 '19 at 13:51

Make a duplicate of your object and add a Displacement modifier without any textures.

Unlike scaling (which is shape agnostic) it will give you a true uniform offset all around your object based on mesh normals.

Optionally make this object Display As: Wire, and parent it to the original object. Now make the Boolean operation on the offset mesh rather than the original one.

When moving the original object around, the offset one will move along with it because it is parented

enter image description here

You can independently control offset amount from the Displacement modifier Strength setting.

  • $\begingroup$ this is exactly what I was searching for. Thanks a lot! $\endgroup$
    – m0r0n
    Jun 26 '19 at 17:42
  • $\begingroup$ What if the difference object has some modifiers. How can changes to the modifiers be applied to its displaced "shadow" automatically? $\endgroup$
    – Thomas
    Sep 11 '19 at 16:45
  • $\begingroup$ Manually by Ctrl + L Make Links > Modifiers, there is no automated way to sync modifiers, as far as I know $\endgroup$ Sep 11 '19 at 16:52

Expanding on @SergeL's comment.

Create a Duplicate of your subtractor object and parent it to the original ctrl+p, set the Maximum Draw Type to Wireframe and add a Displacement Modifier.

In the source object's Boolean Modifier set the target object to be the Child mesh with the displacement modifier.

Now you can change the Displacement's Midlevel as the offset value and move the parent to re-position the Boolean.

boolean operation orthographic displacement settings boolean settings boolean operation result 3d

  • 1
    $\begingroup$ This answer also deserves some highlighting, as it is nicely explained! Thank you @rob $\endgroup$
    – m0r0n
    Jun 26 '19 at 17:44
  • $\begingroup$ thanks @m0r0n I deleted it the moment I posted it due to there already being answer. Not sure how it got resurrected. $\endgroup$
    – rob
    Jun 27 '19 at 9:01

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.