From 13d75854c335167a1bb9062176d89273cd6dfded Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Mon, 19 Oct 2026 18:48:51 -0400 Subject: [PATCH] fix(console): give the DXF-only plate a quantity of 1 LoadOrCreateNest built the DXF-only plate with `new Plate`, leaving Quantity at 0, so results reported "Parts placed: 0" and 0% weighted utilization, and drawings' nested quantities stayed at zero. Build it through Nest.CreatePlate as the desktop does. Co-Authored-By: Claude Opus 5.5 --- OpenNest.Console/Program.cs | 6 ++++-- OpenNest.FrontEnd.Tests/NestingPipelineTests.cs | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/OpenNest.Console/Program.cs b/OpenNest.Console/Program.cs index 0a1fd5c1..53bc0c53 100644 --- a/OpenNest.Console/Program.cs +++ b/OpenNest.Console/Program.cs @@ -372,9 +372,11 @@ static class NestConsole return null; } + // Build the plate as the desktop does: Quantity = 1 so part counts and the + // drawings' nested quantities include it. var newNest = new Nest { Name = "DXF Import" }; - var plate = new Plate { Size = options.PlateSize.Value }; - newNest.Plates.Add(plate); + newNest.PlateDefaults.Size = options.PlateSize.Value; + newNest.CreatePlate(); foreach (var dxf in dxfFiles) { diff --git a/OpenNest.FrontEnd.Tests/NestingPipelineTests.cs b/OpenNest.FrontEnd.Tests/NestingPipelineTests.cs index 2eb4c1cf..c8a942ed 100644 --- a/OpenNest.FrontEnd.Tests/NestingPipelineTests.cs +++ b/OpenNest.FrontEnd.Tests/NestingPipelineTests.cs @@ -326,6 +326,20 @@ public class NestingPipelineTests : IDisposable Assert.False(File.Exists(output)); } + [Fact] + public void Console_DxfOnlyFillCountsPlacedPartsOnASingleSheet() + { + var input = Path.Combine(directory, "square.dxf"); + var output = Path.Combine(directory, "output.nest"); + Dxf.ExportProgram(Square().Program, input); + Assert.Equal(0, RunConsole(input, "--size", "20x30", "--quantity", "6", "--output", output)); + var nest = new NestReader(output).Read(); + var plate = nest.Plates.Single(); + Assert.Equal(1, plate.Quantity); + Assert.Equal(6, plate.Parts.Count); + Assert.Equal(plate.Parts.Count, nest.Drawings.Single().Quantity.Nested); + } + private NestRequest Request(string engine) { var path = Path.Combine(directory, "square.dxf");