knitout_to_dat_python.kickback_injection.kickback_execution module

Subclass of Knitout_Executer that introduces kickbacks for carrier management when creating Dat files.

This module provides enhanced knitout execution with automatic kickback injection for carrier management. It prevents carrier conflicts by automatically inserting kick instructions to move carriers out of the way of incoming carriage passes, ensuring smooth operation during DAT file generation.

class Knitout_Executer_With_Kickbacks(instructions: list[Knitout_Line], knitting_machine: Knitting_Machine)[source]

Bases: Knitout_Executer

Subclass of the Knitout_Executer that introduces kickback logic for carrier management before each carriage pass.

This class extends the standard Knitout_Executer to automatically inject kick instructions that prevent carrier conflicts during knitting operations. It tracks carrier positions, manages carrier buffers, and generates appropriate kickback sequences to ensure carriers don’t interfere with carriage pass execution.

Parameters:
  • instructions (list[Knitout_Line])

  • knitting_machine (Knitting_Machine)

STOPPING_DISTANCE: int = 10

The distance carriers are moved when kicked to avoid conflicts.

Type:

int

__init__(instructions: list[Knitout_Line], knitting_machine: Knitting_Machine)[source]

Initialize a Knitout_Executer_With_Kickbacks.

Creates an enhanced knitout executor that automatically manages carrier conflicts through kickback injection. Sets up carrier tracking systems and processes the instruction list with automatic conflict resolution.

Parameters:
  • instructions (list[Knitout_Line]) – The list of knitout instructions to execute.

  • knitting_machine (Knitting_Machine) – The knitting machine to execute instructions on.

process: list[Knitout_Line | Carriage_Pass]

The processed instruction list including injected kickbacks.

Type:

list[Knitout_Line | Carriage_Pass]

executed_instructions: list[Knitout_Line]

The list of executed instruction lines.

Type:

list[Knitout_Line]

kickback_machine: Knitting_Machine

Separate machine instance for tracking kickback state.

Type:

Knitting_Machine

add_kickbacks_to_process() None[source]

Rerun the executor’s process but add kickback logic to form a new kickback program.

Processes the original instruction list and automatically injects kick instructions to prevent carrier conflicts. Manages carrier state tracking, conflict detection, and kickback generation throughout the execution process.

Return type:

None