April 15, 2026
Description
Metal screw thread profiles are not ideal for FDM 3D printing due to their reliance on machinist tolerances and steep overhangs. To overcome this, I have designed custom threads optimized for FDM’s limitations. Download the Fusion360 template and follow along to create your own.
3D-printed nuts and bolts can streamline your project by eliminating the need for purchased hardware. You can fabricate all the necessary components directly on your 3D printer. And incorporating handles or knobs into your design eliminates the need for assembly tools.
Print nuts and bolts in a vertical orientation to maximize thread resolution. However, keep in mind that strength decreases as parts become longer and thinner because of layer stacking. Therefore it is ideal to design short and thick parts.
Print bolts in a horizontal orientation when you need strong and/or long bolts, as the layer stacking now works in your favor. Thin bolts are less problematic in this orientation, but you will need to use round threads to ensure they print correctly with a round nozzle. (Trapezoid threads are not available in a horizontal orientation.)
Thin layers (like 0.1 mm) can improve your parts, but 0.2 mm layers still make functional threads. I could not detect a difference between thin or standard layers with a tolerance of 0.28 mm, 40° overhang, and PLA filament.
I want to emphasize the importance of seams. Bulging seams cause problems by adding friction and irregular bumps during rotation. I have seen the best results with random seams and scarf seams. (Bolts printed horizontally are less likely to experience problems with seams.)
The variables below control the shape of the threads. Pitch is automatically adjusted to a safe value. For round threads, the value for thread must be larger than your nozzle diameter!
| Trapezoid Threads | Parameter |
| How far do threads stick out | thread |
| Overhang angle | angle |
| Small side of trapezoid | min_thick |
| Round Threads | Parameter |
| Thread diameter | thread |
| Overhang angle | angle |
The variables below control the shape of the nut and bolt.
| Parameter | |
| Tolerance for the whole 3D print | total_tol |
| Half of the tolerance applied to each side | tol=total_tol/2 |
| Length of threaded portion of bolt | len_threaded |
| Length of unthreaded portion of bolt | len_unthreaded |
| Height of nut | len_nut |
| Threaded bolt outer diameter | diameter |
| Bolt head thickness | head_thick |
| Bolt head diameter | head_diameter |
| Minimum wall thickness | thin_wall |
Some changes can cause an error in the two sweep features. It is simple to fix, but please be mindful of visibility when using a join operation. The first sweep makes threads for the bolt, and the second sweep makes threads for the nut (technically the negative of the nut).
Some of the variables are dependent on each other, and not every combination of values is expected to work. If you have addressed the Path + Guide Rail issue discussed above and your design still does not work, try decreasing thread or increasing diameter.
Thanks for visiting, and enjoy!
Minor update: Fixed some grammar and updated some text.
Major update: Added partially threaded models, round threads, and horizontal bolts.
Major update: Reuploaded a new version that is more robust to changes in user parameters. Updated the written guide to match the new F360 timeline. Also corrected a drawing that referenced a value for diameter, but showed radius.
License:
Creative Commons — Attribution — Noncommercial — Share Alike
8