Files
OpenNest/OpenNest.Core/PlateOption.cs
T
ajandClaude Opus 5.5 ea1decc097 feat(autonest): load sheet and drop stock from MaterialLedger
Auto Nest's Stock Options gets a Load from ledger button that reads the nest
material's free sheets and drops from MaterialLedger's API-key-protected
GET /api/stock/opennest. Ledger rows are request-local: the engine sees them as
ordinary NestPlateStock rows with ledger:{n} ids and finite quantities, and they
are never written to Nest.PlateOptions.

- OpenNest.Data/MaterialLedger: settings file, read-only client (X-Api-Key,
  5 s timeout, closed LedgerStockResult set) and LedgerStockMapper (bundles and
  sheets one row each, same-size drops grouped with ordered item codes, unknown
  shapes and too-small items skipped, inch/mm conversion).
- Options: MaterialLedger URL and API key (DPAPI, CurrentUser) with Test.
- Auto Nest grid: Use, Qty and Source columns for every row; PlateOption gains
  request-local Quantity and Id, which NestStockBuilder passes to the engine.
  Ledger rows score by area; hand-typed costs stay saved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:40:44 -04:00

18 lines
573 B
C#

namespace OpenNest
{
public class PlateOption
{
public double Width { get; set; }
public double Length { get; set; }
public double Cost { get; set; }
/// <summary>Sheets on hand for this request; null offers the size without limit. Not saved with the nest.</summary>
public int? Quantity { get; set; }
/// <summary>The engine stock id for this request; null uses the option's position. Not saved with the nest.</summary>
public string Id { get; set; }
public double Area => Width * Length;
}
}