Hi. I've been doing threads as part of a set of 
different projects for a while using FreeCAD. I've found a couple of different ways to make 
mistakes. This is a video of how to   avoid some basic mistakes in making threads 
in FreeCAD. First of all, when you say FreeCAD, we always have to talk about what version. This is the 0.19 pre-release from February 14th. We're going to start with a empty file here. The first thing I want to do is... I'm going to do almost all my work in the Part Design 
Workbench. The first thing I'm going to do is create a cylinder to hold the thread. I'm going to do a sketch in the XY plane, and that sketch is just going to be 
the outside and inside walls of the cylinder.  The outside wall I'm going to set to 
20 millimeters and the inside wall   I'm going to set to 18. So it's 2 
millimeters thick. I am eventually   going to print this from the file here. We've got a 20 millimeter cylinder basically. I like to rename things so Cylinder Wall 
is what that's going to be, this sketch.   I'm going to extrude that 25 millimeters to make 
the cylinder. You can re-center a little there...  Next I'm going to create the thread profile: 
the cross section of the thread, and we're   going to do that in the XZ plane: the side of the 
cylinder basically. What i'm going to do is make a thread profile that a lot of people 
make. It's just an equilateral triangle.  This is vertical and then we have the two   sides. We're going to make all three of those 
equal so it's an equilateral triangle... if I   can find it... I've been using FreeCAD 0.18, 
so 0.19 is a little bit different for me.  We're going to make that five 
millimeters tall, that thread profile.  Now we can drag it down and place it. I'm going to put this six millimeters from 
the bottom, there, and this 20 millimeters   from the vertical line. If 
you have some experience with   threads you're probably noticing the first 
problem right now, but we'll get to that. I've completely constrained the sketch of the 
equilateral triangle, that's the thread profile.   Now you can see that profile. I'm 
going to rename that to Thread Profile. The next thing I'm going to do is create the 
helix that's going to be the path for sweeping   this thread profile along... that'll become 
clear later on. The first thing i'm going to   do is... that's in the part workbench... I'm 
going to create a primitive. I want a Helix. I'm going to make the pitch four millimeters 
just for fun. The pitch is the distance between   the bottom of one turn of the thread and the 
bottom of the next turn of the thread. That's   four millimeters. The height of the thread... I'm 
going to say 8 mm; I want to make 2 turns for now. The radius I've found does or doesn't matter, 
so I'm going to make it 21 millimeters so it's   somewhere close to that thread profile. It's 
a right-handed screw, a right-handed thread.   Let's create that. Now you can see that. 
We can close this. We have this helix now.   One of the things we want to do is make the 
bottom of it line up with the bottom of this   thread profile. We've selected the helix and the property value here. That's it, in the data 
tab... and we can look at the placement   and change the position to six millimeters. Now you see that bottom is right 
at the bottom of the triangle. Now we have the helix, we have the thread 
profile, so we can naively try to do a sweep,   but this isn't going to really work out 
so well. But let's do it anyway. We have   the thread profile and we're going to... first 
of all go back to the Part Design workbench...   We're going to make sure 
that Body is the active body. Now we can do the thread profile and do a 
sweep, here, through an Object which is this   helix. The whole helix doesn't light 
up but it does select the whole thing.   That looks okay, except notice how 
tilted everything is at the end. That's   just an adjustment, here. I need to 
change that from Standard to Frenet.   I looked it up and it's pronounced 
"Fruh-NAY" because the guy was French who   cooked up this math. Now that I've done the 
Frenet orientation the triangles look right.   I should be able to now say Okay... and we get 
this thing about 'Hey you're referencing something   outside the body.' We don't want to do that, so 
we'll cancel both of these things and start over. What I need to do is have something 
that's basically this helix   but inside this Body; part of this body. 
Notice that the helix is a separate body. I have this body selected 
and I want to select that   helix and I want to say I want a Shape Binder.  The Object is the helix that I'm going to 
create a Shape Binder to. What this does   is, it's kind of a cross-reference.
It lets this body refer to that helix.   Changes I make to the helix change 
in the shape binder as well.  I can hide the helix for now and you can 
still see the shape binder thread there.  Now that I have that I can go 
back and do my sweep again.  Let's select the thread profile, do the sweep... ...select the shape binder of the helix,   which doesn't light up.
It's tilted, so we have to do the Frenet. There it is. We click Okay and... oh,   what happened here?
Like I said for those of you who   have some experience with threads, 
you already know what I did wrong. The problem is that the thread 
doesn't intersect with the cylinder. I'm going to get rid of that sweep. I'm going to 
go back to looking at my thread and my profile. If we look at the profile,   it starts at 20 millimeters and the 
cylinder is 20 millimeters radius. That means these two things are coincident. Freecad really doesn't like that sort of thing. This thread profile needs to overlap 
with the cylinder a little bit. We're going to change that from 20 millimeters   to 19.25 millimeters. (Oops, 
it should have been 19.75 mm.) That way our thread sort of bites into, it 
overlaps with, the wall of the cylinder. Now we can do our thread again. Again if 
you've done threads before you probably   can see another mistake I'm making at this 
point, that I'm doing on purpose for now. We want to take the thread and we want to sweep it through this path the helix, 
the shapefinder of the helix, Again we want to make sure 
that we've got Frenet set here. Everything looks nice so let's say okay and... Ooh! it's wrong again! Here's our second way of doing it wrong.   The first way of doing things wrong was to 
have the thread not overlap the cylinder. The second way of doing it you can see here 
we have what's called a self-intersecting   feature, a self-intersecting body. What's happening is this thread is five 
millimeters from the bottom to the top   and the pitch, the distance the thread is going 
to cover in one turn, is only four millimeters. Each turn of the thread 
overlaps with the previous one,   which FreeCAD again doesn't like, 
and a lot of CAD packages... It's a poor practice to have those things overlap. You don't want a self-intersecting feature. We're going to back up a little more again. I'm going to delete that sweep... and we're going to change our thread profile 
so its height is smaller than the pitch. Remember, the pitch is four millimeters,   so we'll make the height three 
millimeters so there's plenty of room. Now we can do the sweep again... I could have done these things without 
deleting and recreating the sweep,   but it helps, just for showing what's going on to show the creation every time. We're still doing the Frenet, 
and we're doing the two turns. We're looking okay again, so 
this ought to work, right? Let's see... It looks good, but is it really? Another thing this version of FreeCAD 
doesn't like is a a thread that crosses this,   the seam of the... or that's lined 
up with the seam of the cylinder. But we don't see anything wrong yet, right? This is why what I like to do is, as the very 
last step of designing a part...a body... I like to do a Refine Shape on it. That tends to show problems that 
even Check Geometry doesn't find. We can do Part... oh, it's hiding 
under a different place now... Refine Shape under Create a Copy. Watch what happens to the cylinder wall... The cylinder has only one 
side now at the upper part. Everything looks good at the lower part, but the upper part is missing. What's wrong here? Well, one of the things that's wrong, is 
starting the thread at the seam of the cylinder. FreeCAD doesn't like that. What we're going to do to take care of that... We're going to rotate the helix and the 
profile of the thread just a little bit, so they're off that seam of the cylinder. So the first thing I'm going to do... Remember the 
shape binder over here is a binder to this helix. I can change the helix and the shape 
binder will reflect those changes. What i'm going to do is up here 
at the placement of the helix...   I have the helix selected... 
placement of the helix, I'm going to change the angle from 
zero to two degrees and recalculate... Other things happen but we'll take care of that. You'll notice now this doesn't start on a seam. We need to make a corresponding 
change to the thread profile. Looking at the thread profile, looking at 
the attachment, not the placement, here... The attachment, the upper one.. We're going to change this angle to 2 degrees. First we have to change the axis it's working on. So the axis it's rotating around is 
the the z-axis of the the whole body. We can get rid of this old 
error about being outside scope. Now we're going to move the... let's make that 
thread profile visible so we can see it change... We're going to change its angle to 
2 degrees like we changed the helix. Now the thread profile and the   helix we're going to sweep it through start 
at the same plane; we start at the same spot. Now our thread is more correct, but you'll notice 
we still have this strange highlighting here of... the whole cylinder doesn't highlight. It stops 
halfway through and then the other half lights up. I've found that that suggests that there's 
something really wrong with the geometry. Again, if we go into the part 
workbench and do a Refine Shape, under Create a Copy / Refine Shape, Again we've got this problem of the 
cylinder has become one-sided at the top. It's still good at the bottom. How do we fix that? Well, it turns out in the tutorial I found... I'll put a link in the notes here... The tutorial I found, about 
doing threads in FreeCAD,   talks about not doing multiple turns of a thread. Those don't work very well. Let's see what we can get away with here. Change the height to 7.95, that's almost two 
but not quite two turns. Now you see how the whole cylinder 
lights up when I hover over it. That seems to suggest that it's working. If I do a a Refine Shape again, here... Let's Create a Copy / Refine 
Shape... (oops, I have to select it) You see, it still lights up correctly, 
and it still looks good, so we're good. You'll notice the one difference is that this 
thread crosses the seam of the cylinder only once. If we change that helix back to an 
eight millimeter height and recalculate, you see we have this problem again. I've found that just experimentally. 
It's obviously a bug. It's obviously a bug, but this 
is how to work around it for now, or how I've found to work around it. Let's say we did want three turns of this thread. How do you do that when you can't create a 
helix with more than just under two turns? One way I figured out is to do just one turn of 
the cylinder... sorry, one turn of the thread...   and then use a linear pattern 
in the Part Design Workbench, a linear pattern, over here, to duplicate that one 
turn three times to make our three turn thread. I'm going to go back to the helix and I'm going 
to say... it's a pitch of four millimeters so   I want a height of four millimeters. I can recalculate that... and so we get one turn. You can see that here: we get one turn. This still isn't going to be right, but 
let's go through what happens when I do this. We have this Additive Pipe feature, 
which is the one turn of the thread. We want to do a Linear Pattern 
feature to duplicate that. I want to select the z-axis... There we go. The distance is all wrong. That's okay. We want three turns so... I'm going to 
calculate it incorrectly to begin with... We want three turns, so I'm 
going to say three in here... We want that to be across... four times three turns, a four millimeter 
pitch times three turns per pitch is 12 millimeters, so I'll put that in there... and that's going to be wrong because 
of the way linear patterns work. There it goes. Okay. Now at least we have a transformation that worked. Let's get this in scale here. But you'll see that you know 
things aren't lined up right. What we need to do here is three turns 
minus the one turn that's already there, So it's two turns, times four millimeters, 
would be two times four is eight millimeters. Once it's finished thinking you 
can see we've got three turns here. I'm going to click okay. It looks pretty good, okay? One, two, three. I'm going to say okay. But notice we have this strange 
thing going on again, here, of the whole cylinder not lighting up. I'll bet you if we go to Part Workbench 
and Refine Shape again, it's going to... If we do Part Create a Copy again, Refine Shape, we get absolutely nothing. The linear pattern failed completely. Let's delete that, go back 
to our linear pattern, here. What do you suppose is wrong? It turns out the problem has to do with, again, 
things that are either right next to each other... What happened is because this is one 
turn, it's right next to each other. The one turn and the next turn 
are right next to each other... Or they overlap; that's also a problem. Let's show what happens when we do an overlap. Let's do a height of 4.1 millimeters to... Let it think there... Notice it's thinking a very long time. That seemed to work, but again you can 
see this splitting of the cylinder. I'm not going to go to the trouble of creating 
the the refined part to show that it doesn't work. Let's now back up a little 
bit and go 3.95 millimeters, Just shy of one turn, and recalculate... It has to think a while... Now we have these slight 
gaps in between the loops. I can make those smaller. You'll notice the whole cylinder lights 
up, so we're in better shape now. Again I have to say that all this is kind of 
working around bugs, so it's kind of quirky. Now you can see we have a pretty thin 
gap between each turn and the next one, That probably won't present any problems 
mechanically so we can live with that. I can show you again if we, in the 
part workbench, here, Part Workbench, Select the object, do a Part Refine 
through Create a Copy / Refine Shape, It's looking good. So we've found a couple of different 
ways to make mistakes in FreeCAD, and how to work around them. The next thing I want to go through is 
the shape: the profile of the thread. A lot of people like it, 
equilateral triangles, for threads. Personally, I don't know why. But that's because I'm not a mechanical engineer. One thing to notice if we look 
at the thread profile here, One thing to notice is the angle, here, 
between the vertical and the side here. (if I can get the angle icon... there it is) It is 60 degrees because 
it's an equilateral triangle. The trouble is, that might work on a small scale, you know it's only a millimeter... I'm sorry it's only a three, well 
less than three, millimeter overhang, But if you were trying to do this on a 
large cylinder with a large thread on it, it could be that your printer 
couldn't print this overhang, because most printers can only do 
an overhang of about 45 degrees. What I'm going to do is get rid of the 
three millimeter constraint, here... if it'll let me... there it is... I can get rid of the 
equilateral-ness of the triangle. That's constraint five, here. I'll get rid of that... Now i can change this angle to 
be 45 degrees instead of 60. Now we have a thread that can print. Another thing I don't particularly like 
about the triangle as a thread profile, when you 3d print it, it can 
be kind of sharp... this point. and I don't like sharp points, like that anyway. What i'm going to do is change this to my 
favorite thread profile, which is a trapezoid. These two lines are each vertical, and 
this is going to be a 45 degree angle, because I like 45 degree angles, because you can print them 
right side up or upside down. This one is going to be 45 degrees as well. ...as soon as FreeCAD is finished thinking... The reason FeeCAD is taking so long here is it's recalculating the whole thread, every time I change one constraint in this sketch. It's a little time consuming. What i'm going to do is change the 
thickness to 1.25 millimeters... ...I didn't see the constraint I'd put in... That's one and a quarter millimeters. I'm going to make this one millimeter. The reason I like the one 
and a quarter millimeters is it allows me to overlap with the 
cylinder by a quarter millimeter, and have a one millimeter thread. See, it's giving all these 
broken face errors here, that's because this somehow got changed to 19.25 so the thread doesn't fit anymore. I don't know how that happened... Now we have our our new thread profile, and there we have what it looks like. It's nice and smooth, and 
it's certainly 3d printable. (Here is the printed result.)