Yet another question: Does the Check Size button always include the origin (0,0)?

Yet another question: Does the Check Size button always include the origin (0,0)? If so, why?

That’s really weird, I have not encountered this before. I do get the expected check size ( based on the generated gcode and the overall ouside boundary). But I always http://start.from 0,0 so not sure

It does it no matter where the job is in relation to the origin; if the origin is outside the job area, Check Size will draw a box from the origin to the opposite corner of the job. It also doesn’t seem to matter where the carriage is positioned relative to the work or origin. Nowhere in the generated G-Code are any instances of the strings “X0” or Y0".

Do you “set 0” before executing the check size?

No; I have reason to keep my work coordinate system where it is.

That is to say, the machine is homed via end stops, so a zero point is established away from the file I wish to cut.

Are you trying to tell me the origin needs to be on or inside the job area for it to function correctly?

The check size function is quite dumb. It just parses the gcode for the smallest and biggest X and Y values, independent of move type.
For example: If you have a G0X0Y0 in the end code, then this corner will be part of the outline.

I had such a line in my end of job script. Thinking that was the issue, I removed it. Behavior remains, there are no instances of the string X0 or Y0 anywhere in the loaded G-Code file.