Kevin Lee 07bae818fb Fix move/array | 11 months ago | |
---|---|---|
samples | 11 months ago | |
src | 11 months ago | |
tests | 11 months ago | |
.gitignore | 11 months ago | |
Cargo.lock | 11 months ago | |
Cargo.toml | 11 months ago | |
README.md | 11 months ago | |
imhex.txt | 11 months ago |
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
# Specify one or more of the following:
# Color: [127, 127, 127]
# Enabled: true
# LoopCount: 3
# Speed: 1.234
# Power: 10.5
# Frequency: 10000
Cloning pen(s) (and optionally override settings):
Ops:
- !ClonePen
From: 0
To: 1
# Specify one or more of the following:
# Inclusive: true
# Color: [64, 64, 64]
# Enabled: true
# LoopCount: 3
# Speed: 1.234
# Power: 10.5
# Frequency: 10000
Incrementing a specific field by some value across a sequence of pens:
Ops:
- !PatternPen
From: 1
To: 5
# Specify one of the following:
# Field: !Loops 1
# Field: !Speed 100.0
# Field: !Power 10.0
# Field: !Frequency 1000
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 hatched rectangles with incrementing pens:
Ops:
- !HatchArray
Layer: 0
Width: 10.0
Height: 10.0
Columns: 3
Rows: 5
Spacing: 0.5
Z: 0.0
StartingPen: 0
Hatch:
LineSpacing: 0.01
# The following are optional parameters:
# Count: 2
# EdgeOffset: 0.0
# StartOffset: 0.0
# EndOffset: 0.0
# Angle: 0.0
# RotateAngle: 0.0
# LineRedution: 0.0
# LoopDistance: 0.0
# LoopCount: 0
# Pattern: !Bidirectional
# FollowEdgeOnce: true
# CrossHatch: true
Available patterns are: