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:
parent
f409d8b316
commit
f73e98e0d7
7 changed files with 19 additions and 10 deletions
|
|
@ -65,6 +65,10 @@
|
|||
<Project>{93bebfdf-b81a-4344-ab82-0dbf58b234cd}</Project>
|
||||
<Name>MatterControlLib</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="Submodules\MatterSlice\MatterSlice.csproj">
|
||||
<Project>{b0aed568-8796-42b9-baa9-ebc796134e78}</Project>
|
||||
<Name>MatterSlice</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
|
|
@ -50,8 +50,11 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
private IEnumerable<ILibraryItem> libraryItems;
|
||||
|
||||
public ExportPrintItemPage(IEnumerable<ILibraryItem> libraryItems)
|
||||
bool centerOnBed;
|
||||
|
||||
public ExportPrintItemPage(IEnumerable<ILibraryItem> 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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1232,7 +1232,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
new ExportPrintItemPage(new[]
|
||||
{
|
||||
new InMemoryLibraryItem(selectedItem)
|
||||
}));
|
||||
}, false));
|
||||
});
|
||||
}
|
||||
}};
|
||||
|
|
|
|||
|
|
@ -579,7 +579,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
new ExportPrintItemPage(new[]
|
||||
{
|
||||
new InMemoryLibraryItem(sceneContext.Scene)
|
||||
}));
|
||||
}, false));
|
||||
});
|
||||
},
|
||||
IsEnabled = () => sceneContext.EditableScene
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 97d32fc172fd5ec45023c9b515673105950f76f0
|
||||
Subproject commit c295f6117eee8ad1f3728cd7810bbf9052f22677
|
||||
Loading…
Add table
Add a link
Reference in a new issue