ThreadProfile icon indicating copy to clipboard operation
ThreadProfile copied to clipboard

would it be hard for me to add a multi-lead thread feature?

Open stepheneb opened this issue 4 years ago • 10 comments

Edit: What I want is to be able to do set the lead -- I think some of places I use the term pitch below is incorrect. See: https://www.harveyperformance.com/in-the-loupe/multi-start-thread-guide

I'd like to make custom multi-lead thread pattern using part of the standard v-shaped profile.

I'm making some parts that mate using a three-lead thread that is somewhat similar to what mason jars use. Imagine a cap fora cylinder between 50 and 70mm in diameter.

I haven't looked at the code yet but I thought I might for example be able to start with a thread shape that is normally used at a pitch of 1mm and increase that pitch to six mm and then combine three variants sweep objects each rotated at 120 degrees.

But when I start with an external thread with a 50mm mm minor diameter, a 1 mm pitch and a thread count of 10 that looks like this:

image

And then change the pitch to 6 mm with a thread count of 2 the size of the swept profile greatly increase in size like this:

image

So currently the size of the swept thread seems to only be affected by the radius and the pitch setting in the VThreadProfile object.

It seems like a first step might be to expose an attribute for the thread swept profile size. Normally this would just be set by the minor diameter and the selected pitch -- but if overridden I could change the thread profile size back to the swept profile size used in the 50 mm diameter by 1.0 pitch.

If you think it's not too hard to extend your modeling to support this I'd be happy to try implementing it.

Here's an example of what I'm trying to generate in FreeCad:

image

stepheneb avatar Mar 12 '21 00:03 stepheneb

I think you will need to sweep your profile the traditional way in order to make a multi-start thread, but I haven't given this too much thought. You could use the workbench as a starting point for creating the profile. Make a thread of appropriate radius and pitch with thread count = 1, and then use the part workbench cross section tool to make a cross section in the yz plane. Take the new cross section object to draft workbench and perform draft downgrade to separate it into multiple edges. Delete the edges you don't need, then upgrade the remainder to single wire object. Use draft to sketch tool to create a sketch from the wire and complete it in the sketcher to make something you can sweep along a helix of the appropriate pitch. Snip macro screenshot-ca651a Snip macro screenshot-322102

mwganson avatar Mar 16 '21 18:03 mwganson

I am rather late to the party, but for (external) multi-start threads, could you try the FCGear module? A worm gear is just a thread.

In its current configuration, you cannot put in the lead directly as it is written in terms of module, but there is an easy conversion: lead divided by pi is module. Pressure angle is half thread vee-angle.

pitch-circle avatar Sep 29 '21 08:09 pitch-circle

I don't think it's possible to do multi-start threads with the way the threads are made in this workbench.

mwganson avatar Sep 29 '21 14:09 mwganson

I think I've found a way to add 2-start and 3-start threads in v1.75. Usage: make a standard v-thread profile and change the Variants property to 2-start or 3-start. The helix should automatically update its pitch to 3 * v-thread pitch for 3-start and 2* v-thread pitch for 2-start variants.

mwganson avatar Oct 07 '21 18:10 mwganson

It seems like this only creates one set of threads for a 2-start thread (using v 1.82 on FreeCad 0.20)

Is the expected behavior that the user would need to add a second identical V-Thread with the 2-start variant, but with a 180 degree rotation?

crossan007 avatar Aug 24 '22 22:08 crossan007

No, expected behavior is you get a 2-start thread Snip macro screenshot-0a3083 .

mwganson avatar Aug 25 '22 17:08 mwganson

Interesting.

There may be a bug in the generation of the second (and possibly third) thread starts. Should I file a separate GitHub issue for this, or continue on this thread?

I'm seeing correct doubling of the helix's pitch, but no second thread start image

image

crossan007 avatar Aug 25 '22 23:08 crossan007

I found the issue.

If an offset is applied on the Z axis to the VThreadProfile object (in my case, 1mm), then the second-half of the 2-start thread is never generated in the profile:

2 start thread bug

crossan007 avatar Aug 26 '22 01:08 crossan007

I think I have it fixed now. Latest version 1.83. Please update and test. In the future it is probably better to create a new issue so that you are able to close it when satisfied with the fix.

mwganson avatar Aug 26 '22 15:08 mwganson

@mwganson Thanks - Normally I would have created a new issue - I just wasn't sure, since this issue looks to be the one that originally adds the multi-lead threads https://github.com/mwganson/ThreadProfile/issues/25#issuecomment-938035552 and it's still open.

It looks like 1.83 fixes the issue I was seeing with a z-axis position offset of 1mm causes the second lead profile to not be rendered. Thanks for the quick resolution and your awesome work on this module!

crossan007 avatar Aug 26 '22 17:08 crossan007