diff --git a/OpenNest.Api/NestResponse.cs b/OpenNest.Api/NestResponse.cs index 8f48014..6b8df0c 100644 --- a/OpenNest.Api/NestResponse.cs +++ b/OpenNest.Api/NestResponse.cs @@ -67,27 +67,30 @@ public class NestResponse using var zip = new ZipArchive(fs, ZipArchiveMode.Read); // Read request.json - var requestEntry = zip.GetEntry("request.json"); + var requestEntry = zip.GetEntry("request.json") + ?? throw new InvalidOperationException("Missing request.json in .nestquote file"); NestRequest request; - await using (var stream = requestEntry!.Open()) + await using (var stream = requestEntry.Open()) { request = await JsonSerializer.DeserializeAsync(stream, JsonOptions); } // Read response.json - var responseEntry = zip.GetEntry("response.json"); + var responseEntry = zip.GetEntry("response.json") + ?? throw new InvalidOperationException("Missing response.json in .nestquote file"); JsonElement metricsJson; - await using (var stream = responseEntry!.Open()) + await using (var stream = responseEntry.Open()) { metricsJson = await JsonSerializer.DeserializeAsync(stream, JsonOptions); } // Read embedded nest.nest via NestReader(Stream) - var nestEntry = zip.GetEntry("nest.nest"); + var nestEntry = zip.GetEntry("nest.nest") + ?? throw new InvalidOperationException("Missing nest.nest in .nestquote file"); Nest nest; using (var nestMs = new MemoryStream()) { - await using (var stream = nestEntry!.Open()) + await using (var stream = nestEntry.Open()) { await stream.CopyToAsync(nestMs); } diff --git a/OpenNest.Api/NestRunner.cs b/OpenNest.Api/NestRunner.cs index e040ad8..ccca7bd 100644 --- a/OpenNest.Api/NestRunner.cs +++ b/OpenNest.Api/NestRunner.cs @@ -67,7 +67,8 @@ public static class NestRunner var plate = new Plate(request.SheetSize) { Thickness = request.Thickness, - PartSpacing = request.Spacing + PartSpacing = request.Spacing, + Material = new Material(request.Material) }; // Build items for this pass with remaining quantities diff --git a/OpenNest.Engine/FillExtents.cs b/OpenNest.Engine/FillExtents.cs index bcb0689..3d4c324 100644 --- a/OpenNest.Engine/FillExtents.cs +++ b/OpenNest.Engine/FillExtents.cs @@ -25,7 +25,8 @@ namespace OpenNest public List Fill(Drawing drawing, double rotationAngle = 0, int plateNumber = 0, CancellationToken token = default, - IProgress progress = null) + IProgress progress = null, + List bestFits = null) { var pair = BuildPair(drawing, rotationAngle); if (pair == null)