refactor: merge DxfImporter and DxfExporter into single static Dxf class

Consolidated two stateless classes into one unified API: Dxf.Import(),
Dxf.GetGeometry(), Dxf.ExportPlate(), Dxf.ExportProgram(). Export
state moved into a private ExportContext. Removed bool+out pattern
from GetGeometry in favor of returning empty list on failure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-06 08:17:49 -04:00
parent e92208b8c0
commit 250fdefaea
20 changed files with 405 additions and 505 deletions
+1 -2
View File
@@ -382,7 +382,6 @@ namespace OpenNest.Forms
}
var jobName = txtJobName.Text.Trim();
var importer = new DxfImporter();
var nestsCreated = 0;
var importErrors = new List<string>();
@@ -416,7 +415,7 @@ namespace OpenNest.Forms
try
{
var result = importer.Import(part.DxfPath);
var result = Dxf.Import(part.DxfPath);
var drawingName = Path.GetFileNameWithoutExtension(part.DxfPath);
var drawing = new Drawing(drawingName);
+2 -4
View File
@@ -74,8 +74,7 @@ namespace OpenNest.Forms
{
try
{
var importer = new DxfImporter();
var result = importer.Import(file);
var result = Dxf.Import(file);
if (result.Entities.Count == 0)
return;
@@ -383,8 +382,7 @@ namespace OpenNest.Forms
newItems.Add(splitPath);
// Re-import geometry but keep bends from the split drawing
var importer = new DxfImporter();
var result = importer.Import(splitPath);
var result = Dxf.Import(splitPath);
var splitItem = new FileListItem
{
+3 -5
View File
@@ -362,9 +362,8 @@ namespace OpenNest.Forms
{
if (dlg.FilterIndex == 1)
{
var exporter = new DxfExporter();
var success = exporter.ExportPlate(PlateView.Plate, dlg.FileName);
return success;
Dxf.ExportPlate(PlateView.Plate, dlg.FileName);
return true;
}
else if (dlg.FilterIndex == 2)
{
@@ -540,8 +539,7 @@ namespace OpenNest.Forms
var plate = PlateView.Plate;
var name = string.Format("{0}-P{1}.dxf", Nest.Name, PlateManager.CurrentIndex + 1);
var path = Path.Combine(Path.GetTempPath(), name);
var exporter = new DxfExporter();
exporter.ExportPlate(plate, path);
Dxf.ExportPlate(plate, path);
Process.Start(path);
}