Print design tips?

Hey, folks. I’ve spent the last year or so designing, making, and selling small retrocomputers which involved making a lot of mistakes… err… finding opportunities for learning in CAD and slicers. So, I thought it could be fun to start a thread with tips and tricks from everyone.

I’ll go first: One trick that I wish I knew from the start was to design my parts so that they fit together in only one way with no room for misalignment.

Here’s an example:

That’s the inside of a miniature Cray 1 supercomputer. The black bands now have holes in them that line up with bosses on the white parts. The tolerance is such that the press-fit between parts can hold everything together while CA glue dries. Before I put in those fixed connections I had to be very careful to get everything aligned and to make the glue joints strong enough to provide all structural strength.

Now, any time I find myself being careful or uncertain about how two parts go together I look for a way to make it almost impossible to mess up. When I’m making 100 of a part I’ll definitely mess up. :slight_smile:

If you have similar hard won lessens about print design please do share them here. Hive mind, activate!


Feels like no discussion of this would be complete without linking to Billie Ruben’s infographic from a few years ago. I think technology has improved a good bit in the past three years, softening some of the recommendations, but anyone who hasn’t seen it yet will probably benefit from reading it:

Now on to my own learnings! :smiling_face:

As Billie Ruben points out, you can approximate downward-facing fillets and make them more printable by making them tangent to a 45° chamfer.

However, depending on the printer and filament, you can get away with a much smaller angle. For example, printing ABS on my current primary printer, I can get away with a 10° angle for a substantial distance. With a two-offset chamfer, making the long horizontal measurement just 1mm larger than the radius of the attached chamfer may be sufficient to turn a downward-facing fillet from a skirt of loosely-adhered spaghetti near the bed to a nice smooth surface.

Especially on modern printers with capable, high-volume extruders, smooth large perimeters are time-cheap. Sharp corners slow down printing. Fillets don’t just look nice, they can speed the print up, and can make prints substantially stronger. The same amount of plastic, or maybe even less, can be stronger by taking a “short cut” rounding what would otherwise be a square corner.

Particularly when repairing something by designing and printing a replacement part, take advantage of the characteristics of 3d printing. For example, a neighborhood friend asked me to print a part for a pocket router. He had found an STL that reproduced everything about the part, including the aspects that were designed for it being injection molded. This meant that it would have to be printed with supports in any orientation.

I learned how it would be used, and was able to remove unnecessary features to make it have a flat side for printing, which also made it more robust. I believe it has now lasted longer than the original.

Similarly, when designing functional parts from scratch, design for 3d printing characteristics. For example, think about the best direction for layers, both for printability and for key loads when the part is in use. We have a lot of experience of relatively homogeneous materials (most metals and plastics we experience day to day) so it’s easy to forget how anisotrophic 3d prints are. I think of 3d prints more like wood, where if you are designing with wood you typically have to think a lot about grain direction.

Finally: Before throwing out failures or prototypes, break them while paying close attention. See, hear, and feel how they break. Build up your intuition for how parts fail by making them fail and watching how they do it. Where you can safely do this with your hands, you will probably gain most intuition from feeling how it breaks. (Maybe wear gloves; I cut myself last time I did this.) But where you can’t do it with your hands, use tools, with appropriate protection, especially eye protection! I’ve used various sorts of pliers, vise grips, side cutters, hammers, chisels, and even once a hydraulic press to better understand failure modes intuitively. After doing this enough, I can look at a design and imagine a possible failure mode, and feel how the part is likely to break. Some sort of intuitive wetware FEA I guess. :grin: Just keep in mind that plastic can fracture into sharp pieces and some of them can go flying, so I’m not kidding about using appropriate personal protective equipment.


These are great tips!

To accompany your suggestion to break prototypes, for builds that will see heavy use I regularly drop test initial parts and assemblies to get a sense of which features and fixtures can’t handle sharp shocks. Even when I’ve already been at a part with my hands and pliers, my shop’s concrete floor has quickly found weaknesses.

1 Like

Thanks all. Keep 'em coming. Though not a CAD user these are great tips. All ready one or two tips I will be incorporating into my workflow.

Billie Ruben’s infographic suggests teardrop horizontal holes to avoid drooping filament at the top of the hole. Hex holes work great for many purposes and also avoid that problem, as do square holes, turned 45° if they are large enough to cause bridging problems. As printers and slicers improve, higher-order polygons will probably generally work well, though I haven’t experimented with this.

But there’s another shape for horizontal holes that also solves the problem, and it surprised me. A horizontal hole with threads modeled into it can print well without droop. It’s a little like the relatively new arc overhang supports; the threads end up supporting the overhang as it prints. (The first time I printed a horizontal hole with threads in it, I expected to have to “chase” the hole with a tap, but then I noticed that the slicer didn’t highlight any overhangs when I looked through those layers, and indeed, it printed cleanly and held a screw just fine.)

Modeling threads is computationally expensive. Consider adding the threaded holes near the end of your workflow. At least in FreeCAD, changing threading will radically change the names of edges. If you are making changes throughout a model, this will expose you to the “topological naming problem” so changing a hole in the middle of your operations from being plain to threaded may break the rest of the model if it is not “topologically robust” (e.g. based on datum features).

Speaking of printing threads: At least in FreeCAD, when modeling threads, you can choose a tolerance class for threads. G is looser than H, and higher numbers are looser than lower numbers.


You can experiment with your printer and determine what tolerance class gives you an easy fit and what tolerance class gives you a tight, lock-nut fit for your screws.

Note that a heat-set insert is not necessarily stronger than threads in plastic. Threads in plastic will have vastly fewer working cycles than threads in metal. If you want to disassemble and reassemble often, definitely consider heat-set inserts. But if you are printing parts and screwing them together once, or only a few times, don’t be too quick to dismiss 3d printed threads.

But threads aren’t the only way to assemble parts that are meant to come apart.

Tapers are an amazingly good way to create parts that hold together with tight tolerances, yet can be disassembled. They are used for machine tools all over the place. Wide taper angles are “self-releasing” and narrow taper angles are “self-holding” and they are used to accurately hold work and tools in all sorts of tools. A 2° taper angle works really well in 3d prints to hold parts together, yet allow them to release. My 3D Printed Darning Mushroom demonstrates this technique. I added .1mm to the radius of the receiving hole to account for layers on both sides, and left a little room for variation in print size by adding 2 mm of extra depth to the hole; you can compare the sketches for the two parts in that design to see how that worked.

Billie also suggests only embossing text. However, if I want contrasting color text, I put extruded text on top layers (not sides), and color the top with a sharpie. I do this for my hypotrochoid graphic drawing set to mark the number of teeth on the gears. In PETG, it looks better if I first use a heat gun to remove strings, but it’s definitely clearer than embossed text, as you can see from the “42” and “45” embossed near the top of this picture vs. the gears below with colored extruded text:

I recently put a significant date on a frame for someone. Printed in ABS and vapor-smoothed, the sharpie-toned extruded text looked really, well, sharp.


Printed threads are also handy when a distance between parts needs to be carefully tweaked and then never move again. I was playing around with lenses over the holidays and used printed threaded shafts in printed holes to dial in the distance between elements as the CA glue dried. In metal I’d have used a grub screw and loctite.


Another tip: if I’m unsure of how much room to leave between printed surfaces so that parts fit together my general rule of thumb is to start with 0.1mm. There are entire books about how to set tolerances that take into account the many variables involved and interfaces desired but if you’re YOLOing it just leave 0.1mm.

That said, i often test fits by using my slicer to cut away every bit of the parts other than the tested interface. That way the print takes minutes and a smidge of plastic instead of the entire print time and material so if I need to tighten or loosen the fit it’s no big deal.


Makers Muse on Youtube has some great videos on the topic of designing parts. Some of it is how to design parts with less need of support materials. Some of it is how to design parts in one of the more popular design tools. Some of it is how to get good smoothness or overhangs.

When trying to make parts to size vertically it really helps to use a slicer with adaptive layer height slicing (PrusaSlicer in my case).

This will change the ‘base’ layer height where needed to ensure surfaces are printed at the specified height (not rounded to the nearest fixed layer height), it also works well to smooth overhangs etc.

Without this you are constrained to multiples of the fixed layer height for all horizontal surfaces, which can make it almost impossible to get a good vertical fit. I’ve been making some cases recently that slide and click together with PCB modules, screens etc… between them; these would be very hard to get right and tight without adaptive layer heights.

Here is an example, this is a case to house 2x OLED screen modules, the gap between the glass and the support pins is critical for a nice clean fit with the screen glass flush against the inner surface of the case.

If you look at the layer height graph on the right you can see where PrusaSlicer adjusts the base (0.3mm) layer height to ensure the inner case face and pin posts have the correct vertical height. You can also see it reducing the layer height at the top of the print to make the curves top lip smoother.