Jump to content

if/else im End-Script


BastelWastel

Recommended Posts

Posted · if/else im End-Script

Hallo, 

 

ich teste Cura momentan für meinen Tool Changer und habe ein kleines Problem. Beim Start müssen die Tools in Parkposition sein, damit das individuell benötigte Tool beim Start aufgenommen werden kann. Darum ist es wichtig, dass nach einem Druckjob das aktuelle Tool abgesetzt wird. Ich würde den entsprechenden Code gerne im End-Script einfügen. Aber es ist nicht definiert, welches Tool am Ende aktiv ist. Bei Simplify3D oder Slic3r gibt es die Möglichkeit, das aktuelle Tool in den Skripten abzufragen und abhängig vom aktiven Tool den einen oder anderen Code einzufügen. Für Cura habe ich die Möglichkeit nicht gefunden. Habe ich etwas übersehen?

 

Ich möchte also so etwas im End Skrip:

 

if (aktivesTool == 0)

    //Code zum Absetzen von T0

else if (aktivesTool == 1)

    //Code zum Absetzen von T1

endif

 

In älteren Beiträgen habe ich schon gelesen, dass es diese Funktion nicht gibt. Aber vielleicht hat sich das inzwischen geändert? Oder gibt es vielleicht ein Plugin für das Problem?

  • Link to post
    Share on other sites

    Posted · if/else im End-Script
    2 hours ago, BastelWastel said:

    Aber vielleicht hat sich das inzwischen geändert?

    Das hat sich nicht, und soweit mich bekannt gibt es kein Plugin für das.

  • Link to post
    Share on other sites

    Posted · if/else im End-Script
    8 hours ago, BastelWastel said:

    Ich würde den entsprechenden Code gerne im End-Script einfügen. Aber es ist nicht definiert, welches Tool am Ende aktiv ist.

     

    Für Cura könntest Du ein Post-Processing-Skript entwickeln, welches den gcode analysiert, sich das aktuelle Tool dabei merkt, und am Ende die passenden Zeilen einfügt. Praktisch eine Kombination aus "Pause at height" und "Search and Replace" (oder so ähnlich...).

     

    Ich denke, auf Dauer wirst Du aber nur glücklich, wenn sich die Firmware um solche Dinge kümmert.

    Der Drucker sollte immer selbst wissen, welches Tool aktiv ist und kennt auch die aktuelle Position. Das gleiche gilt für den nötigen Ablauf zum Aufnehmen oder Absetzen eines beliebigen Tools. Ich würde das nicht abhängig von den Fähigkeiten eines bestimmten Slicers machen.

     

  • Link to post
    Share on other sites

    Posted · if/else im End-Script

    In Cura gibt es bereits die Funktion "G-Code Extruder-Start" und G-Code Extruder-Ende"!

    Nur leider wird der darin gespeicherte Code "NUR" beim Werkzeugwechsel geschrieben, "NICHT" jedoch am Ende des geslicten Codes! 😢

  • Link to post
    Share on other sites

    Posted · if/else im End-Script

    Hallo,

     

    Für mich gehören Tool Change Bewegungen in der Firmware

     

    Im Slicer kann es zwar schon einfacher sein. gibt aber auf Dauer hundertprozentig Probleme (bei Pause etc.)

    (OK schrieb auch tinkergnome hatte alle Kommentare nur überflogen)

     

    Hier ein anderes Thread wo man über Platzhaltern den extruder endcode aufrufen konnte

    Ob es jetzt auch mit der Auswahl des richtigen endcode klappte, weis ich nicht genau

     

    On 3/26/2022 at 9:44 AM, BastelWastel said:

    Tool Changer

     

    Ist das der ToolChanger wo ich denke oder ist das ein Eigenbau?

     

    Gruß

  • Link to post
    Share on other sites

    Posted · if/else im End-Script

    Der Fehler liegt eindeutig an der Definition von T0!

     

    Es spielt keine Rolle, ob der Werkzeugwechsel in der Firmware oder mit den Extruder-Start- und Extruder-Ende-Codes deklariert wird, denn…

     

    Fakt ist, T0 bedeutet bei allen CNC-Maschinen WELTWEIT leerer Werkzeugplatz bzw. Werkzeugplatz leeren.

     

    Solange bei einem 3D-Drucker T0 als 1. Werkzeug definiert wird, ist es völlig egal, wo der Werkzeugwechsel deklariert ist, wenn dann doch KEIN „T0“ ausgeführt werden kann!

     

    Oder was meint ihr?

     

  • Link to post
    Share on other sites

    Posted · if/else im End-Script

    PS: Das einfachste wäre, wenn Cura IMMER den Extruder-Start- UND Extruder-Ende-Code schreiben würde, egal bei welchem Werkeug!

  • Link to post
    Share on other sites

    Posted (edited) · if/else im End-Script

    Hallo,

     

    4 hours ago, Tiese said:

    Es spielt keine Rolle, ob der Werkzeugwechsel in der Firmware oder mit den Extruder-Start- und Extruder-Ende-Codes deklariert wird, denn…

     

    Wie funktioniert es wenn man z.B. über den Drucker das Tool wechseln will?

    Ich kann einfach ein T0, T1 etc. senden und die Firmware führt das jeweilig Tool Change Skript aus

     

    Ich kann in meinen Ende Code in Cura einfach "T-1" schreiben und die Firmware führt dann einfach das jeweiliges Tool Change Skript aus und legt alle WZ ab egal welches aktiv war.

    Das T-1 kann ich in jeden Slicer eingeben das gibt es keine Probleme, braucht auch keinerlei abfragen welches Tool aktiv ist etc.

     

    4 hours ago, Tiese said:

    akt ist, T0 bedeutet bei allen CNC-Maschinen WELTWEIT leerer Werkzeugplatz bzw. Werkzeugplatz leeren.

     

    Naja kann ich nicht bestätigen.

    Arbeite an Dreh/Fräszentren

    Bei Revolver Maschinen wird bei T0 ein Fehler ausgelöst

    Bei der einen mit Tool Wechsler muss man "M33" schreiben das alle WZ "aufgeräumt" werden, bei T0 weis ich nicht was da passiert aber wahrscheinlich auch ein Fehler.

     

    4 hours ago, Tiese said:

    Oder was meint ihr?

     

    Aber wie man es an CNC Maschinen sieht, wird alles von der "Firmware" geregelt und nichts von einer CAM Software etc.

     

    Gruß

    Edited by zerspaner_gerd
  • Link to post
    Share on other sites

    Posted · if/else im End-Script

    Vielen Dank für eure Antworten! Ich habe nun tatsächlich alles so umstrukturiert, dass alle Befehle für den Toolwechsel im Drucker gespeichert sind. Das ist tatsächlich irgendwie runder. Sende ich nun z.B. einfach nur "T1" an den Drucker, wird ggf. das aktuelle Tool abgelegt und das neue aufgenommen. Das hat nur einen kleinen Nachteil: Der erste Befehl, den Cura in einen Druckjob exportiert, ist ein "T0". In dem Moment wird das Tool automatisch aufgenommen und dann wird aufgeheizt. Erst dann wird das Start-Skript ausgeführt. Das ärgerliche dabei ist, dass ich gerne aufheizen würde, wenn das Tool noch in Parkposition ist, da ich dort eine Silikonlippe gegen gegen Oozing habe. Aber das ist nicht so tragisch. Damit das aktuelle Tool nach dem Druckjob abgesetzt wird, habe ich nur noch ein "T-1" im End-Skript eingefügt. Damit bin ich erstmal zufrieden. 

     

    Da die Frage kam: Der Tool Changer ist eine eigene Entwicklung ohne aktive Bauteile. Die Tools werden per Magnet gehalten. Funktioniert bisher sehr gut 🙂

    • Like 1
    Link to post
    Share on other sites

    Posted · if/else im End-Script

    Hallo,

     

    On 3/28/2022 at 9:06 PM, BastelWastel said:

    Das hat nur einen kleinen Nachteil: Der erste Befehl, den Cura in einen Druckjob exportiert, ist ein "T0".

     

    Da habe ich mir tatsächlich ein Plugin in Cura geschrieben der, das löscht.

    Weiteres sortiert er den Extruder Prime Code nachdem welcher halt anfängt wird erst T1 grundiert und dann mit T0 losgedruckt oder halt umgekehrt.

    Und falls nur mit einen Tool gedruckt wird wird der zweite Grundierungcode aus den Startcode gelöscht

    Falls wir ja die gleiche Firmware haben können wir ja mal über teilen nachdenken

     

    On 3/28/2022 at 9:06 PM, BastelWastel said:

    Da die Frage kam: Der Tool Changer ist eine eigene Entwicklung ohne aktive Bauteile. Die Tools werden per Magnet gehalten. Funktioniert bisher sehr gut 🙂

    OK, Ich bezog mich eher welche Firmware.

    Den Toolchanger wo ich kenne, hat die gleiche Firmware wie ich meinen UM2 geupgradet hat.

    Und da bei dir T-1 auch funktioniert werden wir wohl die gleiche Firmware (RepRap Duet) haben, oder ist T-1 ein genormter Befehl wo bei andere Firmwaren auch funktioniert

     

    Gruß

  • 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

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
        • 23 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
        • 0 replies
    ×
    ×
    • Create New...