fragmuffin / pygcode

GCODE Parser for Python
GNU General Public License v3.0
123 stars 38 forks source link

PrusaSlicer gcode file compatibility #34

Open aissak21 opened 2 years ago

aissak21 commented 2 years ago

The following code chunk worked well for a gcode file sliced in CURA but not in PrusaSlicer. Now I get error: word 'P' value invalid. Is there a way to go about this to parse this file with pygcode, perhaps if it's not a compatibility issue? There is a PyGcode extension for Prusa but it's for adding gcode into the file via python.

from pygcode import Line
    gcode_lines = []
    gcode_block = []
    gcode_params = []

    with open(test_file2, 'r') as test:
      for line_text in test.readlines():
          line = Line(line_text) # decode gcode line
          line.block.gcodes  # list of gcodes
          line.block.modal_params  # motion modal parameters

          gcode_lines.append(line)
          gcode_block.append(line.block.gcodes)
          gcode_params.append(line.block.modal_params)

    print(gcode_block, sep='\n') 
xlxs4 commented 1 year ago

In my file, I've encountered: word 'P' value invalid, solved by commenting M862.3 P "MK3S" ; printer model check block code remaining '.1', solved by commenting M115 U3.10.1 ; tell printer latest fw version word 'W' value invalid, solved by commenting G28 W ; home all without mesh bed level

rongith commented 1 year ago

Check there: https://github.com/emorybarlow/pygcode