Fusion post processor modification to add a move to home and pause

This may sound weird but hear me out, I know very little about grbl and nothing about post processing.

The first tool path on everyone of my files (well 95 percent) is a drilling operation to drill holes for hold down screws at predetermined safe locations. Most of what i do is with sheet goods with multiple parts cut at a time. I order the holes from fron to back leaving so I can follow the machine back installing screws as the holes become available. The last hole is an issue as its all the way in back and I have to wait until the machine moves to the bit change location at the end of the first operation(drilling) to reach across and put the last screw in.

So here is my question: is it possible to modify the fusion post processor to automatically add a move and pause for say 30 seconds before moving to bit change. For simplicities sake lets say it drills the last hole, moves to the homing location as I’m sure thats a known location in the code, then pauses for 20-30 seconds or even better waits for a start prompt from carbide motion before proceeding to the tool change?

If so how do I do it? this would make it much easier to get that last screw in, I would much prefer something in the post processor and not something that has to be added to every file individually. I wouldn’t care if it does it before every single tool change either it would only add a couple of seconds of travel speed plus the delay to the tool change.

any help would be appreciated and just a reminder I know nothing about grbl.


Maybe…if you’re willing to run a test with Motion (I’ve given up for now. Too many clicks)

What post are you using? Are you willing to use a different one?

I am using the carbide 3d post processor option in fusion. I’m willing to use a different one as long as it works lol. The standard grbl lost processor kept giving me arc errors.

I’m considering trying cncjs just so I can run it off s pi.

Motion works fine for me though. I rarely change my zero in any way. So it’s one button to initialize and one butting to start the file. Plus the one button for every bit change.

Try this:
[grblFerreri_RYAN.zip] EDIT: Removed for updated version below.

It adds a parameter called “waitForRyan”

When set to “Yes”, it will add an M0 pause before the toolchange for the second operation.

NOTE: Anyone else who come across this…don’t use this post unless you have the exact same use case described above.

1 Like

Is that the only change that has been made from the standard carbide 3d post?

Oh and thank you very much. I just want to know exactly what I’m dealing with.

What I bet took you 10 minutes looks like Arabic to me.

No…this was modified from my post processor which was adapted from the grbl post. Many here use it.
I’m not sure how Motion will handle the M0, so run a short air test.

I’ve never had an arc issue, but I use mm and don’t use Motion.

Why M0 and not a G4P30 ?
(just curious; I’ve been using G4P for delays)

G4 P30 will dwell for 30s (drop your screw and it turns in to a panic situation)

M0 will issue a pause and needs user intervention to resume (again, not sure what Motion does with that)

ok I have a problem and a question, does your addition send it to the homing location or even the zero before it pauses?

Now the problem, just installed the file you sent under a customer post library folder per https://knowledge.autodesk.com/support/fusion-360/learn-explore/caas/sfdcarticles/sfdcarticles/How-to-add-a-Post-Processor-to-your-Personal-Posts-in-Fusion-360.html

Well I load the file, Hit start and the spindle turns on and starts to plunge from the homing location immediately . Usually it will keep te spindle turned off, come front and center and call for the bit it needs, do its bit setter thing, return front and center and start the spindle and go to work.

Change PreLoad First Tool to “No”. I don’t like having to run through a tool change when the tool is already in there.

No, just does its normal retract.

Thanks again but it won’t do anything for me unless it moves away from the last screw hole. I can’t put a screw I. With an impact with the spindle directly above it.

Well, where do you want it to move?

Anywhere in the back. Either back center or back right. I assume back right would be easier due to that engine the homing location.

Try this one.
grblFerreri_RYAN.zip (5.5 KB)
It’ll retract Z, and go back close to Home.


@quicky06 Did you get a chance to try this yet?

Yes I did just now. So far so good.

Thank you very much.

1 Like

Great! No problem.

It’s cool to see what you can accomplish by modifying a post processor.

For my nerds, this is what I added to my toolchange block to get this behavior:

if(currentSection.getId() == 1 && properties.waitForRyan)
	if(unit == MM)
		writeBlock(gAbsIncModal.format(90), gFormat.format(53), gMotionModal.format(0), "Z" + xyzFormat.format(-5));
		writeBlock(gAbsIncModal.format(90), gFormat.format(53), "X" + xyzFormat.format(-5), "Y" + xyzFormat.format(-5));
		writeBlock(gAbsIncModal.format(90), gFormat.format(53), gMotionModal.format(0), "Z" + xyzFormat.format(-0.20));
		writeBlock(gAbsIncModal.format(90), gFormat.format(53), "X" + xyzFormat.format(-0.20), "Y" + xyzFormat.format(-0.20));


After seeing the speed you modify these, I was inspired to go look for myself, what would be really helpful to know to get started is;

What language is the PP written in? Is it something standard or specific to the GRBL / Fusion environments?

I saw in the NYC CNC video that MS Visual Studio Code has some plugins to help edit the processor but not what the language was (to understand variable types, grammar rules etc.) there was lots of “find this and copy and paste” which made me a little nervous…

1 Like

This isn’t complaining it’s just constructive criticism

The only flaw is the spindle stays on when it pauses. Not an issue with it moved close to homing location but for it here’s it is something to be aware of.

Again. Thank you. Going to start converting files over tonight.

1 Like

Well…you gotta specify these things. I’ll update it later.

@LiamN I don’t really know what I’m doing. I’ve always been the guy that says “There HAS to be a way to do that”, and then I fumble around. Sometimes things work.

I think the language is javascript.
Here’s an overwhelming reference.