From 2cf03be36063cff1ada2433e0270b0fb84347a63 Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Fri, 10 Apr 2026 13:13:00 -0400 Subject: [PATCH] refactor(training): use CadImporter for DXF import Co-Authored-By: Claude Sonnet 4.6 --- OpenNest.Training/Program.cs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/OpenNest.Training/Program.cs b/OpenNest.Training/Program.cs index e78e839..c3cd6ed 100644 --- a/OpenNest.Training/Program.cs +++ b/OpenNest.Training/Program.cs @@ -1,8 +1,8 @@ using OpenNest; using OpenNest.Engine.BestFit; using OpenNest.Engine.ML; -using OpenNest.Geometry; using OpenNest.Gpu; +using OpenNest.Geometry; using OpenNest.IO; using OpenNest.Training; using System; @@ -128,17 +128,26 @@ int RunDataCollection(string dir, string dbPath, string saveDir, double s, strin continue; } - var entities = Dxf.GetGeometry(file); - if (entities.Count == 0) + Drawing drawing; + try + { + drawing = CadImporter.ImportDrawing(file, + new CadImportOptions { DetectBends = false, Name = Path.GetFileName(file) }); + } + catch (System.Exception ex) + { + Console.WriteLine($" - SKIP ({ex.Message})"); + skippedGeometry++; + continue; + } + + if (drawing.Program == null || drawing.Program.Codes.Count == 0) { Console.WriteLine(" - SKIP (no geometry)"); skippedGeometry++; continue; } - var drawing = new Drawing(Path.GetFileName(file)); - var normalized = ShapeProfile.NormalizeEntities(entities); - drawing.Program = OpenNest.Converters.ConvertGeometry.ToProgram(normalized); drawing.UpdateArea(); drawing.Color = PartColors[colorIndex % PartColors.Length]; colorIndex++;