# Radius Feed Compensation for Milling

19 Jul 2022 12:30 #247762 by moh
Hi,
does LinuxCNC have anything built-in for dynamically adjusting the feedrate based on tool diameter and radius of motion, in order to achive a constant surface cutting speed?
Much like Tool Cutter Compensation adjusts the position based on tool and motion radius, but instead i need it to adjust tool feed to achieve constant surface speed, e.g, slow down during internal circular motions, and speed up during external circular motions.

I'm using Fusion360 for CAM, which doesn't seem to allow for automatic feed adjusting based on tool diameter and motion/surface curvature.

Or did anyone try to implement such a feature in a separate project?

I believe the function is also called:

19 Jul 2022 13:04 #247764 by andypugh
I don't know if it is even possible. How does the controller know whether the cutter is engaging the internal or external curve?
(it might be possible using G41 G42 mode,but that means only if using cutter comp)

How much difference does it make? Without doing the arithmetic my feeling is that feed speed is so much less than surface speed that the difference is negligible.

19 Jul 2022 15:04 #247770
I run into this surprisingly a lot - milling a hole to size.. Say you have a 1 inch hole that you are milling with a 3/4" cutter. You calculate the cutting rate for a 3/4 inch mill for say .001 per tooth. The actual diameter that the cutter is moving around is .25" at say 5ipm. So - the circle takes .15 minutes to do the .25 circle at 5ipm. The 1 inch circle (actual cutting diameter) is doing it in the same time (3.1415 inches) so that calculates out to 20ipm.

(assuming I did the math right)

I normally don't calculate it - I just know to slow it down

sam

19 Jul 2022 16:46 #247776 by fc60
Greetings,

This brings back memories of my programming days at airplane factory. Within Catia there was an option to reduce the feedrate along user selected features.

Look around Fusion360 to see if there is a similar function.

Cheers,

Dave

19 Jul 2022 17:02 #247777
Several videos on youtube mentioned this same issue with Fusion360, to long since i watched them so not sure exacty who mentioned it.
Try This Old Tony on youtube.

20 Jul 2022 08:50 #247824 by andypugh
I think that I was confused by the phrase "surface cutting speed" and thought this was a spindle speed / SFM question.
(Which probably is a negligible effect, SFM = RPM X Radius +/- feedrate )

Compensating the feed rate to maintain constant feed-per-tooth is more of a real issue, and is probably most easily handled in the CAM, if the CAM can do it.

I think that this might be challengine to do in HAL, I don't think that all the info is there. We have had attempts to calculate the arc radius, so that might be possible, but knowing which side the cutter is engaged on is more difficult.

Potentially this could be handled by code in the trajectory planner, but even then probably only if G41 / G42 are in effect.
But it is not included in the current code.