Help with ACME thread - Page 2
Close
Login to Your Account
Page 2 of 2 FirstFirst 12
Results 21 to 26 of 26
  1. #21
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    4,212
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1801

    Default

    Quote Originally Posted by olympictool1 View Post
    Somethings just not quite right. We fixed the code for a double start and put in a new insert so we can control the PD (with out cutting the major at the same time) and it seems like it really wants to go, except its like its only catching one start. Every time we screw on the cap its crooked. Any insight? (PICTURE BELOW)



    this is a 2 1/8 - 8 ACME
    i am using the thread data as follows from a calculator (Original part falls right in the middle of all of these specs)
    MAJOR 2.125 - 2.1188
    MINOR 1.9800 - 1.9510
    P.D. 2.0508 - 2.0315

    Here is the code maybe someone sees what I am doing wrong:
    (THREAD START #1)
    N12
    (OD THREAD)
    (ACME 2 1/8 -8)
    G28V0
    M69
    G99G18M46
    G50S3000
    G55
    G0T1252
    M611
    G97S500M203
    G0G99G55X2.4Y0.
    Z-.125
    M8
    G92X2.120Z.8F.125
    Hello olympictool1,
    Your Lead is wrong. The Feed Rate should be F0.25. The Lead of the Multi-start Thread is calculated as follows:

    L=P x NS
    Where:
    L = the Lead (axial movement of the Thread in one rotation)
    P = Pitch (distance from a point on one Thread Form to the corresponding same point on the next Thread Form)
    NS = Number of Starts

    Therefore:
    L = 0.125 x 2
    L = 0.25

    Accordingly, your G92 Block should be as follows:

    G92X2.120Z.8F0.25

    Also, when cutting a Multi-start Thread, you shift the Z Start Point by the Pitch of the Thread:

    P = L / NS
    Where
    L = the Lead (axial movement of the Thread in one rotation)
    P = Pitch (distance from a point on one Thread Form to the corresponding same point on the next Thread Form)
    NS = Number of Starts

    Therefore:
    P = 0.25 / 2
    P = 0.125

    You also end the Thread at the same End Point in Z; that does not vary. The result is that the End of the Thread will be indexed 180deg (for a 2 Start Thread).

    If you look carefully at the Thread you've cut with the program listed in your last Post, you will find that you have cut a Single Start Thread, the same as in your first attempt. If you move the Z Start by a value equal to the Lead of the Thread, you cut a 0.125 Lead with F0.125 and by changing the Z Start by 0.125 for your second G92 Cycle, you simply cut the same Thread Groove, but starting form a different Z location.

    With a G92 Cycle, you're able to index the second start by using a "Q" address in the Thread Cycle Start up Block and Start the Thread from the same Z Start Location. This also apples to G32 (G33 depending on parameter setting) and to the FS15 Format, Single Line G76 Cycle. If the Q address is omitted, Zero Thread Index assumed. The second Start is indexed 180degs by specifying the Index Angle with "Q". Obviously, the index angle is calculated as follows:

    Q = 360 / NS
    Where:
    Q = Index Angle
    NS = Number of Thread Starts

    With a 3 Start Thread for example:
    1. the first Start would be as Zero Index Angle, Q can be specified as Zero, or simply omitted
    2. the Second Start Indexed by 120degs
    and
    3. the Third Start Indexed by 240degs

    Regards,

    Bill
    Last edited by angelw; 06-18-2020 at 04:12 AM.

  2. #22
    Join Date
    Sep 2005
    Location
    Oakland, CA
    Posts
    3,128
    Post Thanks / Like
    Likes (Given)
    675
    Likes (Received)
    1029

    Default

    I doubt that's a true ACME thread and more likely a bottle thread. They are not the same. try this and see if your sample matches up.

    cap guide for fitting closures on bottles

  3. #23
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    4,212
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1801

    Default

    Quote Originally Posted by Dan from Oakland View Post
    I doubt that's a true ACME thread and more likely a bottle thread. They are not the same. try this and see if your sample matches up.

    cap guide for fitting closures on bottles
    Hello Dan,
    That may be, but his example code shows that he is still cutting a Single Start Thread and with the wrong Lead. Accordingly, the cap won't assemble irrespective of what Thread Form Insert he may be using.

    Regards,


    Bill

  4. Likes Bobw liked this post
  5. #24
    Join Date
    Mar 2011
    Location
    NJ
    Posts
    95
    Post Thanks / Like
    Likes (Given)
    3
    Likes (Received)
    7

    Default

    Quote Originally Posted by angelw View Post
    Hello Dan,
    That may be, but his example code shows that he is still cutting a Single Start Thread and with the wrong Lead. Accordingly, the cap won't assemble irrespective of what Thread Form Insert he may be using.

    Regards,


    Bill
    Bill thank you so much, i knew there was something i was misunderstanding now its all coming together. going to give it a shot now.

    EDIT coffee kicked in and i re-read your reply.



    Dan thank you for the idea but i do not believe the specs fall into any of those but well see what happens after i actually cut it right.

  6. #25
    Join Date
    Mar 2011
    Location
    NJ
    Posts
    95
    Post Thanks / Like
    Likes (Given)
    3
    Likes (Received)
    7

    Default

    Quote Originally Posted by olympictool1 View Post
    Bill thank you so much, i knew there was something i was misunderstanding now its all coming together. going to give it a shot now.

    EDIT coffee kicked in and i re-read your reply.



    Dan thank you for the idea but i do not believe the specs fall into any of those but well see what happens after i actually cut it right.
    Hey it works!!! Thank you all again for the ideas and the help, and special thanks to you Bill for explaining. I appreciate the patience and the help, it just didn't make sense the first time.

    img_5945-1-.jpg

  7. Likes Bobw, dsjansen liked this post
  8. #26
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    4,212
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1801

    Default

    Quote Originally Posted by olympictool1 View Post
    Hey it works!!! Thank you all again for the ideas and the help, and special thanks to you Bill for explaining. I appreciate the patience and the help, it just didn't make sense the first time.

    img_5945-1-.jpg
    Hello olympictool1,
    One thing I have against the typical Threading Cycles such as G76 and G92, when cutting a Multi-start Thread, is that each Thread Groove is cut to Full Depth before advancing to the next, as in your example where two G92 Threading Cycles were executed successively to cut each of the two Thread Grooves. Not really an issue on a one off, or small volume job, or if the material is aluminum, or other easily machined material, but on large Lead and subsequently, reasonably large Thread Height, by the time the next Thread Start is commenced, the Threading Insert has done considerable work.

    Some time ago I Posted on this Forum a Custom Macro Threading Cycle that could replace the standard G76 Cycle. It had all the attributes of the Standard Cycle, but with the addition of being able to take successive cuts on each of any number of Thread Starts until finished. I labeled this cycle G176 and registered 176 to create a Custom G Code.

    In the event that your machine doesn't have the User Macro facility, another way to cut each Thread Lead one Thread pass at a time is by using a Subprogram repeated a number of times, shown in the following example. The only down point of this strategy is that each successive DOC will be the same and not variable as with a G76 Thread Cycle. In your program example, you've used a constant DOC of 0.0025" (0.005 Diameter Value), so the Subprogram method would work for you. A DOC 0.0025" is way too small. As well as taking a lot of unnecessary Threading passes, a total count of 64 in your example, the Threading Insert would suffer if cutting Steel. However, I've used your DOC in the following example to show how this method can cut down on code substantially:

    G97 S500 M203
    G0 G99 G55 X2.4 Y0.
    Z-0.125
    M8
    M98 P321000 (Call Subprogram O1000 - Repeat 32 Times)

    The Thread Height of your Thread (according to the numbers used in your program) is 0.160". Accordingly,:
    1. you need to start the Threading Cycle at an X Coordinate at least greater than the Major Diameter of the Thread by 0.160" (Diameter Value). It doesn't matter how much larger the Start Position is, just so long as its greater than the Thread Height

    2. In your example code, you start at X2.4", 0.275" in diameter greater than the Major Diameter and greater than the Thread Height; that will be fine.

    3. From that point, if you were to move Incrementally -0.280 in X, you will take a 0.005" (0.0025 Radially) DOC on the Workpiece. This Incremental move can be achieved by using the "U" address instead of the Absolute "X" address.

    4. You will see in the following example Subprogram, that at the end of the First Pass from the starting Z position of Z-0.125 the Tool is withdrawn Incrementally by +0.280, placing it back at the Absolute X coordinate of X2.40.

    5. The Tool is then moved to the new Z Start position of Z-0.25", a shift of 0.125", half the Lead of the Thread and in position to take a cut on the Second Start of the Thread.

    6. The part of the Subprogram that cuts the Second Thread Start repeats the process of moving the Tool Incrementally -0.280" and completes a Thread Pass to the same End Point of Z0.8"

    7. The next move is what makes it all work. At the end of the Thread Pass on the Second Start, the Tool is only withdrawn by +0.275" and would place the Tool at the Absolute X coordinate of X2.395 (0.005" less that the original X2.4).

    8. At this new X Start position, the Tool is moved back to the Z Start position for the First Start of the Thread and the Subprogram repeated.

    9. Each time the Thread Pass for the Second Thread Start is executed in the Subprogram, the X Start of the Next pass on the First and Second Start of the Thread is reduced by the DOC being used; in this case, 0.005" (in terms of diameter).

    19. The number of repeats of the Subprogram is determined by dividing the Thread Height by the proposed DOC. If this calculation doesn't result in an Integer, divide the Thread Height by the closest Integer to the result; the result of this calculation will be the DOC you must use. Following is an example of the Subprogram.

    %
    O1000
    G00 Z-0.125 (Z Start Position for 1st Start)
    G00 U-0.280
    G32 Z0.8 F0.25
    G00 U0.280
    (SECOND THREAD LEAD STARTS HERE)
    G00 Z-0.250 (Z Start Position for 2nd Start)
    G00 U-0.280
    G32 Z0.8 F0.25
    G00 U0.275 (X Start Position reduced by 0.005" here)
    G00 Z-0.125 (Z Start Position for 1st Start)
    M99
    %

    Regards,

    Bill
    Last edited by angelw; 06-19-2020 at 05:03 PM.


Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •