Source code for gcode_reader.emulate.machines.flexbot

from ..machine import Machine
from ..extruders import MeltPumpExtruder
from .. import machine_options
from ..parsers import GcodeParser
from ..operations import AdditiveOperation
from ..registry import register


[docs] @register("cead", aliases=["flexbot", "ceadamflexbot"]) class CEADAMFlexbot(Machine): """CEAD AM Flexbot — a 5-axis robotic additive manufacturing system. The A, B, C rotational axes in the G-code specify the tool orientation as Euler angles (degrees). They are converted to a unit ``tool_direction`` vector stored on each ``AdditiveProcessData`` object. Conversion: rotations about X (A), Y (B), Z (C) are applied in that order starting from the default Z-up direction ``(0, 0, 1)``. Example: A=45, B=0, C=90 -> ``(1/√2, 0, 1/√2)`` """ def __init__(self, **options): super().__init__( tools=(MeltPumpExtruder()), parser=GcodeParser(syntax_name="cead") ) self._options_type = machine_options.CEADOptions self.options = options
[docs] def gcode_file_to_operation(self, filepath: str, operation_type=AdditiveOperation): return super().gcode_file_to_operation(filepath, operation_type)