Here is a enhanced version of Guffy’s post processor for testing.
Please do not considered it well tested. I have used it for the few small projects I have done but it should not be considered stable. Please review all GCode output to ensure it meets your needs before using the GCode.
Scaling of feedrate: By enabling the parameter [Feed: Scale Feedrate] the post processor will scale the feedrate specified to be less then the limits set by [Feed: Max cut speed X or Y], [Feed: Max cut speed Z] and [Feed: Max toolpath speed].
Scaling is done by projecting the cut vector’s feedrate into the three axes. Each projected feedrate is evaluated to see if it exceeds that axis’s limit, if it does then all axis’s projected feedrates are scaled proportionally. Then the next axis is reviewed. After all projections have been scaled the new feedrate of the cut vector is calculated F = SQRT(X^2 + Y^2 +Z^2) and the result limited to be less then [Feed: Max toolpath speed]. Note: you don’t need to understand the math to use it.
Map G1 to G0s when safe. By enabling [Map:G1->G0 Rapids] any G1 that occurs at/above [Map: Safe Z for Rapid] height will be converted to a G0 Rapid. [Map: Allow Rapid Z] indicates if Z moves will be included.
- If the cut has no Z change and if >= to safeHeight then Safe (convert G1->G0)
- If only Z is changing and going up and its target is >= safeHeight then Safe (convert G1->G0)
- If only Z is changing and going down but start >= safeHeight and target >= safeHeight then Safe ( (convert G1->G0)
Map Fix first move of cut. By enabling [Map:G1->G0 Rapids] will detect if the first move of a toolpath is a G1 cut and convert this to a G0 Rapid.
F360 Personal changes all G0 Rapids to G1 cuts. This changes the first move that should be a positioning move, used to reach the start into a cut, into an incorrect cut move. G1 Cut moves can travel in X, Y, and Z at the same time. G0 Rapid moves travel first in Z and then in X, Y. This allows the tool to move safely away from the work prior to moving sideways. Using a G1 instead can result in the cutting tool being dragged sideways across the material on the way to the first cut. By detecting if the first move of a toolpath is a G1 cut and converting this to a G0 Rapid this problem is avoided.
All other functions of the Post Processor should work as before. Please reply to this thread if you find issues.
A Fork of the Guffy Post Processor with this change integrated with the rest of Guffy can be found in the Enh1 branch located at flyfisher604/mpcnc_posts_processor at enh1 (github.com). If you just want to try the mpccn version you can use the zip file below.
mpcnc_pp.zip (11.6 KB)