By waffles I mean a waffle shaped bottom for parts that have a large build plate contact area. Why is this something to be aware of?  The answer is that parts that have large contact areas are prone to shrinkage from cooling filament. This shrinkage can result in problems like this:

The photo above is a print I aborted when I saw that it had pulled itself away from my printbed. Needless to say the part is supposed to have a flat bottom. So what to do? After some fussing I came up with the idea of a waffle bottom:

This concept reduces the the build plate contact area, makes the printed part easier to remove, and pretty much solves the warping problem cause by the contraction of cooling filament. Here is the what this part looks like from the side:

The STL file for this part is here: Thingiverse or Pinshape

How to make a waffle bottom

I’ll outline the steps I used to make the waffle and try to make them generic enough for any 3D design software. This method will work OK for any shaped part, but of course it’s easiest for square or rectangular ones. I use the combination of Grasshopper and Rhino3d which results in totally parametric designs, but this is not really necessary for individual parts. You can read more about parametric design software at this blog page.

  1. Start with a triangle shape. It helps if you can make the exact shape variable so you can change the shapes of the waffle bumps to suit the part you are making. For the part shown above I used base width of 4.4 mm and height of 2.9 mm.
  2. Extrude the triangle along the Y-axis a distance larger that the part you are going to be making. Cap the ends so you have a closed, solid object.
  3. Move the extrusion in the -X direction a distance larger than the size of your part. At this point you’ll have something like this: 
  4. Make a linear array in the +X direction so you have something like this:For this part I used a distance between array elements of 10 mm and specified 20 items.
  5. Rotate the entire array 90 degrees and group all the elements together: Don’t worry about the extra parts that aren’t connected. You just need to make sure the size of the connected ones is at least as large as the bottom area you want to turn into a waffle. Note also that you will need a way to make small adjustments to the X and Y positions of the connected parts so you can get a symmetric set of waffle bumps on the bottom of your part.

The next steps are the tricky ones. Basically you have to cut out the waffle making parts in a shape that properly fits the bottom of the part you want to print. In general you’ll want a cutter that produces a waffle that is slightly smaller than the actual part bottom you’ll be printing – this is so you’ll have a nice solid border around the waffle cutouts. Making the cutter is a 3-step process.

  1. Make a large rectangular or square solid shape that is larger than the part you are printing. Also make another solid shape that is slightly smaller than the bottom of your printed part. The height of both shapes should be higher than the triangle you started with in Step 1.
  2. Perform a Boolean subtraction of the second shape from the first one. This will give you something like this: 
  3. This is your cutter. Use it to trim off the unwanted parts of the geometry in step 5 above. Do this by performing a Boolean subtraction of the results of step 5 and the cutter. You should end up with something like this: This photo is wrong because there is a bug in Rhino that sometimes causes Boolean operations on solid objects to not work properly. In this photo the parts outside the central square should not be there, but it turns out it doesn’t matter if they are or not. The reason is that the actual part is only slightly larger than the central square, so the following step yields the desired results with no problem.
  4. This is the step that produces the waffle bottom. All you have to do is one more Boolean subtraction of the above geometry from your actual part. Assuming you have done things properly you’ll get a result like this: 

Here are a couple of things to look out for:

  1. Tweak the size of your original triangle and the spacing of the linear array so that the spaces in between the waffle flat bottoms comes to a point and is not flat.
  2. Don’t make the size of the waffle shapes too small – small ones take a long time to print and can get dislodged from the print bed during printing.
  3. Don’t make the size of the waffle shapes too big or you’ll lose the benefit of doing them in the first place.
  4. Make sure the height of your triangle is less than the thickness of your part’s bottom – otherwise you’ll poke holes in the bottom when you do the final Boolean subtraction.


Last Update: 19 May 2017