Examples
📖 Usage Examples
Example 1: Parse Basic Stockinette
from knitout_interpreter.knitout_language.Knitout_Parser import parse_knitout
knitout_code = """
;!knitout-2
;;Machine: SWG091N2
;;Gauge: 15
;;Yarn-5: 50-50 Rust
;;Carriers: 1 2 3 4 5 6 7 8 9 10
;;Position: Right
inhook 1;
tuck + f1 1;
tuck + f2 1;
tuck + f3 1;
tuck + f4 1;
knit - f4 1
knit - f3 1
knit - f2 1
knit - f1 1
knit + f1 1;
knit + f2 1;
knit + f3 1;
knit + f4 1;
knit - f4 1
knit - f3 1
knit - f2 1
knit - f1 1
releasehook 1;
outhook 1;
"""
instructions = parse_knitout(knitout_code)
# Process instructions...
Example 2: Pattern Analysis
from knitout_interpreter.knitout_execution import Knitout_Executer
# Analyze with executer
executer = Knitout_Executer("complex_pattern.knitout")
# Print analysis
print("=== Pattern Analysis ===")
print(f"Total instructions: {len(instructions)}")
print(f"Execution time: {executer.execution_time} passes")
print(f"Width: {executer.right_most_position - executer.left_most_position + 1} needles")
# Analyze carriage passes
for i, cp in enumerate(executer.carriage_passes):
print(f"Pass {i+1}: {cp}")
Example 3: Working with Carriage Passes
from knitout_interpreter.knitout_execution import Knitout_Executer
from virtual_knitting_machine.Knitting_Machine import Knitting_Machine
executer = Knitout_Executer(
instructions
knitting_machine=Knitting_Machine(),
accepted_error_types=[], # Optional: Knitting Machine Errors to ignore
knitout_version=2
)
for carriage_pass in executer.carriage_passes:
print(f"Pass direction: {carriage_pass.direction}")
print(f"Instructions: {len(carriage_pass)}")
print(f"Needle range: {carriage_pass.carriage_pass_range()}")
print(f"Carriers used: {carriage_pass.carrier_set}")
Example 4: Error Handling
from knitout_interpreter.run_knitout import run_knitout
from knitout_interpreter.knitout_errors.Knitout_Error import Knitout_Error
try:
instructions, machine, graph = run_knitout("pattern_with_errors.k")
print("Pattern executed successfully!")
except Knitout_Error as e:
print(f"Knitting error occurred: {e}")
except FileNotFoundError:
print("Knitout file not found!")