ay laser-library (Alias: laser)
Bereitet gekaufte Laser-Vorlagenpakete für die Vorlagen-Bibliothek vor. Aus einem großen, rohen Bestand (Tausende Ordner, gemischte Formate, fehlende Vorschaubilder) entsteht je Design genau eine normierte SVG, ein Vorschaubild und vermessene Metadaten. Die Originale bleiben unverändert an ihrem Ort.
Der Befehl läuft lokal und braucht keine Anmeldung: er liest die Quellordner, schreibt nur in den Ausgabeordner und lädt nichts hoch. Das Einspielen in die Bibliothek ist ein späterer Schritt, der die hier erzeugten Manifeste liest.
Syntax
ay laser-library prepare <ordner...> [flags]
Was je Design passiert
- Design erkennen — ein Ordner mit Schneiddateien ist ein Design. Format-Unterordner (
svg/,png/,CDR.EPS.AI.PDF.DXF/) gehören zum Design darüber. Nummerierte Teile mit gleichem Namen (1-01,1-02…) sind ein Design mit mehreren Lagen; verschieden benannte Dateien in einem Ordner sind getrennte Designs. - Beste Schneiddatei wählen — SVG vor DXF vor PDF vor AI vor EPS vor CDR. DWG/CAD-Dateien sind keine Schneiddateien.
- Normieren — über Inkscape als schlichte SVG, zugeschnitten auf die Zeichnung (nicht auf die Seite) und mit Text in Pfade umgewandelt. So misst ein CorelDRAW-Motiv auf einer A4-Seite seine echte Größe.
- Vermessen — Breite und Höhe in mm, Schnittlänge, Fläche, Lagenzahl.
- Vorschaubild — ein mitgeliefertes Bild wird übernommen (Montageanleitungen und Hinweisbilder nie), sonst wird eines aus der SVG erzeugt.
- Anlass erkennen — Halloween, Nikolaus, Advent, Weihnachten, Valentinstag, Hochzeit, Ostern und weitere, aus Ordner- und Dateinamen (deutsch, englisch, spanisch).
- Dubletten zusammenführen — gleicher Inhalt in zwei Paketen ergibt einen Eintrag mit zwei Quellen.
Flags
| Flag | Zweck |
|---|---|
--root <ordner> |
Wurzel der Sammlung. Kategorie und Paket sind die ersten zwei Ordnerebenen darunter. Vorgabe: der erste angegebene Ordner |
--out <ordner> |
Ausgabeordner (Vorgabe laser-library) |
--exclude <muster> |
Ordner ausschließen (Name oder Pfad unter der Wurzel), mehrfach angebbar |
--no-default-exclude |
07 Modellbau nicht automatisch ausschließen |
--bed <BxH> |
Arbeitsfläche eines Lasers in mm, z. B. 600x400 oder "Laser A=600x400", mehrfach angebbar. Schaltet die Liste „passt auf keinen Laser" ein |
--inkscape <pfad> |
Pfad zu Inkscape (sonst AY_INKSCAPE, dann Suchpfad, dann die üblichen Installationsorte) |
--concurrency <n> |
Parallele Inkscape-Prozesse (Vorgabe 4) |
--limit <n> |
Nur die ersten n Designs — für einen Probelauf |
--retry-failed |
Teile, deren Umwandlung früher scheiterte, erneut versuchen |
--preview-width <px> |
Breite erzeugter Vorschaubilder (Vorgabe 800) |
Beispiele
# Probelauf über zwei Anlass-Ordner
ay laser-library prepare "\\NAS\Laser\Vorlagen\08 Anlässe\Halloween" "\\NAS\Laser\Vorlagen\08 Anlässe\Weihnachten" \
--root "\\NAS\Laser\Vorlagen" --limit 20
# Ganze Sammlung, Passung auf zwei Laser prüfen
ay laser-library prepare ./Vorlagen --out ./bibliothek --bed "Laser A=600x400" --bed "Laser B=1300x900" --concurrency 6
Ergebnis
<out>/<kategorie>/<paket>/manifest.json ein Eintrag je Design
<out>/<kategorie>/<paket>/<design>/design.svg normierte SVG (part-01.svg … bei mehreren Lagen)
<out>/<kategorie>/<paket>/<design>/preview.* übernommenes oder erzeugtes Vorschaubild
<out>/bericht.md, bericht.json Arbeitsliste
Der Bericht führt vier Listen: prüfen, passt auf keinen Laser, Dublette und Umwandlung fehlgeschlagen, dazu die Umwandlungsquote je Quellformat.
Ein zweiter Lauf übernimmt jede unveränderte Datei aus <out>/.cache und ist deshalb schnell. Ein abgebrochener Lauf verliert höchstens die letzten Dateien.
Doppelte Designs werden über alle Ordner eines Aufrufs erkannt. Wer mehrere Pakete prüft, gibt sie im selben Aufruf an.
Voraussetzung
Inkscape 1.0 oder neuer für die Umwandlung von DXF, PDF, AI, EPS und CDR sowie für erzeugte Vorschaubilder. Ohne Inkscape werden nur SVG-Quellen vermessen; alle anderen Formate erscheinen benannt unter „Umwandlung fehlgeschlagen".
Bei PDF- und AI-Dateien mit mehreren Seiten wird nur Seite 1 übernommen. Solche Designs stehen in der Liste „prüfen".