How about a possibility to maintain machine axis inaccurate perpendicularity via Chilipeppr software?

How about a possibility to maintain machine axis inaccurate perpendicularity via Chilipeppr software? I found my 3040 has a deviation on Y axis ~0.5mm to the left every 200mm. I will try to mechanically calibrate it as much, as possible, but I don’t think I can get to a 100% perfection. That would be great to be able to compensate this in software.

Repetier Firmware, which recently added CNC support, has something like this built in. You could check to see how they programmed it.

Hmm. Any thoughts on what the math would look like? The auto-leveller does raycasting to find the new z intersect and then it modifies the gcode. I suppose something similar could be done for your situation, but what would the calculation look like?

From configuration:
“Axis compensation
If your printer is not exactly square but is more like a parallelogramm, you can use this to compensate the effect of printing squares like parallelogramms. Set the parameter to then tangens of the deviation from 90°„ when you print a square object. E.g. if you angle is 91° enter tan(1) = 0.017. If error doubles you have the wrong sign. Always hard to say since the other angle is 89° in this case!”

Tan XY
Tan XZ
Tan YZ

are specified.

Here are the relevant functions from Repetier: http://pastebin.com/Ciy60SsT

And here is the clean firmware build from which I pulled that, in case there’s more to it elsewhere: https://www.dropbox.com/s/wdj7wunltexy7ky/Repetier-Firmware.zip?dl=0