What's new
What's new

proper way to set z height for face milling rough cut parts

Another twist in the story is this is going to be run on our first CNC machine in the shop which is supposed to arrive this week. Its' a Prototrak TMC .I have a Fadal 4020 at my personal shop .Night guy has experience with a Prototrak . He thinks about as opposite as I do on anything so That's always fun LOL.Other guy hasn't run a CNC for over 15 years. the part has threaded holes, chamfers and dovetails cut into it at an angle so it's 13 different times of flipping and rotating the part on the HBM we now use. The copper is almost a thing of beauty when finished. My thoughts are to maybe take a pass on the large face and a skim cut on the 2 long sides to start with to have something to hold onto in the VMC. But it takes time to clean the HBM to make sure we don't contaminate the copper chips with steel.

Using a VMC, you want to take full advantage of it's capabilities. Do whatever you can to machine as many features as possible for each in/out of the machine.

If the tapped holes are strong enough; you could machine that face complete and then bolt 6,8 or 10 of these to a fixture plate. Load the plate in the machine and cut quite a few parts all in the same cycle.
 
This also how to spot a Youtube trained machinist, they like to set their z zero on what ever they are setting the part on, jaws, parallels, fixture...they like to put Z Zero on the bottom of the part.
That's why you see them crashing their machines all the time, haha
Ouch.
I have never watched a Youtube video on machining. Tried to watch a few but gave up.
Yet I sort of like my G-code numbers to match my print or expected dimension. Not only Z but X and Y.
Makes it easier to understand for me when the job comes back 3 years later. The program then matches the print or process sheet.
Zero is the same zero as the CMM or the height gauge.
I did do this zero top of finish in my younger days on manual B-ports and still do so there it is maybe a good idea.
Different strokes and ways of looking at things. There is no right or wrong.
In the older days there was no G54, G55, etc. One had to use G92. Easy to screw that up.
 
Last edited:
This also how to spot a Youtube trained machinist, they like to set their z zero on what ever they are setting the part on, jaws, parallels, fixture...they like to put Z Zero on the bottom of the part.
That's why you see them crashing their machines all the time, haha
I've never watched a single youboob about machining, but that's actually the traditional way of programming, back when cnc was more for mass production. The z-at-top-of-part thing kind of came along when people started doing onesey-twosies.

Z zero in the machine at the 0 datum on the print is also way better for turning, and some of us came from that side, so it's not necessarily youboobers writing programs like that.

for op, I'd say there is no "proper", it's all what you feel most comfortable with. Just don't switch around between systems, that's crazy.

If you're only doing 20 a year, what the hell, a little air time isn't going to kill you and you'll probably spend more time trying to eliminate it than you'll save.

At the price of copper tho, getting the blank closer to finish size might well be worth it. Calculate that out and if it's significant, show that to the boss and he may decide to put some effort there.
 
The solution seems to be to not use a face mill at all. Program this as if it were a big pocket. Offset the top periphery away from the part to create your "pocket". Do a constant offset, spiral mill, from inside to outside. Helical ramp in at the center and use the side of the mill to do the work. Do it full depth on every part, by whatever amount you need to clean them up.

If you need the face mill for the finish it provides, do a skim cut at the end, after all the nastiness has been removed and trued up.
 
This also how to spot a Youtube trained machinist, they like to set their z zero on what ever they are setting the part on, jaws, parallels, fixture...they like to put Z Zero on the bottom of the part.

People who program from the top of the part watch Abom videos. Just sayin' :D

Programming from a fixed Z is the right way 90% of the time.
 
The solution seems to be to not use a face mill at all. Program this as if it were a big pocket. Offset the top periphery away from the part to create your "pocket". Do a constant offset, spiral mill, from inside to outside. Helical ramp in at the center and use the side of the mill to do the work. Do it full depth on every part, by whatever amount you need to clean them up.

If you need the face mill for the finish it provides, do a skim cut at the end, after all the nastiness has been removed and trued up.
This is what I was thinking but backwards programming, use a indexable shoulder mill, start at the outside, rapid plunge to full depth, HSM to the middle.
face mill cutters are faster MMR, but try both pick a winner,
but again, that wasn't the question he asked, that's why I didn't post it, he asked proper way to program a face mill cutter to remove top material.
 
Last edited:
This is what I was thinking but backwards programming, use a indexable shoulder mill, start at the outside, rapid plunge to full depth, HSM to the middle.
fly cutters are faster MMR, but try both pick a winner,

If you do from the outside-in, when you get to the center, you're left with whatever material is standing up. Depending on how thick, it can snap off and damage the part or the cutter. It works if it's short enough. Safer to spiral into the center and work out.

but again, that wasn't the question he asked, that's why I didn't post it, he asked proper way to program a fly cutter to remove top material.
Well, he asked how to deal with irregular and unknown surfaces.

haha are you serious? u just fkn with me:D
I hope your effin with me. I'm running something today where the top is zero but, that's because the thickness is meaningless. If the thickness matters, I don't see any way that programming from the top works better at creating a proper finished height.
 
I don't see any way that programming from the top works better at creating a proper finished height.
If you do a lot of work where the print says "Drill .375 4" deep" then making z zero at the top makes sense, since the top is really your datum.

This argument is like 100 years old tho, maybe just drop it since there is no real resolution, just depends on the work you do, the way your prints are made, which surface you consider the important one, and whether you like stripedy socks or plain ones. It's kinda boring now, like smurfcam vs masterscam.
 
This argument is like 100 years old tho, maybe just drop it since there is no real resolution, just depends on the work you do, the way your prints are made, which surface you consider the important one, and whether you like stripedy socks or plain ones. It's kinda boring now, like smurfcam vs masterscam.
We're still on page two and running out of things to argue about. I'm dragging this to page three, with or without you. :LOL:
 
haha are you serious? u just fkn with me:D
I learned the fundamentals of fixture design and machining strategy early in my career, working for Lockheed Martin.
They taught us that whenever possible; do not leave a work offset 'floating' - meaning; do not pick up your offsets from something that you intend to machine away.

I have found this to be very helpful throughout my career as a machinist. Setting Z from the bottom also makes programming at the machine much easier.

As long as your tool length offsets are accurate; A quick glance with a 6" steel scale - which every machinist has in their pocket anyway, right? - will tell you if the tool will crash into the stock, vise jaws, clamps or other obstacles. "Okay, this tool comes down to Z1.5; does anything stick up higher than that? Nope, we're good to go!" 👉🟢

However, I did learn mastercam and solidworks from YouTube 😁
 
The outside-in cutting path thing got covered recently by Titan's of CNC. I know most reading this probably know this but, hey, everybody is looking for tips (at least I am). They say that doing inside-out method results in a ribbon at the edge that can get caught in the cutter. IME the climb-cut wipes the chip off the edge of the part and it harmlessly falls away. YMMV

 
I don't want to say too much about our part to get in trouble at work. I should have worded it a bit different. the part weighs 300 Lbs. rough cut. about 9 x 5 x 31". the saw usually cuts straight to within a 1/16 -1/8". the clamping of the part when sawn is the problem. They have no desire to make the setup better and we make only about 20 a year. Yes if the saw operator would spend 5 minutes more time It would save me an hour of time. sometimes the ends are cut like a parallelogram and so close to finish size that it has to be setup for the first cut at an angle on the long side so it will end up square to the ends. about like working on an old house where nothing is square. The clamping setup on the saw isn't the best as it's meant to clamp a 22 foot part. We produce the bar and re melt the scrap so the chips aren't waste.
I had this exact problem programming H13 die cast vent blocks at a previous employer. They wouldn't saw the material any closer than 3/8", yelled at me for broken tools when the stock was too big, yelled at me for cutting air when the stock was closer to nominal, yelled at me for "wasting time" and confusing the operators by probing when I wrote a macro to do it more efficiently. Sometimes you can't win and need to move on.
 
The way i have handled varying height in the past is I set my finish height from the part rest. Whether it is sitting flat on a table or in a vise I set my part rest as z0 and add my finish part height from that rest, for example if your finish height is 2.0 I set my z +2.0 from my part rest. Then measure each piece I load into the machine and set my variable to do the rest . Then just write a simple macro decking program using the variables to get your start position kind of like this.


#500=2.0(finish height)
#501=2.5(measured height)
#503=[#501-#500] (excess material)
#504= .1 (depth of cut)
#505 = 6.0 (PART LENGTH)
#506 = [FIX[#503/#504]]

T1M6 (4IN SHELL)
S1484 M3
G0 G54 X2.0 Y0.0
G43 H1 Z[#501 +.25]
G1 Z0.02 F.1
M97 P8000 L#506
G1 Z2.0
G1 X[#505+2.1] F30.0
GO G5 Z0.0
M9
G0 G53 X0.0 Y0.0
M30


N8000
G91 Z-#504
G90 G1 X[#505+2.1] F66.0
G91 Z-#504
G90 G1 X-2.1 F66.0
M99

Of course this is a simple example and if you have a probe you can include it as well so you don't have to hand measure every part.
 
This also how to spot a Youtube trained machinist, they like to set their z zero on what ever they are setting the part on, jaws, parallels, fixture...they like to put Z Zero on the bottom of the part.
That's why you see them crashing their machines all the time, haha
Most of the time I'll set Z0 off what the part is sitting on, and then come up to where the top of the part should be.

If I'm running on the vacuum fixture, I'll leave Z0 at the top of the vacuum fixture; that way, so long as all Z numbers in the program are positive, I know I'll never hit the fixture.
 
We're still on page two and running out of things to argue about. I'm dragging this to page three, with or without you. :LOL:
Yeah, Like Emgo said, Imma leave this one here.
There is no right or wrong way. and no 100% rule.
Your reference "Programming from a fixed Z is the right way 90% of the time" is an opinion, not a fact.
There are ways that give you benefits, and ways that give you problems, Ill let you put in the years others have to figure those out.

My software doesn't leave that chunk in the middle like others, it has alternative ways of calculating,
just as a reference, if you look at most HSM paths, they take the outer shape of the stock and calculate that path shape inwards toward the object,
my software does the opposite, it takes the inner shape and calculates out to the stock shape.
edit: here is a reference, see how it calculates the inner shape out to the stock, then clips, backwards of most.
 
Last edited:








 
Back
Top