mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-23 06:09:38 +08:00
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
# Copyright (c) 2018 Ultimaker B.V.
|
|
# Cura is released under the terms of the LGPLv3 or higher.
|
|
|
|
from . import FlavorParser
|
|
|
|
|
|
class RepRapFlavorParser(FlavorParser.FlavorParser):
|
|
"""This parser is intended to interpret the RepRap Firmware g-code flavor."""
|
|
|
|
|
|
def __init__(self):
|
|
super().__init__()
|
|
|
|
def processMCode(self, M, line, position, path):
|
|
if M == 82:
|
|
# Set absolute extrusion mode
|
|
self._is_absolute_extrusion = True
|
|
elif M == 83:
|
|
# Set relative extrusion mode
|
|
self._is_absolute_extrusion = False
|
|
|
|
def _gCode90(self, position, params, path):
|
|
"""Set the absolute positioning
|
|
|
|
RepRapFlavor code G90 sets position of X, Y, Z to absolute
|
|
For absolute E, M82 is used
|
|
"""
|
|
self._is_absolute_positioning = True
|
|
return position
|
|
|
|
def _gCode91(self, position, params, path):
|
|
"""Set the relative positioning
|
|
|
|
RepRapFlavor code G91 sets position of X, Y, Z to relative
|
|
For relative E, M83 is used
|
|
"""
|
|
self._is_absolute_positioning = False
|
|
return position |