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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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.

1 Person Made This Project!


  • CNC Contest

    CNC Contest
  • Make it Move

    Make it Move
  • Teacher Contest

    Teacher Contest

9 Discussions


4 years ago on Introduction

Thanks I learned a lot from this. However I was looking for a more step by step guide on using this devices. Specifically the Mendel Max. Did you make a guide or know of one?

Dream Dragon

6 years ago on Introduction

I have been Using Scetchup to doodle 3D things but finding it's limited, I'm going to look into "Blender", I'm not sure about the OpenSCAD thing since I'm not sure about the script based interface, it's not something I'm familiar with or comfortable with.

3 replies
slickslamDream Dragon

Reply 4 years ago on Introduction

I use Sketchup too If you get the pro version (student is about $50) and download a few key plugins its a very powerful and easy to use tool.

Dream Dragonslickslam

Reply 4 years ago on Introduction

Unfortunately I cant afford that, and the free version has been so severely cut back now that I've stopped using it. If it would actually net me real paid work it might be a different issue, It's still on my CV but I don't really have time to "doodle" anymore, nor complete any of my projects, or even hang out on instructables anymore.

slickslamDream Dragon

Reply 4 years ago

If I win the lottery I am going to pay you to doodle.


4 years ago on Introduction

A solution similar to the captive nut method for providing machine threads in 3D-printed plastics uses a type of threaded inserts designed for use in thermoplastics. McMaster-Carr calls these "Heat Set Inserts for Plastics" and they can be found at:


Basically, if you 3D print or drill a small pilot hole, you can use a soldering iron to heat up these threaded inserts and push them right into the plastic. They heat quickly because they are made of brass, and set in place quickly once heat is removed. This works GREAT as it can allow a deeper thread length (than a regular nut) if you order a longer version, they stay in place once they are installed (but can be easily removed), and they can be put on the "back side" of an object (as a nut would be placed) or the front side (if the back side is inaccessible). I use these with M3 screws to connect my ABS and PLA parts, and they work very well.

It does help having the insert and removal soldering iron tips (if you need to remove them. Actually, just the removal tool can work for insertion and removal). You can probably use any soldering iron to heat them sufficiently, however, and avoid purchasing the insertion and removal tips.

If you get the soldering iron tips, they only fit on slightly larger diameter soldering irons (relative to those one might use for electronics assembly). The diameter of the tips is a bit larger than what your soldering iron might be.

If you have a need for lots of precise threads that are fairly strong and will hold up to multiple screw insert/removal cycles, these could be for you!


4 years ago on Introduction

Good points in your Step 2. Also, there is no law that says that you must create all of your geometry with the printer. There is nothing wrong with modeling (and subsequently printing) a small divot, or other marker/placeholder for a hole, and then drilling the hole after the print operation is done.


5 years ago on Introduction

I haven't heard of OpenSCAD prior to this. Trying it out for the last few days. Still much to learn but I like it so far.

Cool, I just started playing around with OpenSCAD. I like it a lot and the use of variables and for loops has been hugely helpful.