Only center on bed during gcode export when exporting from library

fixed a bug with MatterSlice dependancy

issue: MatterHackers/MCCentral#4032
Slicing error when slicing for Pulse
This commit is contained in:
Lars Brubaker 2018-09-07 10:25:29 -07:00
parent f409d8b316
commit f73e98e0d7
7 changed files with 19 additions and 10 deletions

View file

@ -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)
{

View file

@ -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);
}