Files
S4-P3-Projet/pcbdevice/gcode/GcodeBuilder.py
Marc-Antoine Lafreniere 30c219d6b2 #42 Run the c++ code to convert PBM binary to ascii
Run the converter if the image is in binary
2019-03-17 20:00:03 -04:00

35 lines
891 B
Python

def listToGCode(listIndex, pHeight, pWidth):
"""
Convert a list of matrix coordinate in a list of GCode commands
:param listIndex: List of coordinate
:param pHeight: Pixel height in mm
:param pWidth: Pixel width in mm
:return: List of all the GCode commands
"""
gcodeCommand = []
toolUp = True
if pHeight <= 0 or pWidth <= 0:
raise RuntimeError('Pixel dimension error')
# HEADER
gcodeCommand.append('G28')
gcodeCommand.append('G90\n')
for coord in listIndex:
if coord.getX() == -1 and coord.getY() == -1:
gcodeCommand.append('G0 Z0')
toolUp = True
else:
gcodeCommand.append('G0 X' + str(round(coord.getX()*pWidth, 2)) + ' Y' + str(round(coord.getY()*pHeight, 2)))
if toolUp:
gcodeCommand.append('G0 Z3')
toolUp = False
# FOOTER
gcodeCommand.append('\nG0 Z0')
gcodeCommand.append('G28')
gcodeCommand.append('M18')
return gcodeCommand