Hi @reisaXWBA5 ,
to configure circular interpolation to write IJK in absolute, I think you could modify few lines in onCircular function.
You need to modify iOutput.format, jOutput.format and kOutput.format definition.
From :
iOutput.format(cx - start.x, 0) jOutput.format(cy - start.y, 0) kOutput.format(cz - start.z, 0)
To:
iOutput.format(cx, 0) jOutput.format(cy, 0) kOutput.format(cz, 0)
These are edited lines starting from line 895 :
switch (getCircularPlane()) {
case PLANE_XY:
writeBlock(gAbsIncModal.format(90), gPlaneModal.format(17), gMotionModal.format(clockwise ? 2 : 3), iOutput.format(cx, 0), jOutput.format(cy, 0), feedOutput.format(feed));
break;
case PLANE_ZX:
writeBlock(gAbsIncModal.format(90), gPlaneModal.format(18), gMotionModal.format(clockwise ? 2 : 3), iOutput.format(cx, 0), kOutput.format(cz, 0), feedOutput.format(feed));
break;
case PLANE_YZ:
writeBlock(gAbsIncModal.format(90), gPlaneModal.format(19), gMotionModal.format(clockwise ? 2 : 3), jOutput.format(cy, 0), kOutput.format(cz, 0), feedOutput.format(feed));
break;
default:
linearize(tolerance);
}
} else {
switch (getCircularPlane()) {
case PLANE_XY:
writeBlock(gAbsIncModal.format(90), gPlaneModal.format(17), gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), iOutput.format(cx, 0), jOutput.format(cy, 0), feedOutput.format(feed));
break;
case PLANE_ZX:
writeBlock(gAbsIncModal.format(90), gPlaneModal.format(18), gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), iOutput.format(cx, 0), kOutput.format(cz, 0), feedOutput.format(feed));
break;
case PLANE_YZ:
writeBlock(gAbsIncModal.format(90), gPlaneModal.format(19), gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), jOutput.format(cy, 0), kOutput.format(cz, 0), feedOutput.format(feed));
break;
default:
linearize(tolerance);
}
}
Please test it carefully and let me know.