FIXTURE OFFSETS


Page 1 of 2 12 LastLast
Results 1 to 20 of 21

Thread: FIXTURE OFFSETS

  1. #1
    Registered
    Join Date
    Feb 2007
    Location
    USA
    Posts
    107
    Downloads
    0
    Uploads
    0

    Default FIXTURE OFFSETS

    I AM PROGRAMMING 50 PARTS ALL HELD IN 1 FIXTURE, EACH PART HAS 21 HOLES DIFFERENT DEPTHS.


    I WANT TO DRILL ALL HOLES ON 1 PART THEN MOVE TO THE NEXT WITHOUT CALLING AN OFFSET.

    THE PARTS ARE IN 5 ROWS OF 10 IN A PRECISION BUILT FIXTURE. PICKING TOOL PATHS ON EVERY PART ON THE C.A.M. WILL TAKE TO LONG.

    I WANT TO AVOID THE RAPID TIME FROM PART TO PART.

    ALL PARTS ARE THE SAME,,,, ANY SUGGESTIONS

    BAD DOG

    Similar Threads:


  2. #2
    Registered
    Join Date
    Jan 2008
    Location
    usa
    Posts
    183
    Downloads
    0
    Uploads
    0

    Default sub program

    Not as hard as you may think, write a program to do one part (this will be the sub program),then just move in x-y to do next part and call sub program again.
    So lets say you call right rear corner of fixture your part home,then you call out sub program and make the part,then when you go back to your main program you simply move in x-y.

    example


    G40 G49 T2 M06 (DRILL)
    G00 G90 G54 X0 Y0 S500 M03 (PART ZERO)
    G43 H02 Z2. M08
    M98 P2 ( CALL OUT SUB)
    (SUB PROGRAM)
    G73 X0 Y0 Z-1.375 R0.1 Q0.3 F5.
    X-.5
    X-.6
    Y-.5
    X-.6
    X1.1
    M99
    X-1. (MOVE TO 2ND PART)
    M98 P2
    AND SO FORTH

    on your machine you may have a differant m to call out sub program or go back to main,this would be for a haas.



  3. #3
    Member HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4826
    Downloads
    0
    Uploads
    0

    Default

    Sounds like a prime application for G52 Global work coordinate Offset shift. I'm not well versed enough in its use to say off the top of my head how its done exactly, but a search on the forum for G52 should bring it up.

    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)


  4. #4
    Registered Mazaholic's Avatar
    Join Date
    May 2007
    Location
    USA
    Posts
    227
    Downloads
    0
    Uploads
    0

    Default

    I think i would use a combination of both suggestions.
    There is only a limited number of work offsets.
    I'd give each row a work offset and then only move in one axis for each part in the row.



  5. #5
    Member
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    12177
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by HuFlungDung View Post
    Sounds like a prime application for G52 Global work coordinate Offset shift. I'm not well versed enough in its use to say off the top of my head how its done exactly, but a search on the forum for G52 should bring it up.
    Yes.

    Put the main work zero, G54 for instance, at a reference point on the fixture; then the G52 coordinates are taken with reference to this location. The program would be something like this;

    G54
    G52 (X, Y for first part position)
    Call subroutine
    G52 (X, Y for second part position)
    Call subroutine
    etc
    etc
    etc
    G52 (X, Y for fiftieth part position)
    Call subroutine
    M30

    When the machine is setup for the job only the G54 coordinates need to be entered, all the G52's are in the program.

    An open mind is a virtue...so long as all the common sense has not leaked out.


  6. #6
    Registered Mazaholic's Avatar
    Join Date
    May 2007
    Location
    USA
    Posts
    227
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by Geof View Post
    Yes.

    Put the main work zero, G54 for instance, at a reference point on the fixture; then the G52 coordinates are taken with reference to this location. The program would be something like this;

    G54
    G52 (X, Y for first part position)
    Call subroutine
    G52 (X, Y for second part position)
    Call subroutine
    etc
    etc
    etc
    G52 (X, Y for fiftieth part position)
    Call subroutine
    M30

    When the machine is setup for the job only the G54 coordinates need to be entered, all the G52's are in the program.
    Well i'll be a...
    I always figured there had to be a way to do that.

    I've never had to run that many parts at once so i guess i never took the time to look it up.
    I've always just used the G54 G55 G56 G57..ect



  7. #7
    Member
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    12177
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by Mazaholic View Post
    Well i'll be a...
    I always figured there had to be a way to do that.

    I've never had to run that many parts at once so i guess i never took the time to look it up.
    I've always just used the G54 G55 G56 G57..ect
    Took me a while to get clued in, but now we use G52 extensively. So far the maximum number of locations I have done is 32.

    What I find very convenient is when I am making a fixture that will hold several parts I can use the G52 coordinates for machining the fixture, and these are the same coordinates that go into the part program.

    Conversely, with some of our older fixtures that were made in a hurry and are not very accurate, I can dial into the specific part location and determine the G52 coordinates that are correct for that location. This way I compensate for errors in the fixture.

    An open mind is a virtue...so long as all the common sense has not leaked out.


  8. #8
    Registered fizzissist's Avatar
    Join Date
    Apr 2006
    Location
    USA
    Posts
    3206
    Downloads
    0
    Uploads
    0

    Default

    If the fixturing places the parts in a consistent position and doesn't move...why not just simply program as though there were one single part with 1050 (50x21) holes? If you know the location of each part, then you know the location of the holes. Would make for a beautifully long program...

    If you have macro capability and the part placement is uniform, just write a simple macro that shifts the fixture offset by the X or Y (or both) difference part-to-part.

    Macros are great for family-of-parts where something is always changing and you don't want to have to keep rewriting the program.

    One real handy one I wrote is for an O-ring groove. We do a lot of different size grooves, and I didn't like the way Mastercrash does them (and I got bored fighting it), so I now punch in a few prompted specifics like min/max and mean diameter, how deep/pass, finish allowance, cutter dia, an entrance angle for radius'ing the entry/exit, spindle speed and feed, and away it goes.

    The nice thing about G52 like Geof & Mazaholic are saying is that the X,Y coordinates of each new location are right there plain to see in the program.



  9. #9
    Registered beege's Avatar
    Join Date
    Feb 2008
    Location
    USA
    Posts
    586
    Downloads
    0
    Uploads
    0

    Default

    Another way is using "macro modal", G66

    G66P1000XaYb
    XcYd
    XeYf

    Where P1000 => O1000, which would be the subprogram, including the G52
    The "a", "b"... etc, would be the arguments passed to the G52 variables in the sub



  10. #10
    Registered
    Join Date
    Feb 2007
    Location
    USA
    Posts
    107
    Downloads
    0
    Uploads
    0

    Default

    that won't work,,,because the drill drills at 5 different depths on one part,,,imagine holes at -.1 -.2 -.3 etc... deep I want to avoid all the rapid moves to each part. The way it is now all the -.1 holes are drilled in each part the machine then returns to the first and drills the -.2 holes thus it spends a lot of time in rapid mode.

    bad dog



  11. #11
    Registered
    Join Date
    Feb 2007
    Location
    USA
    Posts
    107
    Downloads
    0
    Uploads
    0

    Default g52

    sound like g52 is the way to go

    bad dog



  12. #12
    Registered
    Join Date
    Feb 2007
    Location
    USA
    Posts
    107
    Downloads
    0
    Uploads
    0

    Default

    right now the program is a long one because I know each parts location as far as I can tell the g52 will reset the sbroutine to the new x,y location so I can still use cutter comp.

    Is there a g52 cancel or does the g54 at the beginning of the next subroutine cancel it.

    bad dog



  13. #13
    Member
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    12177
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by BAD DOG View Post
    right now the program is a long one because I know each parts location as far as I can tell the g52 will reset the sbroutine to the new x,y location so I can still use cutter comp.

    Is there a g52 cancel or does the g54 at the beginning of the next subroutine cancel it.

    bad dog
    G52 creates what can called a secondary work zero. The effect of G52 is to move the location of the active work zero by the amount given in the G52 coordinates. But it does not change any values in the main work zero, the control just adds the G52 values during it calculations. It always adds these values but when the G52 values are zero then the secondary work zero stays at the same location as the main work zero.

    For example your main work zero, G54, G55, etc, might be at X-10. Y-8. in machine coordinates. If you program G54 G00 X0. Y0. the machine goes to this location in the active work zero, so it is at X-10. Y-8. in machine coordinates.

    Now if you program G52 X0. Y0. then G54 G00 X0. Y0. the machine goes to the same place. This is one way to zero out the G52 coordinates.

    But if you program G52 X5. Y4. then G54 G00 X0. Y0. the machine goes to X-5. Y-4. in machine coordinates, this is the location for the secondary work zero.

    Your next G52 command will move the secondary work zero to the next location, etc, etc. At the end just put G52 X0. Y0. and the G52 is cancelled, it is not really cancelled it just has nothing stored at the G52 memory location. Some machine will zero the G52 values at M30 or RESET.

    Yes you can use tool comp. Your program for the actual machining is perfectly normal, all you do is make it a subprogram or subroutine which is called after each G52 command.

    You will finish up with a short subprogram that does the actual work on the part, and a great long string of G52 commands.

    Now I have a question. You say fizzizzist's approach will not work because your holes are different depths. Does your machine not allow you to change the Z coordinate in a drill cycle? I use Haas and can set up G82 or the other canned cycles, then follow with a set of X, Y, Z coordinates, and it will drill the holes at the Z depth I specify at each location.

    An open mind is a virtue...so long as all the common sense has not leaked out.


  14. #14
    Member HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4826
    Downloads
    0
    Uploads
    0

    Default

    Thanks Geof for the explanation.
    I've got a question with a different slant on it: how badly can one screw up using a G52? What are the potential 'gotchas'?

    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)


  15. #15
    Member
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    12177
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by HuFlungDung View Post
    Thanks Geof for the explanation.
    I've got a question with a different slant on it: how badly can one screw up using a G52? What are the potential 'gotchas'?
    You want me to list all the ways you can screw up??? The bandwith required would crash the Internet.

    Being somewhat more serious...I have not found any specific 'gotchas', at least on my Haas machines running in Fanuc mode which zeroes the G52 at M30 or RESET.

    What I try to remember also is put a G52 X0. Y0. Z0. at the top of every program as a redundant 'belts and braces' approach.

    Now I am comfortable with G52 I find it very helpful. You have probably seen pics of my rotary fixtures using a base and removable fixtures for different parts. Using a Z coordinate in the G52 is really convenient for the way I program my Tool Offsets to the finished surface of the part. I can use the same tool for the part in different orientations where the finished surface is at a different Z height in the machine. To do this with G52 I set the offset to a reference point on the fixture base that is higher than any part and then use G52 Z-?. to bring the Tool Offset down to the part location. It takes a few minutes to get all the Z values on the first setup when the program is being proved, but once these are in the program the next setup only needs the Tool Offset from the reference point. Probably not much help for a shop that never repeats batches of parts, really helpful for us because we cycle through the same parts on a regular basis. Also we can set up the offsets to the fixture base, then change to another part that uses the same fixture base and because all the G52s are in the program it is not necessary to enter any offsets. Sometimes the change is as simple as bring up the next program, put in the next parts, and push the button; all the tools stay in the machine in the side mount holder nice and clean and out of the way.

    An open mind is a virtue...so long as all the common sense has not leaked out.


  16. #16
    Registered
    Join Date
    Nov 2006
    Location
    UK
    Posts
    174
    Downloads
    0
    Uploads
    0

    Default Good old #500

    Bad Dog, ok here ya go.......

    O0001
    M6T1(DRILL)
    G0X0Y0G54S1000M13(POSITION OF FIRST HOLE)
    G43Z10H1
    #500=1
    #501=0
    WHILE[#500LE5]DO1
    G52Y#501
    #502=1
    #503=0
    WHILE[#502LE10]DO2
    G52X#503
    YOUR PROG OF 21 HOLES HERE
    eg G83X0Y0Z-10R1Q2F100
    X5
    Y5

    loads more holes Blah, Blah
    G80
    #502=#502+1(COUNTER)
    #503=#503+10(PITCH AMOUNT IN X)
    END2
    #500=#500+1(COUNTER)
    #501=#501-10(PITCH AMOUNT IN Y)
    END1
    G52X0Y0(YOUR G52 CANCEL, SO TO SPEAK)
    G53Z-100 Y0
    M30

    This will do exactly what you want, repeating your prog in red ,10 times in X and 5 times in Y.

    Hope this helps.

    ""I AM PROGRAMMING 50 PARTS ALL HELD IN 1 FIXTURE, EACH PART HAS 21 HOLES DIFFERENT DEPTHS.
    I WANT TO DRILL ALL HOLES ON 1 PART THEN MOVE TO THE NEXT WITHOUT CALLING AN OFFSET.
    THE PARTS ARE IN 5 ROWS OF 10 IN A PRECISION BUILT FIXTURE. PICKING TOOL PATHS ON EVERY PART ON THE C.A.M. WILL TAKE TO LONG.
    I WANT TO AVOID THE RAPID TIME FROM PART TO PART.
    ALL PARTS ARE THE SAME,,,, ANY SUGGESTIONS
    BAD DOG""



  17. #17
    Registered
    Join Date
    Jan 2008
    Location
    usa
    Posts
    183
    Downloads
    0
    Uploads
    0

    Default

    Wasn't even thinking about it being a Haas and using G52,was just explaining how I do it.May have to check out using that,only have it for 7 years,.
    I just got into the habit of doing it that way becouse on my other machines there is't anything like a G52,well nothing i'v ever been aware of.
    Was thinking about this at the shop today and was wondering how many ways it could be done,in my instence i could do it 3 differant ways on 3 machuines.
    I guess sometimes we get comfortable doing something one way and forget to look around, Guilty Here.



  18. #18
    Member
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    12177
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by fuzzyracing1967 View Post
    ......Was thinking about this at the shop today and was wondering how many ways it could be done,in my instence i could do it 3 differant ways on 3 machuines.
    I guess sometimes we get comfortable doing something one way and forget to look around, Guilty Here.
    You can do it with G52 as I described, or if the spacings are equal, like Chattaman describes with fewer program lines, or you can move incrementally and then use G92 to reset the work zero when you get to the next location, or you can enter 50 work zeroes (if your machine can accept that many; Haas can do 200), or you can relocate your work zero using an incremental G10 command. That is about all I can think of.

    The advantage to G52 using the X, Y, Z coordinates is, as I mentioned before, you can correct for imprecise fixtures.

    And I totally agree with the forgetting to look around, I figure I am pretty flexible but I still fall into the trap of doing what I have done before just because I did it.

    An open mind is a virtue...so long as all the common sense has not leaked out.


  19. #19
    Registered
    Join Date
    May 2007
    Location
    US
    Posts
    781
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by HuFlungDung View Post
    Thanks Geof for the explanation.
    I've got a question with a different slant on it: how badly can one screw up using a G52? What are the potential 'gotchas'?
    Mixing G52 local work offsets and G68 rotations can cause problems.



  20. #20
    Registered
    Join Date
    May 2007
    Location
    US
    Posts
    781
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by BAD DOG View Post
    that won't work,,,because the drill drills at 5 different depths on one part,,,imagine holes at -.1 -.2 -.3 etc... deep I want to avoid all the rapid moves to each part. The way it is now all the -.1 holes are drilled in each part the machine then returns to the first and drills the -.2 holes thus it spends a lot of time in rapid mode.

    bad dog
    Just add a Z to the parameters and it will be fine.
    I think on most controls parameters for G66 calls are modle so you only need to put in the ones that change.

    Code:
    G66P1000 Xx1 Yy1 Zz1
    Xx2 Yy2 Zz2
    Xx3 Yy3 Zz3
    Xx4 Yy4 Zz4
    .
    .
    .
    Xxn Yyn Zzn
    G67




Page 1 of 2 12 LastLast

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
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

FIXTURE OFFSETS

FIXTURE OFFSETS