Seite 1 von 1

QSvgRenderer für Plotter mit Schrittmotoren

Verfasst: 17. Januar 2018 14:46
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!

Re: QSvgRenderer für Plotter mit Schrittmotoren

Verfasst: 22. Januar 2018 18:15
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

Re: QSvgRenderer für Plotter mit Schrittmotoren

Verfasst: 24. Januar 2018 13:26
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.