Jump to content
Ultimaker Community of 3D Printing Experts
zerspaner_gerd

Cura 2.x Plugin

Recommended Posts

Hallo miteinander,

da es mir keine ruhe lässt hoffe ich das mir einer Helfen kann!! 8)

Ich möchte für das Dual Drucken mit Cua (Aktuell Cura 2.4 Beta) ein Plugin schreiben!

Ich habe eigentlich schon ein python script der funktioniert (die Vorlage kam von einen anderen aus den Forum), aber wahrscheinlich ist das die falsche Schreibweise für Cura 2.x.

Den auf jedenfalls schaffe ich es nicht so was ähnliches als Plugin zu schreiben! Bzw. es geht bei mir Garnichts was das Plugin angeht, nicht mal leichte Sachen z.B nach "G10 S1" suchen. Habe da als Vorlagen die vorhandenen Plugin verwendet und wollte dies umschreiben.

Es geht eigentlich nur um ein paar Linien zu verschieben + ein paar einzufügen!

5a33259440227_ausgabecura.JPG.3323bf285e81ee29cac87418d21417b9.JPG5a3325944f4c2_nderung.JPG.048a5611df34d670093e6a94bca61c7c.JPG

Ich hoffe es kann mir einer Helfen!

Gruß gerd

5a33259440227_ausgabecura.JPG.3323bf285e81ee29cac87418d21417b9.JPG

5a3325944f4c2_nderung.JPG.048a5611df34d670093e6a94bca61c7c.JPG

Edited by Guest
  • Like 1

Share this post


Link to post
Share on other sites

Das heißt, Dein Skript kannst Du unter "Post Processing" hinzufügen, aber es ändert sich nichts am generierten GCode?

Habe da als Vorlagen die vorhandenen Plugin verwendet und wollte dies umschreiben.

Dann müsste doch die "Schreibweise" schon mal stimmen. Kannst Du denn mal zeigen, wie es jetzt aussieht?

Ich hab grad mal einen einfachen Test gemacht (nur um mal eine Zeile zu ersetzen), das funktioniert super! Ich hab's Dir hier mal hochgeladen:

https://drive.google.com/uc?export=download&id=0B4al9ugPO1ENN3B6a1pkaEN6WDQ

Share this post


Link to post
Share on other sites

Bei Cura 2.4 Beta funktioniert bei mir kein Post Processing.

Nach dem Slicen sollte das Skript nochmal drüber laufen bei zb Pause at Height.

Ist das noch ein Bug bei der Beta?

Bei Cura 2.3.1 funktionieren die Skripte noch.

Gruß

Marin

Share this post


Link to post
Share on other sites

Bei Cura 2.4 Beta funktioniert bei mir kein Post Processing.

Nach dem Slicen sollte das Skript nochmal drüber laufen bei zb Pause at Height.

Ist das noch ein Bug bei der Beta?

Funktionieren tun die bei mir schon (Windows 10). Allerdings wird offenbar nicht automatisch neu ge-sliced, wenn man Post-Processing hinzufügt oder ändert.

Das ist natürlich ein bisschen umständlich, wenn es einen manuellen Knopf dafür auch nicht gibt... :)

Share this post


Link to post
Share on other sites

Ich danke dir @tinkergnome,

das was du geschafft hast habe ich in 235 Versuche nicht geschafft. (kein Witz:()

Habe jetzt schon so viel Plugin Test Dateien, aber es unterscheidet sich immer wieder ein wenig (habe jetzt nicht alle meine versuche verglichen):(

Ich schicke dir mein Funktionierenden Python Script mal zu, der ist allerdings komplett anders (einfach mal öffnen) aufgebaut. Meine versuche für das Plugin für Cura sind alle gescheitert.

Habe jetzt schon versucht es anzuwenden, aber ich finde es nicht heraus wie ich einzelne Zeilen in einer Variable schreiben kann, so wie ich es mit den Python Script gemacht habe.

Wäre ja genial wenn es doch noch klappen wird!!:)

Funktionieren tun die bei mir schon (Windows 10). Allerdings wird offenbar nicht automatisch neu ge-sliced, wenn man Post-Processing hinzufügt oder ändert.

Das ist natürlich ein bisschen umständlich, wenn es einen manuellen Knopf dafür auch nicht gibt..

Das habe ich auch gemerkt es reicht aber wenn man z.B. die Teil Position leicht verschiebt

Gruß Gerd

Edited by Guest

Share this post


Link to post
Share on other sites

tinkergnome schreibt dein Skript so wie du es gern hättest bestimmt in 10 Minuten ;)

 

Naja, das nun nicht grad... ich hab doch von Python keine Ahnung... und von Cura auch nich...

Ich hab's aber nochmal ein bisschen erweitert, und die Zeilen, die Gerd oben aufgeführt hat, ein bisschen hin- und hergeschoben. Wenn Du willst, nimm es als Beispiel.

https://drive.google.com/uc?export=download&id=0B4al9ugPO1ENN3B6a1pkaEN6WDQ

Für Cura 2.4 wird das allerdings in der Form nicht mehr viel nützen, für UltiGCode werden keine M104 oder M109 Befehle mehr geschrieben. Wenn ihr die Temperatur-"Magie" benutzen wollt, müsst ihr auf RepRap umstellen. Und da gibt es die G10/G11 Kombos eh' nicht mehr. Dafür ist dann also ein bisschen mehr nötig, als einfaches "Suchen und Ersetzen".

Schöne neue Welt...

  • Like 1

Share this post


Link to post
Share on other sites

Ich wünsche allen hier ein Gesundes Fröhliches neues Jahr!

Danke dir @Tinkergnome dein Beispiel funktioniert ja schon wie gewünscht :O,

aber leider kann ich das nicht alles ganz nachvollziehen: z.B. dieser Code

elif line.startswith("M104 "):

Warum sucht dieser Befehl nicht einfach das nächste M104 beim nächsten Düsen wechsel, wenn es beim aktuellen nicht vorhanden ist! Wo ist da der Trick dabei

Für Cura 2.4 wird das allerdings in der Form nicht mehr viel nützen, für UltiGCode werden keine M104 oder M109 Befehle mehr geschrieben. Wenn ihr die Temperatur-"Magie" benutzen wollt, müsst ihr auf RepRap umstellen. Und da gibt es die G10/G11 Kombos eh' nicht mehr. Dafür ist dann also ein bisschen mehr nötig, als einfaches "Suchen und Ersetzen"

Ich verwende jetzt den Flavor Typ "RepRap (Volumatric)" da ist alles gleich wie beim UltiCcode (G10 S1, G10, G11 und die "Temperatur-Magie") mann muss nur den Programm Kopf ändern so das der Drucker das richtig einliest. (das möchte ich auch mit den Plugin machen, erste versuche waren erfolgreich. Nur ich bin mir nicht ganz sicher nicht das er Plötzlich irgendwo was anders in Programm sucht und austauscht, deshalb auch die obige frage)

Gruß Gerd

Share this post


Link to post
Share on other sites

Warum sucht dieser Befehl nicht einfach das nächste M104 beim nächsten Düsen wechsel, wenn es beim aktuellen nicht vorhanden ist! Wo ist da der Trick dabei

Meinst Du den "Trick" mit der Status-Variablen (state)?.

Nach diesen "M104" / "M109" - Zeilen wird nur gesucht, wenn vorher die Tool-Change Befehle gefunden wurden (state == 2). "G10 S1" setzt state=1 und ein nachfolgendes "T0" oder "T1" setzt state=2

Und beim ersten Move-Befehl (G0), der danach gefunden wird, wird der Status wieder auf 0 zurückgesetzt. Ab da werden dann wieder alle Zeilen 1:1 übernommen, bis der nächste Tool-Change gefunden wird, u.s.w.

Wie gesagt, ist nur ein Beispiel, die Python-Gurus kennen bestimmt auch noch andere Lösungen.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • How to 3D print with reinforced engineering materials
      Ultimaker is hosting a webinar where we explain how you can achieve and maintain a high print success rate using these new reinforced engineering materials. Learn from Ultimaker's Product Manager of Materials and top chemical engineer Bart van As how you can take your 3D printing to that next level.
      • 0 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!