From 9bbd272467aea6064f3b9a261f7bc56c3caa9169 Mon Sep 17 00:00:00 2001 From: larsbrubaker Date: Fri, 29 Aug 2014 10:45:21 -0700 Subject: [PATCH] Cleaned up the GetRenderType call to eventually improve the 3d gcode layer creation speed Made setting the extruder temp to 0 suppress outputting M109 --- PartPreviewWindow/ViewGcodeBasic.cs | 9 +++++++-- .../SlicerMapping/MappingClasses.cs | 17 +++++++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/PartPreviewWindow/ViewGcodeBasic.cs b/PartPreviewWindow/ViewGcodeBasic.cs index cf6ae0c5a..f8ae3a81f 100644 --- a/PartPreviewWindow/ViewGcodeBasic.cs +++ b/PartPreviewWindow/ViewGcodeBasic.cs @@ -260,7 +260,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow AddHandlers(); } - void TrackballTumbleWidget_DrawGlContent(object sender, EventArgs e) + RenderType GetRenderType() { RenderType renderType = RenderType.Extrusions; if (gcodeViewWidget.RenderMoves) @@ -280,8 +280,13 @@ namespace MatterHackers.MatterControl.PartPreviewWindow renderType |= RenderType.SimulateExtrusion; } + return renderType; + } + + void TrackballTumbleWidget_DrawGlContent(object sender, EventArgs e) + { GCodeRenderer.ExtrusionColor = ActiveTheme.Instance.PrimaryAccentColor; - gcodeViewWidget.gCodeRenderer.Render3D(0, Math.Min(gcodeViewWidget.ActiveLayerIndex + 1, gcodeViewWidget.LoadedGCode.NumChangesInZ), gcodeViewWidget.TotalTransform, 1, renderType, + gcodeViewWidget.gCodeRenderer.Render3D(0, Math.Min(gcodeViewWidget.ActiveLayerIndex + 1, gcodeViewWidget.LoadedGCode.NumChangesInZ), gcodeViewWidget.TotalTransform, 1, GetRenderType(), gcodeViewWidget.FeatureToStartOnRatio0To1, gcodeViewWidget.FeatureToEndOnRatio0To1); } diff --git a/SlicerConfiguration/SlicerMapping/MappingClasses.cs b/SlicerConfiguration/SlicerMapping/MappingClasses.cs index ba0e2ed29..7a2ffaac5 100644 --- a/SlicerConfiguration/SlicerMapping/MappingClasses.cs +++ b/SlicerConfiguration/SlicerMapping/MappingClasses.cs @@ -140,8 +140,13 @@ namespace MatterHackers.MatterControl.SlicerConfiguration string setBedTempString = string.Format("M190 S{0}", bed_temperature); AddDefaultIfNotPresent(preStartGCode, setBedTempString, preStartGCodeLines, "wait for bed temperature to be reached"); } - string setTempString = string.Format("M104 S{0}", ActiveSliceSettings.Instance.GetActiveValue("temperature")); - AddDefaultIfNotPresent(preStartGCode, setTempString, preStartGCodeLines, "set temperature"); + + string extruderTemperature = ActiveSliceSettings.Instance.GetActiveValue("temperature"); + if (extruderTemperature != "0") + { + string setTempString = string.Format("M104 S{0}", extruderTemperature); + AddDefaultIfNotPresent(preStartGCode, setTempString, preStartGCodeLines, "set temperature"); + } preStartGCode.Add("; settings from start_gcode"); return preStartGCode; @@ -154,8 +159,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration List postStartGCode = new List(); postStartGCode.Add("; automatic settings after start_gcode"); - string setTempString = "M109 S{0}".FormatWith(ActiveSliceSettings.Instance.GetActiveValue("temperature")); - AddDefaultIfNotPresent(postStartGCode, setTempString, postStartGCodeLines, "wait for temperature"); + string extruderTemperature = ActiveSliceSettings.Instance.GetActiveValue("temperature"); + if (extruderTemperature != "0") + { + string setTempString = "M109 S{0}".FormatWith(extruderTemperature); + AddDefaultIfNotPresent(postStartGCode, setTempString, postStartGCodeLines, "wait for temperature"); + } AddDefaultIfNotPresent(postStartGCode, "G90", postStartGCodeLines, "use absolute coordinates"); postStartGCode.Add(string.Format("{0} ; {1}", "G92 E0", "reset the expected extruder position")); AddDefaultIfNotPresent(postStartGCode, "M82", postStartGCodeLines, "use absolute distance for extrusion");