diff --git a/MatterControl.csproj b/MatterControl.csproj
index 8260f478a..318387683 100644
--- a/MatterControl.csproj
+++ b/MatterControl.csproj
@@ -65,6 +65,10 @@
{93bebfdf-b81a-4344-ab82-0dbf58b234cd}
MatterControlLib
+
+ {b0aed568-8796-42b9-baa9-ebc796134e78}
+ MatterSlice
+
\ No newline at end of file
diff --git a/MatterControlLib/CustomWidgets/ExportPrintItemPage.cs b/MatterControlLib/CustomWidgets/ExportPrintItemPage.cs
index 3e668b31c..61589e646 100644
--- a/MatterControlLib/CustomWidgets/ExportPrintItemPage.cs
+++ b/MatterControlLib/CustomWidgets/ExportPrintItemPage.cs
@@ -50,8 +50,11 @@ namespace MatterHackers.MatterControl
private IEnumerable libraryItems;
- public ExportPrintItemPage(IEnumerable libraryItems)
+ bool centerOnBed;
+
+ public ExportPrintItemPage(IEnumerable libraryItems, bool centerOnBed)
{
+ this.centerOnBed = centerOnBed;
this.WindowTitle = "Export File".Localize();
this.HeaderText = "Export selection to".Localize() + ":";
@@ -212,6 +215,10 @@ namespace MatterHackers.MatterControl
if (activePlugin != null)
{
+ if(activePlugin is GCodeExport gCodeExport)
+ {
+ gCodeExport.CenterOnBed = centerOnBed;
+ }
succeeded = await activePlugin.Generate(libraryItems, savePath, reporter, cancellationToken);
}
diff --git a/MatterControlLib/Library/Export/GCodeExport.cs b/MatterControlLib/Library/Export/GCodeExport.cs
index 3186c8002..7b5fe3c1e 100644
--- a/MatterControlLib/Library/Export/GCodeExport.cs
+++ b/MatterControlLib/Library/Export/GCodeExport.cs
@@ -121,8 +121,6 @@ namespace MatterHackers.MatterControl.Library.Export
{
IObject3D loadedItem = null;
- bool centerOnBed = true;
-
var assetStream = firstItem as ILibraryAssetStream;
if (assetStream?.ContentType == "gcode")
{
@@ -140,7 +138,7 @@ namespace MatterHackers.MatterControl.Library.Export
// If item is bedplate, save any pending changes before starting the print
await ApplicationController.Instance.Tasks.Execute("Saving".Localize(), printer.Bed.SaveChanges);
loadedItem = printer.Bed.Scene;
- centerOnBed = false;
+ CenterOnBed = false;
}
else if (firstItem is ILibraryObject3D object3DItem)
{
@@ -178,7 +176,7 @@ namespace MatterHackers.MatterControl.Library.Export
if (ApplicationSettings.ValidFileExtensions.IndexOf(sourceExtension, StringComparison.OrdinalIgnoreCase) >= 0
|| string.Equals(sourceExtension, ".mcx", StringComparison.OrdinalIgnoreCase))
{
- if (centerOnBed)
+ if (CenterOnBed)
{
// Get Bounds
var aabb = loadedItem.GetAxisAlignedBoundingBox(Matrix4X4.Identity);
@@ -186,7 +184,6 @@ namespace MatterHackers.MatterControl.Library.Export
// Move to bed center
var bedCenter = printer.Bed.BedCenter;
loadedItem.Matrix *= Matrix4X4.CreateTranslation((double)-aabb.Center.X, (double)-aabb.Center.Y, (double)-aabb.minXYZ.Z) * Matrix4X4.CreateTranslation(bedCenter.X, bedCenter.Y, 0);
- loadedItem.Color = loadedItem.Color;
}
string originalSpiralVase = printer.Settings.GetValue(SettingsKey.spiral_vase);
@@ -231,6 +228,7 @@ namespace MatterHackers.MatterControl.Library.Export
}
public bool ApplyLeveling { get; set; } = true;
+ public bool CenterOnBed { get; set; }
private void ApplyStreamPipelineAndExport(GCodeFileStream gCodeFileStream, string outputPath)
{
diff --git a/MatterControlLib/Library/Widgets/PrintLibraryWidget.cs b/MatterControlLib/Library/Widgets/PrintLibraryWidget.cs
index d6f51d6e9..a9b0e1716 100644
--- a/MatterControlLib/Library/Widgets/PrintLibraryWidget.cs
+++ b/MatterControlLib/Library/Widgets/PrintLibraryWidget.cs
@@ -922,7 +922,7 @@ namespace MatterHackers.MatterControl.PrintLibrary
private void exportButton_Click(object sender, EventArgs e)
{
//Open export options
- var exportPage = new ExportPrintItemPage(libraryView.SelectedItems.Select(item => item.Model));
+ var exportPage = new ExportPrintItemPage(libraryView.SelectedItems.Select(item => item.Model), true);
DialogWindow.Show(exportPage);
}
diff --git a/MatterControlLib/PartPreviewWindow/View3D/View3DWidget.cs b/MatterControlLib/PartPreviewWindow/View3D/View3DWidget.cs
index 7e3e14f83..9980e374f 100644
--- a/MatterControlLib/PartPreviewWindow/View3D/View3DWidget.cs
+++ b/MatterControlLib/PartPreviewWindow/View3D/View3DWidget.cs
@@ -1232,7 +1232,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
new ExportPrintItemPage(new[]
{
new InMemoryLibraryItem(selectedItem)
- }));
+ }, false));
});
}
}};
diff --git a/MatterControlLib/PartPreviewWindow/ViewControls3D.cs b/MatterControlLib/PartPreviewWindow/ViewControls3D.cs
index ba77f2f60..bb15e5bc4 100644
--- a/MatterControlLib/PartPreviewWindow/ViewControls3D.cs
+++ b/MatterControlLib/PartPreviewWindow/ViewControls3D.cs
@@ -579,7 +579,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
new ExportPrintItemPage(new[]
{
new InMemoryLibraryItem(sceneContext.Scene)
- }));
+ }, false));
});
},
IsEnabled = () => sceneContext.EditableScene
diff --git a/Submodules/MatterSlice b/Submodules/MatterSlice
index 97d32fc17..c295f6117 160000
--- a/Submodules/MatterSlice
+++ b/Submodules/MatterSlice
@@ -1 +1 @@
-Subproject commit 97d32fc172fd5ec45023c9b515673105950f76f0
+Subproject commit c295f6117eee8ad1f3728cd7810bbf9052f22677