Source Code
Text-Analyse mit Python
Datei einlesen
Von https://stackoverflow.com/questions/7409780/reading-entire-file-in-python
with open('Path/to/file', 'r') as content_file: content = content_file.read()
Text finden
https://www.geeksforgeeks.org/string-find-python/
position = content.find("<path ",startPosition) # die Startposition ist optional, kann gebraucht werden, um weitere Vorkommen zu finden. if (position!=-1): # Wirklich was gefunden # tu was damit
Substring
a="0123456789" a[2:5] # -> liefert "234"
Text Analyse
Ist der Path-String einmal gefunden, geht es darum, diesen zu analysieren. Als erster Schritt soll dieser nach Leerschlägen aufgeteilt werden:
txt = "foo bar baz boo" items = txt.split(" ")
Convertierung in Zahlen
zahl = float("3.14")
Klassen und Objektorientierte Programmierung
- Klassen: Einheit aus Daten und Code, der diese Daten “verwaltet”.
- Klasse: Vorlage (Keksform), daraus werden Instanzen (Kekse) generiert. Jede Instanz hat ein “eigenes Datenset”.
SVG-Pfad Spezifikation
Dokumentation:
- Bisschen ausführlicher: https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
G-Code für den Plotter
Der Nullpunkt befindet sich bei den Radien $r_1=r_2=1445$ (in mm). Pro Motorschritt verändern sich die Radien um $\approx 0.0157029$ (mm). Die Motoren haben einen Abstand von 1930 mm.
Der G-Code bezieht sich direkt auf die Motorenschritte (was eigentlich gerade nicht der Sinn von G-Code ist).
Nur G1 (lineare Interpolation) ist implementiert:
- G1 X-400 Y800 (Gehe zur absoluten Position -400 Schritte (Motor links) und +800 Schritte (Motor rechts).
- G1 Z0 (Stift hoch, nicht zeichnen)
- G1 Z1 (Stift runter, zeichnen)
Nach jedem Kommando muss auf ein 'OK\n' gewartet werden.