Arc Welder Plugin

Hier geht es um Software die ausschliesslich zum Slicen und/oder G-Code erzeugen gedacht ist. Alles was nicht in eine Unterkategorie passt kann hier diskutiert werden
mhier
Developer
Developer
Beiträge: 690
Registriert: Fr 11. Sep 2015, 11:37
Hat sich bedankt: 63 Mal
Danksagung erhalten: 103 Mal

Re: Arc Welder Plugin

Beitrag #11 von mhier » Di 9. Feb 2021, 22:28

rf1k_mjh11 hat geschrieben:Wie werden der G2 und G3 Befehl in der Firmware abgearbeitet? Wenn dort erst wieder ein Bogen durch mehrere Geraden angenähert wird, würde Arc Welder, durch die unnötige zusätzliche Berechnung, eher der Genauigkeit abträglich sein.


Die Repetier-Firmeware schafft es nicht mal, G0 und G1 korrekt zu berechnen... ;-)

Benutzeravatar
AtlonXP
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 2291
Registriert: So 15. Nov 2015, 20:55
Hat sich bedankt: 568 Mal
Danksagung erhalten: 399 Mal

Re: Arc Welder Plugin

Beitrag #12 von AtlonXP » Mi 10. Feb 2021, 01:18

Ok Leute.
Ich lese hier schon eine Weile mit und halte meine Klappe.

Dieses Plugin gibt es auch für Klipper.
Es wird auch in Cura eingebunden und vermutlich ist es auch in der Slic3r Pursaedition möglich.
Dass unsere Arduino Gurken vieles vermauscheln müssen,
das muss nicht auf die neuen M4 MCU zutreffen.

In einem anderen Forum habe ich dieses Tool zur Schau gestellt.
Es wurde unter der neuen Marlin FW gedruckt.
Gefühlt war der Drucker mit M4 Prozessor in den Kurven schneller unterwegs.
Leider hat der Drucker aber auch manchmal gestockelt.
Einstellungssache, System schwäche, keine Ahnung!

Wenn ich es richtig verstanden habe, kann man das Komprimierungsverhältnis einstellen.
Wird dann bei reduzierter Komprimierung nicht manche Gerade auch gerade bleiben?

LG AtlonXP

mhier
Developer
Developer
Beiträge: 690
Registriert: Fr 11. Sep 2015, 11:37
Hat sich bedankt: 63 Mal
Danksagung erhalten: 103 Mal

Re: Arc Welder Plugin

Beitrag #13 von mhier » Mi 10. Feb 2021, 16:46

Ich würde mir erstmal konkret überlegen, welches Problem ich habe, was ich mit diesem Plugin zu lösen gedenke.

Was das Plugin nicht sinnvoll leisten kann, ist die Ecken, die der Slicer reingemacht hat, zu glätten. Würde das Plugin hier signifikante Abweichungen in der Trajektorie erwirken, würden die Bewegungen wohl nicht mehr zueinander passen. Die Nachbar-Raupe ist nicht mehr zwingend, wo sie sein soll, und die Extrusions-Menge passt nicht mehr (Weglänge ändert sich).

Was das Plugin tatsächlich leisten kann, ist den G-Code zu "komprimieren". Das bringt aber nur was, wenn die Größe des Codes aufgrund von angenäherten kreisförmigen Bewegungen tatsächlich ein Problem ist und die dann zusätzlich nötigen Kurven-Berechnungen den Microcontroller nicht überlasten.

Also: Wer ein Stocken bei annähernd kreisförmigen Bewegungen bzw. in unmittelbarer Umgebung von solchen Bewegunen beobachtet (und nur dann!), der kann mit dem Plugin vielleicht (!) was reißen. Wer meint, damit die Facetten der Oberfläche glätten zu können, handelt sich damit nur andere Probleme ein und ändert besser die Slicer-Einstellungen und/oder sein STL-Modell. Wer generell ein Problem mit stockenden Bewegungen hat, z.B. auch bei häufigen linearen Richtungswechseln, der wird auch besser nach anderen Lösungen suchen. Vielleicht ist auch einfach der Host zu langsam um die Daten über USB schnell genug zu liefern (das Problem hatte ich, als ich noch meinen RasPi 1. Generation dafür benutzt habe)?

Kreisförmige Bewegungen sind in vielen Modellen ja gar nicht so stark vertreten, da wird das Plugin dann quasi gar nichts ändern...

Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 1723
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Hat sich bedankt: 216 Mal
Danksagung erhalten: 436 Mal

Re: Arc Welder Plugin

Beitrag #14 von rf1k_mjh11 » Mi 10. Feb 2021, 18:53

Hallo mhier,
mhier hat geschrieben:Was das Plugin nicht sinnvoll leisten kann, ist die Ecken, die der Slicer reingemacht hat, zu glätten.
Das muss ich korrigieren:
Kein mir bekannter Slicer macht irgendwelche zusätzliche Ecken in den GCode. Die Ecken sind allesamt bereits in den Ausgangsdateien vorhanden (zumindest jene Dateien mit den Formaten *.STL, *.OBJ, *.AMF und *.3DF). Dummerweise versteht (noch?) kein Slicer ein Dateieformat, das NICHT auf einen Mesh basiert. Jedenfalls kenne ich noch keinen Slicer der ein anderes Format, als die oben genannten, verarbeitet.

Will man hingegen fräsen, und verwendet ein entsprechendes ('ordentliches') Programm dafür (wie z.B. Fusion 360, oder ähnliches), kann das Programm von den tatsächlichen 3D Daten ausgehen, womit Bögen, Kurven, und so weiter, möglich werden. In den erzeugten Toolpaths (=GCode) tauchen dann natürlich entsprechende G2 und G3 Befehle auf.
Manche CAM Programme (z.B. MeshCAM) benutzen erst wieder *.STL Dateien als Input, womit sich 'Ecken', die sich bereits in den Ausgangsdaten befinden, bis ins fertigen Produkt hinein 'vererben'.

Moge COVID-19 uns alle verschonen,

mjh11
Merke, am PC gibt es immer einen Weg!
Schafft es der Mensch, einmal etwas idiotensicher zu machen, kontert die Natur sofort mit einem besseren Idioten.

mhier
Developer
Developer
Beiträge: 690
Registriert: Fr 11. Sep 2015, 11:37
Hat sich bedankt: 63 Mal
Danksagung erhalten: 103 Mal

Re: Arc Welder Plugin

Beitrag #15 von mhier » Mi 10. Feb 2021, 20:25

rf1k_mjh11 hat geschrieben:Das muss ich korrigieren:

Du hast recht, nicht Slicer sondern STL Exporter. Slicer weichen zwar durchaus vom Modell ab, da aber ja keine echten Kreisbögen im Mesh vorliegen, können sie die auch nicht durch Ecken annähern.

Benutzeravatar
af0815
Donator
Donator
Beiträge: 427
Registriert: Di 2. Jun 2020, 14:45
Wohnort: Laxenburg
Hat sich bedankt: 22 Mal
Danksagung erhalten: 44 Mal

Re: Arc Welder Plugin

Beitrag #16 von af0815 » So 14. Feb 2021, 10:20

For the records (und weil ich gerade bei der Suche drüber gestolpert bin):
Communityversion: In der motion.cpp ab Zeile 851 ist

Code: Alles auswählen

#if FEATURE_ARC_SUPPORT
// Arc function taken from grbl
// The arc is approximated by generating a huge number of tiny, linear segments. The length of each
// segment is configured in settings.mm_per_arc_segment.
void PrintLine::arc(float* position, float* target, float* offset, float radius, uint8_t isclockwise) {

noch das zu mit eine bedingten Kompilierung. Dabei werden Kosinus und Sinus Funktionen auch nur genähert um den MCu zu entlasten. Es ist in der Funktion jede Menge englischer Kommentar, so das man das schön langsam lesen kann.

Zusatzinfo, das ist das angesprochene grbl https://github.com/grbl/grbl
Grbl is a no-compromise, high performance, low cost alternative to parallel-port-based motion control for CNC milling. It will run on a vanilla Arduino (Duemillanove/Uno) as long as it sports an Atmega 328.

mhier
Developer
Developer
Beiträge: 690
Registriert: Fr 11. Sep 2015, 11:37
Hat sich bedankt: 63 Mal
Danksagung erhalten: 103 Mal

Re: Arc Welder Plugin

Beitrag #17 von mhier » Di 16. Feb 2021, 15:35

"no-compromise" und "Atmega 328" schließt sich auch ein wenig aus... Klipper ist da im Vorteil, dass es seine Berechnungen auf einem Raspberry Pi durchführen kann, der irgendwas wie 10000 mal schneller ist bei floating point Berechnungen. Trotzdem ist es natürlich ein erheblicher Programmieraufwand, Kreisbögen anders zu implementieren als durch lineare Annäherung. In der Praxis ist das auch nicht unbedingt relevant, solange die Abweichungen vom idealen Kreisbogen viel kleiner als z.B. die mechanischen Ungenauigkeiten.


Zurück zu „Slicer Software“