1. ## Pattern

Good evening everyone,

I have a CNC memory/Program file size issue. I'm using a Haas VF 3 with 16MB of memory. The tool I'm trying to mill has 12 cavities (3 rows of 4). To get around the program being too large, I want to set the G-Code to mill a single cavity in the 12 different locations in the tool. I'm limited in my programming experience; I'm sure it can be done, I'm just not sure how to go about it.

Any input would be greatly appreciated.

Thanks,

Andre

2. ## Additional Info I found

I see that I can use G91 to increment the X and Y coordinate as I need and do an internal subroutine call with M97. Any other ideas or examples?

Thanks,

Andre

3. ## Louping/subrouteen

Look in the manual for info on repeating a subprogram move to the next pocket G92X&Y then call sub routeen lined N15-195Ect and so on also switching between G90&G91 absulte vs. incermental may shorten the program
using canned cycles for pocket's help's shorten thing's a lot good luck Kevin

4. Thanks Kevin,

As usual there are a few thousand ways to do this. I'll take a look at my programming book and come up with something.

• I'd steer away from G92 anything. If you have G52 available, use that.

• Andre,
I posted over in the machine tool help forum on this question for you if you want to look. Below is a cut and past of the post that I made +/- a bit of info.

For basic explaining without getting into to much tricky programming I would approach it something like this. Lets say that you have your XY locations for each cavity. Cavity 1 is X5.Y2. and cavity 2 is X7.Y2. Now program your detailed code for the cavity in program 1000.

O1234(main program)
...
G10L2P1X5.Y2.-----sets G54 to X5.Y2.
M98P1000----------runs program 1000 using the above position of X5.Y2.
G10L2P1X7.Y2.-----sets G54 to X7.Y2.
M98P1000----------runs program 1000 using the above position of X7.Y2.
G10L2P1X()Y()------position of cavity 3
M98P1000-----------runs program 1000 using the above position of X()Y()
...------------------positions of the remaining cavity's
M30----------------program end and rewind

O1000(sub program)
...
G54-----------------instates G54 offset
...------------------detailed code of the cavity
M99----------------ends subprogram 1000 and returns to program 1234 were it left off.

You see that you will set your position of each cavity and then call program 1000 to run the detail of the cavity.

Now in Haas there are other features that you can use like M97 so you do not have to create a subprogram of 1000 but I don't want to overdue the details and confuse with to much info.

**Edit**
I agree with Beege.....steer clear of G92.

Stevo

• Stevo,

I truly appreciate the help. I had an idea of how to approach it I just needed a little push for clarity.

Thanks again,

Andre