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

    How to use different print speeds with different tools?

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    12
    391
    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.
    • deckingmanundefined
      deckingman @jens55
      last edited by

      @jens55 said in How to use different print speeds with different tools?:

      @deckingman, the problem I see is that you are extruding from six tools at the same time. With Cura, most of the parameters are configured per particular extruder so it's easy to set different speeds. Maybe I misunderstand the question though because I see no reason to mix different materials (and therefore speed).

      Although the hot end can be used in mixing mode, as I have it configured for multi-material printing, each tool is dedicated to a single filament. So each tool will only ever use one filament at a time. The only thing that's slightly different is that each tool is configured to use all 6 extruders but the mixing ratio is such that only one extruder will move forward when printing. e.g.....

      M563 P1 S"ABS" D0:1:2:3:4:5 H1:2
      M567 P1 E0.00:1.00:0.00:0.00:0.00:0.00
      

      So each individual tool acts just like a single extruder tool with the exception that firmware retraction will retract all 6 filaments, even though only one will be moving forward as the print progresses. Maybe at some time in the future I might experiment with combining different materials but that's another matter altogether.

      So the issue really is that my version of Slic3R (Prusa edition) doesn't support different speeds for different tools (which are referred to as extruders). I can have different nozzle diameters, XY offsets etc, and retraction settings but not different speeds.

      Scratch that - there is a way (but it's a PITA) . After loading a part, I can go to Object- settings- pick the extruder - the click a little "+" button , select speed, then select move type (e.g. external perimeter), then enter a value. But there isn't a way to save those settings that I can see. So it's doable in the slicer but a real pain to do as each time I slice a multi-part object, I'd have to enter speed values for every move type and for every part which makes up the object.

      Methinks my idea of using of using M220 to change the speed modifier in tpost(n).g will be easier (unless someone comes up with a better idea).

      Ian
      https://somei3deas.wordpress.com/
      https://www.youtube.com/@deckingman

      jens55undefined engikeneerundefined 2 Replies Last reply Reply Quote 0
      • jens55undefined
        jens55 @deckingman
        last edited by

        @deckingman said in How to use different print speeds with different tools?:

        Methinks my idea of using of using M220 to change the speed modifier in tpost(n).g will be easier (unless someone comes up with a better idea).

        While I can see setting the speed in the macro's, wouldn't that get awfully complicated as well? You'd basically need a custom macro to replace the parameters from config.g for each material. Would there be additional complications with things such as wall speed, infill speed etc etc ? In Cura those are all specified in the slicer for each extruder but I am not sure how Prusa Slicer handles all those different speeds.

        It might just be easier to try out Cura .....

        deckingmanundefined 1 Reply Last reply Reply Quote 0
        • OwenDundefined
          OwenD
          last edited by

          Do you use the filaments functionality?
          If you put a print speed factor in each filament config.g it might work
          Something like slice at 100mm/sec
          Then in each filament assign the speed as a percentage to achieve the desired print speed.
          e.g M220 S40
          Set all your other speeds such as infill, bridges etc as percentages in the slicer so they're relative to the base.
          Call M703 in your tool change to load your settings.
          I don't have a tool changing system but I change retraction etc this way.
          With TPE I pretty much have to turn off PA and retraction.

          deckingmanundefined 1 Reply Last reply Reply Quote 0
          • engikeneerundefined
            engikeneer @deckingman
            last edited by engikeneer

            @deckingman one possible workaround with PrusaSlicer would be to use the max volumetric flow rate to limit things? You can apply that per filament, and can set which filament each object is printed with (I think?).

            Definitely agree that the multi tool functionality isn't great in PS. I have the same issue when running tools with different nozzle diameters...

            Edit: thinking about it more, you can add custom Gcode to each of the filaments in PS. Maybe you could add the M220 in there? Depends how much you like to put that stuff in the slicer vs in the Duet

            E3D TC with D3Mini and Toolboards.
            Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
            i3 clone with a bunch of mods

            1 Reply Last reply Reply Quote 0
            • deckingmanundefined
              deckingman @jens55
              last edited by

              @jens55 said in How to use different print speeds with different tools?:

              @deckingman said in How to use different print speeds with different tools?:

              Methinks my idea of using of using M220 to change the speed modifier in tpost(n).g will be easier (unless someone comes up with a better idea).

              While I can see setting the speed in the macro's, wouldn't that get awfully complicated as well? You'd basically need a custom macro to replace the parameters from config.g for each material. Would there be additional complications with things such as wall speed, infill speed etc etc ?

              No not really. Say I sliced the object using 80mm/sec, 75% for external perimeters and top and bottom layers, 40mm/sec small perimeters etc. Then for a filament which needed half of those speeds, all I'd need to do would be to use M220 and a value of 50% in tpost.g for that filament and it'll slow everything down. Of course, I'd need to use M220 in the other tpost files to restore the speed factor override.

              Ian
              https://somei3deas.wordpress.com/
              https://www.youtube.com/@deckingman

              1 Reply Last reply Reply Quote 0
              • deckingmanundefined
                deckingman @OwenD
                last edited by

                @owend said in How to use different print speeds with different tools?:

                Do you use the filaments functionality?
                If you put a print speed factor in each filament config.g it might work
                Something like slice at 100mm/sec
                Then in each filament assign the speed as a percentage to achieve the desired print speed.
                e.g M220 S40
                Set all your other speeds such as infill, bridges etc as percentages in the slicer so they're relative to the base.
                Call M703 in your tool change to load your settings.
                I don't have a tool changing system but I change retraction etc this way.
                With TPE I pretty much have to turn off PA and retraction.

                I'll look into that but if I'm going to use M703 in tpost, why not use M220 instead and cut out the middle man as it were? With 6 tools, each one will be pretty much dedicated to a particular filament type so I'm unlikely to be editing the tool change files once I get everything dialed in. But you are right, I'll likely end with different retraction and PA settings so the filaments feature might be a better way to handle it.

                Ian
                https://somei3deas.wordpress.com/
                https://www.youtube.com/@deckingman

                OwenDundefined 1 Reply Last reply Reply Quote 0
                • OwenDundefined
                  OwenD @deckingman
                  last edited by

                  @deckingman said in How to use different print speeds with different tools?:

                  I'll look into that but if I'm going to use M703 in tpost, why not use M220 instead and cut out the middle man as it were?

                  My thinking was to try to avoid locking a filament to a tool.
                  Your slicer can pass the filament name at tool change.
                  You'd probably use filament_type[next_extruder] from memory
                  I use that to set a global variable so I can load a filament config without necessarily doing a filament change (as in all the moves)

                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                  • deckingmanundefined
                    deckingman @OwenD
                    last edited by

                    @owend I'm being thick here but looking at M703 its says quote .....

                    "After assigning a filament to a tool, this command may be used to run /filaments/<filament name>/config.g to set parameters like temperatures, extrusion factor, retract distance. If no filament is loaded, the code completes without a warning." .....

                    But I can't figure out how to assign a filament to a tool. Is it by using M701 "load filament". If so the I think I'm going to run foul of this.....quote from the wiki for M701

                    "This code may be used to load a material for the active tool, however be aware that this code will work only for tools that have exactly one extruder assigned"..........

                    I have a feeling that's why I've never used the filaments feature (because I have to assign all extruders to each tool and use the mixing ratio to limit the tool to use only one filament in order for firmware retraction to retract them all).

                    Ian
                    https://somei3deas.wordpress.com/
                    https://www.youtube.com/@deckingman

                    OwenDundefined 1 Reply Last reply Reply Quote 0
                    • OwenDundefined
                      OwenD @deckingman
                      last edited by OwenD

                      @deckingman
                      I wasn't aware of that limitation.
                      I'm not skilled enough in C++ to be sure, but looking at the code, I don't think calling M701 would do any harm in your case.
                      At worst I think it will say that it's not supported on this tool.
                      M702 & M701 are going to call the respective load.g and unload.g files in the filaments directory, but they need not contain anything.
                      But you'd have to do it before the use of each filament and it would definitely NOT if you were actually mixing.

                      Seems like the filaments.csv file usage locks us into one filament per tool despite having the ability to use multiple extruders per tool.
                      I guess the thinking is that a mixing extruder is still one tool and wouldn't be mixing different filament types.

                      deckingmanundefined 1 Reply Last reply Reply Quote 0
                      • deckingmanundefined
                        deckingman @OwenD
                        last edited by

                        @owend I'll have a play around and see what happens. There is chance that I might be able to configure retraction to work with just the active filament, rather than all 6. The diamond mixing hot end certainly needs all filaments to be retracted but this design of mine behaves very differently in some respects. But I'm still learning about it. If I can get retraction to work on just one filament, then I can configure each tool to only use one extruder, then the filaments feature should be viable.

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

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