QSvgRenderer für Plotter mit Schrittmotoren

Alles rund um die Programmierung mit Qt
Antworten
maschde
Beiträge: 1
Registriert: 17. Januar 2018 14:38

QSvgRenderer für Plotter mit Schrittmotoren

Beitrag von maschde »

Hallo zusammen!

Ich habe vor einen Plotter mit Hilfe eines Raspberry Pi 3 zu bauen. Der Stift (vllt. wirds später mal ein Laser) wird über zwei Schrittmotoren an eine Position (x,y) gesteuert. Das funktioniert soweit schon ganz gut.

Nun will ich das Programm mit einer .svg Datei füttern um diese Grafik dann zu plotten.
Bei der bisherigen Suche bin ich auf den QSvgRenderer gestoßen, der ja diese Dateien offensichtlich rendern und beispielsweise mit QPaint auf einem Widget ausgeben kann.

Ist es irgendwie möglich damit die X- und Y- Koordinaten sämtlicher Punkte der Linien zu bekommen damit ich meine Schrittmotoren steuern kann?

Vielen Dank!
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Re: QSvgRenderer für Plotter mit Schrittmotoren

Beitrag von Uwe »

Prinzipiell könntest Du ein Dummy Paint Device erstellen mit dem Du die Zeichen Kommandos abfängst. So etwas in der Art findest Du z.B. in Qwt ( http://qwt.sourceforge.net/class_qwt_nu ... evice.html ).

HTH,
Uwe
hilefoks
Beiträge: 144
Registriert: 13. März 2008 16:09

Re: QSvgRenderer für Plotter mit Schrittmotoren

Beitrag von hilefoks »

Wie Uwe schon sagte, könntest du einen eignen Painter (von QPainter abgeleitete Klasse) verwenden (QSvgRenderer::render(myPainter...)) und deinen Plotter damit praktisch als Bildschirm nutzen. Allerdings ist das ziemlicher Aufwand und das Ergebnis wohl nicht wirklich gut. Was machst du z.B. mit gefühlten Flachen oder unterschiedlichen Linienfarben?

Praktischer wäre in meinen Augen wenn dein Plotter zunächst einmal G-Code verstehen würde. G-Code ist zwar auch nicht einfach, wird aber von allen CNC-Maschinen, 3D Druckern etc. genutzt und es gibt sehr viele Tools dafür. Du kannst für so ziemlich jedes Format (Bilder, 3D Modelle, CAD, ...) ein Tool finden das G-Code erzeugt. Entsprechende G-Code Parser dürfte es zudem zu genüge als Open Source geben.
Antworten