586,005 active members*
5,057 visitors online*
Register for free
Login
Results 1 to 11 of 11
  1. #1

    Multi part programming question

    I have my new machine up and running but have some programming questions. I have a bunch of programs that I have been running on Fanuc and Yasnac controls. Many of them have a step and repeat cycle in them. I cannot get them to run on the Tormach. here is an example below.

    O1485
    (REPLICAPARTS.COM)
    (RPC-0005)
    (SEATBELT TRIM RING)
    (ON FIXTURE 10 AT A TIME.)
    N100G90G80G40G0
    T10M6(5/8 DIA. END MILL)
    G55X.75Y-1.S3000M3
    G43Z.1H10T11D31
    N45G92X0Y0
    X-.375Y1.
    G1Z0F30.M8
    Y-3.
    G3X.375Y-3.R.375
    G1Y0F30.
    G3X-.375Y0R.375
    G1Y-2.F30.
    Y-3.Z.002
    G90G0Z.1
    X0Y0
    N50X1.5
    G25P45Q50L9
    G92X15.75Y-1.
    G90G0Z.1M9
    G53Y0Z0H0M19
    M01

    This is a multi part fixture that I want to make one part then move over the programmed distance and repeat. Is there a way to do this on the tormach?
    Thanks Mike

  2. #2
    Join Date
    Sep 2012
    Posts
    1543

    Re: Multi part programming question

    Remember with a Tormach, there needs to be a space (blank line) after any M30 or M99 at the end of the program.

  3. #3
    Join Date
    Feb 2006
    Posts
    7063

    Re: Multi part programming question

    I expect part of the problem is that code contains a G25, which Mach3 does not support. That is a manufacturer-specific G-code. What does it do? The following G92 line is what would do the step and repeat, but Mach3 will stop execution when it hits the G25 (if the code even loads at all).

    Regards,
    Ray L.

  4. #4
    Join Date
    Mar 2009
    Posts
    1863

    Re: Multi part programming question

    You don't use G92 for positioning on a Tormach. G92 is an OLD Fanuc call that hasn't been used since the late 70's or early 80's. Now we use G54 thru G59.

    Your program would look something like:
    G54
    M98 program number
    run program
    M99
    G55
    M98
    run program
    M99
    And so on,

    G25 doesn't exist, and G92 isn't necessary.
    You can buy GOOD PARTS or you can buy CHEAP PARTS, but you can't buy GOOD CHEAP PARTS.

  5. #5

    Re: Multi part programming question

    ok but what if I have 10 parts? Do I have enough offsets? I machine some fixtured parts at my day job that have 10 rows of 20 parts each. Each one identical.
    Mike

  6. #6
    Join Date
    Mar 2009
    Posts
    1863

    Re: Multi part programming question

    There is a way to do that, but you'll have to contact Tormach for that. My machine is now running right now, or I would go out and figure it out.
    You can buy GOOD PARTS or you can buy CHEAP PARTS, but you can't buy GOOD CHEAP PARTS.

  7. #7
    Join Date
    Feb 2006
    Posts
    7063

    Re: Multi part programming question

    G92 DOES work in Mach3, but must be used with care. It over-rides any and all fixture offsets in effect at the time it is executed. But, it is, arguably, easier to use G54-G9. G52 can also be used, and may (or may not) be better suited to what you want to do, but G52 cannot be used with G92.

    More explanation of exactly what you want the code to do would make it easier to give you specific suggestions on how to modify the code. Not knowing what G25 does makes it hard to know how the code you posted actually executes on the other controls.

    Regards,
    Ray L.

  8. #8
    Join Date
    Feb 2006
    Posts
    7063

    Re: Multi part programming question

    Quote Originally Posted by michaeleverson View Post
    ok but what if I have 10 parts? Do I have enough offsets? I machine some fixtured parts at my day job that have 10 rows of 20 parts each. Each one identical.
    Mike
    Yes, Mach3 supports G59 P1 through G59 P255.

    The advantage of using G52, with a fixture that uses consistent X/Y offsets, is that you can easily, programmatically, shift the position on each iteration of the loop. With fixture offsets (G54-G59), you'd have to first program in all the fixture offsets. For a large number of fixtures, this can be really tedious.

    Regards,
    Ray L.

  9. #9
    Join Date
    Dec 2010
    Posts
    1230

    Re: Multi part programming question

    If it's something you do a lot it can be done with a parametric / macro which is what I do. Let me get to my pc and I'll post one. Mine are designed to allow me to turn off individual parts on the fixture if a thread strips or tool breaks and also allows me to turn off individual tools.

    Brian
    WOT Designs

  10. #10
    Join Date
    Dec 2010
    Posts
    1230

    Re: Multi part programming question

    This code allows me to easily turn off the drill ops by adding a "/" or turn off a whole row by adding "/" in front of each one. This was one of the very first attempts at calling subprograms I ever wrote and haven't ever changed it because it works.

    It used G52 to offset the location. Some are against G52 because you DO HAVE TO REMEMBER TO CANCEL IT. I type G52X0Y0Z0 into the MDI line and hit it again any time I have to move an offset or adjust a tool value just to be safe.


    ( T10 | #19 DRILL - M5 )
    ( T42 | 1/8" F EM - SHORT)

    G52 X0 Y0 Z0
    /M98 P1010 L1 (DRILL HOLES) ***note this is turned off with "/"

    ( CONTOURS )
    G20
    G0 G17 G40 G49 G80 G90 G64
    G52 X0 Y0
    G43 H42
    M8
    ()
    ()
    ( LEFT ROW Y PLUS )
    ()
    ()

    M98 P1020 L1 ***calls nested part orientation 1
    M98 P1030 L1 ***calls nested part orientation 2
    G52 Y-1.0728 *** offsets to second Y position
    M98 P1020 L1
    M98 P1030 L1
    ()
    ()
    ( CENTER Y MINUS )
    ()
    ()
    G52 X4.2199
    M98 P1030 L1
    M98 P1020 L1
    G52 Y-3.2183
    M98 P1030 L1
    M98 P1020 L1

    ( RIGHT ROW, Y PLUS )
    ()
    ()
    G52 X8.4398
    M98 P1020 L1
    M98 P1030 L1
    G52 Y-1.0728
    M98 P1020 L1
    M98 P1030 L1
    ()
    ()
    G52 X0 Y0 Z0
    M5 M9
    G0 Z13
    G53 G0 X8 Y-3.5
    M30
    % ( CLOSE PROGRAM )

    O1010 ( DRILL HOLES ) *** Run code for drilling the holes
    G20
    G0 G17 G40 G49 G80 G90
    ()
    ()
    G43 H42
    S5000 M3 M8
    ()
    (code here)
    ()
    M5 M9
    G53 G0 Z-2
    G53 G0 X8 Y-3
    M99
    %

    ( TOP CONTOUR )
    ()
    ()
    O1020
    ( ROUGH TOP PART )
    T42 G43 H42
    G0 G54 X1.9501 Y-.733 S4500 M3 M8
    ()
    (run code here)
    G0 Z.6
    M99
    %

    O1030
    ()
    ()
    ( BOTTOM CONTOUR ROUGH )
    ()
    ()
    ( ROUGH BOTTOM PART )
    T42 G43 H42
    G0 G54 X2.7804 Y-1.54 S4500 M3 M8
    ()
    (run code here)
    ()
    G0 Z.6
    M99
    %

  11. #11
    Join Date
    Dec 2010
    Posts
    1230

    Re: Multi part programming question

    This one is for cutting the slots shown in the other thread about the Double Station vises. It uses value #100 to set the offset from part to part. As the tempature in my shop changes through the day I have to adjust it up to a few tenths. Doesn't sound like much but compounding error over 12 parts starts pushing it to the edge when it gets warmer. This one does not call Z because it is done with the Speeder

    It may seem like B****H to write but really it isn't. It's just the same thing copied and pasted over and over then I go through and change one value.



    %
    (NO TOOL NUMBER!!! SET Z WITH TOOL)
    ()
    (1/8" EM - .75" LENGTH - 1.05" STICK OUT)
    ()
    (**ZEROS**)
    ( X - )
    ( Y + )
    ( Z - )
    #100=.2568 (ACTUAL PART THICKNES) ***changing this adjusts all parts
    #110=[#100/2] (NO TOUCHIE TOUCHIE)
    ()
    G20
    G0 G17 G40 G80 G90
    G52 x0 y0
    ()
    M3 S3500
    M8
    ( LEFT VICE )
    G54
    M98 P1002 L1 (radio off to skip this vise)
    G0Z3
    G52 X0 Y0
    ( MIDDLE VISE )
    G55
    M98 P1002 L1
    G52 X0 Y0
    G0Z3
    ( RIGHT VISE )
    G56
    M98 P1002 L1
    ()
    G52 X0 Y0
    G54
    M9
    G04 P10
    M998
    M30
    % ( **** END OF PROGRAM **** )
    O1002
    ()
    ()
    (SINGLE VICE)
    ()
    ()
    (1)G52 Y[-1*#110] ( FIRST PART OFFSET )

    (1)M98 P1010 L1 ***radio any of these off to skip them or add M99 after to skip all following parts

    (2)G52 Y[[-1*#100]-#110] *** no need to / any of the G52 calls. just skip a M98 and its skipped

    (2)M98 P1010 L1

    (3)G52 Y[[-1*#100*2]-#110]

    (3)M98 P1010 L1

    (4)G52 Y[[-1*#100*3]-#110]

    (4)M98 P1010 L1

    (5)G52 Y[[-1*#100*4]-#110]

    (5)M98 P1010 L1

    (6)G52 Y[[-1*#100*5]-#110]

    (6)M98 P1010 L1

    (7)G52 Y[[-1*#100*6]-#110]

    (7)M98 P1010 L1

    (8)G52 Y[[-1*#100*7]-#110]

    (8)M98 P1010 L1

    (9)G52 Y[[-1*#100*8]-#110]

    (9)M98 P1010 L1

    (10)G52 Y[[-1*#100*9]-#110]

    (10)M98 P1010 L1

    (11)G52 Y[[-1*#100*10]-#110]

    (11)M98 P1010 L1

    (12)G52 Y[[-1*#100*11]-#110]

    (12)M98 P1010 L1

    g52 X0 Y0


    M99
    %
    ( MACHINING OPERATIONS )
    ()
    O1010
    G20
    G0 G17 G40 G80 G90 G64
    ()
    ( DRILL SPRING HOLE )
    ()
    G0 G90 X1.0594 Y0. S3500 M3
    M8
    ()
    (machining code here)
    ()
    G0Z2.5
    G52 X0 Y0
    M99
    %

Similar Threads

  1. MULTI-MACHINE PROGRAMMING
    By almo0797 in forum SolidCAM for SolidWorks and SolidCAM for Inventor
    Replies: 5
    Last Post: 05-21-2014, 02:11 AM
  2. Multi-axis aggregate programming
    By CWMDB in forum Uncategorised CAM Discussion
    Replies: 3
    Last Post: 07-28-2012, 05:25 PM
  3. multi-head router CAM programming
    By Ziggy33 in forum Uncategorised CAM Discussion
    Replies: 0
    Last Post: 03-06-2012, 06:34 PM
  4. How to multi part
    By Toddjones in forum Mastercam
    Replies: 6
    Last Post: 04-23-2009, 04:02 PM
  5. Macro for multi part
    By DocHod in forum G-Code Programing
    Replies: 13
    Last Post: 06-08-2007, 10:59 AM

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
  •