Hi everyone.
As I continue to learn the nuts-and-bolts of how TinyG (and the related ecosystem of Fusion 360 CAM and CNCjs) work, I have come across a bit of a puzzle.
In G2/G3 arcs, due to decimal rounding error, it is not unusual for the calculated distance between startpoint-to-center and the calculated distance between endpoint-to-center to be slightly different. Ideally, they'd be the same, but with a constrained number of digits to work with, rounding error occurs - in my observations, typically around 0.001mm.
When sending GCode to the TinyG using CNCjs, I seem to often run into "arc specification errors". Clicking "continue" allows the machine to keep going, and the parts seem to turn out fine, which suggests that this is a warning and not a fatal error.
I can disable pause-on-error in CNCjs, in which case the job will run without my needing to click "continue", so from a functional standpoint I am fine. As an engineer, however, it rubs me the wrong way to need to do this.
I would think that there must be some internal error tolerance in the TinyG that throws a flag when the error is greater than a specified level. Likewise, there must be some spec in the post processor that tells Fusion 360 how many decimal places to output when generating Gcode.
My thought is that either a) upping the TinyG tolerance of acceptable error, or b) upping the number of decimal places output in the Gcode from Fusion 360 would effect a permanent solution without needing to disable pause-on-error.
Three questions:
1) Does this line of reasoning seem valid?
2) Does anybody know what the tolerance is for radial error, and if/how it can be changed in TinyG?
3) Does anybody know if/how the number of decimal places in Fusion 360 post-processor can be changed?
4) Will tinyG ignore input of more than three decimal places when in mm mode?
Thanks in advance for the input!