Vom Bild zu G-Code

1. Was ist eine Tiefenkarte (engl. depth map)?

Eine Tiefenkarte ist ein Graustufenbild, bei dem die Helligkeit der einzelnen Pixel der Tiefe (oder Höhe) des Objekts an jedem Punkt entspricht.

2. Integration von Image-to-Gcode in die AXIS-Benutzeroberfläche

Fügen Sie die folgenden Zeilen in den Abschnitt [FILTER] Ihrer INI-Datei ein, damit AXIS automatisch image-to-gcode aufruft, wenn Sie ein PNG-, GIF- oder JPG-Bild öffnen:

PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode

Die Standard-Konfigurationsdatei sim/axis.ini ist bereits auf diese Weise vorbereitet.

3. Verwendung von image-to-gcode

Starten Sie image-to-gcode entweder durch Öffnen einer Bilddatei in AXIS oder durch Aufrufen von image-to-gcode über das Terminal wie folgt:

image-to-gcode torus.png > torus.ngc

Überprüfen Sie alle Einstellungen in der rechten Spalte und drücken Sie dann auf OK, um den G-Code zu erstellen. Je nach Bildgröße und gewählten Optionen kann dies einige Sekunden bis einige Minuten dauern. Wenn Sie das Bild in AXIS laden, wird der G-Code automatisch geladen und in der Vorschau angezeigt, sobald die Umwandlung durch image-to-gcode (ein Programm, wörtlich engl. "Bild zu G-Code") abgeschlossen ist. Wenn Sie in AXIS auf "Neu laden" klicken, wird der Bildschirm mit den image-to-gcode-Optionen erneut angezeigt, so dass Sie die Optionen anpassen können.

4. Optionen

4.1. Einheiten

Gibt an, ob G20 (Zoll) oder G21 (mm) im generierten G-Code und als Einheiten für jede mit "(units)" bezeichnete Option verwendet werden soll.

4.2. Bild invertieren (engl. invert image)

Wenn "nein", ist das schwarze Pixel der niedrigste Punkt und das weiße Pixel der höchste Punkt. Wenn "Ja", ist das schwarze Pixel der höchste Punkt und das weiße Pixel der niedrigste Punkt.

4.3. Bild normalisieren (engl. normalize image)

Wenn "ja", wird das dunkelste Pixel auf Schwarz und das hellste Pixel auf Weiß umgestellt.

4.4. Erweitern des Bildrandes (engl. expand image border)

Bei None (engl. für keinen) wird das Eingabebild so verwendet, wie es ist, und Details, die sich an den Rändern des Bildes befinden, können abgeschnitten werden. Bei White (engl. für weiß) oder black (engl. für Schwarz) wird an allen Seiten ein Rand aus Pixeln in Höhe des Werkzeugdurchmessers hinzugefügt, und Details an den Rändern des Bildes werden nicht abgeschnitten.

4.5. Toleranz (Einheiten)

Wenn eine Reihe von Punkten innerhalb der "Toleranz" (engl. tolerance) auf eine geraden Linie liegen, werden sie als eine gerade Linie ausgegeben. Die Erhöhung der Toleranz kann zu einer besseren Leistung bei der Konturierung in LinuxCNC führen, kann aber auch kleine Details im Bild entfernen oder verwischen.

4.6. Pixelgröße (Einheiten)

Ein Pixel im Eingabebild entspricht dieser Anzahl von Einheiten - in der Regel ist diese Zahl viel kleiner als 1,0. Um beispielsweise ein 2,5 x 2,5-Zoll-Objekt aus einer 400 x 400-Bilddatei zu fräsen, verwenden Sie eine Pixelgröße von .00625, da 2,5 / 400 = .00625.

4.7. Tauchvorschubgeschwindigkeit (Einheiten pro Minute)

Die Vorschubgeschwindigkeit für die erste Eintauchbewegung.

4.8. Vorschubgeschwindigkeit (Einheiten pro Minute)

Die Vorschubgeschwindigkeit für andere Teile der Bahn.

4.9. Spindeldrehzahl (RPM)

Der Spindeldrehzahl-S-Code, der in die G-Code-Datei eingefügt werden soll.

4.10. Abtastmuster (engl. scan pattern)

Mögliche Scanmuster sind:

  • Reihen

  • Spalten

  • Zeilen, dann Spalten

  • Spalten, dann Zeilen

4.11. Scanrichtung

Mögliche Scanrichtungen sind:

  • Positive (engl. positiv): Starten Sie das Fräsen bei einem niedrigen X- oder Y-Achsenwert und bewegen Sie sich zu einem hohen X- oder Y-Achsenwert.

  • Negative (engl. für negativ): Starten Sie das Fräsen bei einem hohen X- oder Y-Achsenwert und bewegen Sie sich zu einem niedrigen X- oder Y-Achsenwert.

  • Alternating (engl. für abwechselnd): Beginnen Sie am gleichen Ende der X- oder Y-Achse, an dem die letzte Bewegung endete. Dies reduziert die Anzahl der Verfahrbewegungen.

  • Up Milling (engl. für aufwärts fräsen): Beginnen Sie mit dem Fräsen an niedrigen Punkten und bewegen Sie sich zu hohen Punkten.

  • Down Milling (engl. für abwärts fräsen): Beginnen Sie das Fräsen an hohen Punkten und bewegen Sie sich zu niedrigen Punkten.

4.12. Tiefe (engl. depth) (Einheiten)

Die Materialoberseite ist immer bei Z = 0. Der tiefste Schnitt in das Material ist bei Z = -tiefe (engl. depth).

4.13. Schrittweite (engl. step over) (Pixel)

Der Abstand zwischen benachbarten Zeilen oder Spalten. Um die Anzahl der Pixel für einen gegebenen Einheitsabstand zu ermitteln, berechnen Sie Abstand/Pixelgröße und runden Sie auf die nächste ganze Zahl. Wenn zum Beispiel Pixelgröße=.006 und der gewünschte Step Over Abstand=.015, dann verwenden Sie einen Step Over von 2 oder 3 Pixeln, denn .015/.006=2.5.

4.14. Werkzeug-Durchmesser

Der Durchmesser des schneidenden Teils des Werkzeugs.

4.15. Sicherheitshöhe

Die Höhe, die bei Verfahrbewegungen angefahren werden soll. image-to-gcode geht immer davon aus, dass die Oberseite des Materials bei Z=0 liegt.

4.16. Werkzeug-Typ

Die Form des schneidenden Teils des Werkzeugs. Mögliche Werkzeugformen sind:

  • Kugelkopf (engl. ball end)

  • Flaches Ende (engl. flat end)

  • 45 Grad "V" (engl. vee)

  • 60 Grad "Vee"

4.17. Strukturbegrenzung (engl. lace bounding)

Damit wird gesteuert, ob Bereiche, die entlang einer Zeile oder Spalte relativ flach sind, übersprungen werden. Diese Option ist nur sinnvoll, wenn sowohl Zeilen als auch Spalten gefräst werden. Mögliche Begrenzungsoptionen sind:

  • None (engl. für keine): Zeilen und Spalten werden beide vollständig gefräst.

  • Secondary (engl. für Sekundär): Beim Fräsen in der zweiten Richtung werden Bereiche, die nicht stark in diese Richtung geneigt sind, übersprungen.

  • Voll: Beim Fräsen in der ersten Richtung werden Bereiche, die stark in die zweite Richtung geneigt sind, übersprungen. Beim Fräsen in der zweiten Richtung werden Bereiche, die nicht stark in diese Richtung geneigt sind, übersprungen.

4.18. Kontaktwinkel

Wenn die Rasterbegrenzung (oder lieber Spitzenbegrenzung?, engl. lace bounding) nicht "none" (engl. für keine) ist, werden Neigungen, die größer als der "Kontaktwinkel" sind, als "starke" Neigungen und Neigungen, die kleiner als dieser Winkel sind, als schwache Neigungen betrachtet.

4.19. Schruppversatz und Schrupptiefe pro Durchgang

Image-to-gcode kann optional Schruppdurchgänge durchführen. Die Tiefe der aufeinanderfolgenden Schruppdurchgänge wird durch "Schrupptiefe pro Durchgang" angegeben. Wenn Sie z. B. 0,2 eingeben, wird der erste Schruppdurchgang mit einer Tiefe von 0,2 durchgeführt, der zweite Schruppdurchgang mit einer Tiefe von 0,4 usw., bis die volle Tiefe des Bildes erreicht ist. Kein Teil eines Schruppdurchgangs schneidet näher als der Schruppversatz zum endgültigen Teil. Die folgende Abbildung zeigt ein hohes vertikales Feature, das gefräst wird. In diesem Bild beträgt die Schrupptiefe pro Durchgang 0,2 Zoll und der Schruppversatz 0,1 Zoll.

Schruppen und Schlichten
Abbildung 1. Schruppen und Schlichten