This tool parses and patches EZCAD files with values specified in a YAML config file. The EZCAD format as implemented in this crate was reverse engineered from sample files, so use at your own risk.
Usage: minilase.exe [OPTIONS] --input <INPUT>
Options:
-i, --input <INPUT> Input file to parse
-d, --diff <DIFF> File to diff input against
-o, --output <OUTPUT> Output file to write to
-c, --config <CONFIG> Configuration file
-v, --verbose... Increase logging verbosity
-q, --quiet... Decrease logging verbosity
-h, --help Print help
Operations defined in the configuration file are applied in order of definition.
Setting values of specific fields for a given pen:
Ops:
- !PatchPen
Pen: 0 # Target pen
Color: [127, 127, 127] # Optional - target pen RGB color
Enabled: true # Optional - target pen enable flag
LoopCount: 3 # Optional - target pen loop count
Speed: 1.234 # Optional - target pen speed
Power: 10.5 # Optional - target pen power
Frequency: 10000 # Optional - target pen frequency
Cloning pen(s) (and optionally override settings):
Ops:
- !ClonePen
From: 0 # Source pen
To: 1 # Target pen
# Inclusive: true # Optional - will clone to all pens in range
# Color: [64, 64, 64] # Optional - target pen RGB color
# Enabled: true # Optional - target pen enable flag
# LoopCount: 3 # Optional - target pen loop count
# Speed: 1.234 # Optional - target pen speed
# Power: 10.5 # Optional - target pen power
# Frequency: 10000 # Optional - target pen frequency
Incrementing a specific field by some value across a sequence of pens:
Ops:
- !PatternPen
From: 1 # Starting pen to copy settings from
To: 5 # Ending pen to stop at (inclusive)
# Field: !Loops 1 # Choose one
# Field: !Speed 100.0 # Choose one
# Field: !Power 10.0 # Choose one
# Field: !Frequency 1000 # Choose one
Exporting a pen to a file:
Ops:
- !ExportPen
Index: 0
Path: "exported_pen.bin"
Importing a pen from a file:
Ops:
- !ImportPen
Index: 0
Path: "exported_pen.bin"
Exporting an object to a file:
Ops:
- !ExportObject
Layer: 0
Object: 0
Path: "exported_object.bin"
Importing an object from a file:
Ops:
- !ImportObject
Layer: 0
Object: 3 # Optional, will replace specified object instead
Path: "exported_object.bin"
Deleting all objects from a layer:
Ops:
- !DeleteObjects
Layer: 0
Object: 3 # Optional, will delete specific object instead
Generating a grid of rectangles with incrementing pens:
Ops:
- !RectangleArray
Layer: 0
Width: 10.0
Height: 10.0
Columns: 3
Rows: 5
Spacing: 0.5
Z: 0.0
StartingPen: 0