gcode_reader.emulate.machines.flexbot

Classes

CEADAMFlexbot

CEAD AM Flexbot — a 5-axis robotic additive manufacturing system.

Module Contents

class gcode_reader.emulate.machines.flexbot.CEADAMFlexbot(**options)[source]

Bases: 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.

Parameters:
  • tools (Tuple[Tool, ...], optional) – A tuple of Tool instances for the machine to use. Defaults to None.

  • parser (GcodeParser, optional) – An instance of a GcodeParser. Defaults to a new GcodeParser().

  • exporter (GcodeExporter, optional) – An instance of a GcodeExporter. Defaults to a new GcodeExporter().

  • **options – Keyword arguments passed to the constructor of the machine’s MachineOptions type.

gcode_file_to_operation(filepath: str, operation_type=AdditiveOperation)[source]

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.

Parameters:
  • filepath (str) – The path to the G-code file.

  • operation_type (type, optional) – The class of Operation to create (e.g., Operation, AdditiveOperation). Defaults to Operation.

Returns:

A new, processed Operation instance.

Return type:

Operation

Raises:

ValueError – If operation_type is not a valid subclass of Operation.

options