Structurally, it looks OK to me. The Y axis is always going to be at risk of twisting due to its relatively thin nature vs. it's height/width. Bolting it up good & hard should mitigate that, depending on what sort of load you're purring on the Z axis tool.

You say the 1mm error is in the X-Y; but is it in the X, or the Y, or both? And over what distance do you see the error: Is it cumulative, or does it suddenly appear after a certain distance moved? e.g. if it were in the X axis over the full length of travel; if you move it all the way to the left, then all the way back to the right - does the error disappear, or is it still there? If the former, I wonder if your steppers are actually moving the distance you're expecting them to move. You could potentially dial that out in software, if it's the case. If, however, the machine doesn't repeatably go back to the same place after a long X or Y move, then it's likely to be the mechanism that's either flexing, bending, of something.

Does it always come up short? Or can it be short OR long. If the former, maybe the stepper is losing steps? That could be due to a sticky spot in the mechanism, or insufficient drive power, or running them faster than the CPU can guarantee all the steps will be processed. If it could be short or long, then again I would suspect frame flex/warp.


FWIW, I'm no expert - just thinking of possible causes.

PS: If you think the base frame is a parallelogram shape, rather than a true square/rectangle; adding precisely drilled right-angle-triangular plates underneath would eliminate this for sure.