585,759 active members*
3,910 visitors online*
Register for free
Login
Results 1 to 18 of 18
  1. #1
    Join Date
    Aug 2014
    Posts
    257

    G76 & Conversational Threading

    There seems to be little if any documentation from Tormach on the input field called “TAPER:” - see here:



    It’s even absent in all the Tormach depictions of this screen?

    Anyway, my first time using this function is for an external 1/2” NPT on a pipe end. Looked like an easy thing. Some parameters are automatically available using the drop down box & then just fill in the rest. Well not so fast, just what exactly do you enter into the taper field. It’s definitely not the angle because the resulting code is not even close.

    So I started digging into the G76 command. Nothing from Tormach. So I figured it’s probably using something similar to LinuxCNC as described here.

    Hmm, all the parameter match-up pretty good except for this O- parameter that corresponds to the TAPER field. No documentation on this parameter – anywhere…

    So after reading about all G76 formats, FANUC, HAAS, LinuxCNC, etc…, I came to the conclusion it’s a special parameter that Tormach has added to its implementation of the G76 cycle. Maybe this has been talked about elsewhere but I could not find anything. My best guess is that you enter what the thread major diameter should be at Z END. Great, now I’m getting something that looks like a pipe thread.

    So during all this exercise I decided to see if one could use the H-, E- & L- parameters. The H- parameter (number of springs passes) does work. Both E- & L- (tapered entry/exit) do not generate an error but they are ignored and it would be nice to have them work.

    OK, so now I want to tune this thing up and get it cutting faster because cutting at 250 RPM with light cuts is generating a huge number of passes. Well you quickly realize you're never going to get close to the recommend SFM for your cutter & material. It’s gonna be a huge compromise to the low side and the H- parameter is gonna be handy - lots of spring back! For my 1/2" NPT program spindle RPM's higher than 780 generate an error.

    Also I’m noticing that once you cut a thread for a given program & spindle RPM, if you change only the spindle RPM & rerun the same part the threads will no longer be in sync. This doesn't seem right to me.

    So my questions are:

    Is there a definition somewhere for the TAPER field?
    How do you make a reasonable DOC at slow speeds & feeds and keep spring back to a minimum?
    Is it wrong to assume thread sync should be maintained if you only change the spindle RPM & rerun the part?

    Thanks

  2. #2
    Join Date
    Sep 2008
    Posts
    325

    Re: G76 & Conversational Threading

    I am far from being an expert on this subject but have done a fair amount of straight and tapered pipe threads on my Slant Pro. From my experience the taper angle is defined by the the drive line which is determined by the start position and a delta position for the end position which is D parameter. A positive value for D gives an external pipe thread and a negative value gives an internal pipe thread.

    I normally do not cut threads faster than 300 RPM and normally try to stay under 15 passes and I usually do a single spring. I recently cut some 7/8-14 external threads in stainless steel that I had a tight tolerance on the pitch diameter. Over 100 parts I was able to hold pitch diameters within tenths of a thou. on a single cutter. (300 RPM, 0.025 DOC 13 passes, 1 spring pass) I thread with indexable carbide tools that are partial profile (sharp v) so I usually have to alter the thread depth (K parameter) given in the thread table to get the proper pitch diameter.

    I have seen the same result as you if I vary RPM and make a follow up pass on a thread. I think it may have to do with the stepping motors and how quickly the machine reacts to the the index pulse for a given RPM. If the machine had servo motors I don't believe that problem would exist.

    The only problem I have experienced on taper threads is if I switch from external to internal (and visa versa) where the thread angle ends up opposite of what is required. I have had to go in and manually change the sign of the D parameter. That scares the heck out of me if I don't catch it as the cut depth gets deeper as the pass progresses. A couple times I thought I destroyed the insert but fortunately haven't so far.

  3. #3
    Join Date
    Jul 2004
    Posts
    1424

    Re: G76 & Conversational Threading

    Taper is frequently defined as inches per foot. So a 1.7899 degree taper is 3/4" per foot (change in diameter per foot of travel).

    Try putting in 0.750 and see what it spits out.
    Tim
    Tormach 1100-3, Grizzly G0709 lathe, Clausing 8520 mill, SolidWorks, HSMWorks.

  4. #4
    Join Date
    Sep 2008
    Posts
    325

    Re: G76 & Conversational Threading

    That would mean that the thread length would have to be 1 foot. The D parameter I'm sure is calculated based on the specified thread length. I did the math for a G76 routine for a ¼ " NPT I ran recently and it worked out to 1.79 degrees.

  5. #5
    Join Date
    Jul 2004
    Posts
    1424

    Re: G76 & Conversational Threading

    So is the taper value in the GUI is simply defined as the change in Xstart over the length of the part?

    It seemed like the OP was describing it as a confusing value, and that seems easy to recognize.
    Tim
    Tormach 1100-3, Grizzly G0709 lathe, Clausing 8520 mill, SolidWorks, HSMWorks.

  6. #6
    Join Date
    Sep 2008
    Posts
    325

    Re: G76 & Conversational Threading

    Quote Originally Posted by tmarks11 View Post
    So is the taper value in the GUI is simply defined as the change in Xstart over the length of the part?

    It seemed like the OP was describing it as a confusing value, and that seems easy to recognize.
    In the code that is generated from the conversational this is what is stated for the D value in the G76 command "(Taper [incl. lead in/out] = 0.0460)" This value is posted as a negative number if it is an internal thread. For the D parameter (which is in inches) to define the angle it has to be based on the thread length entered in the conversational parameters. So if one decides to manually edit the thread length in the posted code the D value would have to be recalculated to maintain the same 'drive line' (thread) angle.

  7. #7
    Join Date
    Jul 2004
    Posts
    1424

    Re: G76 & Conversational Threading

    So the TAPER value that is on the conversational threading GUI is the same as the "D value"?
    Tim
    Tormach 1100-3, Grizzly G0709 lathe, Clausing 8520 mill, SolidWorks, HSMWorks.

  8. #8
    Join Date
    Sep 2008
    Posts
    325

    Re: G76 & Conversational Threading

    Quote Originally Posted by tmarks11 View Post
    So the TAPER value that is on the conversational threading GUI is the same as the "D value"?
    Yes! For a NPT thread the value for the taper in the conversational for a .350" long thread with a .200" lead-in is 0.0171" (which is the D parameter posted). If I change the thread length to .500" with a .200" lead-in the taper value in the conversational changes to 0.0217" as does the D value posted.

    So the lesson here is that one needs to calculate the value entered in the conversational for the taper angle based on the thread angle, thread length and lead-in.

    Again, it I were to trig out the the values I gave above Inv. Tan for 0.0217/(.500 + .200) I would get 1.7756 ( rounds to 1.78 deg. - the taper angle for a NPT thread)
    And for the .350 thread length (0.0171/(.350 + .200) I would get 1.780 degrees.

    Hope that explains it without being confusing!

  9. #9
    Join Date
    Sep 2008
    Posts
    325

    Re: G76 & Conversational Threading

    Another thing that is interesting that is contained in the header for the posted code is:

    "(Note: for 1/2NPT Internal Thread)
    (Hole ID = 0.74504)
    ( for use with ID Turn and Chamfer)
    (Effective Thread Length = 0.5337)
    ( use as the distance between z_start and z_end in Chamfer)
    ( use an angle of 1.78 degrees)"

  10. #10
    Join Date
    Jul 2004
    Posts
    1424

    Re: G76 & Conversational Threading

    Quote Originally Posted by saabaero View Post
    Again, it I were to trig out the the values I gave above Inv. Tan for 0.0217/(.500 + .200) I would get 1.7756 ( rounds to 1.78 deg. - the taper angle for a NPT thread)
    And for the .350 thread length (0.0171/(.350 + .200) I would get 1.780 degrees.!
    So why is the "lead" length included in those calculations? On the GUI it looks like no threads are cut there?
    Tim
    Tormach 1100-3, Grizzly G0709 lathe, Clausing 8520 mill, SolidWorks, HSMWorks.

  11. #11
    Join Date
    Sep 2008
    Posts
    325

    Re: G76 & Conversational Threading

    Quote Originally Posted by tmarks11 View Post
    So why is the "lead" length included in those calculations? On the GUI it looks like no threads are cut there?
    It is where the drive line begins and normally is used to stabilize the thread before it begins to cut material. I suppose that it could have started at the start of the material but there must have been a reason the conversational was written that way.

    A better question is why wasn't the taper just defined as an angle! If one were cutting a thread angle that wasn't in the thread table (i.e. NPT) it would be a real PIA!

    Kind of like why was the parting/grooving zero set on the right side of the tool in earlier versions when to zero the tool one would normally touch off the left side. The answer was because when parting the dimension of the right edge of the cutter would be more important as it would be the part length. In the latest version software however, that decision was reversed.

  12. #12
    Join Date
    Jul 2004
    Posts
    1424

    Re: G76 & Conversational Threading

    Does the GUI have the pre-loaded NPT values in it?

    This is good news; I had assumed that the SPL15 couldn't do NPT, since the SPL15 manual doesn't address it (and has a threading screen that is different than the one the OP posted).
    Tim
    Tormach 1100-3, Grizzly G0709 lathe, Clausing 8520 mill, SolidWorks, HSMWorks.

  13. #13
    Join Date
    Sep 2008
    Posts
    325

    Re: G76 & Conversational Threading

    Quote Originally Posted by tmarks11 View Post
    Does the GUI have the pre-loaded NPT values in it?

    This is good news; I had assumed that the SPL15 couldn't do NPT, since the SPL15 manual doesn't address it (and has a threading screen that is different than the one the OP posted).
    Yes, it does!

  14. #14
    Join Date
    Aug 2014
    Posts
    257

    Re: G76 & Conversational Threading

    So I was installing some black iron pipe in the workshop for my heater & thought I can make some 1/2” nipples – ha!
    Anyway, this is what I figured out - yeah, I can do that on my lathe but somethings are just better done on the right machine – like a RIDGID down at the local Home Depot.

    OK, but I still want to know how to do NPT tapers on my lathe because I have a project that uses a non-standard taper. After consulting the Machinery Handbook (MH), drawing up some models, and trying different things on the lathe, this is what I found.

    First, something I didn’t know is that thread heights & truncations are measured 1.79 degrees off the pipe center-line. When you CAD this up it becomes clear right away. The MH is not clear about this and the sketch depicting it in my 23 Edition leads you to think it’s to the centerline.

    Attachment 338230

    Note: This whole discussion is about an external 1/2” NPT thread but will be useful info for other threads too.

    There are several files in “operator/gcode/thread_data/” for threading parameters and the ability to add your own. I specifically looked at the file “threads_sae.txt” to check/verify the numbers from Tormach. Call me anal but I can now say the numbers for NPT threads are correct and are centered about the truncation limits. Your cutter should have the appropriate nose to make this work. When using the drop down box a note appears, “NOTES: TP TRUNCATION = 0.0040”. You need to take this into account!

    The “Conversational” window is written as a python routine found in “operator/tmc/python//lathe_conversational.py”. The code is broken down into sub-sections for each tab in this window. The one for threading is last and starts at line 3720 for version 1.9.7.

    The Slant-Pro is not fast or efficient for doing larger threads. You are really limited because of the slow feed-rate (60 IPM) Someone mention they thought it was because of the encoder/computer not able to keep up with higher RPM’s, but it’s really the low IPM spec. In the file “lathe_conversational.py” it calculates the MAX RPM’s for a given TPI based on MAX IPM – see lines 4234 thru 4253, function “validate_pitch_spindle_rpm()” in this file. Yeah, threading a plumb bob looks pretty cool but it’s a different story doing larger pipe threads.

    Another area that’s troublesome is the DOC. When doing threads this value is not what you would first think. You really need to look at the LinuxCNC documentation for G76 to understand what’s going on. Specifically the R & Q parameters. The difference between lets say 0.025” & 0.010” is huge and you get a number of passes from 19 to 117, respectively. At 0.025 DOC I chipped my carbide cutter & had serious chip welding. So because of the very low SFM it takes careful selection of a suitable cutter. Otherwise you’re making lots of passes.

    So finally, this is how I am interpret the TAPER field. Zero means just cut a straight thread using X START (Thread Major) and X END (Thread Minor). Otherwise, the TAPER field value is the Thread Major difference between Z START & Z END, divided by 2. So the drop down box for NPT threads gives you the Thread Major for Z START as X START. Now you need to know the Thread Major for Z END to calculate the TAPER input.

    I don’t why Tormach didn’t include this, or document it, but it’s simple to figure out. First, remember this number, TAN 1.7899 equals 0.03125”, or a 32nd of an inch. This is a constant for NPT tapers. Then from the MH we get the “Overall Length External Thread”, L4, for your thread – 0.7815” in my case. Now the ½ difference between the Thread Major at Z END & Z START is simply (0.7815 * 0.03125) or 0.0244”. This the TAPER field value for an external 1/2” NPT.

    It probably goes without saying but it’s helpful to first taper the pipe down to Thread Major. So in the Chamfer conversational tab you will need to know the effective thread length, L4, & the Thread Major at Z END. So we already know the Thread Major at Z START & we just figured the ½ difference at Z END so the diameter input will be (2*0.0244) + 0.8124 or 0.8612”. Yeah, this is larger than the pipe OD of 0.840” but the last few thread on are not fully formed by design and the taper only applies to the effective range of engagement, L1, from the MH.

    Now for the LEAD LENGTH value. By definition it needs to be something to ensure things are up to speed before before beginning the cut. I don’t know what’s necessary but I’m using 0.1”. It could probably be a lot less and larger values just waste time. What ever you use it DOES NOT effect any input numbers and the software just figures it out and. The cutter will be correct at X for Z START no matter what you input here.

    So I get a pretty good thread & my 1/2” die goes onto it pretty nicely, but these things are really hard to measure. The actual fit into another fitting is not that great but I have seen lots of variance with purchase components too.

    I guess the thing to do now is machine both an external & internal thread & check the fit? Until I can figure a cheap DIY method to measure treads I can’t say what my REAL numbers are.

    My input numbers for ½” NPT pipe are:

    Z START: 0
    Z END: -0.7815
    X START: -0.8123
    X END: -0.7046
    LEAD LENGTH: 0.1
    TAPER: -0.0244

    The negative values are for using the QC post…

    After writing this I made a spreadsheet to figure this all out so I don’t forget down the road - see attachments in Zip file ...

    (Note: file extension (odt) is a LibreOffice Calc format. I also exported it as Excel 97-2003 (xls) but have no way to check it out in Excel)

  15. #15
    Join Date
    Oct 2010
    Posts
    253

    Re: G76 & Conversational Threading

    rdsi, good on you for digging into the python code. I've cut a lot of threads on this lathe, but no tapered threads yet. As far as the initial pass 'gouging', I usually do this:
    a) spec my thread at nominal major and minor diameters. So, eg, if you have a 1/2-20 thread you would spec .5 and .4387.
    b) you cut the initial major diameter at say, .495

    The first cut, which might come out to .020 DOC is actually a lot less. The cool thing is, by changing the initial X move to the drive line, you can alter the depth of the thread, without having to mess with the tool table.
    I typically use full profile inserts.

    I usually thread at about 450rpm. I've found this just fine, even on larger threads, such as 2x8tpi.

  16. #16
    Join Date
    Sep 2008
    Posts
    325

    Re: G76 & Conversational Threading

    Attached is a thread engagement chart for various NPT threads.

    I use my Slant Pro for NPT threads whenever I can because the threads are much better quality than when cut with a die. I really don't find using the Slant Pro slow at cutting threads.

    - - - Updated - - -

    Attached is a thread engagement chart for various NPT threads.
    Attached Thumbnails Attached Thumbnails Screen Shot 2016-11-07 at 7.06.32 AM.jpg  

  17. #17
    Join Date
    May 2015
    Posts
    17

    Re: G76 & Conversational Threading

    Does anyone know whether the conversational will allow left handed threads? I need to cut some, but I don't see anything on the conversational screen that allows you to specify that the thread is LH.

  18. #18
    Join Date
    Oct 2010
    Posts
    253

    Re: G76 & Conversational Threading

    Quote Originally Posted by jimlake View Post
    Does anyone know whether the conversational will allow left handed threads? I need to cut some, but I don't see anything on the conversational screen that allows you to specify that the thread is LH.
    I don't think it does directly, but linuxcnc will, so basically just reverse Z start and Z end in the gcode. So the Z value just before the G76 will be less than the Z value in the G76 command. I've done this and it works well with a few caveats:
    1) you need a sturdy insert holder that can take the stresses of designed to do opposite the direction it was. I use a Dornotch style, it worded great in 2x8tpi treads in 7075.
    2) you need either a through hole or enough relief to the tool had time to synchronize.
    3) You could also go the route of using a left handed threading tool and insert, then in the gcode change M3 to M4, and leave all the G76 code alone. Tho I haven't tried this so you'd be trail blazing.

Similar Threads

  1. Conversational G53 has no G0.. what's up with that???
    By SoCalPlaneDoc in forum Tormach PathPilot™
    Replies: 9
    Last Post: 08-25-2016, 08:52 PM
  2. THREADING: How to add threading parameters to the Init file?
    By jeffserv in forum Dynomotion/Kflop/Kanalog
    Replies: 9
    Last Post: 03-22-2015, 06:50 PM
  3. Looking for conversational software....
    By inventor30 in forum Want To Buy...Need help!
    Replies: 0
    Last Post: 10-08-2011, 09:35 PM
  4. Replies: 10
    Last Post: 12-29-2008, 10:35 PM

Tags for this Thread

Posting Permissions

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