AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

G-Code Viewer

Ein Thema von Rudirabbit · begonnen am 29. Dez 2016 · letzter Beitrag vom 1. Jan 2017
Antwort Antwort
Rudirabbit

Registriert seit: 27. Sep 2006
111 Beiträge
 
#1

G-Code Viewer

  Alt 29. Dez 2016, 17:48
Hallo,
Bin gerade dabei das Senderprogramm für meinen Lasercutter mit einem G-Code Viewer aufzupeppen.
Also G-Code Parsen, erstmal die einfachsten G-Gode Befehle implentieren.

Und das ganze in einer Paintbox darstellen.
Auf den ersten Blick schaut es nicht schlecht aus, aber warum sind vor allem die Kreise so pixelig ?
Im G-Code sind das keine Vollkreise, sondern die werden aus Kreisbögen gebildet.
Ich nutze hier die arc Methode von Canvas.

Das es besser geht, zeigt z.b NC Corrector.


Doch mir fällt nichts Richtiges ein, hier eine Art Antialiasing einzubauen

Habe auch den G-Code mit dabei, damit Vergleiche mit anderen G-Code Viewer möglich sind.

Grüße Rudi
Angehängte Grafiken
Dateityp: png screen.png (32,5 KB, 103x aufgerufen)
Angehängte Dateien
Dateityp: txt deckelneu_0003.nc.txt (3,5 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: G-Code Viewer

  Alt 30. Dez 2016, 10:00
Hallo,
du könntest GDI+ benutzen oder du malst die Kreise 10 mal so gross
in ein eigenes Bitmap und packst dass dann per StretchDraw in dein Original-Bitmap rein.
Das hatte bei mir komischerweise geklappt.
Heiko
  Mit Zitat antworten Zitat
Rudirabbit

Registriert seit: 27. Sep 2006
111 Beiträge
 
#3

AW: G-Code Viewer

  Alt 30. Dez 2016, 10:36
GDI+ habe ich noch nie benutzt

Die Werte der G-Code Zeilen sind ja alles float Werte in mm.
Ich hatte diese Werte gleich nach dem Parsen in Pixel auf int gerechnet.

Ein großer Fehler, denn die Fehler summieren sich auf.

Habe den Code nun geändert, ich rechne nun alles in float.
Erst wenn ich auf das Canvas greife, wird gerundet.

Das Ergebnis schaut nun sehr viel besser aus.

Was mich zum Grübeln bringt ist, die Steuerung auf dem ARM der den Laser steuert habe ich im Prinzip auch so geschrieben.
Also erst alles in Steps umrechnen, die Ergebnisse von dem Cutter sind trotzdem sehr gut.
Denke weil die Auflösung mm -> Steps höher ist.
Vermutlich könnte man hier noch was optiemieren.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#4

AW: G-Code Viewer

  Alt 30. Dez 2016, 13:49
Es gibt bereits ein gutes Tool:
Ich nutze http://camotics.org/ für das GCode anschauen.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Sender

Registriert seit: 25. Nov 2008
2 Beiträge
 
Delphi 2009 Professional
 
#5

AW: G-Code Viewer

  Alt 30. Dez 2016, 14:53
Innerhalb der Kreisabschnitte des Beispielcodes befinden sich extreme "Leichen".

In jedem "Kreis" ist ein G1 mit Koordinaten, die der G2 schon angefahren hat.

Aus den Unterteilungen würde ich einen Vollkreis machen, der sich dann auch einfacher zeichnen lässt.
Angehängte Dateien
Dateityp: txt Test.txt (1,3 KB, 18x aufgerufen)
  Mit Zitat antworten Zitat
Rudirabbit

Registriert seit: 27. Sep 2006
111 Beiträge
 
#6

AW: G-Code Viewer

  Alt 30. Dez 2016, 18:39
Innerhalb der Kreisabschnitte des Beispielcodes befinden sich extreme "Leichen".
Ich erzeuge derzeit den G-Code mit Inkscape und dem Laserplugin.
Das funktioniert nicht immer Optimal.
Habe das schon gesehen, die Maschine frisst den Buggy G-Code jedenfalls.
Es wird halt nur nochmal an die selbe Stelle gefahren, da die Maschine schon an der Stelle steht passiert nicht viel.

Schön ist es nicht, für ernsthafte Laserjob's würde ich das manuell entfernen.

Aus den Unterteilungen würde ich einen Vollkreis machen, der sich dann auch einfacher zeichnen lässt.
Bringt dann nur bei diesem Sketch eine Verbesserung, das Ding soll flexibel sein und (fast) jeden G-Code anzeigen können.

Wie schon gesagt,Code nun geändert,ich rechne nun alles in float.
Und schaut nun schon viel besser aus.


Ein Problem besteht noch,ich male die Kreisbögen im Delphi Senderprogramm mit der arc Funktion von Canvas.

Dazu wird ein rect aufgespannt wo der Bogen drinliegt, es kann bei bestimmten G-Codes passieren das z.b eine Ecke des Rects negativ berechnet werden.
Dann spackt die Darstellung natürlich ab.
Angehängte Grafiken
Dateityp: png screen.png (44,9 KB, 59x aufgerufen)
Dateityp: jpg IMAG0470.jpg (67,2 KB, 50x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz