From 30da1bd503eeb98344ced1d479fb4d693e5c1663 Mon Sep 17 00:00:00 2001 From: larsbrubaker Date: Sat, 15 Feb 2014 18:26:16 -0800 Subject: [PATCH] Fixing issue #9 infill density was greater than 1 and no error. --- PartPreviewWindow/GcodeViewBasic.cs | 7 ++++++- SlicerConfiguration/ActiveSliceSettings.cs | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/PartPreviewWindow/GcodeViewBasic.cs b/PartPreviewWindow/GcodeViewBasic.cs index 152473baa..c5bc3aec7 100644 --- a/PartPreviewWindow/GcodeViewBasic.cs +++ b/PartPreviewWindow/GcodeViewBasic.cs @@ -581,10 +581,15 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } void generateButton_Click(object sender, MouseEventArgs mouseEvent) + { + UiThread.RunOnIdle(DoGenerateButton_Click, sender); + } + + void DoGenerateButton_Click(object state) { if (ActiveSliceSettings.Instance.IsValid()) { - ((Button)sender).Visible = false; + ((Button)state).Visible = false; SlicingQueue.Instance.QueuePartForSlicing(printItem); startedSliceFromGenerateButton = true; } diff --git a/SlicerConfiguration/ActiveSliceSettings.cs b/SlicerConfiguration/ActiveSliceSettings.cs index 397828376..1780d3d38 100644 --- a/SlicerConfiguration/ActiveSliceSettings.cs +++ b/SlicerConfiguration/ActiveSliceSettings.cs @@ -200,6 +200,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } } + public double FillDensity + { + get + { + return ParseDouble(GetActiveValue("fill_density")); + } + } + public double MinFanSpeed { get @@ -610,6 +618,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration StyledMessageBox.ShowMessageBox(string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error"); return false; } + if (FillDensity < 0 || FillDensity > 1) + { + string error = "The Fill Density must be between 0 and 1 inclusive."; + string details = string.Format("It is currently set to {0}.", FillDensity); + string location = "Location: 'Advanced Controls' -> 'Slice Settings' -> 'Print' -> 'Infill'"; + StyledMessageBox.ShowMessageBox(string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error"); + return false; + } } catch(Exception e) {