14 Replies Latest reply on Mar 16, 2018 6:25 PM by Allan Smithee

    WARNING - Thread feature in SW2016 is woefully inaccurate

    Lee Brown

      I have run some test cases of the new thread creation feature in SW2016 and the threads it creates from the standard table of "inch" series threads do NOT conform to the Unified thread standard.  The root and crest flats are all wrong and the thread depth is not correct, resulting in incorrect minor or major diameters.  The threads generated by this feature should only be considered "cartoons" and should not be used to derive dimensional information.  Persons interested in creating accurate representations of Unified screw threads will have to create their own custom thread profiles that are standards-compliant.

       

      I am surprised and disappointed that Solidworks released such a poorly implemented feature.  A little more time spent studying the Threading chapter in Machinery's Handbook would have greatly illuminated the issue during code development.

        • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
          Jody Stiles

          Hi Lee,

           

          Thank you for bringing this to our attention.

           

          I took a look at the profiles and you are correct in that the roots (or possibly the file names) are transposed.  For the root of the Inch and Metric Die profiles we divided the Pitch by 8 when it should have been 4 and the opposite for Tap roots where we divided by 4 and it should have been 8.

           

          What I don't see is an issue with the profile height.  The profile height is determined by 5/8*H(eight) where H = 0.8660254*P(itch) so Profile Height = (0.625)*(0.8660254*P) or 0.54126588*P (according to ASME B1.1-2003,  Fig. 1, Basic Profile for UN and UNR Screw Threads and ASME B1.13-2005,  Fig. 1, Basic M Thread Profile).  There's some rounding errors between the H-based value and the P-based value but it's fairly insignificant.  Can you tell me where you are seeing the issue with the height?  We allow the profile to be put on any diameter shaft or hole so we have no control over the final size, it's simply based off of the profile and cylinder diameter.

           

          Jody

            • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
              Lee Brown

              Greetings!

               

              Transposing the root and crest truncation would explain part of the error.  As for the thread depth, please note that maintaining the 0.625H basic relationship for both the internal and external threads is not quite correct.  This can be most easily seen by considering a thread pair (internal-external) that is at the MMC limit for a Class 3 thread fit.  In this case, the flanks of the threads are in line-to-line contact. Using 0.625H depth for both sides of the pair will result in line-to-line contact at the root-to-crest fits as well and threads manufactured like this will not go together.  In actual practice, the dimensional limits for the thread profiles are adjusted so that this condition does not occur.

               

              For example, the crest flat for the internal thread is P/4 while the corresponding root flat for the external thread is typically P/8 for a flat root thread.  At the same time, the crest flat for the external thread is P/8 while the root flat for a flat root internal thread is typically P/24.  As you can see, this results in slightly different thread depths and root/crest flats from the internal to the external threads. (ASME B1.1 also allows for a number of rounded profiles at both roots and crests.  However, the basic design goal is the same: to avoid root-to-crest interference between mated threads.)

               

              Detailed information on Unified thread forms and limiting dimensions can be found in both graphical and tabular format in Machinery's Handbook (any recent edition.)

               

              It also bears noting that you need four thread profiles to make all this work: External (Die) Cut, External (Die) Extruded, Internal (Tap) Cut, and Internal (Tap) Extruded.

               

              Best Regards,

              Lee E. Brown

                • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                  Jody Stiles

                  Hi Lee,

                   

                  Thanks for getting back to me.  The profiles we supplied were meant to be used as templates for creating your own more detailed profiles and for use by those looking to model some threads for appearance purposes.  Unfortunately we didn't make that clear in the Help nor the profile names.  You can easily take our profiles and add the corner fillets, adjust the root sizes, etc. to match the exact thread you want to create or you can create a profile from scratch.  We'll be fixing the file names transposition issue ASAP.

                   

                  By default, the thread profiles are located here > C:\ProgramData\SOLIDWORKS\SOLIDWORKS 2016\Thread Profiles

                   

                  I apologize for the issues this has caused and thank you again for bringing it to our attention.

                   

                  Jody

                    • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                      Lee Brown

                      Greetings!

                       

                      I understand your point about creating templates for custom profiles, but the drop-down list of common UNC/UNF thread sizes sort of implies that the profiles are more complete than the really are.  The designs I create require fairly accurate representations of screw threads so it looks like I will need to make some custom profiles.

                       

                      I have attached a part file which contains sketches of what I was trying to explain in my previous post in case you may find it useful.

                       

                      Best Regards,

                      Lee E. Brown

                      • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                        Lee Brown

                        Greetings!

                         

                        I have played around with creating custom profiles and I have managed to modify the stock profiles into profiles that represent the Unified thread form fairly well.  I think that I can make this feature do what I need it to do without too much trouble.

                         

                        Thank you for your suggestions.

                         

                        P.S.  I cannot find the path to the profile files that you show above.  This may be a Windows 10 issue.

                          • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                            Gary Wolfe

                            Lee, I'm running Windows 10 too and have to turn on the visibility of hidden folders to see the default folder path above.  I was heading down the path of creating 'real' thread profiles too when I discovered this conversation.  Are you able to share your profiles?

                             

                            Thanks,

                             

                            Gary

                             

                            PS it would be great to add a chamfer automatically to the root edge for a prettier thread!

                              • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                                Gary Wolfe

                                I did a quick edit to the stock inch die profile and came up with a closer/nicer library feature part:

                                Thread-Profile.JPG

                                the .75775 factor in the equation is 7/8 of .866 from Machinery's handbook.  Most thread cutter inserts have a sharper radius though.

                                  • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                                    Lee Brown

                                    Greetings!

                                     

                                    We use mostly large diameter/fine pitch combinations for which there are no standard taps or dies; all of our threads are based on single-point lathe tooling.  Therefore, the profiles I have created would not exactly represent threads made with customary taps and dies.  Our basic dimensions match the UN/UNS standard flank profile but our root/crest treatments are a little different.

                                     

                                    For an external thread, our roots and crests are based on P/8 (overall thread depth of 3H/4) but for the internal thread the crests are P/4 but the roots are P/24, giving us an overall thread depth of 17H/24.  We model out threads at MMC dimensions and we accurately represent any PD allowances.  We also cut (rather than extrude) the threads so we start with a cylinder of diameter d for the external thread and a hole of diameter D1 for the internal thread.  These diameters are computed using the standard ANSI formulas.

                                     

                                    This sketch does not shown the root fillets, which we hold tangent to the theoretical root flats so our root radii are smaller than what is allowed in the UN/UNS standards.  Our threads are subjected to extremely high shock loads and we have found that the improved clearances from the smaller radii at the roots makes them easier to disassemble afterwards.

                                      • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                                        Gary Wolfe

                                        Were you able to find the folder where the thread library feature parts are located?  I created 4 new ones with the rounded roots that I like.  We only use standard stuff not the special shock load tolerant, etc.  As an aside, our models are showing more and more threads, heck our bolt heads now have grade 5 & 8 markings.

                                        • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                                          Allan Smithee

                                          Lee, how do you calculate the D and d values? Is there a formula for them? Do you just use the max and min material conditions based on the tolerances? Or some average nominal diameter for internal and external threads respectively?

                                          EDIT: The link below for a UN threads and tolerances calculator gives dimensions for internal vs. external threads. Theoretical Machinist does a nice job of it as well.

                                           

                                          I believe using P/8 and P/4 for the crests are ISO Metric standards as well as Unified National standards. However I haven't seen the P/8 to P/24 fit anywhere that I can recall. That said, I would imagine you could create your own thread profiles. Run SolidWorks as an administrator and locate and open the existing profiles (C:\ProgramData\SOLIDWORKS\SOLIDWORKS 2017\Thread Profiles on my machine), modify the Tap and Die sketches as you see fit, and Save As a new filename. Once this is done they should show up in the thread wizard drop-down the next time you open the program. You would also probably have to add new configurations for each thread size you need to your new profile. Note that I haven't actually tried this, although I have added new thread size configurations following a similar process and I believe this is how it would be accomplished.

                                           

                                          Also I second your notion that SWX  should use different profiles for taps and dies because, as you mentioned, the thread crests are different widths (among other distinctions). However it already does; there are both tap and die profiles in the Thread Profiles folder, and each need to be edited if you are adding a new thread (for instance I added M40x2.5, and I had to add a new configuration to both the Metric Die.SLDLFP and the Metric Tap.SLDLFP). IMO there should perhaps be another section in the Toolbox Setup for Die Wizard or similar. Heck, maybe Hole Wizard, Tap Wizard and Die Wizard could all be separate categories. The tap and die wizards could easily be simplified using the thread profile formulas (P/8 etc), hence you would need only enter two dimensions: OD and Pitch. It's unclear to me how SWX makes a distinction between Tap and Die in the Hole Wizard, given that only the one thread profile exists to my knowledge. I see the Hole Wizard Standards which lets you enter new tap sizes for instance (snip attached), but where oh where are the die sizes, and how do you edit those?

                                           

                                          I typically try to design my parts similar to the way they will eventually be made. Since you don't generally add material to a part, I would use only a tap profile and a die profile (i.e. wouldn't need the extruded profiles). That said, it's not a bad idea to keep them for those who do use them, and the extruded profiles would be related to the cut profiles (essentially just the inverse). Hence SolidWorks wouldn't need the user to enter additional data for these if they were clever about it, they could essentially just use the other side of the thread cutting sketch.

                                           

                                          In my limited experience, if you're smart about the way you setup your solid parts (for instance, making a revolved feature at an average of the Min and Max Minor Diameter for an Internal Thread before tapping), then the Tap and Die features within the Hole Wizard do work nicely. This all hinges on the dimensions in the configurations being accurate to begin with. If these dimensions references the formulas however, this would greatly diminish any numerical aberrancy.

                                           

                                          To recap, this process and the profiles could easily be simplified. The Tap and Die profiles should be based on the formulas (i.e. P/8 and P/4 flats for taps and dies respectively, with thread depth being 5H/8). Hence the user need only input two dimensions: nominal diameter and pitch. Everything else (including the different profiles for internal and external threads) could be constructed from those two dimensions. Then, provided the user is careful about designing their revolved features using max or min material conditions, the thread features would work quite well. If a user wanted to add a new profile (such as, in your case, using P/8 and P/24 for external and internal thread crests respectively, or threads with a custom V angle or something) then a Hole Wizard or Tap and Die Wizard or similar could help, but again it should all be formulaic rather than based on tabulated values which are prone to data entry errors.

                                  • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                                    Adam Snow

                                    Jody,

                                    A warning message needs to be added to the Thread feature: Warning! The "threads" created by this tool are for appearance only.

                                    This is like saying the Hole Wizard settings for various head clearances are "just cosmetic", and the end user can modify the database to suit their needs if they require/expect a bolt to fit within a Hole Wizard feature.

                                     

                                    SolidWorks is a design program; its users design items that are manufactured.

                                     

                                    What is Joe the average user going to expect when he fires up his 3D printer and finds that his "threads" don't fit? Most 3D printers are not going to form smaller, fine threads. Joe will be using this for his bigger threaded components. I'm sure he'll be thrilled to learn hours of build time later, after using up his resin (or filament) that the "threads" were only for appearance.

                                     

                                    What are my customers going to say when I manufacture (via 3D printing, and urethane castings) their threaded parts and nothing fits together? I see myself spending a lot of time measuring the physical threads and explaining that the parts I built are within tolerance, but the "thread" in their model(s) don't meet a standard.

                                     

                                    Nobody has a reason to doubt the "threads" this tool creates are wrong.

                                      • Re: WARNING - Thread feature in SW2016 is woefully inaccurate
                                        Al Griego

                                        Adam Snow wrote:

                                         

                                        Jody,

                                        A warning message needs to be added to the Thread feature: Warning! The "threads" created by this tool are for appearance only.

                                        This is like saying the Hole Wizard settings for various head clearances are "just cosmetic", and the end user can modify the database to suit their needs if they require/expect a bolt to fit within a Hole Wizard feature.

                                         

                                        SolidWorks is a design program; its users design items that are manufactured.

                                         

                                        What is Joe the average user going to expect when he fires up his 3D printer and finds that his "threads" don't fit? Most 3D printers are not going to form smaller, fine threads. Joe will be using this for his bigger threaded components. I'm sure he'll be thrilled to learn hours of build time later, after using up his resin (or filament) that the "threads" were only for appearance.

                                         

                                        What are my customers going to say when I manufacture (via 3D printing, and urethane castings) their threaded parts and nothing fits together? I see myself spending a lot of time measuring the physical threads and explaining that the parts I built are within tolerance, but the "thread" in their model(s) don't meet a standard.

                                         

                                        Nobody has a reason to doubt the "threads" this tool creates are wrong.

                                        Good Lord!! I thought SWX was supposed to be a professional design tool!! If we can't trust the thread forms to be correct, then how do we know any of the other "standard" features are right?! How tough is it so get your programmers to sit down with a copy of Machinery's Handbook and put in the right information?! It's ridiculous to spend this much money on software (not to mention the new, "improved" maintenance fees) and have to plug in our own values for STANDARD thread forms!! I can see having to create non-standard thread forms, but we all have enough to do getting our projects out the door without having to do YOUR job.

                                         

                                        This is inexcusable. Seriously, what the frack are you people doing at SWX?