Introduction: 3D Design for 3D Printing

If you're going to have a 3D Printer, you have to be able to design things to print with it. Thingiverse can only take you so far, you know. The only problem with Makerbot/RepRap style 3D printers is that they have limitations. Some overhangs can't be printed, layer delamination can cause parts to break, etc. My goal in writing this article is to create a guide for how to design around the limitations of this type of printer to create strong, functional parts.

For the purpose of this article, I'll be using OpenSCAD, an open-source 3D CAD tool. However, most things covered here can be applied to other programs as well.

The photo is of Erik's label dispenser .

This instructable was produced for Pumping Station: One.

Step 1: A Note on Software

Software is important. Your choice of software affects your design process, and to an extent the way you think about design. For this article, I'll only use open-source cross-platform tools.

One popular option for  3D work is Blender. Blender is a very powerful modeling and animation tool. Blender is also a mesh modeler , meaning your designs are made of triangle meshes. You can then shape these meshes into your designs. A tool like blender is a good option if you like to sculpt or "feel" out designs as you work.

I use OpenSCAD. OpenSCAD is a CSG (constructive solid geometry) modeler. This means that you make your object by combining primitive forms. OpenSCAD doesn't sculpt. It uses a code-like design process, much like POV-RAY or other ray tracing programs. If you like to design mathematical forms, or really like writing code, OpenSCAD is for you (it has for loops). OpenSCAD has one especially powerful feature: variables. Being able to assign dimensions to a variable and then generate the object from those allows you to make parametric designs.

One important thing to keep in the back of your mind is making sure your designs are manifold. In the interest of time, I refer you to this excellent article on the subject. It's much easier to make non-manifold objects with a mesh modeler than with a CSG modeler.

A final note: Although I will be using OpenSCAD, this is not an OpenSCAD tutorial. There are plenty of good ones out there. I will, however, share my source files for every step. I assume that you have some ability to do basic 3D design, and am only providing tips for optimizing designs for 3D printing.

Step 2: Overhangs Part 1: Holes

Overhangs present a challenge to 3D printers without support material. Assuming that the plastic extruded from the nozzle is a cylinder (width/thickness ratio of 1), when printing an overhand of steeper than 45 degrees, the filament is extruded into open air. In practice, the filament is more oval shaped (width/thickness ratio of 1.2 - 1.8), so steeper overhangs can be printed, but not much. In general, it is a good idea to follow the "45 degree rule." Simply put, don't design overhangs steeper than 45 degrees.

This presents a problem for holes. In the first image, you can see that the top of the hole is an overhang. If the part is just a block with holes, I could flip it on its back and print it flat, avoiding the overhangs. Part of design is just the way you think.

Assuming I have to print it upright, as shown in the picture, I have to make a call. The images feature three holes, of 3mm, 5mm, and 8mm diameters from left to right. Plastic has some rigidity, so I can print the 3mm hole fine as it is. The 5mm hole would have some drooping plastic, and would need to be drilled out. The 8mm hole would likely print extremely poorly.

For larger holes, you can use a technique called teardropping. This is shown in the second picture. Teardropping limits overhangs to 45 degrees, making larger holes printable. For holes with a loose tolerance, this will solidly hold a bolt or bearing. A tight tolerance hole would need to be drilled.

In the OpenSCAD file, I have provided a module that makes teardrops given a height and radius.

Step 3: Overhangs Part 2: Straight-Up Overhangs

Straight-up overhangs have become less and less of a problem, now that slicers like skeinforge have decent support structures. They should still be avoided as much as possible, though. In most cases, a part can be rotated or flipped to avoid overhangs. In my example, my part could be in many other orientations to avoid the overhang. Small overhangs can be printed with a well calibrated machine as demonstrated by the DeerOrBunny. But large overhangs are a pain.

I added small supports to my part, as shown in the second picture. These turn the overhang into a supported gap, which will be printable, albeit somewhat droopy. I can then cut them away when I've finished the print.

Step 4: Set Screws and Threading

Now I can move on from things not to do to things to do.
Let's say I want to design a collar with a set screw, like in the first picture. I make the collar, and punch a hole in it for the screw. The hole is slightly undersized. Most 3D printed plastics can be tapped, but often the screw will self tap. That works better in ABS than PLA, but ABS will strip out more easily than PLA. A good way to use set screws in printed parts is a captive nut, as shown in the second picture. The nut will take the load of the screw pulling off the plastic, so it won't strip. This isn't needed for low-stress applications, but it is a good safeguard and works well. A good example of a part using this technique is Zaggo's Z-Crank .

The OpenSCAD file is really just for demonstration; the dimensions for the nut are not right. You can use it for reference if you wish, though.

Step 5: Conclusion

I hope that this instructable has provided a useful foundation for your future 3D design and 3D printing endeavors. Remember that there are many more techniques than I have covered here; these are just basics to get you started. 3D is limited only by your imagination, so go exploring, and make something awesome.