class GCodeParser(): def __init__(self, gcode_file): self.gcode_file = gcode_file self.lines = [] self._parse_gcode() def _parse_gcode(self): from pygcode import Line, Machine machine = Machine() positions = [] with open(self.gcode_file, "r") as gcode_file: for line_text in gcode_file: line = Line(line_text) if line.block.gcodes: machine.process_gcodes(*line.block.gcodes) positions.append((machine.pos.X, machine.pos.Y, machine.pos.Z)) self.lines = positions def get_positions(self): return self.lines