Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Inserting a pause using S3D and my Duet

    Scheduled Pinned Locked Moved
    General Discussion
    4
    17
    1.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mrac1undefined
      mrac1
      last edited by

      Ok, you need a macro on the duet which controls your filament change. You create this directly via DWC in the macro area. Take my macro out of the thread as inspiration. Name it eg. "ColorChange"

      In S3D use the "Variable Settings Wizard" (Menue "Tools") to generate a second (third… and so on) processes depending on the layer height.
      Rename this process to something like "Color2" (Color3, Color4...) (doubleclick on the process and change the name in the first line of the fff settings)

      In the postprocessing area insert:

      {REPLACE "; process Color2" "M98 P/macros/ColorChange"}
      {REPLACE "; process Color3" "M98 P/macros/ColorChange"}
      {REPLACE "; process Color4" "M98 P/macros/ColorChange"}

      Color2 is the name of the process
      M98 is the Gcode to call the macro
      /macros/ is the path to the macro on the duet
      ColorChange is the name of the macro

      This is all you need, pretty simple. You can leave the Replace lines in the postprocessing also for single color prints, because they do nothing without a renamend process.

      1 Reply Last reply Reply Quote 0
      • resamundefined
        resam
        last edited by

        I'm using this to pause the print after layer 112 is done, and before it starts layer 113:

        {REPLACE "\n; layer 113," "\nM226\n;layer 113,"}
        
        
        1 Reply Last reply Reply Quote 0
        • vonGreezlyundefined
          vonGreezly
          last edited by

          @resam:

          I'm using this to pause the print after layer 112 is done, and before it starts layer 113:

          {REPLACE "\n; layer 113," "\nM226\n;layer 113,"}
          
          

          I was hoping for something simple like this! but for some reason it doesn't work… do you just put it in the post processing box? or somewhere else?

          1 Reply Last reply Reply Quote 0
          • vonGreezlyundefined
            vonGreezly
            last edited by

            @mrac1:

            Ok, you need a macro on the duet which controls your filament change. You create this directly via DWC in the macro area. Take my macro out of the thread as inspiration. Name it eg. "ColorChange"

            In S3D use the "Variable Settings Wizard" (Menue "Tools") to generate a second (third… and so on) processes depending on the layer height.
            Rename this process to something like "Color2" (Color3, Color4...) (doubleclick on the process and change the name in the first line of the fff settings)

            In the postprocessing area insert:

            {REPLACE "; process Color2" "M98 P/macros/ColorChange"}
            {REPLACE "; process Color3" "M98 P/macros/ColorChange"}
            {REPLACE "; process Color4" "M98 P/macros/ColorChange"}

            Color2 is the name of the process
            M98 is the Gcode to call the macro
            /macros/ is the path to the macro on the duet
            ColorChange is the name of the macro

            This is all you need, pretty simple. You can leave the Replace lines in the postprocessing also for single color prints, because they do nothing without a renamend process.

            Thank you so much! I'm going to try and implement this right now! ❤

            1 Reply Last reply Reply Quote 0
            • vonGreezlyundefined
              vonGreezly
              last edited by

              @vonGreezly:

              @mrac1:

              Ok, you need a macro on the duet which controls your filament change. You create this directly via DWC in the macro area. Take my macro out of the thread as inspiration. Name it eg. "ColorChange"

              In S3D use the "Variable Settings Wizard" (Menue "Tools") to generate a second (third… and so on) processes depending on the layer height.
              Rename this process to something like "Color2" (Color3, Color4...) (doubleclick on the process and change the name in the first line of the fff settings)

              In the postprocessing area insert:

              {REPLACE "; process Color2" "M98 P/macros/ColorChange"}
              {REPLACE "; process Color3" "M98 P/macros/ColorChange"}
              {REPLACE "; process Color4" "M98 P/macros/ColorChange"}

              Color2 is the name of the process
              M98 is the Gcode to call the macro
              /macros/ is the path to the macro on the duet
              ColorChange is the name of the macro

              This is all you need, pretty simple. You can leave the Replace lines in the postprocessing also for single color prints, because they do nothing without a renamend process.

              Thank you so much! I'm going to try and implement this right now! ❤

              Quick question! Is it not possible to do this from ONE process (and just have multiple pauses?) or do I need to print using multiple processes to make this work? (whatever works is fine, just curious!)

              -VG

              1 Reply Last reply Reply Quote 0
              • vonGreezlyundefined
                vonGreezly
                last edited by

                nevermind, answered my own question, that's where it knows when to stop and start printing! got it!

                1 Reply Last reply Reply Quote 0
                • vonGreezlyundefined
                  vonGreezly
                  last edited by

                  First test print going now… 😄 I shall report my failures and or victories! Thanks guys!

                  1 Reply Last reply Reply Quote 0
                  • vonGreezlyundefined
                    vonGreezly
                    last edited by

                    M291
                    Error: unsupported command: M291

                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators
                      last edited by

                      I guess you must be using old firmware. M291 was introduced at version 1.19 AFAIR.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      1 Reply Last reply Reply Quote 0
                      • vonGreezlyundefined
                        vonGreezly
                        last edited by

                        1.18.1. Time to update! 😄

                        1 Reply Last reply Reply Quote 0
                        • vonGreezlyundefined
                          vonGreezly
                          last edited by

                          gonna do it in the morning… want to finish this print I started =\

                          1 Reply Last reply Reply Quote 0
                          • mrac1undefined
                            mrac1
                            last edited by

                            @vonGreezly:

                            nevermind, answered my own question, that's where it knows when to stop and start printing! got it!

                            Right! I think that's the easiest way.

                            vonGreezlyundefined 1 Reply Last reply Reply Quote 0
                            • mrac1undefined
                              mrac1
                              last edited by

                              @dc42:

                              I guess you must be using old firmware. M291 was introduced at version 1.19 AFAIR.

                              I've used it with 1.20 and 1.21. Btw David, great work!

                              1 Reply Last reply Reply Quote 0
                              • vonGreezlyundefined
                                vonGreezly @mrac1
                                last edited by

                                @mrac1 OKAY! Back to this.. Finally updated, and Calling the macro generates a popup window, but doesn't pause the print, or move the print head out of the way, etc. So, the Macro is calling, but it's not doing anything other than generating an OK button. Thoughts?

                                My Macro Script (Super simple):

                                M400 ; Wait for moves to complete
                                G1 X10 Y10 F3000 ; Move nozzle to the front
                                M291 P"Change Filament" ; Display message
                                G1 R1 ; go back to the last print move

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA