diff --git a/MatterControlLib/DesignTools/Primitives/CylinderObject3D.cs b/MatterControlLib/DesignTools/Primitives/CylinderObject3D.cs index 46622a17a..1ce62a84a 100644 --- a/MatterControlLib/DesignTools/Primitives/CylinderObject3D.cs +++ b/MatterControlLib/DesignTools/Primitives/CylinderObject3D.cs @@ -147,12 +147,17 @@ namespace MatterHackers.MatterControl.DesignTools this.DebugDepth("Rebuild"); bool valuesChanged = false; + Sides = agg_basics.Clamp(Sides, 3, 360, ref valuesChanged); + Height = agg_basics.Clamp(Height, .01, 1000000, ref valuesChanged); + Diameter = agg_basics.Clamp(Diameter, .01, 1000000, ref valuesChanged); + + if (valuesChanged) + { + Invalidate(InvalidateType.DisplayValues); + } + using (RebuildLock()) { - Sides = agg_basics.Clamp(Sides, 3, 360, ref valuesChanged); - Height = agg_basics.Clamp(Height, .01, Height, ref valuesChanged); - Diameter = agg_basics.Clamp(Diameter, .01, Diameter, ref valuesChanged); - using (new CenterAndHeightMaintainer(this)) { if (!Advanced) @@ -178,11 +183,6 @@ namespace MatterHackers.MatterControl.DesignTools } } - if (valuesChanged) - { - Invalidate(InvalidateType.DisplayValues); - } - Parent?.Invalidate(new InvalidateArgs(this, InvalidateType.Mesh)); return Task.CompletedTask; } diff --git a/MatterControlLib/SlicerConfiguration/EngineMappingsMatterSlice.cs b/MatterControlLib/SlicerConfiguration/EngineMappingsMatterSlice.cs index 00ef6aed8..8dfbd3eb1 100644 --- a/MatterControlLib/SlicerConfiguration/EngineMappingsMatterSlice.cs +++ b/MatterControlLib/SlicerConfiguration/EngineMappingsMatterSlice.cs @@ -668,7 +668,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration AddDefaultIfNotPresent(preStartGCode, "G21", startGCodeLines, "set units to millimeters"); AddDefaultIfNotPresent(preStartGCode, "M107", startGCodeLines, "fan off"); double bed_temperature = settings.GetValue(SettingsKey.bed_temperature); - if (bed_temperature > 0) + if (bed_temperature > 0 + && settings.GetValue(SettingsKey.has_heated_bed)) { string setBedTempString = string.Format("M140 S{0}", bed_temperature); AddDefaultIfNotPresent(preStartGCode, setBedTempString, startGCodeLines, "start heating the bed"); @@ -736,6 +737,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration double bed_temperature = settings.GetValue(SettingsKey.bed_temperature); if (bed_temperature > 0 + && settings.GetValue(SettingsKey.has_heated_bed) && !startGCode.Contains("M109")) { string setBedTempString = string.Format("M190 S{0}", bed_temperature); diff --git a/Tests/MatterControl.Tests/MatterControl/SliceSettingsFieldTests.cs b/Tests/MatterControl.Tests/MatterControl/SliceSettingsFieldTests.cs index 87f3d7270..83010cae3 100644 --- a/Tests/MatterControl.Tests/MatterControl/SliceSettingsFieldTests.cs +++ b/Tests/MatterControl.Tests/MatterControl/SliceSettingsFieldTests.cs @@ -322,7 +322,7 @@ namespace MatterControl.Tests.MatterControl } [Test, Ignore("Not Implemented")] - public async void ColorFieldTest() + public void ColorFieldTest() { Assert.Fail(); }