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);
|
_featureWriter.Write(w, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
w.WriteLine("G0 X0 Y0");
|
|
||||||
w.WriteLine($"M99 (END OF {drawingName})");
|
w.WriteLine($"M99 (END OF {drawingName})");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,6 @@ public sealed class CincinnatiSheetWriter
|
|||||||
|
|
||||||
// 5. Footer
|
// 5. Footer
|
||||||
w.WriteLine("M42");
|
w.WriteLine("M42");
|
||||||
w.WriteLine("G0 X0 Y0");
|
|
||||||
var emitM50 = _config.PalletExchange == PalletMode.EndOfSheet
|
var emitM50 = _config.PalletExchange == PalletMode.EndOfSheet
|
||||||
|| (_config.PalletExchange == PalletMode.StartAndEnd && isLastSheet);
|
|| (_config.PalletExchange == PalletMode.StartAndEnd && isLastSheet);
|
||||||
if (emitM50)
|
if (emitM50)
|
||||||
|
|||||||
@@ -258,8 +258,7 @@ public class CincinnatiPostProcessorTests
|
|||||||
Assert.Contains(":200", output);
|
Assert.Contains(":200", output);
|
||||||
Assert.Contains("G84", output);
|
Assert.Contains("G84", output);
|
||||||
|
|
||||||
// Sub-program ends with G0 X0 Y0 and M99
|
// Sub-program ends with M99
|
||||||
Assert.Contains("G0 X0 Y0", output);
|
|
||||||
Assert.Contains("M99 (END OF Square)", output);
|
Assert.Contains("M99 (END OF Square)", output);
|
||||||
|
|
||||||
// G92 restore after M98 call
|
// G92 restore after M98 call
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ public class CincinnatiSheetWriterTests
|
|||||||
|
|
||||||
var output = sb.ToString();
|
var output = sb.ToString();
|
||||||
Assert.Contains("M42", output);
|
Assert.Contains("M42", output);
|
||||||
Assert.Contains("G0 X0 Y0", output);
|
|
||||||
Assert.Contains("M50", output);
|
Assert.Contains("M50", output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user