start layer numbering at 1 (similar to Cura)
This commit is contained in:
@@ -127,7 +127,8 @@ class GcodeFileAnalyzer:
|
||||
for layerIndexOrHeight in layerIndicesOrHeights:
|
||||
if isinstance(layerIndexOrHeight, int):
|
||||
# already a layer index
|
||||
layerIndices.append(layerIndexOrHeight)
|
||||
# minus one because first layer input starts at one (similar to Cura)
|
||||
layerIndices.append(layerIndexOrHeight - 1)
|
||||
elif isinstance(layerIndexOrHeight, str):
|
||||
# extract millimeters
|
||||
millisMatch = RE_MILLIMETERS.search(layerIndexOrHeight)
|
||||
@@ -147,8 +148,8 @@ class GcodeFileAnalyzer:
|
||||
# Add default header
|
||||
lines = list(self.header)
|
||||
logging.info('Exporting Layers {} ({} mm) ... {} ({} mm)'
|
||||
.format(startLayer.number, startLayer.zHeight,
|
||||
endLayer.number, endLayer.zHeight))
|
||||
.format(startLayer.number + 1, startLayer.zHeight,
|
||||
endLayer.number + 1, endLayer.zHeight))
|
||||
|
||||
if startLayer.number != 0:
|
||||
# Add extra initalization
|
||||
@@ -252,5 +253,7 @@ if __name__ == '__main__':
|
||||
# [124])
|
||||
# GcodeFileAnalyzer.SplitFileAtLayers(r"Q:\DIY\3Dprint\Models\Thingiverse\MoonLamp\gcode\moon5inches.gcode",
|
||||
# [100, 200, 400, 600, 700])
|
||||
GcodeFileAnalyzer.SplitFileAtLayers(r"Q:\DIY\3Dprint\Models\Benjamin\Vier_Cura5.1.1.gcode",
|
||||
[42])
|
||||
# GcodeFileAnalyzer.SplitFileAtLayers(r"Q:\DIY\3Dprint\Models\Benjamin\Vier_Cura5.1.1.gcode",
|
||||
# [42])
|
||||
GcodeFileAnalyzer.SplitFileAtLayers(r"Q:\DIY\3Dprint\Models\Geschenke\Mama\Herz\MarkusTinaHerz.gcode",
|
||||
[31])
|
||||
|
||||
@@ -4,6 +4,7 @@ from GcodeFileSplitter import GcodeFileAnalyzer
|
||||
|
||||
dummyGcode = [
|
||||
'header01', 'header02',
|
||||
';Generated with Cura_SteamEngine 3.5.1',
|
||||
';LAYER_COUNT:4',
|
||||
';LAYER:0', 'G0 Z0.3', 'G1 E0', ';TIME_ELAPSED:1.11',
|
||||
';LAYER:1', 'M106 S255', 'G0 Z0.5', 'G1 E11.11', ';TIME_ELAPSED:2.11',
|
||||
@@ -15,7 +16,7 @@ dummyGcode = [
|
||||
class GcodeTest(unittest.TestCase):
|
||||
def test_Analyzer(self):
|
||||
gcode = GcodeFileAnalyzer(dummyGcode)
|
||||
self.assertEqual(gcode.header, ['header01', 'header02', ';LAYER_COUNT:4'])
|
||||
self.assertEqual(gcode.header, ['header01', 'header02', ';Generated with Cura_SteamEngine 3.5.1', ';LAYER_COUNT:4'])
|
||||
self.assertEqual(gcode.footer, ['G1 F1500 E30', 'footer02'])
|
||||
self.assertEqual(gcode.layers[0].lines, [';LAYER:0', 'G0 Z0.3', 'G1 E0', ';TIME_ELAPSED:1.11',])
|
||||
self.assertEqual(gcode.layers[1].lines, [';LAYER:1', 'M106 S255', 'G0 Z0.5', 'G1 E11.11', ';TIME_ELAPSED:2.11',])
|
||||
@@ -27,7 +28,7 @@ class GcodeTest(unittest.TestCase):
|
||||
|
||||
def test_SplitInTwo(self):
|
||||
gcode = GcodeFileAnalyzer(dummyGcode)
|
||||
lines1, lines2 = gcode.ExportSplitted([2])
|
||||
lines1, lines2 = gcode.ExportSplitted([3])
|
||||
|
||||
# Check first file
|
||||
# header + layer 1 and 2
|
||||
@@ -55,7 +56,7 @@ class GcodeTest(unittest.TestCase):
|
||||
|
||||
def test_SplitInThree(self):
|
||||
gcode = GcodeFileAnalyzer(dummyGcode)
|
||||
lines1, lines2, lines3 = gcode.ExportSplitted([2, 3])
|
||||
lines1, lines2, lines3 = gcode.ExportSplitted([3, 4])
|
||||
|
||||
# Check first file
|
||||
# header + layer 1 and 2
|
||||
|
||||
Reference in New Issue
Block a user