I have been doing a fair amount of 3D printing with my Prusa i3 MK3s printer.  I have graduated from downloading and printing stl files from thingiverse to creating my own.  There are multiple different 3D design programs out there and I have tried several.  For complicated things, I use Fusion 360, which has a Free for Hobbyist page.  Hurray!  

For most things, however, I use TinkerCad.  It’s a great web-based tool that will cover most of your needs.  The one glaring flaw that I have found with TinkerCad is that there is no ‘Intersection’ tool.  If you have two objects, like the short box and cylinder below:

tinkercad box and cylinder

and you want to produce their intersection:

tinkercad intersection of box and cylinder

then you are out of luck with the built-in tools.

However, not all is lost!  What TinkerCad does provide are 2 things that we will use to produce and intersection:  Group and Holes.   A Group joins together two objects into a single object.    A Hole turns an object into a negative version of itself.  Here is how we use these to do an Intersection.

Step 1:  Select one of the objects and turn it into a Hole.  

Note, if you were to Group this with box, then you would end up with the following (You Group them by shift-clicking on the box, so the hole-cylinder and box would both be selected and then clicking on the Group button ):  

This is not what we want, so don’t do this yet!

Step 2:  Duplicate the other piece.  You do that by selecting it (left-clicking) and doing Cntl-D:

Step 3:  Group the Hole and the Duplicate.  Shift-click on the Hole and click on the Group button.  Here the Duplicate and Hole are selected: 

And this is what it looks like after the Grouping.  Note that there is a line showing where the duplicate is now missing a piece:  

Step 4:  Turn the Grouped-Duplicate-Hole into a Hole.  Without unselecting the Grouped object you just created, click on Hole, turning it into a hole:

 It’s a good idea to do this immediately, because the original box and the Grouped-Duplicate-Hole objects are on top of each other and it can be difficult to select the right one. 

Step 5:  Group the Grouped-Duplicate-Hole-Hole object with the original box.  So, shift-click the original box (the red part above) and Group:

and after you have Group-ed them:

And this is the Intersection, which is what we wanted.

Why does this work?   Because of set theory.  What we want is the Intersection, but that is not a function that is available to us.  We do have Union, since that is what Group does.  We don’t have Set Difference exactly, but we have a ‘Hole’ function.  So, what we are doing above is: 

AB=A(AB) A \cap B = A - ( A - B )

You may think to yourself that A – (A – B) = A, but this is not arithmetic.  This is set theory and set differences are not associative.  How do we get A – B?   We turn B into a hole and group it, so:

AB=ABH A - B = A \cup B^H

We want to do the difference again, so we have to turn the above into a hole and group again.  So, the final equation is:

AB=A(ADBH)H A \cap B = A \cup ( A^D \cup B^H ) ^H

where AD A^D is a duplicate of A.  In terms of TinkerCad, do it starting in the middle and work your way out.  The steps are:

  1. Turn B into a Hole, call it Bh
  2. Duplicate A, call it Ad
  3. Group Ad and Bh, call this Ad-Bh
  4. Turn Ad-Bh into a hole, call it (Ad-Bh)h
  5. Group A and (Ad-Bh)h

And then you have your intersection.  

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>