Technologist and Maker

I have been printing a lot of parts for various 2D and 3D bots. I have found pieces and parts online and am designing others myself. For pulleys and gears that mount to stepper motors, there needs to be a set screw to ensure the pulley/gear stays fixed in place on the rotating shaft of the stepper motor.

One set screw technique is to tap or carve threads into the printed plastic part, but the plastic threads can only support so much pressure and will likely eventually become stripped. A better approach is to design a part to have an embedded cavity to hold a metal nut. The set screw then threads through this embedded metal nut and provides pressure to hold the pully/gear in place.

This technique of embedding a nut in your printed piece is commonly referred to as a “captive nut”. If you consider embedding other things in 3D prints, all sorts of possibilities start to emerge. Large and complex designs can be broken into smaller pieces that are screwed/bolted together. And electronics, such as LEDs, can be embedded directly inside prints.

There are two things you need to do to embed something in your 3D print:

Design your 3D object to have a cavity for the embedded object

And then print it

However, this will be a very iterative process where you design, then print, then design, then print over and over until your piece is complete. Keep in mind that embeding objects into 3D prints is not just something you can do when designing your own parts from scratch, this is something that you can also do to augment an existing 3D object that you download from the Internet.

Designing for a captive nut
Back to my stepper motor gear as an example…I decided I wanted to use an M3 (3mm metric) screw and for the set screw. As a result, a M3 nut will be required to be embedded. The above picture illustrates how a set screw tightens perpendicular to the stepper motor shaft.

The first step is to measure all dimensions of the M3 nut. Although measurements are available online, I always measure my object to embed in case it is different. If you don’t have digital calipers, you need to get one and I’d recommend watching for a sales at Harbor Freight where you can them for as little as $12 USD. I measured 5.44mm across the flats (F), 6.18mm across the corners (G) and 2.24mm for its width (H).

Assuming your printer is calibrated perfectly, you will print parts that are the exact dimension as you have designed. Well, that is true for rectangular parts where there are just straight angles, but that is not true for circular details. This is because a circle is really made up of many points. The more points that are used to define the circle, the more accurate the curve will be. To illustrate how circles are modeled for 3D printing, see the image below of two cylinders modeled in Tinkercad. The orange cylinder is modeled using approximately 20 points to define the circle of the object. In contrast, the blue cylinder is modeled to use 100 points to define the circle of the object. Notice how well refined the blue circle appears vs the orange object. But the more important point is that, although both cylinders were designed with a 10mm hole, the blue hole is larger and closer to 10mm than the orange hole. Both objects will have a final printed hold smaller than 10mm, but the blue will be much closer to the desired diameter. The takeaway is to always design circular details with as many points (or dimensions in Tinkercad lingo) as possible. Note in Tinkercad, you have to use a community defined cylinder that allows the number of dimensions to be set.

So, by definition, a circle is always smaller 3D printed than it was designed to be. So you always need to make sure your holes are oversized in your design to have the right finished print size.

Aside from adjusting for circles, we also need to provide some wiggle room to make sure we can fit our part inside the printed cavity. Based on experience, and knowing some wiggle room is okay (I just cannot have so much wiggle room that my nut is able to spin while embedded), I decided to add about .4mm to the width (F) and height (G) and about .2mm to the depth (H). This resulted in the following dimensions for my cavity for my M3 nut: 5.8mm width (F), 6.6mm height (G) and 2.6mm depth (H).

The M3 screw is 3mm in diameter, but I decided to make the hole for the M3 screw to be 3.6mm in diameter knowing it must be designed oversized (see illustration above) and knowing that having it be a bit bigger than necessary will not be an issue. And after measuring the nut, I decided to have the bottom of the perpendicular hole 1.5mm above the bottom of our nut cavity. Below is a cross section of the shaft showing the cavity as designed:

Printing using a captive nut
Prior to printing, you need to slice your object and then examine the layers to identify when your printed cavity is fully printed, but no layers are yet printed on top of this cavity. This is the place where you need to pause your print, insert your nut, and resume your print. Most 3D printing software allows a print to be paused, and allows your print head to be jogged (in case it is blocking your cavity). Most software, including Simplify3D which I’m using, will relocate the print head to the right location after resuming printing.

The most basic way to pause your print is to know at which layer to pause, and to watch your print and manually pause at the right layer, manually insert your nut and manually resume. There is another more sophisticated technique to edit the gcode created by your slicer and I will cover this technique in a future blog. See the following movie that shows the slicer plan for the cavity with the cavity completely printed after layer 83:

It is critically important that you ensure that your nut is level to or below the surface of the top of your print when you pause and insert the nut. If the nut protrudes above the surface, it may damage your print nozzle.

While preparing to print an enclosure for an IoT device (that a colleague designed) , I realized I need to think more about how I orient (and design) objects to reduce print time. More and more, my prints are taking 8+ hours to print…and anyone that has 3D printed a lot of objects knows that time is not your friend. The more time it takes to 3D print, the greater the chance that something goes wrong with your print. NOTE: Ideally, objects are modeled to reduce or eliminate support, but sometimes it is unavoidable.

The IoT enclosure I mentioned earlier prints in 3 pieces and is assembled after printing. I will use the back piece of the IoT enclosure to illustrate how orientation can effect printing time. Although I am using Simplify3D for my slicing, the concepts are relevant for any 3D printing software. Below is the original model (this is a view from below in an attempt to provide a perspective that shows its shape):

My initial thought was to print the model right side up, but as illulstrated in the image below, it will require a lot of support material (in the image, the support material is yellowish-green and the model is green, the print bed is gray). I turned off the support and sliced again to calculate the time allocated to print the support material. This orientation will take 6 hours and 22 minutes to print with support, with 2 hours and 23 minutes of the time to print the support structure.

Looking at all the support required, I thought about printing by laying the model down on its front. It seemed it might reduce the amount of support required, but turns out it requires more support! I turned off the support and sliced again to calculate the time allocated to print the support material. This orientation will take 9 hours and 9 minutes to print with support, with over half of that time, 5 hours and 41 minutes of the time to print the support structure.

Realizing that the back of the model might reduce the amount of support required (as compared to to the front), I flipped the model on its back. This did reduce the support required, however, on the negative side, it will leave a lot of area on the outside of the model where support blemishes may result. I turned off the support and sliced again to calculate the time allocated to print the support material. This orientation will take 5 hours and 22 minutes to print with support, with only 1 hour and 56 minutes of the time to print the support structure.

And finally, although the last position to strike me, I tried to flip the original model upside down. Upon thinking about this, I realized this might have the least amount of support required. And was confirmed upon slicing. I turned off the support and sliced again to calculate the time allocated to print the support material. This orientation will take 4 hours and 13 minutes to print with support, with 47 minutes of that time to print the support structure. But, I also know that a raft will be required to keep this model upright while printing due to the small footprint on the build plate. Without a raft, it is likely that the model would get knocked down during printing as it grew in height. The raft adds 31 minutes to the overall print, resulting in the lowest realistic print time of 4 hours and 44 minutes to print with support, with just 47 minutes of that time to print the support structure and 31 minutes of that time to print the raft.

The table below breaks down the print time for the different orientations. The different orientations don’t make a huge difference in time to print the model, and for this example, can result in as much as a 43 minute reduction in time to just print the object. However, the orientation has an enormous impact on the time it takes to print the support structure, and for this example, can reduce support print time by almost 1.5 hours! And we see that certain orientations require a raft in order to ensure the object will not break away from the printer bed during the print, which adds 31 minutes for this example. It was interesting to break down the print time to show where the time is allocated to gain a better understanding of the impact on orientation while printing, but ultimately, all that matters is how long overall it will take to print from an end-user perspective.

Reduce support through your 3D designs and keep support in area where disfiguring from support connecting to your object will not be an issue for your finished print

Don’t forget to keep strength in mind as well. You want forces on your printed piece to not pull apart or snap at the layer lines. (Note: Where applicable, printing a slightly higher temperatures can help create stronger layer bonds)

I’ve been experimenting with NinjaFlex filament and wanted to share my experience using it on my Printrbot Plus Metal with a V2 aluminum extruder. I’ve had pretty good success and wanted to share some pictures of my print using NinjaFlex of the Treefrog by MorenaP from Thingiverse:

I’d encourage you to try NinjaFlex filament as it is amazing to be able to create objects that are flexible and bendable. The resulting object is also super strong and resistant to tear. NinjaFlex makes this frog almost seem lifelike when you hold it!

Okay, here are the dos and don’t that I’ve discovered to have a good experience with NinjaFlex:

DOmodify your extruder to remove the gap in the Printrbot V1 aluminum extruder. You have several options including (search Internet for “NinjaFlex extruder”) filling the gap with Sugru, printing an adapter to remove the extra room in the extruder or upgrading to the V2 Printrbot extruder. I highly recommend upgrading your extruder to the Printrbot V2 aluminum extruder because NinjaFlex is expensive filament, so why mess around wasting time and filament when you could have better success and less hassle with an upgraded extruder. The filament hole in the Printrbot V2 aluminum extruder is much smaller diameter than the Printrbot V1 extruder filament hole. This smaller hole and tighter extruder design does a better job of feeding flexible filament through the direct drive and into the hotend without allowing the filament to get bent like a pretzel.

DON’T Feed too much filament through your extruder too quickly! I made a mistake when I loaded the filament for the fist time and while experimenting, manually extruding NinjaFlex using my CAM software (Simplify3D). Initially it was extruding 10mm at a time without any issue, but as I continued to extrude 10mm over and over without stopping, the extrusion stopped. My extruder stepper motor was not able to turn. Turns out I was feeding filament too quickly through the hotend. Unlike PLA or ABS, you cannot extrude too quickly. So if you want to prime your hotend, for example, you need to be very patient and extrude 10mm, wait for a few seconds then extrude 10 again. If you extrude too much too quickly, you will likely get a kink in your filament. In my case, I had to disassemble my extruder in order to remove the filament that was tangled.

DO prime your extruder if you are switching from a different filament. Always do your priming of NinjaFlex slowly to avoid a jam. I typically run a total of 200mm through my extruder to make sure the previous filament is fully flushed prior to printing with a new filament. With NinjaFlex, you need to manually extrude 10mm and wait a few seconds before extruding again. Priming the extruder is super important if you are switching from a previous filament that is not NinjaFlex. As always, when flushing your hotend, remember that you should be extruding at the highest temperature required by your previous filament or new filament…then adjust to the appropriate temperature for your new filament once flushed.

DON’T have your hotend too hot or you will get a lot of NinjaFlex drool…meaning filament will drip from your nozzle and leave globs on your print. Too hot can also make your filament even more flexible and cause it to jam. And don’t have your hotend too cool or it will not heat your filament quickly enough, which will cause a backup and cause your filament to get jammed in your direct drive gear. 215C seems to work well for me (see more details below).

DO set your CAM software appropriately for NinjaFlex. Here are the key differences I’ve discovered through my experimentation:

Set hotend to 217C for your first layer at .3mm (I double the first layer height using first layer height of 200% in Simplify3D)

Set hotend to 215C for subsequent layers at .15mm

Turn on retraction with retraction distance 1.5mm and retraction speed at 1800mm/minute

Definitely use a skirt of 3-5 outlines depending on the size of the object. Use fewer outlines for larger objects and more outlines for smaller objects.

Infill will vary. Less infill makes your object more squishy. 20% infill is a good place to start.

Some heat on the bed seems to help make NinjaFlex stick, I’ve had great successful at 40C.

On the bed, I use a bit of hairspray on blue painter’s tape and get good adhesion and easy release after the print finishes

Turn your fan on for layers 2+. You want the fan to be off for the first layer to get good adhesion.

Set default printing speed to 900 mm/sec 900 mm/minute

Set default X/Y movement speed to any speed you want. I leave mine at the default of 3600 mm/sec 3600 mm/minute. You want your nozzle to move very quickly while traveling and not extruding to minimize drool/globs on your object.

DON’T get discouraged if you have some initial failures printing NinjaFlex. Remember to go slowly and don’t push too much filament through your extruder too quickly! And if it gets jammed, no sweat, just let things cool, take the extruder apart and it should be easy to untangle any filament that is jammed.