What's new
What's new

G71 G72 G70 Any tricks to skipping to the finish pass?

yardbird

Titanium
Joined
Jul 3, 2013
Location
Indiana
Anyone have a slick way to skip the roughing passes and jumping right to the finish pass? The way I do it now is to single block down until I get a line before the first G71 block, then put it in edit, curse down to the G70 line, go back to auto, turn single block off and hit the green. Anyone have a different more convenient way? Maybe something like this would work?

G97 S M
G0 G42 X Z
G50 S
G96 S
/GOTO200
G71 U R
G71 P11 Q12 U W F
N11

N12

N200 G70 P11 Q12

I haven't tried this yet, it may not fly? Typically I program a separate finish tool but not always. Anyone have or do something different then me?

BTW I realize this has the potential to be extremely dangerous if the operator forgets to toggle the switch back.

As always thank you!!

Brent
 
you can go into mdi and activate G54, G90, G43, and turn on spindle. Then I find the place I want to start at. Handle over to the last x and y position before the z move I want to enter. Turn down rapid, and feed overrides, and watch distance to go. Cycle start and be careful. If the spot you pick up is not a rapid, you need to also activate g01 and F parameter. And if it is a rapid, be sure there is a Feed rate after the G01/G03. If there is no feed rate it will feed at last known feed.
 
I just single block to where you have the N200 line then place in edit and skip to the g70 line. Place back in auto and take single block off and let'er rip.
 
Can't think of anything easy to really idiot proof that, but could do another branch at the end of the program that "reminds" the operator to turn block skip back on to make a fresh part.

....
/GOTO1000
M30
N1000
M0 (TURN ON BLOCK SKIP)
M0 (DID YOU TURN ON BLOCK SKIP)
M30
%

Ultimately, I think you'll find the /GOTO method to be too risky and out of the ordinary to use much. Since it relies on the operator to turn on block skip to make a "normal" part I suspect that it will lead to a crash fairly quickly.
 
Can't think of anything easy to really idiot proof that, but could do another branch at the end of the program that "reminds" the operator to turn block skip back on to make a fresh part.

....
/GOTO1000
M30
N1000
M0 (TURN ON BLOCK SKIP)
M0 (DID YOU TURN ON BLOCK SKIP)
M30
%

Ultimately, I think you'll find the /GOTO method to be too risky and out of the ordinary to use much. Since it relies on the operator to turn on block skip to make a "normal" part I suspect that it will lead to a crash fairly quickly.

Your probably right. I should just stick to the way I've been doing it already. I've been known to have a dumbass attack from time to time. Better to have a little inconvenience than a big booboo! Lol...

Brent
 
You can always do the following.

G97 S M
G0 G42 X Z
G50 S
G96 S
M00

("N" Search if Needed)

N1(Rough)

N2(Finish)


N1
G71 U R
G71 P11 Q12 U W F
N11

N12

N2 G70 P11 Q12
 
You can always do the following.

G97 S M
G0 G42 X Z
G50 S
G96 S
M00

("N" Search if Needed)

N1(Rough)

N2(Finish)


N1
G71 U R
G71 P11 Q12 U W F
N11

N12

N2 G70 P11 Q12

Thanks! Yeah that's kinda what I'm doing now in edit except the spindle stays running. I'm not sure I completely follow what you're suggesting though?

Brent
 
On programs where I want to just run the finish pass:
I create a program with just that pass detail
But the important thing is I add an optional stop within the first few lines
"Do you want to run this?"
If yes go and run
With this I have the option of tweaking the final pass when working with a new part
Editing a program just to run a final pass that is proven is asking for future trouble
Forget to change it back and you end up trying to remove 2" on the diameter in 1 pass
 
Last edited:
On programs where I want to just run the finish pass:
I create a program with just that pass detail
Me too. I just make a completely separate program. With cut and paste it's easy, and give it the next numeric program number. All these tricks are really cool but Murphy is still the boss.

Normally you are a perfect machinist who never makes a mistake but there will be a day when you are hung over, the kid has a 106* fever, you came home early yesterday and the wife was making whoopee with the mailman, whatever. And the part is worth $27,000. That will be the time you forget the tricky little shit you did to that program.

Guess I'ma glass half-empty kinda guy but got there the hard way :(
 
I usually rough and finish with different inserts, but you can do the same thing with one tool.

N1 G50 S
G96 S
G0 T101 X2.1 Z.1
G71 U R
G71 P11 Q12 U W F
N11
...
...
...
N12

N2 G50 S
G96 S
G0 T101 X2.1 Z.1
G70 P11 Q12

Want to run just the finish pass, start at N2. When you are running from N1, the lines before the G70 don't do anything- the machine is already there. And you can bump up the SFM for the finish pass.
 
On programs where I want to just run the finish pass:
I create a program with just that pass detail

Ok, not fighting, but have to ask: Why do you guys use G70 in the first place?

G71 and G72 I live and die by. If it can do it, I use it, never longhand roughing if I can help it.

But for finishing?

Don't know about you guys, but in my case if it has a chamfer, it has a radius for each edge of the chamfer.
Internal radius ditto, it is given explicitly.

Just how do you incorporate those into the G71/G72 cycle? ( or do you not? )
 
All these tricks are really cool but Murphy is still the boss.

Maybe I should have used the word "convenient" in the OP instead of "tricks" irregardless of terminology I already mentioned that this could be a disaster if you ain't paying attention. I screw up.

I also do exactly as you and mjk and typically create a separate program just for just taking a last fuzz in %99 of my programs I write.

My original question was in the event your calling a canned cycle and then using a G70 afterwards is their a better way to do it then the way I've already described?

I will most likely continue to go to edit and skip down that way? Because of the obvious. Thank you I value your input! :cheers:

Brent
 
...Just how do you incorporate those into the G71/G72 cycle? ( or do you not? )
You don't. It's in the geometry in the P-Q blocks. Whatever the geometry is, it's in the program.

It's easier to type G70P10Q20 than to re-write the entire geometry between the P and Q blocks over.

The only requirement is that the TNR is the same for the roughing and finishing tools.
 
You don't. It's in the geometry in the P-Q blocks. Whatever the geometry is, it's in the program.

Really?

So each and every one of your DRAWINGS or MODELS has the UOS edgebreak built-in that you can program off of?

How do you handle outside edges as .005-.015MR and internal corners as .005-.025MR UOS when everything is drawn to sharp edges?
Then add the callouts for grooves to be .01-.02 R on the outside and .015-.020R on the inside?

Please note the difference between R and MR!


Sorry, no G70 exists in my book!

Roughing is done with sharp edges assumed, finishing is done with specific radiuses, and if there is an issue on the finished piece, they get a
semifinish pass with radiuses accounted for EXACTLY to the print so the finish tool always sees the same amount of leftover material on every feature.

There ain't no way ( at least what I can see ) a G71 ( roughing) can be programmed to have the same path as a G70 ( finishing) pass.

And at the same time, in 21+ years I have never, ever used the same tool for roughing and finishing on a CNC machine, lathe or mill, cheap or expensive part.
(Wire EDM excepted simply because the "tool" is always new and virgin)
 
^^ I'm sorry, I guess I'm missing the point. If I am profiling a part, I program the toolpath according to what I want the machine to do.

I can execute the numbers as a section of the program, I can call them up on a G70 line, or in a subprogram. It doesn't matter- they are the same numbers. It has nothing to do with interpreting the drawing.

I always finish with a different tool- but as long as the geometry is the same I can run the same numbers I used in the roughing, because the G71 cycle uses the finish profile to calculate it's passes. The last pass of the G71 cycle is a pre-finishing pass- continuous profile with whatever finish allowance I specify in the G71 block.

I run the G70, it cuts the exact same path to finish.
 
^^ I'm sorry, I guess I'm missing the point. If I am profiling a part, I program the toolpath according to what I want the machine to do.

Or not ...( to what the part wants to become.)


Do you have the outside radiuses "profiled" ?
Do you have the inside radiuses "profiled"?

What if both of them have a +/-.002 tolerance?
How' bout .001?
What if the material in AMS5666?
What if it's 6AL4V and .500x 10" long?

Sorry, I ate enough shit some 18+ years ago to learn that roughing passes are for roughing only, and then one programs a finish profile ( or semi-finish profiles) as needed.
End result: No G70. EVER!!!

Instead, the finish pass stands on it's own with it's very own and separate finish tool. Period. The End.
No need to include any G-code magic with macros, just have a well defined finish tool with it's own toolpath do the job and jump to it by Nxx if needed to get to size .
( The finish pass can and should be adjustable as-needed to suit .... Every Time! without modifying the rougher. )
 








 
Back
Top