Compensate for inaccuracy in software?

Is it possible to compensate for “known consistent” inaccuracies within a software?

Example: I know my machine has a sag of 5mm on the horizontal, over 2400mm. Is there an option in fusion, aspire or similar to account for this?

I have tried several hardware things to correct sag without success. Maybe software has the answer?

Thanks in advance :grin:

I don’t know of any software that will precompensate the gcode for machine inaccuracies. I’ve developed a system to post-compensate for it using an error matrix. The matrix is determined by using a camera in place of the router and a regularly spaced pattern stretched across the entire workarea is examined. If you can come up with the calibration matrix yourself, you don’t have to use the camera system and can take advantage of the post-compensation system. It’s not in stock ground control / firmware…you’d have to use my custom software or switch over to using webcontrol (that’s where I’m continuing it’s development at this point)


There is code in the 3D printing community to compensate for unlevel beds or
printing on curved surfaces. Something like that could possibly be adapted for
the maslow error.

One problem is that your error is not consistant across the entore workspace,
your 5mm sag is going to be different across the top of the sheet than the
bottom of the sheet (and that will also make it so that vertical lines are
tilted as well)

David Lang

Yes, of course :-).
But in the controller software. Not the CAD nor the CAM.
The CAD design is ideal. And I think the CAM SW operations don’t deal with the specific machine errors.
My MaslowCNC machine has some small positionning errors. The best thing for me was to record a grid of x and y position errors on a few point of the workspace, then tell the controler to shift the router position to correct those errors.
That lies into the CNC controler and transparent to the CAM tool. Ground Control macros can be used to send a special parameter to the Maslow Arduino board. And the Arduino board can memorize the grid of errors. I did it on mine. I get sub-milimeter positioning error over the workspace if no side load is applied on the router bit.
That is becasue the only thing to deal now is that some areas of the maslow (bottom corners) cannot handle too much router bit force reaction because of chain sag. There you can use the CAM tool to layout the work in a way that you make the best use of the MaslowCNC workpsace.

Note: I can completely take out sag with the sag correction factor. Did you try tuning this on your maslow?