|
|
18 giờ trước cách đây | |
|---|---|---|
| devices | 18 giờ trước cách đây | |
| laserprofiles | 18 giờ trước cách đây | |
| materials | 18 giờ trước cách đây | |
| profiles | 19 giờ trước cách đây | |
| settings | 18 giờ trước cách đây | |
| tools | 18 giờ trước cách đây | |
| README.md | 18 giờ trước cách đây |
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 | Inhalt |
|---|---|
devices/ |
Lasercutter (LaserDevice), inkl. Kamera-Homographie |
materials/ |
Materialien (MaterialProfile) + Vorschaubild <name>.png |
profiles/ |
Bearbeitungsarten: cut, mark, engrave, engrave 3d |
laserprofiles/<Gerät>/<Material>/<Dicke>mm/<Profil>.xml |
Leistung / Geschwindigkeit / Fokus / Frequenz |
settings/ |
VisiCut-Voreinstellungen |
tools/ |
Prüf- und Hilfsskripte (nicht von VisiCut gelesen) |
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):
Alles außer A–Z a–z 0–9 . - wird durch _<ASCII-Code>_ ersetzt.
Leerzeichen -> _32_ ( -> _40_ ) -> _41_ ü -> _252_
Also:
<name>Sperrholz Birke</name> -> 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:
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 <materialThicknesses> des Materials stehen, sonst wird sie
im Auswahlfeld gar nicht angeboten.
| Profil | Typ | XML-Element | Felder |
|---|---|---|---|
cut, mark |
vectorProfile |
<PowerSpeedFocusFrequencyProperty> |
power, speed, focus, frequency |
engrave |
rasterProfile |
<PowerSpeedFocusProperty> |
power, speed, focus |
engrave 3d |
raster3dProfile |
<PowerSpeedFocusProperty> |
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 <linked-list> = 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.
Am einfachsten in VisiCut selbst (Einstellungen → Material verwalten, dann Laserparameter im Hauptfenster speichern) — dann stimmen alle Pfade automatisch. Von Hand:
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/<x>.xml und laserprofiles/<Gerät>/<x>/ verwenden.
Danach tools/validate.py laufen lassen.
materials/<name>.png wird von VisiCut automatisch gefunden. Herkunft und Lizenz je Bild:
materials/CREDITS.md. Neu erzeugen: python3 tools/make_thumbnails.py
(braucht requests und Pillow).
Alle übrigen Werte sind nicht gegen eine dieser Quellen belegt. Vor dem ersten Job auf einem neuen Material: Testschnitt auf Verschnitt.
PVC, Vinyl, ABS, Polycarbonat, HDPE, Polystyrol — siehe Hinweistext in
devices/Epilog_32_ZING_32__40_FabLab_32_Rothenburg_41_.xml.