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:
parent
1feb3d6616
commit
ffb743f925
4 changed files with 52 additions and 21 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue