fix(post): post sheet cut-offs in CI Fiber without comp or lead-in

Posting a nest with a sheet cut-off threw because the CI Fiber writer
treated every contour as a compensated part contour and requires a
linear lead-in after G41/G42 (TF5200 13.2.4.1). Cut-offs are open
centreline cuts with no lead-in and no inside/outside, so they now post
without G41/G42 and run after every part on the sheet so the sheet is
not severed before the parts are cut (matching the CL post).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
aj
2026-09-28 14:14:07 -04:00
co-authored by Claude Opus 5.5
parent 6d7c98ef4a
commit b0997f614b
3 changed files with 80 additions and 2 deletions
+7
View File
@@ -26,6 +26,12 @@ uses the Cincinnati machine-sample convention, not a generic TF5200 laser API:
- Tail: `/L "L0"`, `L PROGRAMEND.NC`, `M50`, `M30`, and `%`.
- Motion endpoints are sheet-absolute XY. Arc `I`/`J` are offsets from the arc
start, matching the G162 convention; the post does not explicitly emit G162.
- Sheet cut-offs post after every part on their sheet. Each segment is an open
line with no lead-in: rapid to its start, `/L "L4"`, `/L "L6"`, the `G1`,
and `/L "ZHSOFF"`. No `G41`/`G42` is selected, because the line is the beam
centreline and has no inside or outside. Whether the `L4` macro runs
correctly without a following lead-in move has not been confirmed on the
machine.
- Hole subprogram geometry is inlined. Suppressed moves and, by default,
wholly scribe contours are omitted.
- Files use UTF-8 without a BOM and CRLF lines. Default accuracy is three decimal
@@ -58,6 +64,7 @@ The post is named for the machine family; table size belongs in configuration.
[Output-contract tests](../OpenNest.Tests/CincinnatiCIFiber/CIFiberPostProcessorTests.cs)
cover a square with a hole, coordinate transforms/formatting, lead-in rejection,
cut-off ordering and output,
table bounds, and suppression/scribe handling. Run:
```sh