With the unmodified AXIS printer there is a lot of axis skew especially on the xy plane - at least for me. I had about 5mm skew on x with 100mm in y. That causes any rectangular shapes to become a parallelogram. Thats probably not helpful if you want to print something beyond weird art.
So there are a couple of methods to correct for the skew:
1) Get your printer right - or - get a right printer
2) Modify the 3D model - probably not want you want to or always can do
3) Use some G-Code extension (https://www.thingiverse.com/thing:3050059) or G-Code post-processing tool (https://github.com/MechanizedMedic/gskewer)
4) Enable Marlin firmware skew compensation
I will explain the details for 4) as it seems the most convenient solution in my opinion.
Again, there are a couple of different options to use:
4a) Set correction length values via Marlin's configuration.h
4b) Set correction factor via Marlin's configuration.h
4c) Just enable skew correction and use M commands
The 4c) option seems to provide the best flexibility as you can just modifiy the values w/o changing the firmware. So how this is done?
Steps:
- Uncomment #define SKEW_CORRECTION in configuration.h to enable the skew correction feature
- Uncomment #define SKEW_CORRECTION_GCODE to enable M582 command
- Save the configuration.h, compile the updated firmware and upload to your printer
- Print some test structures like https://www.thingiverse.com/thing:2563185
- The calculation of the skew factor is described in the configuration.h and there is also a very good video on youtube (https://www.youtube.com/watch?v=YfAb5IaHDSo)
- After you have measured the test structure and calculated the skew factor you can use the M582 command to set the skew factor on the printer
- M582 S<xy_skew_factor> will just set the factor for the xy-plane
- M582 I<xy_skew_factor> J<xz_skew_factor> K<yz_skew_factor> will set skew factors on all axis
- Don't forget to save the configuration with M500
- If you want to check the configuration use M503 to display the settings
Now to the results:

Skew compensation is obviously working pretty well. The not-so-straight line on the right side of the left test structure is mainly because the print came of the bed and warped a bit upwards. Please note that straight movements on the x- or y-axis will have now a small component of movement in the other axis as well (e.g. a movement in x will include some small movement in y as well). The printer will make some more noise and you might get some more ringing or other visible artifacts due to more vibrations. You can also compensate for xz/yz skew in a similar way.
Hope this was helpful.
I think for small skews it is fine to simply add multiple skew factors together. The error is relatively small compared to adding the arctan() i.e. exact skew angles together.
Thank you for this. This was very good. I put the new skew values in and things got a lot better. Here is a picture of measuring tools. On the "Y" access one, one of the V arms broke off, so tried a second time and it happened again. Unfortunately when I did all this I was having z-Axis issues (see my other post for things I had been trying) and they were VERY wobbly... BUT, things are squared now. I think I'm supposed to print them out again, but I'm not sure how I put new values in... do I need to go back to the defaults from the printer? Since things are mostly squared now, seems if I were to print, measure, and re-input the values they would be based on the wrong initial values or something. Anyway, I'm satisfied with Skew for now, so leaving it alone. Here are the pics of what I was seeing. Also in this pic is some of the 80x80x.02mm squares I used to figure out how bad my bed was. The last one (bottom right) was after the new bed leveling 7x5 points and 3 points between them and babystepping it to -0.150.
First one done, I am 144 on one diag and 139 on the other... 5mm?!?!
Edge to edge on the four corners, 3 of them are dead on 100mm, the 4th is 99.5mm.
So I think means they are just skewed.
Printing the XZ now. Hope it doesn’t fall over. Then YZ.
Bed is also so not level. Guess next is the UBL.
Will give this a shot. Sounds easier than the 90-100 step bed measurements....
Very good info! Thanks for posting this. I've always wondered about this when reading through the docs.
Good info. Thanks.