# VisiCut settings — FabLab Rothenburg Inhalt des VisiCut-Einstellungsordners (`~/.visicut`): Geräte, Materialien, Profile und die getesteten Laserparameter je Material und Dicke. Installation: Inhalt nach `~/.visicut` kopieren (oder das Repo dorthin klonen) und VisiCut starten. ## Ordner | Ordner | Inhalt | |---|---| | `devices/` | Lasercutter (`LaserDevice`), inkl. Kamera-Homographie | | `materials/` | Materialien (`MaterialProfile`) + Vorschaubild `.png` | | `profiles/` | Bearbeitungsarten: `cut`, `mark`, `engrave`, `engrave 3d` | | `laserprofiles///mm/.xml` | Leistung / Geschwindigkeit / Fokus / Frequenz | | `settings/` | VisiCut-Voreinstellungen | | `tools/` | Prüf- und Hilfsskripte (nicht von VisiCut gelesen) | ## Namensregel — wichtig VisiCut baut die Pfade unter `laserprofiles/` aus den **Namen** von Gerät, Material und Profil, nicht aus den Dateinamen. Umgewandelt wird mit `Helper.toPathName()` ([Helper.java](https://github.com/t-oster/VisiCut/blob/master/src/main/java/de/thomas_oster/visicut/misc/Helper.java)): Alles außer `A–Z a–z 0–9 . -` wird durch `__` ersetzt. ``` Leerzeichen -> _32_ ( -> _40_ ) -> _41_ ü -> _252_ ``` Also: ``` Sperrholz Birke -> materials/Sperrholz_32_Birke.xml -> laserprofiles/Epilog_32_ZING/Sperrholz_32_Birke/3.0mm/cut.xml ``` `Sperrholz_Birke/` (ohne `_32_`) findet VisiCut **nicht** — die Einstellungen sind dann still weg, ohne Fehlermeldung. `materials/*.xml` benennt VisiCut beim Laden selbst um, die Ordner unter `laserprofiles/` **nicht**. Deshalb nach jeder Änderung von Hand: ```sh python3 tools/validate.py . ``` Das Skript prüft Dateinamen, XML, Dicken, Property-Klassen, Wertebereiche und fehlende Einstellungen und gibt bei sauberem Stand `TOTAL: 0 problems` aus. Die Dicke im Ordnernamen ist `Float.toString()` + `mm`, also `3.0mm`, `0.55mm`, `6.5mm` — nicht `3mm`. Sie muss in `` des Materials stehen, sonst wird sie im Auswahlfeld gar nicht angeboten. ## Property-Klassen (Epilog Zing) | Profil | Typ | XML-Element | Felder | |---|---|---|---| | `cut`, `mark` | `vectorProfile` | `` | power, speed, focus, frequency | | `engrave` | `rasterProfile` | `` | power, speed, focus | | `engrave 3d` | `raster3dProfile` | `` | power, speed, focus | `LaserPropertyManager` registriert XStream-Aliase nur für `PowerSpeedFocusProperty`, `PowerSpeedFocusFrequencyProperty`, `FloatPowerSpeedFocusFrequencyProperty` und `LaosCutterProperty`. Andere Kurznamen (z. B. `EpilogEngraveProperty`) lassen sich **nicht** laden. Den `EpilogEngraveProperty`, den der Epilog-Treiber für Raster-Teile erwartet, baut VisiCut beim Laden selbst aus dem `PowerSpeedFocusProperty` — `frequency` gehört dort nicht hinein und geht sonst verloren. Mehrere Einträge in einer `` = mehrere Durchgänge. `frequency` wird von liblasercut auf 10–5000 Hz begrenzt, power/speed sind Prozent. `settings/settings.xml` hat `useThicknessAsFocusOffset=true`: VisiCut addiert die Materialdicke zum `focus`-Wert. `focus` in den Profilen ist also ein **Offset** in mm, kein Absolutwert. ## Neues Material anlegen Am einfachsten in VisiCut selbst (Einstellungen → Material verwalten, dann Laserparameter im Hauptfenster speichern) — dann stimmen alle Pfade automatisch. Von Hand: ```sh python3 - <<'EOF' name, thick = "Neues Material", ["3.0"] ALLOWED = set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-") print("".join(c if c in ALLOWED else "_%d_" % ord(c) for c in name)) EOF ``` … und den ausgegebenen Namen für `materials/.xml` und `laserprofiles///` verwenden. Danach `tools/validate.py` laufen lassen. ## Vorschaubilder `materials/.png` wird von VisiCut automatisch gefunden. Herkunft und Lizenz je Bild: [`materials/CREDITS.md`](materials/CREDITS.md). Neu erzeugen: `python3 tools/make_thumbnails.py` (braucht `requests` und `Pillow`). ## Herkunft der Parameter * [FabLab Rothenburg – Lasercutter](https://wiki.fablab-rothenburg.de/index.php/Lasercutter) — die im Lab selbst getesteten Werte. Bei Abweichungen gilt das Wiki. * [FabLab Region Nürnberg – ZING 4030](https://wiki.fablab-nuernberg.de/w/ZING_4030) — gleiche Maschinenklasse (Zing, 30 W); deckt sich u. a. bei Sperrholz Birke und Leder. Alle übrigen Werte sind **nicht** gegen eine dieser Quellen belegt. Vor dem ersten Job auf einem neuen Material: Testschnitt auf Verschnitt. ## Nicht lasern PVC, Vinyl, ABS, Polycarbonat, HDPE, Polystyrol — siehe Hinweistext in `devices/Epilog_32_ZING_32__40_FabLab_32_Rothenburg_41_.xml`.