Printing a screw and its nut

Hello,
I am having problems printing an M10 bolt and the corresponding nut, both with pitch 1.5.
It is clear that both cannot have a diameter of 10mm, but there must be some play.
To determine this, I have made various attempts where I have always increased the diameter of the nut by .02mm and only at 10.6 mm did it fit, but 0.6mm seems to me to be a lot.
Is it possible that the result in the printer can deviate so much from the CAD specification?
Are there guidelines for printing screws?
Kind regards
Prospr

2 Likes

What did you use the to create the nut and screw? In Fusion I always use “Offset Face” on the top, bottom and edge of the thread… usually .004 or .005. Visually the cross section looks like this:

1 Like

Best luck I have had, is look the bolt up on mcmaster carr once you find the one you want download the cad file. If you are using fusion 360 they have a link to Mcmaster carr that will put tue cad file directly in.

2 Likes

There is a detail that I think is important to mention: do you need to stick to M10 standards, or do you need a screw and nut with a 10 mm diameter?

If you need to follow standards, go with @PrinterMcgee guidelines, or if you dont need to design it, @silver118822 suggestion of McMaster parts seems perfect. M10 is printable.
Otherwise, you can learn how to design custom threads focusing on being more FDM-friendly.

3 Likes

What do you mean by that?

I designed it using Onshape and the custom feature ThreadCreator, it is quite easy.
I am not bound by any standards, I just have to ensure that the screw fits the internal thread of my penholder with which I convert my CNC milling machine into a plotter.
The screw is used to press down a spring (not shown in the screenshot) with adjustable pressure so that the pen presses firmly enough onto the drawing surface.






Are you using inches or mm? 0.004 mm is 0.000157 inches. I don’t know of any 3D printer capable of that.

Have you calibrated your filament for dimensional accuracy? I would expect a 10mm bolt to need 10.2 - 10.3mm for the nut. You do not want the fit to be too tight because you are dealing with plastic. Bolts printed in the horizontal position are stronger than when printed in the vertical position.

Sorry, I do have Fusion set to inches… I should have said that, I know most people use mm.

This is a great topic near and dear to my heart. :+1:

If I were teaching CAD and 3D printing together, I’d make this one exercise about 5% of the work. When I tried it myself, making threads just from caliper measurements, it gave me a huge boost in understanding. That one skill ended up improving my CAD work and made handling tolerance issues in 3D printing way easier.

Here’s what I found after running into the same issues and how I troubleshoot:

  1. Threads pulled from STEP files (e.g., McMaster) assume metal tolerances. As you’ve seen, those rarely translate cleanly into plastic.
  2. Even with a simple 10 mm hole/rod setup in CAD, tolerances need tweaking per filament brand. No way around that—dial-in is always material-specific.

Troubleshooting and tuning tips

  1. Slicer cut tool – creating a 3D cross-section lets you see exactly how the nut/bolt interface will behave and compare screen vs. real-world fit.

  2. X-Y compensation – if CAD geometry is solid, this is the slicer-side lever I use to fine-tune tolerances.

  • Start with a simple rod-and-hole test to dial in tolerances. For more accuracy, use a known-size object, like an Allen wrench or drill bit, as your hole reference. That’s been the most reliable way I’ve found to tune X-Y tolerances against real-world fit.
  1. Settings that help with thread fit:
  • Arachne – improves nut walls and helps filament reach corners.
  • Wall Order = Outer/Inner – sets the outer wall first for cleaner finish.
  • Scarf joints – anything above ~5 mm benefits noticeably.
  1. Post-processing – running a real metal nut/bolt through the plastic threads (or using a tap/die) cleans up rough edges and yields a “machined” fit.

Here’s a sample 3MF which I used to test out some McMaster STEP files. I later did my own within CAD just to see how well I could match both the pitch and the cut angle of the thread. This is very important and a topic in and of itself.

Nut M12 x 1.75 mm Thread, 12 mm Long.3mf (1.4 MB)

I had some M12 and M14s sitting on my desk from my last experiment, here’s what they looked like. You may not be able to see it but I used an actual metal M12 nut and it fit perfectly once I figured out how to tune the parameters both in OnShape and in the slicer.

1 Like

I use mm (how can one still use inches as the metric system exists since a long time? Nobody here in continental Europe may understand that!).

I stick to 1 decimal place, so the smallest value is 0.1 mm.

I didn’t calibrate otherwise than choosing the calibration option when starting the print job.
As I wrote above, I have tried several dimensions for the nut starting at 10 mm and it was only at 10.6 mm that it fitted.

Until today there seems to be no link to McMaster in Onshape but there is a discussion about it in the community.

How may you explain that?
That really surprises me; don’t you need a support structure?

I print .stl files. Are they better for that purpose? Is there a format that is the best for printing screws cleanly?

The fact that a metal nut fits on the printed bold shows that the printing must be optimal!
To my shame, I must admit that I have always printed with the default settings and that I have no idea how to fine-tune the slice.

I didn’t get it at first. If you´re bound to standards, you can optimise them for 3d printing. But if you want it to fit into a metal nut, stick with the standards.

With an X1C, you can easily print both with lower radial clearance, but the printer and filament must be well-tuned.
I may have missed it, but I didn’t see info about the filament material. I want to understand if it is prone to shrinkage.

If you dont want to go with calibration, try a simple loose setup:
E.g. Screw thread external diameter 9.7 mm, pitch 0.1mm and the nut 10mm internal diameter

If you are comfortable, you can trim or fillet the thread crests.

Print each independently and test it— if it is too snug or tight, you know which way to go.

PS: You have valuable comments in this thread if you wish to pursue the most accurate path. If you want to share the model, think about others, i.e., make it easy for them.

1 Like

Sorry, I started first grade right after the US stopped making the metric system mandatory curriculum. Old habits and all that jazz.

How?

You didn’t miss it - I forgot to mention it. It’s 1.75 mm PLA from DevilDesign.

That would be a tolerance of 0.3 mm; perhaps the pitch makes the difference: I have chosen a pitch of 1.5, as indicated for a bold of 10mm.

No problem. I have already shared it several times in other threads started by me.

On the screenshot the tolerance is 0.2mm and judging after the section view it should fit, but it doesn’t.

As an American, I feel that pain. I can’t sugar coat this: my fellow Americans are just too damned lazy to give up on the Imperial system. Even the Brits, who invented the system, abandoned it 5 decades ago and so did the Canadians. The US tried it under President Ford in the 1970s but failed to have the stone to follow through. Even our odometers have both MPH and KPH, so why not? Pathetic!!!

As far as the metric system goes, what’s not to like about everything that can be divided by and multiplied by 10? Fractions? Sure, if your Noah building an Arc maybe a 1/4 Cubit makes sense but not today. OK. Off the soap box. :yum:

I believe what he is referring to is that there is a compromise one must accept when printing bolts vertically vs horizontally. For perfect threads, vertical is the way to go. However, that creates a weekness because the stress lines fall directly parallels to the layer lines which is the weakest part of the print. However, if one prints lengthwise, you get the strength of lateral layers in the vertical plane of the bolt but the threads won’t fit.

There is a solution but it is aesthetically unpleasing but works perfectly. Print the bolt, not the nut, below the plane to achieve a cut bold with a flat side. This will look strange but it works very well for strength.

This is what happens when you just print it sideways. The supports will destroy the threads. After removing the supports, I have tried cutting the threads with a tap but it’s messy to say the least.

Now if you either cut the bolt on its side in cad or lower it below the build plate, you still get a very high quality thread but it looks funny. Trust me it works, try it out.

Flat bolt
You don’t even have to cut that deeply, just cut down to the threads on one side and you’ll notice that the slicer won’t even bother to put supports there because the slope doesn’t require them and the threads come out very smooth. I do suggest using variable layer height to get the top of the thread smoother.


Flat bolt 2

There is no shame my friend in learning!!! I also believe that there is no such thing as absolute ignorance, simply undiscovered knowledge. :star_struck:

There is a very long thread here that went way too long about STEP versus STL. I’ll bottom line it for you. STEP files offer precision, STL is good for organic shapes such as D&D figurines. If you’re designing for precision, you are best served by STEP files as they can scale infinitely and never lose precision. It is the same concept as scaling a vector graphics file like SVG or EPS vs scaling a BIT Mapped graphics file like GIF, JPEG, PNG… etc.

What’s more, most CAD resources like McMaster, Grainger, 3DFindit ETC. will provide STEP files. So imagine if you will, you have a 10mm object and want to scale it 20mm. If you attempt to scale an STL, it will get very pixelated the larger you go but STEP files describe circles, arcs and planes as a mathematical construct. The math simply does the rest and circle is always a circle just the diameter changes and the printer doesn’t care. Where one loses that precision is that all slicers will covert to an STL Mesh and there is no way around that. So what I do is always have a copy of all my models saved as STEP files for purposes of protecting dimensional integrity.

Olias did a good job of explaining how to print a bolt horizontally. I think I may do one thing different. I remove the threads from one side of the bolt to use supports in the horizontal position. The small section of missing threads is not an issue and I get a cleaner removal of the supports. My OCD won’t tolerate part of the bolt head missing.

1 Like

A very wise statement! Congratulations!

I don’t understand how I can get a whole screw when I only print half of it.

I guess I didn’t really spell that part out well. You don’t get a whole screw and you don’t need it either. I realize that may seem counterintuitive but it works. That’s because the entire thread is not needed for the bolt to be affective.

If there is one thing I learned in the past years about 3D printing is that one has to put on a whole different mindset. As an example, the use of teardrop shaped holes would never have practical purpose in the world of machined parts but in 3D printing, it’s used as a trick to compensate for gravity when printing.

I still don’t understand how I can get a whole screw when I only print half of it. I need to study your explanations in more detail.
I’m surprised that a high-tech machine like the X1C or the software Bambu Studio doesn’t recognise this problem and take measures to make the hole round and the hexagon even, such as this amazing teardrop method.

I’ll jump in. You don’t print half of it, you print a bit more than that. Start by removing maybe 25% of it or just enough so that you don’t have any overhangs requiring supports. If you want it to be symmetrical, you can shave twice like this:

2 Likes

Here are some additional photos showing an actual 3D printed bolt and a real M12 nut. Note that the filament was not calibrated so there could be better results.





1 Like