Friday, September 25, 2015

Printing mechanical parts, part 1

Many of the mechanical and constructional parts that I have printed have not come out right. In particular, holes for screws and the like have been too tight, and I've needed to change the model or the printer settings to get them right. In this post, I'll describe some experiments on how different parameters affect this. This is all to do with static parts - can you get a bolt on a hole or onto a thread, for example. I aim to return to the subject in future and look at moving parts such as gears. I have been somewhat systematic, though this is far from being a scientific exploration.

Warning: this post is boring. Sorry, that's just how it is.

The areas I want to explore are:
  • given a bolt of some diameter, how large does a circular hole have to be for it?
  • given a hex nut of some exterior size, how large does a hole need to be for it?
  • given a nut designed to fit on a bolt of some diameter, what size thread will it fit on?
I did most of the tests using a M3 bolt and nut. I made an cuboid of about 3mm thickness, and put several circular holes and hexagonal holes in it. To get the base sizes right, I downloaded CAD models of bolts and hex nuts from McMaster-Carr's web site. I then scaled these and used Boolean modifiers in blender to either cut holes in the cuboid or merge them with it. The result looks like this:

The four extra cylindrical shafts are for another test that I decided not to follow through with.

The base size for the circular holes was M3 (3mm diameter), represented in blender as a cylinder with 32 sides. The other three holes used this scaled up by a 1.1, 1.2 and 1.3. The hex holes were made by using a 6 sided cylinder in blender, set to the same size as the CAD model of a hex nut. It was scaled by 1.05, 1.1 and 1.15. Note that I didn't expect anything to fit in the base size (scale 1) holes. They are just for reference. The bolts were scaled down by 0.95, 0.9 and 0.85. I picked all of these scale factors after some initial prototyping.

After printing, I tested the circular holes by inserting a M3 bolt into them.
Circular hole ratings:
  • Rating A means it won't fit.
  • Rating B means it fits but only if you actively screw it in.
  • Rating C means it fits without needing to screw it in.
  • Rating D means it fits easily.
The difference between C and D is a bit subjective. For most things that I make, I would want a C or D.

I tested the hex holes by fitting a hex nut into them.
Hex nut hole ratings:
  • Rating I means it won't fit.
  • Rating J means it fits tightly. The nut wedges firmly into the hole.
  • Rating K means it fits loosely. The nut does not stay in the hole.
I would want J or K, depending on the application.

For testing the screw thread, I tried threading a hex nut onto it.
Thread ratings:
  • Rating P means it doesn't fit.
  • Rating Q means the nut fits on the thread, but jams so you can't turn it far.
  • Rating R means the nut engages with the thread.
  • Rating S means the nut is loose on the thread.
Rating R is what we want.

Most of the tests were done with PLA from justpla. It's a cheap brand but has worked OK.

In the test results, I will quote the results of the experiments as the rating for each of the four circular holes, the four hex holes and the four threads, with the desirable values in bold.

Experiment 1: layer thickness

The layer thickness could make a difference. I would not expect to see much effect from this except possibly on the thread test, where the vertical resolution matters. The prints were at 100% infill.
Layer thickness Circular hole Hex hole Thread
There is some variation with layer thickness, but not very much.

Experiment 2: infill

For all the remaining tests, I used 0.2mm 100% infill, the first line on the table for experiment 1. I did one test with less infill. It's conceivable that the pressure from the 100% filled body could press in and shrink the holes. So here are the results with 30% infill.

Circular hole Hex hole Thread
30% infill ACCD IIJK PPRS
Infill makes a difference to the first test, with no effect on the others.

Experiment 3: extrusion multiplier

I have read on the RepRap forums that changing the extrusion multiplier in the slicer settings is a common way of overcoming holes that are too small. For this test, I reduced it to 0.85.

Circular hole Hex hole Thread
0.85 ext.mult. ACCD IJJK PRSS
This makes a small difference for both hole types. The "S" ratings for the thread means that the nut didn't engage with the thread in the slightest, more extreme than any of the other tests.

Experiment 4: slicer

I usually use Slic3r, and for one test I tried Cura. The results of this test shouldn't be taken too seriously, as I have not tuned the Cura settings. There are no results for the thread test, as the print had no usable results.

Circular hole Hex hole Thread

Experiment 5: other materials

Lastly, I tried some other materials I had lying around: a PLA/PHA hybrid from Colorfabb, PETG, ABS and a different supplier of PLA. The ABS results are partial. I rarely print with it, and the piece curled during printing. There are no thread results from the ABS test.
Material Circular hole Hex hole Thread

Experiments I did not run: print speed, nozzle diameter, temperature. All of these would be interesting to explore. Print speed, especially - the other two are likely to be constrained for other reasons.

It's hard to conclude much from this, and I think that is interesting in itself. I expected more variation with material, as different plastics allegedly shrink by different amounts. The infill and extrusion multiplier are the most important ones, as you have more opportunity to control them.

Recommendations when you are designing an object

Suppose you are designing an object. What should you do? These results suggest for interior holes you should make them a bit bigger than the nominal size. A good general factor is 1.2 for circular holes, and 1.1 for tight fitting hex nut holes or 1.15 for loose ones. For threads, scale them down to 0.9 of the nominal size.

Recommendations when you are printing someone else's designs

If you are printing someone else's design and the holes are too tight, you can reduce the infill or the extrusion multiplier. The second is better and gives you more control, but it may make threads unusable.

Do the results generalize to other sizes?

All of the tests so far were based on M3 parts. What about M4, as an example of another size? There are two possibilities here: you could scale pieces by the same factor I used above, or you could change their size by the same absolute amount. Here are results (with the M3 result repeated for convenience). Due to an error, I am missing the thread results for the absolute case.

Circular hole Hex hole Thread
M4 absolute ABDD IJKK

The "S" on the M4 scaled line was very, very loose. So this implies both the scaling and the absolute change have a much larger effect than with M3. This is annoying, as it means if you have a design, you might need to make different adjustments for different size holes.


Mark Ellison said...

Hey, I really enjoy reading your blog posts. I am working on the Folger Tech 2020 right now. Do you use Repetier Host? What do you set you federate and flowrate to? Thanks!

Mark Ellison said...

I am actually posting a build log on the Flite Test forums that can be seen here.

Moosteron said...

I do use Repetier host, with Slic3r. I don't recall what I have the feedrate and flowrate set to - I've not changed them directly, though I have tweaked the speed from time to time.

Good luck with the build. There is a great (and very long) thread on about this printer.

Kapil Aggarwal said...

Thanks for providing this information was of great help for my needs, Keep posting content related to hex nut manufacturers