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:
@@ -66,7 +66,6 @@ public sealed class CincinnatiPartSubprogramWriter
|
||||
_featureWriter.Write(w, ctx);
|
||||
}
|
||||
|
||||
w.WriteLine("G0 X0 Y0");
|
||||
w.WriteLine($"M99 (END OF {drawingName})");
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user