Introduction

While the usual way to add threads to a 3D printing part is to use threaded inserts, another often overlooked option is nut embedding.

Inserts usually are the best option, but for onezies/twozies it can be annoying to have to buy and wait a whole bag of those to arrive, specially considering the average tinckerer most likely already has the perfectly sized nut in his collection.

In such cases, nut embedding is a good alternative, her how it works:

  • Leave a pocket in the model for the nut (with appropriate tolerances).
  • In the slicer, add a pause at the top of the pocket layer.
  • During the print, when the pause is reached, manually insert the nut into the pocket.
  • Resume the print and let the printer cover the nut.

How To Do It

Part Design - A Sacrifice To Bridge The Void

Designing the pocket is straightforward: measure your nut and create a pocket with appropriate clearance on each side (+0.5mm on the nut dimensions should do it).

In addition, I recommend adding one thin (~0.2mm) “sacrificial layer” directly into the model.

This sacrificial layer is here to ease bridging over the nut once the latter as been inserted. This layer will be punched through when screwing in the bolt for the first time.

3D model for nut insert

3D model with pocket and sacrificial layer

Some slicers fill-in closed cavities by default. No doubt there is an option somewhere to disable it, but instead of searching for it, an easy hack is to insert a really tiny (~1µm) hole in the sacrificial layer.

Tiny hole hack in sacrificial layer

Add a tiny 1µm hole to prevent the slicer from filling the void

Here how it looks in 3D:

Loading 3D model...

3D knob model with embedding pocket

Slicing, Printing and Seasoning

Slicer

Once your model is ready, import it into your slicer, slice it, and add a PAUSE at the top of the nut pocket (the start of the sacrificial layer).

The process varies between slicers, but here’s how to do it in PrusaSlicer:

  • Click Slice now.
  • Using the vertical slider, navigate to the sacrificial layer.
  • Right-click on the + icon and select Add Pause.
  • Export the G-code.
PrusaSlicer showing pause insertion

Adding a pause in PrusaSlicer

Note 1: The PAUSE occurs at the start of the selected layer. Don’t be confused by the default horizontal cursor position, which is set at the end of the layer.

Note 2: Make sure your toolhead moves out of the way, either through your printer’s PAUSE macro or by using G-code like:

M25                     ; pause SD print
G91                     ; switch to relative positioning
G1 X25 Y25 Z25 F3000    ; move nozzle +25mm in X, Y, and Z (away from print)
M0                      ; wait for user to press button / resume
G1 X-25 Y-25 Z-25 F3000 ; move nozzle back -25mm to original position
G90                     ; return to absolute positioning
M24                     ; resume SD print

Or, more simply, if your printer supports it:

M600 X25 Y25 Z25        ; "color change" without retraction.

Printing

Once you have your G-code, start the print and wait.

When the PAUSE occurs, insert the nut carefully (be cautious not to detach the part from the build plate… don’t ask me how I know…).

Print paused with nut inserted

Insert the nut during the pause

Then resume the print. The printer will add the sacrificial layer and bridge over the nut.

Printing sacrificial layer over nut

Sacrificial layer being printed over the nut

Let the print complete. If everything goes well, you’ll end up with a clean part and an invisible embedded nut.

Completed 3D printed part with embedded nut

Finished part with embedded nut

Conclusion

Embedding nuts in prints is a useful technique that’s definitely handy in a pinch. It can even be marginally more resistant than inserts in some situation.

Plus, this technique isn’t limited to nuts. It can be leveraged in many other situations, such as adding mass to a part, inserting magnets, or adding rebar for reinforcement.

Hope you found this technique interesting, and happy printing.

Links