Introduction

I have been modeling my own threaded models recently and have been running into quite a few issues. I have finally found what works and doesn’t work in order to print screws for 3D printing. This post is meant to help guide new CAD users on How to 3D Model Threads for Screws Using FreeCAD. We will go over the process on how to generate a helix in FreeCAD, generate countersunk thread hole, and generate the screw with threads to fit into the countersunk hole.

I am currently working on FreeCAD v 0.7. Depending on your versioning your mileage may vary. Sometimes my FreeCAD will crash randomly when moving to a different workbench or trying to perform some sort of task, be sure to regularly save when working on something in FreeCAD. that being said, since it’s free it’s hard to complain.

Terminology

There are some technical terms to keep in mind when working with screws. Understanding these terms will help to make the process easier as there is a lot going on in a screw.
Below is taken from: – Taken from https://www.afi.cc/blog/screw-thread-terminology
Screw thread-1.jpg
When researching different types of screw threads, you will encounter some basic terms:

  • Major diameter – In an external thread like the edges of a screw, major diameter refers to the diameter of the overall shaft, including the height of the raised helix. It can be measured on the crests with a calliper rule or slot gauge.
  • Minor diameter – Minor diameter measures the diameter of the “root,” or innermost part of the screw, not including the crests of the helix. For accuracy, this measurement requires specialized equipment.
  • Effective diameter – The effective diameter is halfway between the major and minor diameters. In other words, it measures halfway up the helix crest. For accuracy, this measurement also requires specialized equipment.
  • Pitch – The pitch is the distance between two identical threads.
  • Flank – The flank is the angle at which the helix is raised to form a crest on the thread.
  • Crest – The crest is the height at which an external thread is raised, or the depth at which an internal thread is indented. For common applications, screws and bolts are measured at the crests, while nuts are measured at the roots.

In addition to the screw terminology, the object that you screw the screw has many different names: Taphole, Bolthole, Nuthole, or ThreadedHole. I will be referring to it as a threaded hole in this post, but just don’t be surprised if you see a different name for the hole as different people call it different names.

Creating the ThreadedHole

When creating the threaded hole, we will need to create two things and then utilize the sweep along functionality in FreeCAD in order to sweep the sketch along the helix. Please remember to keep track of your minor and major diameter as you will need to keep this information in mind when creating the screw later on.

Generate the Helix for Thread

First, to create the threading, we will have to create the Helix. To do this, open up FreeCAD and open the part workbench.

 
Now that you have moved to the Part Workbench, You should now see some different items at the top of your window in the toolbar section. Below is what mine looks like, you will want to open the icon that has multiple shapes in it. This icon is highlighted below.

If you do not see this icon or the shapes on the left to it. You may need to enable the solids toolbar, you can do this by right-clicking on the toolbar and rechecking the solids section.

After clicking on the multiple shape icon, it will change your combo view on the left to the tasks panel and show the solid creation panel.

From there, click on the drop-down menu that says Plane. This will open up to show the many different shapes we can create. Click on the row that says Helix.

After clicking on it, we should now be at the Helix Creation panel.

From here, we can define the different attributes for the helix we are going to generate. Remembering the terminology of the screw, the pitch will determine how many threads are made per mm, height will determine how high it will be, the radius will be the Pitch Diameter displayed in the picture in the terminology section.
Here I am going to use:

  • Pitch : 2MM
  • Height : 5MM
  • Radius : 10MM


Then when you press the create button. It will generate the helix in the main panel.

 
We have now successfully generated the helix. This is going to be what we utilize to generate the 3d model. We do this by utilizing a sketch to sweep along the helix.
Now that we have the helix, press the close button to finish and close out of this panel.

Drawing the Sketch for Thread

Now that we have generated the helix for the thread, we will need to draw what the thread will look like. We can do this by going to the Part Design workbench now.

Now you should see new tools on your toolbar. Click on the item highlighted below. It’s the page with the two red shapes on it.

This will open the sketch panel to draw on an item. From here, click on XZ plane and press the OK Button.

Now we can start drawing the sketch for the threads. Click on the 4 red dotted icon. If you click on a blank space in the toolbar and then hover your mouse over it, it should open a small little window that says “Create a polyline in the sketch.” Note that there is another one next to it for creating B Splines, that is not the one you want to use.

Now, zoom in on the end of the helix, and draw triangle pointing inwards. Remember that we are creating the thread hole, so this is going to be an inward thread. You don’t have to be exact as we are going to create constraints for the thread in the next step. Just try to draw the triangle with the helix end in the middle of the triangle.

Now that we have a rough drawing, we can create constraints to make it exact.
The three things we will want to do are:

  • constrain the angle
  • constrain two lines to be equal lengths
  • constrain the distance from the points to the origin

These constraints are important since it will make the sketch go around the helix evenly across the 3 dimensions.

Constrain The Angle

First, for the angle, find the angle constraint in the toolbar.

From there, we will want to press the angle button, and click the two lines below that have arrows pointing to them. And we will then want to make it a 60 degree angle between the two lines.

Constrain the Length of Thread

Now that we have made the angle constraint, we will want to make the equality constraint. The picture below has arrows pointing to the two lines you will want to click on after pressing the equality button. This will make the two lines always equal to each other.

Constrain the Distance from Thread to Origin of Helix

Now that we have added the equality constraint, we will want to constrain the distance the points are from the origin. Below is a picture of the fixed horizontal difference icon tool. Click on it, and then press one of the dots on the triangle and then press the origin dot. This will open up a dialog where you can set the distance the dot is from the origin. Depending on how big you want to make the thread, you will change your numbers accordingly, here I have put in a length of 9mm, for the inner point to the origin.


 
Then we will do this for one of the dots on the outer edge. I have set it to 11mm.
Now press close on the left panel, to go back to the main view.
We have created the sketch and the helix now. All that is needed now is to sweep the sketch along the helix to generate the 3d design.

Generate the 3D Thread using Sketch and Helix

Go back to the Part workbench that we had originally gone to in the first step when creating the Helix. Now there should be a Utility to Sweep icon.

Click on the Utility to sweep icon and it will open up a new panel called Sweep. Here we can sweep the sketch along the helix. Click on the sketch under the available profiles column and move it to the selected profiles. Then check the boxes “Create Solid” and “Frenet”.


Now that we have the sketch in the selected profiles and the helix in the available profiles, click on both of them and then press sweep path.
We will now have to click on each item in the helix while holding ctrl. You will have to do this one pitch at a time,


After you have clicked each pitch, click on done on the left. This will not generate the ThreadedHole yet.
Press OK after pressing done.
You should now see a 3 dimensional outer thread for your Screw.

Congratulations! Now you should have a ThreadBase that you can screw things into.

Creating the Screw

In order to create the Screw part, you will follow the same steps you did to create the Outer Thread. The only difference is that you will want to make the inner thread point the other way when drawing the sketch.

If you want to make the screw thread match the outer thread, be sure to leave a MM or a half mm of space depending on how accurate your 3d printer is. As 3d printers aren’t usually that accurate, leaving some space will assure that your screw and threadedhole match properly.
 

The below picture is an example showing the differences between the sketches. This example is using the same sketch, but when you create a new thread, you will need to create a new sketch.


Then sweep along the helix using the new triangle, and you will then have the thread for your screw.

Conclusion

In this post we have gone through how to generate a helix, draw sketch, and sweep along the helix using the sketch. We went throught this process for both the Threadedhole and the screw. Hopefully now you should be properly equipped to generate screws and threads for your projects. If you have any questions in regards to this, feel free to leave a comment and I will try to reach out to you as soon as possible.
[poet-badge]