16 Replies Latest reply on Jun 9, 2015 9:19 AM by Peter Asmas

    Threading Options

    Dan Riffell
      This topic comes up over and over again, so I thought that I'd put together some of the more popular ways to create a thread in a part environment along with some statistics and reasoning as to why one method would be preferred over another. It should be noted that this may not be a complete list of threading methods, since in this case there is more than one way to thread a cat.

      Before you decide to cut threads into your part, a design decision must be made which determines the relative value of modeling the threads. Thread features are often very resource intensive at the part level, and that issue only magnifies when multiple parts are inserted into an assembly. The best policy, depending upon design intent, is to avoid modeling threads in SolidWorks if at all possible. Having said that, below is a list of six ways to model threads (same process for both internal and external threads) in order of increasing complexity of operations:

      I. No threads. This is the baseline from which the other numbers have been extracted. Imagine a simple socket-head cap screw shape without threads. # of features = 4. Rebuild time = 0.00-0.02 sec.

      II. Cosmetic Threads. Go to Insert/Annotations/ Cosmetic Threads. This paints a visual representation of threads onto your feature. It also imports a thread callout into your drawing. This method does not add any features to your model, and it does not increase rebuild time. It is somewhat parametric as it will partially update with design changes. The disadvantages are that it doesn't look very realistic, behaves quirky sometimes, and doesn't show up in model rendering. # of features = 4. Rebuild time = 0.00-0.02 sec.

      III. Simple Swept Profile. Draw a line following the temporary axis of your feature. Draw your thread profile. Do a Swept Cut, and choose Twist Along Path. Input the number of turns required. This is a very quick and easy way to cut threads into your feature. It is partially dynamic depending upon your sketch relations. # of features = 7. Rebuild time = 0.06-0.09 sec.

      IV. Circular Threads. Draw your thread profile. Do a Revolved Cut around your temporary axis. Do a linear pattern of your cuts. Again, this is a quick and easy way to model threads. The disadvantage is that it is not an actual thread since the cut is revolved and not swept. This method serves to get the point across without being too resource intensive. # of features = 7. Rebuild time = 0.09 sec.

      V. Helix Method. Draw a helix that wraps around your feature. Draw your thread profile. Do a Swept Cut of your profile following your helix. This is a very realistic method for creating threads, as you can control the pitch, height, starting angle, etc. of your helix in a simple property manager. The major disadvantage is that helixes are notoriously resource intensive, and it is not dynamic. The amount of resource that swept cuts following a helix command depends upon many factors including the pitch and how/where the cut starts. # of features = 8. As far as rebuild time goes, I got significantly variable results in the range of 0.20 to 45.34 sec depending on how I constructed the cut. With the cut starting 180° from the helix start point, I was able to reproducibly get 0.20 sec rebuilds.

      VI. Swept Surface. Draw a line following your temporary axis. Draw a line perpendicular with that line (in a separate sketch) that is collinear with the top or bottom of your feature (or wherever you want your cut to start). Pick Swept Surface and sweep the second line around the first with a Twist Along Path option. Match the parameters to your thread pitch. Convert the edge of this surface into a 3D sketch. This should essentially be the same as a helix. Draw your thread profile. Do a Swept Cut that follows the 3D sketch. Although this method seems like it is overly complicated at first, it has the benefit of being completely parametrically driven depending upon your sketch relations. It will update your cuts to your model changes. The major disadvantage is that it is a resource hog. # of features = 10. Rebuild time = 18.33-19.86 sec.

      If threading is something that you have to do very often then I would suggest creating Design Features and reusing them. If you use standard threads you can even create "Taps" and "Dies" that you can position in your parts and use the Combine Feature to remove the material where your threads should go. All of these design methods depend on the environment that you work in and what the intent of the project is.

      If this is something that you run into often I would suggest that you submit an enhancement request to SolidWorks and talk to your VAR about the necessity of a thread-creation utility that works similar to the Hole-Wizard. Then wait...patiently...

      Hopefully this helps.
        • Threading Options
          Matt McKendrick
          Great post. I don't like to model threads for the reasons you stated, but I do in circumstances where I need to create customer assembly diagrams when I need that "looky-feely" treatment. I generally use the Helix method you describe, but I am going to try your swept surface suggestion next time.
            • Threading Options
              Harold Brunt
              Thanks for taking the time to study and post the results for this Dan. Now if we could get a "sticky" to keep it at the top of the list right under "what computer should I buy?".

              Any idea if the rebuild times accumulate linearly in an assembly with 5, 10 or 100 fasters? The same issues hold for real knurled surfaces except that you can't really fake a diamond knurl with a radial cut.
            • Threading Options
              Charles Culp
              In my sample piece for the "simple cut-sweep" method III, I got a rebuild time of .42 sec for 10 threads of a #8-32 cut.

              Doing the same for the helix method (V), I got a rebuild time of .55 sec. Dan, what are you doing differently than I am? I am using a simple V shape for the cut threads.
                • Threading Options
                  Dwight Livingston
                  Thanks, Dan. That's a helpful post.
                    • Threading Options
                      Dan Riffell
                      It's difficult to say what's different, Charles, with that image file. Two things that I do notice is that I did a simple extrude for the screw body, not a revolve. Second is that I didn't use a simple triangle for the thread profile. My thread profile was essentially a triangle with a rectangle on the back (like a house tipped on its side) to ensure that I overcut the material. Also, your rebuild times are going to be longer if you have both methods in the same file as it appears that you do in your image.

                      As far as absolute rebuild times go, I am not sure what to say. They seem to vary all over the shop. I think a better way to look at it would be to compare the relative rebuild times between methods. Maybe it's the system specs between our machines that's different. It is an interesting problem, though. Did you run through Anna's benchmark?
                        • Threading Options
                          Dan Riffell
                          OK. I spent a couple of minutes this morning recreating the files, and I have attached them for your perusal. The rebuild times match what I have posted previously. The models are deliberately under-constrained since I didn't want to spend too much time looking up thread profile characteristics. Be sure to let me know if there are any questions.
                            • Threading Options
                              Joel Bickel
                              That's helpful Dan.

                              It's intersting to see the difference in file size too. 154 kb vs 504. It's not much in terms of bytes, but it's a 327% increase. That could add up.
                                • Threading Options
                                  Since to me threads are more "visual" than actual math data (even a CNC machine just calls out a toolholder number for a tap for the most part), I used to just apply a hatch pattern across the feature face and scale it as required. Does anyone know an appropriate pattern other than "Neon Stripe" from Photoworks? It would seem that SW should just have a basic pattern available to everyone for something like this.

                                  Rich Schneider
                                  Lead Design Engineer
                                  Eagle Manufacturing
                                  SW 2008 sp4.1
                                  Vista Business 64
                        • Threading Options
                          Matthew Lorono
                          Dan, this is a good article. Would you mind it being reposted elsewhere? Please contact me: fcsuper@aol.com
                          • Threading Options
                            Hi Dan

                            Agree with everyone, very helpful.

                            I use mainly BA threads, my problem is that I cannot get the cosmetic thread annotations from the part into the drawings.
                            I have tried every which way but the only note I get is the basic hole callout - tapping hole size.

                            Do you have to do something special to get the callout ?



                            • Re: Threading Options
                              Peter Asmas

                              Posting this here with hopes that it can solve some people's issues. I've been having some fun with the design library lately and worked out a way to get physical threads with configuration choices for thread sizes to be placed into a model with minimal user input. It's been a series of trial and error, but as long as you have a sketch point to select and a plane crossing through said point (for the revolve) it seems to work pretty well. I haven't had much of a chance to test it, have used it on a few parts for the past few days and worked out the bugs I found, so at this point I'm confident enough that it will work fine for other people.


                              It's worth noting that I made sizes for up to 1" diameter threaded holes, you can add more as you like into the excel table. I am very interested to see what kind of situations give this feature trouble. If all goes well I hope to do external threads, SAE Ports ect.

                                • Re: Threading Options
                                  Prashanth B. K.

                                  Hi Peter,

                                  Tried using the 2B Threads, Found few errors can you please explain the procedure once again.

                                  Thanks ,


                                    • Re: Threading Options
                                      Peter Asmas

                                      Sure thing! I should probably show how it's used with screenshots when I get back into the office on Monday, but for now I'll explain it through text. You need three references before using the feature.


                                      1. A plane to place the hole onto (so for instance if you have a cylindrical surface you will need to have a tangent plane where you want your hole)

                                      2. A sketch point that will be designated as the center of the hole

                                      3. A plane that crosses through the sketch point. (this plane is the one the thread shape will be placed on, for the purposes of the helical sweep. The best way to describe it would be it's perpendicular to the first plane used for reference and intersects the sketch point.)


                                      Once you have these three in your model you can then drag in the library feature, and select them for their corresponding spots.


                                      Thanks for trying it out too!  I just noticed though that it looks like you are trying to make external threads. What I have is purely for internal threads but I plan to create a feature for external threads once I finish things with this one. Let me know if this helps!


                                      :Edit: I should mention that the reason I have number of threads as a locating dimension instead of the thread depth is because I can't get thread depth to override the number of threads dimension. Meaning if you choose to change the thread depth in the field by overriding the value in there, it won't actually change anything. I left it there though so that I could change the number of threads until I got near my desired depth.


                                      Below are some pictures that should help:

                                      STEP 1.JPG

                                      STEP 2.JPG

                                      STEP 3.JPG

                                      STEP 4.1.JPG

                                      STEP 4.2.JPG

                                      STEP 4.3.pngSTEP 5.JPG