Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Inserting a pause using S3D and my Duet

    General Discussion
    4
    17
    1249
    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.
    • vonGreezly
      vonGreezly last edited by

      Hey all!

      Trying to kick out some multi-color TPU prints… I'm trying to pause inbetween colors at a certain layer, and move the head towards home so I can manually change filament and then resume.

      I've tried a few scripts that dont' seem to work w/ the Duet's language, so I'm hoping for some input.

      Script I found in the internet that doesn't work:
      {REPLACE "; layer" "M117 Layer"}
      {REPLACE " Z = " " Z="}
      {REPLACE "\nM117 Layer 17, Z=" "\nG1 X10 Y10\nM0\nM117 Layer 17, Z="}
      {REPLACE "\nM117 Layer 113, Z=" "\nG1 X10 Y10\nM0\nM117 Layer 113, Z="}

      I'm not a script wizard, so if anyone has any semblance of a working version of this, I'd really appreciate a copy of it!

      Thanks,
      VG

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

        You can use an S3D process and a macro, look at this thread: https://duet3d.com/forum/thread.php?id=4570#p40728

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

          that's what I need! now.. any chance you can explain it so an idiot can get it? haha

          Where does the macro exist? If I wanted a pause at layer 115, what exactly would my S3D Script look like?

          Thanks for your help, I apologize for my stupidity haha 😄

          -VG

          1 Reply Last reply Reply Quote 0
          • mrac1
            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
            • resam
              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
              • vonGreezly
                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
                • vonGreezly
                  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
                  • vonGreezly
                    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
                    • vonGreezly
                      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
                      • vonGreezly
                        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
                        • vonGreezly
                          vonGreezly last edited by

                          M291
                          Error: unsupported command: M291

                          1 Reply Last reply Reply Quote 0
                          • dc42
                            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
                            • vonGreezly
                              vonGreezly last edited by

                              1.18.1. Time to update! 😄

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

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

                                1 Reply Last reply Reply Quote 0
                                • mrac1
                                  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.

                                  vonGreezly 1 Reply Last reply Reply Quote 0
                                  • mrac1
                                    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
                                    • vonGreezly
                                      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