gcode_reader.emulate.machines.flexbot ===================================== .. py:module:: gcode_reader.emulate.machines.flexbot Classes ------- .. autoapisummary:: gcode_reader.emulate.machines.flexbot.CEADAMFlexbot Module Contents --------------- .. py:class:: CEADAMFlexbot(**options) Bases: :py:obj:`gcode_reader.emulate.machine.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)`` Initializes a new Machine instance. :param tools: A tuple of Tool instances for the machine to use. Defaults to None. :type tools: Tuple[Tool, ...], optional :param parser: An instance of a GcodeParser. Defaults to a new GcodeParser(). :type parser: GcodeParser, optional :param exporter: An instance of a GcodeExporter. Defaults to a new GcodeExporter(). :type exporter: GcodeExporter, optional :param \*\*options: Keyword arguments passed to the constructor of the machine's `MachineOptions` type. .. py:method:: gcode_file_to_operation(filepath: str, operation_type=AdditiveOperation) Parses a G-code file and returns a processed Operation. This method uses the machine's configured parser to read a G-code file into a list of commands, wraps them in the specified `operation_type`, and then processes the operation to populate its process data. :param filepath: The path to the G-code file. :type filepath: str :param operation_type: The class of Operation to create (e.g., `Operation`, `AdditiveOperation`). Defaults to `Operation`. :type operation_type: type, optional :returns: A new, processed Operation instance. :rtype: Operation :raises ValueError: If `operation_type` is not a valid subclass of `Operation`. .. py:attribute:: options