FreeCAD threads: Five Ways to Fail, With Workarounds

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
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.)
Info
Channel: Bradford Needham
Views: 2,293
Rating: undefined out of 5
Keywords: FreeCAD, 3D Printed, 3D Printing, Fail, bug, screw threads, threads, how to
Id: 1fV679axyiY
Channel Id: undefined
Length: 28min 31sec (1711 seconds)
Published: Thu Feb 18 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.