Fusion Manufacture
Talk shop with the Fusion (formerly Fusion 360) Manufacture Community. Share tool strategies, tips, get advice and solve problems together with the best minds in the industry.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Max Spindle RPM Cap

Message 1 of 5
102 Views, 4 Replies

Max Spindle RPM Cap

Good afternoon everyone,


I'm trying to add a condition to my post processor that will cap the RPM directly from the post.

I would like to cap it at 12000 rpm. So, ideally when a tool is over that RPM it will automatically be bumped down to 12000 RPM. Even just a warning message would do for me.


I found others have posted in the forums about this but their solutions don't seem to work for my post.

The best I've been able to do is whenever a tool has a higher RPM than 12000 it just completely skips posting the RPM all together.


Is anyone able to help me with this? Its the default Fanuc post processor modified for horizontal Kitamuras, both with the Arumatik controller and the Fanuc controller. 


I have attached the post processor. any input is appreciated.




Message 2 of 5
in reply to: bpetersen9BTH4

Hi @bpetersen9BTH4,


As a reseller, we build this often for customers.

Even bringing down the feeds related to the % that is in RPM is too high.

If my post answers your question Please use Accept as Solution & Kudos This helps everyone find answers more quickly!

Met vriendelijke groet | Kind regards | Mit freundlichem Gruß

Marco Takx
CAM Consultant

Message 3 of 5
in reply to: Marco.Takx

@Marco.Takx  I'm not entirely sure what you mean by that. Are you offering to help or letting me know that you could do it?

Message 4 of 5

from my grbl post, find:

    writeBlock("T" + toolFormat.format(tool.number), mFormat.format(6));
    if (tool.comment) {

Then add this directly afterwards.

change the 8000/24000 to match your machine. 


  if (insertToolCall || isFirstSection() ||
    (rpmFormat.areDifferent(tool.spindleRPM, sOutput.getCurrent())) ||
    (tool.clockwise != getPreviousSection().getTool().clockwise)) {
    if (tool.spindleRPM < 8000) {
      error(localize("Spindle speed out of range."));
    if (tool.spindleRPM > 24000) {
      warning(localize("Spindle speed exceeds maximum value."));
      sOutput.format(tool.spindleRPM), mFormat.format(tool.clockwise ? 3 : 4), gFormat.format(4), pOutput.format(1)


Please click "Accept Solution" if what I wrote solved your issue!
Message 5 of 5

Hey @programming2C78B


I tried that fix and I couldn't get it to work for whatever reason. 


I tried a few things and I managed to come up with this- 

(Original Post)


    forceSpindleSpeed = false;
    writeBlock(sOutput.format(spindleSpeed), mFormat.format(tool.clockwise ? 3 : 4));
(What I changed it to)
    forceSpindleSpeed = false;
    if (tool.spindleRPM > 12000 || tool.rampingSpindleRPM > 12000){
      error(localize("Spindle Speed Above 12000 RPM"));
    } else{
    writeBlock(sOutput.format(spindleSpeed), mFormat.format(tool.clockwise ? 3 : 4));
This doesn't bump the RPM back to 12000rpm but it does cause the post to fail and spits out an error message.
This will be okay for now, ill keep working on it and see if I can come up with a better solution.
Thanks again for the help, if you have any other suggestions please let me know.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report