mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-10-20 16:11:39 -04:00
docs(clamps): describe last-resort clamp removal and current clamp coverage
automatic-nesting.md still said interactive fill/push, the overlap check and cutoffs ignore clamps, and nesting-engines.md listed the large-spacing and tiny-zone defects fixed in this slice. Both now describe current behaviour, and the new last-resort removal section states its limits (1000-probe budget, sub-grid clearance) as settled with the user (plan D12-D15).
This commit is contained in:
1 parent
a1914e147a
commit
e38980e54b
2 files changed
+33
-10
No files matched your search
@@ -66,8 +66,30 @@ resizing or rotating a plate re-resolves its clamps. Auto Nest
|
||||
offers each stock size with the rail resolved for that size, and every committed
|
||||
sheet keeps exactly the clamps its layout was validated against. Clamps are
|
||||
drawn as hatched amber rectangles over the sheet; they cannot be selected,
|
||||
moved or sequenced and never count as parts. Interactive fill/push, the overlap
|
||||
check and cutoffs do not yet avoid clamps.
|
||||
moved or sequenced and never count as parts. Interactive fill, pack and push
|
||||
keep parts clear of clamps, Check Overlaps reports parts on a clamp and manual
|
||||
cut-offs crossing one, automatic cutoffs never place a cut through a clamp, and
|
||||
pre-post verification warns (with per-attempt consent) about parts, cut-offs
|
||||
and direct rapids crossing an active clamp - including the first rapid when a
|
||||
clamp covers the program start point.
|
||||
|
||||
### Last-resort clamp removal
|
||||
|
||||
When a part cannot be placed on an empty sheet of any offered size with every
|
||||
clamp in place - neither the selected engine nor the Irregular or Rectangles
|
||||
lane finds a clamped placement - Auto Nest takes the fewest neighbouring clamps
|
||||
off one sheet that let it fit (the run nearest the origin on ties) and nests it
|
||||
on extra sheets with those clamps removed; other unplaced parts may share the
|
||||
freed sheets. It never removes a clamp to save material, never re-plans a sheet
|
||||
the normal nest already used, draws only on stock that is left, and only
|
||||
removes clamps resolved from the machine rail. The completion summary lists
|
||||
"Sheet N: remove clamp K (+M min)", the sheet shows each removed clamp dashed
|
||||
with "remove", and each removed clamp on the sheet adds the rail's removal
|
||||
minutes (default 5, set in **Nest > Clamps...**) to that sheet's cut time.
|
||||
|
||||
Limits: the search stops after 1000 single-part trial solves and then keeps the
|
||||
normal result, removing nothing; and a part whose material clears a clamp by
|
||||
less than the engines' 0.0001" grid may still be reported as needing a removal.
|
||||
|
||||
## Integration constraints
|
||||
|
||||
|
||||
@@ -90,15 +90,16 @@ are enclosed on the existing clipping grid before NFP preparation, retaining at
|
||||
grid interval per axis so positive sub-grid clamps cannot disappear. Existing arc/grid
|
||||
safety margins, covered-hole certification and cancellation apply without relaxed tolerances.
|
||||
|
||||
Known clamp edge cases remain in the earlier shared/Rectangles implementation:
|
||||
large part spacing can make Rectangles overlap a clamp; rectangles below the clipping
|
||||
grid can make layout validation (including Default's candidate scoring) throw. Irregular's
|
||||
static-obstacle preparation does not repair these separate paths. The ordinary clamp
|
||||
fixtures pass for both lanes and Default; this is not an all-input clamp-safety guarantee.
|
||||
Rectangles blocks each clamp's keep-out out of its free list. When part spacing is so
|
||||
large that the spacing-adjusted block would invert, it blocks a zero-width line at the
|
||||
clamp edge facing the sheet interior instead: parts on that side keep the exact clearance
|
||||
and the unavoidable extra exclusion falls toward the nearer sheet edge. Keep-outs narrower
|
||||
than 0.001" on either axis are judged by a tolerance-free rectangle test
|
||||
(`KeepOutOverlap`) in layout validation, interactive fill and the overlap check, so they
|
||||
can neither crash validation nor be called clear.
|
||||
|
||||
This is whole-job engine support, not interactive fill/push or cutoff/post-verification
|
||||
support; those consumers are separate work. Desktop clamp editing and the stock-size
|
||||
resolution of a nest's clamp rail are described in
|
||||
Desktop clamp editing, the stock-size resolution of a nest's clamp rail, last-resort clamp
|
||||
removal and the other clamp-aware tools are described in
|
||||
[automatic nesting](automatic-nesting.md#machine-edge-clamps). Other engines and
|
||||
plug-ins have not gained clamp-aware placement from this change.
|
||||
|
||||
|
||||
Reference in new issue
Block a user