Making gcode visualizer parse relative extruder correctly

issue: MatterHackers/MCCentral#3913
Made prusa layer changes show by default
Problems with GCode from Simplify3D and relative extrusion
This commit is contained in:
Lars Brubaker 2021-09-08 16:32:23 -07:00
parent 1feb3d6616
commit ffb743f925
4 changed files with 52 additions and 21 deletions

View file

@ -114,20 +114,34 @@ namespace MatterControl.Printing
"; LAYER:",
";LAYER:",
"; layer ",
";LAYER_CHANGE" // prusa slicer default
};
public static bool IsLayerChange(string line)
{
return LayerLineStartTokens.Any(l => line.StartsWith(l));
return LayerChangeString(line) != null;
}
public static string LayerChangeString(string line)
{
for (int i = 0; i < LayerLineStartTokens.Length; i++)
{
if (line.StartsWith(LayerLineStartTokens[i]))
{
return LayerLineStartTokens[i];
}
}
return null;
}
public static int GetLayerNumber(string line)
{
var layerToken = LayerLineStartTokens.FirstOrDefault(t => line.StartsWith(t));
var layerChangeString = LayerChangeString(line);
if (layerToken != null)
if (layerChangeString != null)
{
line = line.Substring(layerToken.Length);
line = line.Substring(layerChangeString.Length);
// Find the first digits after the layer start token
var match = FirstDigitsAfterToken.Match(line);