Introduction: Make a Seamless Captive Nut in a 3D Printed Part

A captive part is a piece of hardware that is embedded or attached to another such that it's "trapped" inside. This is particularly useful in applications where you want to mount something like a tensioning nut or a leadscrew nut for linear motion. This can also be used to integrate other components, such as electronics or magnets.

In this Instructable I will be going over the basic design considerations required when creating a design that includes a captive part, as well as a tutorial on making a basic flange part with a captive nut embedded. All the software used is either free or open source, and parts files for the flange, the flange with cavity, and the finished STL file for the flange with cavity are downloadable at the bottom of this step.

Software used:

Fusion 360 (CAD Modeling)

Repetier (3D Printer Controller)

Hardware used:

3/8" Nut

3/8" x 6" Bolt

Prusa i3 3D Printer

Step 1: Design Considerations

In order to create a captive part, we're going to create a pocket in the middle of the larger part for the smaller part to be sit in.

But how will we get it in there, you ask? It's quite simple, actually. We pause the print midway through, insert the part to be embedded, and let the printer continue printing on top of it. No ship-in-a-bottle magic required!

While a variety of components can be embedded, it is important to consider how they will be oriented. Flat objects are generally easiest, as the print head must be able to clear the top of the embedded part. This should also be taken into consideration when orienting the larger part itself.

Minimizing the height of the embedded part in the Z-axis while creating your larger part in a way conducive to 3D printing is a skill that will take some practice. That said, once you have the skill mastered, the time invested into an intelligent design will prevent the need for multiple parts, complex creations, or adhesives.

Step 2: Model Your Base Part

First, we need to make a part to add the captive nut to. For this example I made a basic flange in Fusion 360. This base model is included in the files for this tutorial.

If you're not familiar with the various 3D modeling skills required to make this base part, there are many fantastic tutorials available here on Instructables.

Step 3: Create Your Work Plane

In order to insert the pocket for the captive part, we need to create a plane somewhere inside the body of the flange.

First, go to the Construct menu. Select Offset Plane from the options. What this does is create a work plane that is parallel to and offset from another plane, called the Reference Plane. This plane is separated, or offset, by a specified distance. Using this, you can determine the depth at which the captive nut will lie. When you are prompted to choose a reference plane to offset from, choose the top of the part.

Next, enter a distance of -.75 in for the offset amount. This will create a work plane that is parallel to the top of the part, and .75 inches below it. When we cut out the cavity for our nut, we will be using a symmetrical extrusion, meaning the offset amount is the depth that the center of the nut will lie. When you're designing your own parts, this is a factor you may need to consider.

Last, hit enter, and your work plane will be created.

Step 4: Sketch the Nut

Now, we must create the 2D sketch of the nut's outline. This sketch will be used to make an extruded cut, creating a properly shaped pocket for the nut to sit in.

First, select Sketch -> Circumscribed Polygon. Select the plane we created in the previous step.

Second, select the center of the part as the start point for the new polygon. Drag outwards.

Next, we must properly size the insert hole. The number of sides is simple - your standard hex nut has 6 sides (it's in the name!), so type the number 6 into the box for the number of sides.

The actual size of the polygon is a bit trickier. You want to leave enough space to easily insert the nut, but not too much space or it will rattle all over the place. In this tutorial, I used a 3/8 nut and bolt, so I entered the value of ".5555/2" for the "radius" of the polygon. If you're using a different nut or other part, you'll have to play around with this number.

Once the sketch is drawn, you can go ahead and click Stop Sketch.

Step 5: Creating the Pocket

With the sketch drawn, it's time to make our extruded cut.

Go to Create -> Extrude. Once the extrude menu comes up, you'll want to select the sketch we created in the previous step.

For depth, you once again need to find a value that will be both big enough to allow the part to completely fit in (and clear the print head) and be small enough to prevent excessive play. In this case I chose to use .35 inches. Since we're going to use the symmetrical option, we need to halve it.

With this in mind, enter .35/2 in for depth.

Under direction, select Symmetrical.

For operation, choose Cut.

Make sure that extents is set to Distance.

Step 6: Getting Ready to Print

Now our model is complete.

To export the .stl file, right click the body created under the browser. Select Save As STL.

Make sure your settings match the picture (or whichever settings you require for your printer), and click Ok.

Save your file.

Step 7: Setting Up the Pause

A critical step in making a captive component when 3D Printing is ensuring the printer will pause at the correct layer, giving you time to insert the component.


For this tutorial I am using Repetier as my printer controller, as it makes it easy to pause at a specific layer. Repetier is available for free, here.

After opening and slicing your STL file with your preferred settings, go to Print Preview -> Edit G-Code.

This will bring up the raw G-code that was generated by the slicer. Now we need to find the point where the printer is just about to start printing the layer above the pocket we created. Knowing the height where the cavity ends allows us to search for the G1 Z xx.xxxcommand, where is the height where the cavity ends. In this case, we're using the value of 250.00. Once you find this line, add @pause directly after it.

The @pause command instructs the printer to pause, and wait for the user to instruct it to continue. During this time, the user can jog the head, change filaments, and perform other operations before continuing. The printer will return to where it left off, and continue printing.

In this case, we're using it as an opportunity to insert the nut.

Step 8: Printing and Inserting the Nut

Begin your 3D Print as normal. When the printer pauses, lift the head up and jog it to the side. Use the controls within Repetier to do this, so the printer knows exactly where the head is and can resume seamlessly.

Insert the nut into the pocket as shown in the picture. Make sure that it lays completely flat, so the print head will not collide with it when it restarts the print. When you are satisfied with your results, restart the print and let it finish. The printer will seal the nut inside the part. No glue, no seams.

Congratulations, you've made your first captive part!

Design Now: 3D Design Contest 2016

Runner Up in the
Design Now: 3D Design Contest 2016