Step 1: Planning a 3D Print
There are several types of 3D printer available, and depending on what one you're using will affect the way you make your model. For example, a printer using photopolymerization uses light to harden a liquid resin in layers, so when completed the model is simply pulled from the liquid, allowing for all types of undercuts/ interlinking items. However, Thermal Extrusion printers heat plastic and print each layer on top of the previous, meaning that it has to create supports to reach any undercuts in the model. As a result, the supports need to be cleared away before the part is ready, so interior or interlinking details are not really viable. For the purposes of this instructable I am going to assume the model is being printed using Thermal Extrusion as it is by far the most common form of 3D printing. Another important aspect of the printer to keep in mind is the type of material you will be printing in, as it will limit the thickness and minimum level of detail it can print.
So, for thermal extrusion here is what you need to keep in mind.
1. The digital model you send to the printer will be in STL format (Stereo-lithography). This is basically a 3D placement of the paths of the surfaces on your model. However, if your model has any intersecting details it will have difficulty understanding what is meant to be an exterior or an interior surface, and can easily print the wrong thing. Avoid intersecting surfaces. While it can be time consuming to find ways to connect geometry together, especially if detailed, it is necessary. Booleans are a great tool for combing/subtracting objects, but be careful with these. Multiple boolean operations to one object can cause unexpected results. If using booleans, try to compile all objects to be cut into one object before cutting. If in doubt of any problems on your model then run an STL check before exporting. Most 3D programs have the ability to do this.
2. Don't try to send multiple objects in one STL file. As tempting as it is to just export everything together and rush through the printing setup it can easily cause problems, as well as leaving no room for manoeuvring objects in the print setup. One of the main problems here is that any models touching against each other will have a layer of support built between them, regardless of whether or not there is space in the 3D file for it, which can cause parts of your model to be lost. Individual STLs of objects also makes it easier to detect and replace faulty pieces.
3. Thermal extrusion builds up in layers, whose thickness depends on the quality and speed of the printer. This means that any vertical detail will have layered ridges, much like a stack of paper (though often rougher as the layers will be thicker than a single sheet of paper on most machines). While flat surfaces shouldn't have a problem printing vertically, it can become an issue when printing curves. Try to limit curves to being printed horizontally. While it takes up more space on the printer bed to lie everything flat, it will reduce the number of layers and thereby the roughness of the object. Think about how you place your models.
4. When making objects to fit inside another, don't make them flush. While 3D printing is highly accurate, there is a small amount of bleed in the plastics as they cool, and the ridges of the layers will provide grip to the sides. Trying to insert an object into an exact sized hole will be nearly impossible and require filing/sanding in order to fit. Allow a small gap (~0.5mm, depending on the quality of the printer) around the edges to ensure the piece will fit smoothly.
Phew. Ok, now that the boring part is over, let's take a look at what we're going to be making!