Mit Laser statt Stift

Fündig werden wir aber doch. Das Lasergravur-Plugin von J Tech Photonics ist zwar, wie der Name bereits sagt, für Lasergravierer gedacht, lässt sich aber auch für unseren Plotter nutzen. Es ist nicht nur prinzipiell konfigurierbar, sondern produziert auch hübsche Ergebnisse. Insbesondere werden Bögen in G3-Anweisungen für kreisförmige Werkzeugbewegungen übersetzt statt in viele kleine G1-Linien. Allerdings hat das Plugin eine Schwäche: Es generiert nur Umrisse. Ausgefüllte Flächen kann es nicht erzeugen. Die Installation verlangt keinen Aufwand, nach dem Download müssen die vier Dateien des Paketes in das Extensions-Verzeichnis von Inkscape kopiert werden.

Stellenmarkt
  1. Mitarbeiter (m/w/d) Werks-IT
    DAIKIN Manufacturing Germany GmbH, Güglingen
  2. Application Manager (m/w/d)
    akf bank GmbH & Co KG, Hamburg
Detailsuche

Für die Arbeit mit dem Plugin müssen das zu zeichnende Objekt oder die Objekte in Inkscape erst in Pfade übersetzt werden. Auf die ausgewählten Pfade wird dann das Plugin angewendet. Der entsprechende Menüeintrag befindet sich unter Erweiterungen - Generate Gcode - J Tech Photonics Laser Tool. Im erscheinenden Dialog müssen wir zwei Einträge ändern. Den Wert in Laser ON Command ändern wir auf unsere Servo-Steuerung: M280 P0 S120, damit wird der Stift abgesenkt. Laser OFF Command ändern wir auf M280 P0 S90, um den Stift anzuheben. Dann muss noch der Speicherort für die erzeugte Datei mit dem G-Code-Programm unter Verzeichnis angegeben werden und der eigentliche Name der Datei bei Dateiname. Mit Apply wird die Erzeugung gestartet. Je nach Komplexität der Grafik kann das durchaus dauern, insbesondere bei vektorisierten Fotografien.

Verbesserungspotenzial im G-Code

Die erzeugte G-Code-Datei können wir bereits auf unsere Maschine laden und das Bild zu Papier bringen. Allerdings enthält der Code noch einige Unschönheiten, die schon am Anfang deutlich werden:

M280 P0 S90 S0

G90
G21
G0 F3000
G0 X65.4159 Y27.3763
G4 P0
M280 P0 S120 S254

Die M280-Anweisungen haben jeweils zwei S-Parameter. Der zweite S-Parameter wird leider vom Plugin festcodiert eingefügt. Marlin interpretiert praktischerweise nur den ersten S-Parameter. Das muss allerdings nicht für jede Maschinensteuerung gelten.

Golem Akademie
  1. Elastic Stack Fundamentals – Elasticsearch, Logstash, Kibana, Beats: virtueller Drei-Tage-Workshop
    15.–17. März 2022, Virtuell
  2. Cloud Transformation Roadmap: Strategien, Roadmap, Governance: virtueller Zwei-Tage-Workshop
    7.–8. März 2022, Virtuell
Weitere IT-Trainings

Die Anweisungen G90 und G21 sorgen dafür, dass die Maschine immer absolut positioniert und als Einheit Millimeter verwendet wird. Was allerdings fehlt, ist ein G28-Kommando. Daher wird die Zeichnung irgendwo auf unserem Blatt gemalt, je nachdem, wo sich unser Stift gerade befindet und von der Maschine als Nullpunkt angenommen wird.

Neue G-Code-Anweisungen

Die beiden G0-Kommandos setzen zuerst die Bewegungsgeschwindigkeit für die nächste Bewegung. Der F-Parameter steht für Feed (zu Deutsch: Vortrieb). Danach wird der Stift an die angegebene Position bewegt. Die G0-Anweisung funktioniert analog zur früher beschriebenen G1-Anweisung, allerdings mit dem Unterschied, dass die Bewegung so schnell wie möglich erfolgen soll. Bei Marlin werden G0 und G1 identisch umgesetzt.

Die G4-Anweisung haben wir noch nicht vorgestellt. Sie pausiert die Ausführung des G-Codes. Das Plugin benutzt sie als Zeitspanne, in welcher der Laser seine volle Leistung aufbauen soll. Wir brauchen sie nicht, sie verlangsamt nur den Zeichenvorgang.

Das Plugin anpassen

Sowohl die fehlende G28-Anweisung als auch die überflüssigen Parameter wie Befehle lassen sich in einem Texteditor mit Suchen & Ersetzen einfügen beziehungsweise entfernen, per Script könnten wir das auch komplett automatisieren. Oder wir nutzen die Gelegenheit, einen etwas tieferen Blick in das Plugin zu werfen.

Die beiden Dateien des Plugins sind laser.inx und laser.py. Die erste Datei definiert Metadaten und den Export-Dialog, die zweite den eigentlichen Quellcode. Wir kopieren beide Dateien und benennen sie um in gplotter.inx und gplotter.py.

Zuerst bearbeiten wir die inx-Datei. In Zeile 3 und 4 setzen wir den Namen und den Identifier des Plugins neu. In der folgenden Zeile ändern wir den Verweis auf die abhängige Datei laser.py in gplotter.py. Die gleiche Änderung erfolgt auch in Zeile 28, dort wird festgelegt, dass diese Datei beim Aufruf des Menüpunktes ausgeführt werden soll.

Die weiteren Änderungen in dieser Datei sind eher kosmetischer Natur. In den Definitionen der Eingabeboxen für die Laser-an- und Laser-aus-Anweisungen in Zeile 8 und 9 ersetzen wir das Wort "Laser" durch "Pen" im Attribut _gui-text. Der vordefinierte Wert wird auf unsere Servo-Anweisungen gesetzt: "M280 P0 S120" und "M280 P0 S90". Zum Schluss geben wir noch einen Standardwert für den Verzeichniseintrag in Zeile 16 vor, um uns das Leben ein wenig bequemer zu machen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Kein G-Code-Programm kann alle knechtenPython-Code hacken für Anfänger 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13.  


derdiedas 05. Okt 2015

Es geht darum die Leute "anzufixen". Billigste Lösung ist Estlcam + Arduino...

jochenh 02. Okt 2015

Geht bei www.rapidfacture.com. Auch Einzelteile und Sonderanfertigungen.

am (golem.de) 02. Okt 2015

Sämtliche existierenden offenen Firmware-Programm gehen davon aus, dass die Z-Achse über...

Moe479 02. Okt 2015

die technik selbst ist garnicht so ultra kompliziert, finde ich, nur als hobbybastlerei...

derdiedas 02. Okt 2015

ich mache solche Dinge schon länger und über kleine selbstgebaute CNC Maschinen über den...



Aktuell auf der Startseite von Golem.de
Garmin Fenix 7 im Test
Outdoor-Wearable mit fast allem Drin und Dran

Eine weitere Funktionslücke ist geschlossen: Nun hat auch die Garmin Fenix 7 einen Touchscreen - und noch mehr Akkulaufzeit.
Von Peter Steinlechner

Garmin Fenix 7 im Test: Outdoor-Wearable mit fast allem Drin und Dran
Artikel
  1. Musterfeststellungsklage: Parship kann eine Kündigungswelle erwarten
    Musterfeststellungsklage
    Parship kann eine Kündigungswelle erwarten

    Die Verbraucherzentrale ruft zur Kündigung bei Parship und zur Teilnahme an einer Musterfeststellungsklage auf. Doch laut Betreiber PE Digital ist das aussichtslos.

  2. Hosting: Hetzner erhöht Preise teils um 30 Prozent wegen Stromkosten
    Hosting
    Hetzner erhöht Preise teils um 30 Prozent wegen Stromkosten

    Die Server aus seiner Auktion kann der Hoster Hetzner offenbar nicht kostendeckend betreiben. Das könnte die ganze Branche betreffen.

  3. Open Source: Antworten Sie innerhalb von 24 Stunden
    Open Source
    "Antworten Sie innerhalb von 24 Stunden"

    Die E-Mail eines großen Konzerns an den Entwickler von Curl zeigt wohl eher aus Versehen, wie problematisch das Verhältnis vieler Firmen zu Open-Source-Software ist.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • RTX 3070 Ti 8GB 1.039€ • 1TB SSD PCIe 4.0 127,67€ • RX 6900XT 16 GB für 1.495€ • Razer Gaming-Tastatur 155€ • LG OLED 65 Zoll 1.599€ • Alternate (u.a. Razer Gaming-Maus 39,99€) • RX 6800XT 16GB 1.229€ • Thrustmaster Ferrari-Lenkrad 349,99€ • Razer Gaming-Stuhl 179,99€ [Werbung]
    •  /