fix: remove dangerous G0 X0 Y0 return-to-home rapids from Cincinnati post

Rapid traversing back to origin over a sheet of freshly cut parts risks
collisions with tipped or warped pieces. Removed from both the sheet
footer and part subprogram endings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-02 11:11:29 -04:00
parent aae593a73e
commit f26edb824d
4 changed files with 1 additions and 5 deletions

View File

@@ -66,7 +66,6 @@ public sealed class CincinnatiPartSubprogramWriter
_featureWriter.Write(w, ctx);
}
w.WriteLine("G0 X0 Y0");
w.WriteLine($"M99 (END OF {drawingName})");
}

View File

@@ -95,7 +95,6 @@ public sealed class CincinnatiSheetWriter
// 5. Footer
w.WriteLine("M42");
w.WriteLine("G0 X0 Y0");
var emitM50 = _config.PalletExchange == PalletMode.EndOfSheet
|| (_config.PalletExchange == PalletMode.StartAndEnd && isLastSheet);
if (emitM50)

View File

@@ -258,8 +258,7 @@ public class CincinnatiPostProcessorTests
Assert.Contains(":200", output);
Assert.Contains("G84", output);
// Sub-program ends with G0 X0 Y0 and M99
Assert.Contains("G0 X0 Y0", output);
// Sub-program ends with M99
Assert.Contains("M99 (END OF Square)", output);
// G92 restore after M98 call

View File

@@ -55,7 +55,6 @@ public class CincinnatiSheetWriterTests
var output = sb.ToString();
Assert.Contains("M42", output);
Assert.Contains("G0 X0 Y0", output);
Assert.Contains("M50", output);
}