603,893 active members*
3,944 visitors online*
Register for free
Login
Page 1 of 2 12
Results 1 to 20 of 25
  1. #1
    Join Date
    Mar 2003
    Posts
    109

    Lathe programing help

    Yes it is me again!!
    But this time, I am ready to make parts again, but need a little help in the programing area.
    I have included a picture of the parts that I make, along with the stock parts. The shinny one is the one I made out of Titanium.
    The radius is made with a radius cutter, but now I have the lathe I should be able to make this much quicker.
    When programming a radius hows is that done? I'm sure that this will need numerous cuts to get to the final diameter, but not sure on where to start.
    Any advice greatly needed,
    Smitty
    Attached Thumbnails Attached Thumbnails im000732.jpg  

  2. #2
    Join Date
    Mar 2003
    Posts
    4826
    Smitty, are you going to write your programs by hand? Are you good with a calculator, and do you understand a bit of trigonometric functions?

    I'd highly recommend you get some software to help you out, maybe Bobcad 17 would do for a start, yet be quite cheap.

    I haven't gathered from the discussions exactly what TurboCNC expects for arc parameters but here is the general rule: from wherever your machine (tool) is positioned right now, an arc command needs to contain an X and a Z coordinate for the endpoint of the arc coming up, plus it needs an I and a K coordinate to tell it where the center of the arc's radius is located.

    If your machine can move a maximum of 90 degrees per arc command, then it needs no G02 or G03 to tell it the direction to move around the circle, this is typical of some controllers. However, usually a G02 or a G03 is needed to command the direction clockwise or counterclockwise movement when the arc is being traversed.

    So
    G02 Xx.xxx Zz.zzz I.iii Kk.kkk
    is what the generic command would look like. I corresponds to the X coordinate of the arc center, and K corresponds to the Z coordinate of the arc center.

    Some controllers will instead accept a R parameter which is the radius, so you would see
    G03 Xx.xxx Zz.zzz Rr.rrr

    Some controllers are very exacting about the accuracy of the arc center coordinates, and high precision is required for the calculation. The controller checks it current position, looks at the end coordinate of the arc, and then determines whether it can actually get there if the center is where you have specified. If not, then it may give you an error, and not move at all, or else, it will make a correction (linear movement) at the end of whatever portion of the arc it does attempt to do, which will create a gouge or something undesirable in your toolpath.

    When you make the calculations for the arc coordinates, you need to know whether the controller expects the arc center coordinates to be in absolute coordinates (from a main part zero point), or incremental coordinates (point to point movement).

    In addition, for lathe tools, you need to make a tiny allowance for the tool nose radius of the insert you are cutting with. Since your toolpath is typically planned for a theoretically sharp point, this means in real life, that if you use the "sharp point path" for a final path, the radii you cut will be slightly larger than the specification, let's say by .015 to .031 inch, as these are typical tool radii.

    So then, you need to allow for this by drawing your part paths slightly undersize by the amount of the tool nose radius. Or, use tool nose radius compensation at the controller to do this for you on the standard full-scale part profile.

    One other trick in lathe programming is of course, that X is usually a diametral figure (Z is not) rather than the actual length of the radius, so a quarter circle starting on the centerline at X0Z0 and moving through a 90 degree sweep on a 1" radius, would be written something like
    G02 X2.000 Z-1.000 I0.000 K-1.000. If X were a radius value then you wouldn't have to remember to double the X values all the time.

    Now you know why you need some software to give you a hand
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  3. #3
    Join Date
    Mar 2003
    Posts
    109
    I see that I am in for some serious work!
    Thanks for the help, this might be a little over my head.
    Might have to go back tothe radius cutter for now, until I can get a grip on this!
    Smitty

  4. #4
    Join Date
    Mar 2003
    Posts
    271
    Is that for a RC car Or Truck?
    My little piece of the web!
    http://users.adelphia.net/~wjdupont


  5. #5
    Join Date
    Mar 2003
    Posts
    109
    1/8 scale on-road race car. Mugen MRX3
    Any idea where I might find a decent program that won't break the bank. I have been reading about Bobcad, and the reviews are not in their favor. I have Vector when I bought the Mill, but it will not load, might give them a call.
    SMitty

  6. #6
    Join Date
    Apr 2003
    Posts
    416
    Smitty,
    I program a lot of lathe parts, but only use turbocnc for my mill.

    The parts you have look fairly easy to program using a Cad program to get the points.

    Do you have it on a cad program? I might be able to give you some examples or help.

    Bill

  7. #7
    Join Date
    Mar 2003
    Posts
    109
    I have Vector when I bought my Mill, but it will not load. I will call them today and see what they can do. Other than that, no CAD programs.
    Thanks for the help
    Smitty

  8. #8
    Join Date
    Mar 2003
    Posts
    4826
    Vector is pretty much the same thing as Bobcad, so I've heard. If you have a copy already, there is no harm in trying to get it working.

    Bobcad or Vector level programs are plenty good enough, IMO, for hobbyists just getting started in simple nc programming. But, if you can't get Vector working, watch the Bobcad site for 1/2 price specials, which appear quite frequently.

    Maybe some of the other guys can vouch for the "bestest, cheapest" CADCAM that they know of.
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  9. #9
    Join Date
    Mar 2003
    Posts
    109
    And the list goes on,
    I need to cut a groove in this part, but do not want to cut it all at once. I tried G78, plunged into fast. I also tried G83, but that won't work either, say's that I must be in the same direction of Z, but I am using X.
    Any ideas?
    Thanks

  10. #10
    Join Date
    Mar 2003
    Posts
    109
    As for the CAD program, I called Vector, and they will fix me up! Just need to register the program I have, after they send me the diskette. So, hopefully I can get this running soon.
    Smitty

  11. #11
    Join Date
    Mar 2003
    Posts
    4826
    Well Smitty, glad you're getting fixed up with some software.

    Yes, as you have found out, there are limitations to the use of canned cycles on lathes.

    The G81, G82, G83, G84 are all designed to operate with predetermined motions in the Z direction, since the assumption is made that you will be drilling a hole, with the drill point positioned right at X0 on the lathe's centerline. These cycles cannot be used in the X direction.

    However, there is no real magic to these canned cycles, they are simply a shortcut to a common procedure, but you do have to learn about what axis are active for the duration and what they do.

    For "peck grooving" which it sounds like what you are doing, a canned cycle would work if you were cutting a groove in the face of a part held in the chuck. But for the direction you are working in which is X, you'll have to write that one out longhand.

    Now I don't want to burden you with information overload, but be aware that you can write a small subroutine to accomplish the peck movements in X. It will not be modal, which means you have to call it every time you want to use it. But, once it is written, you can write your main program very quickly, planning your main program moves to each groove location, followed by one run through the subroutine.

    By contrast, canned cycles in the G8x series, remain active until cancelled. This is what modality means. This is not all that useful on a lathe, but on a mill, it allows for one rapid move to occur between each execution of a hole drilling cycle.

    important Shut off a canned cycle in the G8x series with a G80, which is the shorthand command for cancelling the active cycle. It is a good idea to place certain commands at the beginning of your program, just to make sure that all such things are shut off before the program runs again. Sometimes, you'll abort a program part way through, and if a G8x cycle was still active, it may go yet again after the first positioning move is read even when your program starts over.

    For example, the very first lines of your main program should contain things like
    G54 (cancel work offsets, applicable to mills)
    G40 (cancel tool radius comp)
    G80 (cancel any canned cycle)
    G90 or G91 (Tell the machine whether the main program is going to be in absolute or incremental coordinate systems.

    So if you want to know about writing subroutines, just post a brief answer describing how you would call up one for your controller

    BTW, I do not know anything about Turbocnc, so what I have written above is to be understood to be general gcode rules.
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  12. #12
    Join Date
    Mar 2003
    Posts
    109
    HFD,
    You are just a wealth of Inforamtion!! Very glad I have stumbled upon this site for sure!
    Now, as for subroutines, how is that accomplished? I do believe that Turbocnc follows most G code rules, so if you feel up to it, show me the way! My groove is .060 deep, but I also am machining Titanium, so I was only going in .005 at a time to be safe.
    I was playing around with other codes, and came across G77, now that one alone save me 25 lines.
    Smitty

  13. #13
    Join Date
    Mar 2003
    Posts
    4826
    Smitty, I was browsing the Turbocnc site briefly, but I did not come across a comprehensive table of all the Gcodes and Mcodes that they may have created.

    There is a possibility that someone might have written some special routines under what are typically "empty gcode numbers" where no industry standard has yet been created.

    Do you have a list of all the G and M codes from your documentation?

    Someone else was talking about subroutines with Turbocnc on these forums, but I am not sure if they ever nailed down exactly what parameters went with two special Mcodes that are used to control subroutine calls and returns. These would be M98 to call and M99 to return.

    If you can post a sample sub call from your manual, then we won't be giving you any errant advice here.
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  14. #14
    Join Date
    Mar 2003
    Posts
    109
    I have all the G/M codes supplied with turboCNC.
    The one's that I see important here are M60, M62, ( the only 2 that pertain to Subs)
    Where as M60 calls the SUB, and M62 return from sub
    Here is the example
    M60:
    N020 M60 #10
    Now, as for the N code, does that pertain to the line number I want to call or is it the #10 that I want to call
    Seems like that code above is in a loop?
    Smitty

  15. #15
    Join Date
    Mar 2003
    Posts
    4826
    I'll take an educated guess which you can prove out soon enough.

    N020 M60 #10

    I think the N020 would be your line number where the subroutine begins. The #10 might mean ten repeats of the sub before the return is finally made. You would likely only want 1 repeat per call for your needs here.

    For simplicity's sake, I would place your subroutine at the end of your program if possible, after your M2 or M30 or whatever you use to end with. You don't want the main program to stumble into the subroutine accidentally.

    Place the M62 at the end of your subroutine code. It should automatically return you to the line following the M60 line.

    It is quite simple to use really.
    One trick: in your subroutine for peck grooving, you will want to switch over to incremental code. So, insert a G91 near the beginning of the sub, and write all your code in incremental (point to point) moves. This is what will make your subroutine portable.
    Then, if your main program was in absolute, end your subroutine with:
    G90
    G62

    You can also check your documentation for information on "nesting subroutines" which means placing calls for subroutines inside of other subroutines. There is usually a limit on how many times this is permitted, if it is permitted at all. If you are really sharp, you can sometimes make a really long subroutine into two very short nested subroutines. I did not attempt to do that here:

    Your main program contains perhaps:
    N25 N100 M60 #1
    where the first N25 is the normal line number and the second instance N100 is the sub start line. I could be all wet, too. Maybe the # sign is not repeats, but might be the line number where the sub starts.

    N100 G91
    N101 F1.
    N102 G01 X-.005
    N103 X.005
    N104 X-.010
    N105 X.010
    N106 X-.015
    N107 X.015
    N108 X-.020
    N109 X.020
    etc,
    G90
    X1. (if this was your starting position in X before you started the sub
    M62
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  16. #16
    Join Date
    Mar 2003
    Posts
    109
    Thanks HFD,
    I will put all this new info to use tommorrow. Time for bed, can't see anymore!!
    Smitty

  17. #17
    Join Date
    Apr 2003
    Posts
    416
    The turbocnc.txt manual says that the #10 is the line number of the subroutine.

    N020 M60 #10 ;Jumps to line 10.

    Bill.

  18. #18
    Join Date
    Mar 2003
    Posts
    109
    Would somebody be kind enough to send me a G-code file, with a radius on a lathe. Anything would be fine, just need something to look at, and test, since I have no idea as to where to start.
    Thanks
    Smitty

  19. #19
    Join Date
    Jun 2003
    Posts
    15
    Hi Smitty,
    I don't know what turning center you have but most have canned cycles that walk you through the process. I use a Hardinge CHNC1 with Bobcad17 don't know if you could use it but let me know and I'll send it to you.

  20. #20
    Join Date
    Mar 2003
    Posts
    109
    Both my Machines are Sherline based.
    I use Turbocnc as the program, and have Xylotec driver controller.
    Thanks for the help,
    Smitty

Page 1 of 2 12

Similar Threads

  1. Using your CNC Mill as a CNC Lathe
    By lstool in forum Knee Vertical Mills
    Replies: 11
    Last Post: 06-12-2017, 02:29 PM
  2. Help me buy my first Mini Lathe
    By Highfly in forum Mini Lathe
    Replies: 20
    Last Post: 05-10-2005, 08:07 AM
  3. OneCNC XR Series Lathe CAD/CAM Released:
    By OneCNC in forum News Announcements
    Replies: 0
    Last Post: 03-07-2005, 11:20 PM
  4. Just got a taig lathe.
    By anoel in forum Mini Lathe
    Replies: 2
    Last Post: 01-18-2005, 11:29 AM
  5. non-circular lathe turning Help!
    By oldguy in forum Uncategorised MetalWorking Machines
    Replies: 2
    Last Post: 04-06-2004, 05:55 PM

Posting Permissions

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