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

Prusa Slicer Dual extruders

Scheduled Pinned Locked Moved
Third-party software
5
12
5.3k
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.
  • undefined
    Blacksheep99
    last edited by 27 Jan 2021, 22:40

    I've been using Cura with my dual extruder machine. I wanted to try Prusa slicer and although it supports multiple extruders there's an issue with the Duet and the gcode produced.

    It doesn't define the tool e.g. T0 and hence the Duet reports an error of no tool selected. I don't want to have to edit gcode to 'fix this. Anything I'm missing?

    1 Reply Last reply Reply Quote 0
    • undefined
      bot
      last edited by bot 27 Jan 2021, 23:07

      I use PrusaSlicer for dual extruder (IDEX) prints.

      Have you selected the other extruder to use for parts of the print? Confusingly, they refer to T0 and T1 as "1 and 2" when selecting the tools for printing. The number 0 in multi extruder is used for "don't care" extruder -- it will print with whatever extruder is most convenient.

      *not actually a robot

      undefined 1 Reply Last reply 27 Jan 2021, 23:11 Reply Quote 0
      • undefined
        Blacksheep99 @bot
        last edited by 27 Jan 2021, 23:11

        @bot I just wanted to use the left extruder we’ll call it so I selected 1 (default and 2 the other options). I assumed this would add T0 to the gcode so Duet would know which hot end to make active. Trying default or 1 doesn’t define the tool and therefore no tool is made active

        undefined 1 Reply Last reply 27 Jan 2021, 23:18 Reply Quote 0
        • undefined
          bot @Blacksheep99
          last edited by 27 Jan 2021, 23:18

          You might have to define your own toolchange custom gcode in the printer options.

          Something like:

          ; Custom tool change G-code
          T{next_extruder} P0 ; select tool
          M116 P{next_extruder} ; wait for temperature
          

          For single extruder prints, you have to put it in your start gcode like this:

          T{initial_extruder} P0 ; select tool
          M116 P{initial_extruder} ; wait for temperature
          

          *not actually a robot

          undefined undefined 2 Replies Last reply 28 Jan 2021, 09:16 Reply Quote 0
          • undefined
            Blacksheep99 @bot
            last edited by 28 Jan 2021, 09:16

            @bot said in Prusa Slicer Dual extruders:

            You might have to define your own toolchange custom gcode in the printer options.

            Something like:

            ; Custom tool change G-code
            T{next_extruder} P0 ; select tool
            M116 P{next_extruder} ; wait for temperature
            

            For single extruder prints, you have to put it in your start gcode like this:

            T{initial_extruder} P0 ; select tool
            M116 P{initial_extruder} ; wait for temperature
            

            Thanks, I'll look at this. It's a bit odd to me that if I select the 2nd extruder it places T1 in the g-code

            example:

            ; generated by PrusaSlicer 2.3.0+win64 on 2021-01-28 at 08:57:14 UTC
            
            ; 
            
            ; external perimeters extrusion width = 0.45mm
            ; perimeters extrusion width = 0.45mm
            ; infill extrusion width = 0.45mm
            ; solid infill extrusion width = 0.45mm
            ; top infill extrusion width = 0.40mm
            ; first layer extrusion width = 0.42mm
            
            M107
            M190 S60 ; set bed temperature and wait for it to be reached
            M104 S220 T1 ; set temperature
            ;TYPE:Custom
            ;G28 ; home all axes
            ;G1 Z5 F5000 ; lift nozzle
            G28 ;Home
            G29 S1 P"/sys/heightmap.csv"
            G1 Z15.0 F6000 ;Move the platform down 15mm
            ;Prime the extruder
            G92 E0
            ;G1 F200 E3
            M98 P"0:/sys/purge.g"
            G92 E0
            M109 S220 T1 ; set temperature and wait for it to be reached
            G21 ; set units to millimeters
            G90 ; use absolute coordinates
            M82 ; use absolute distances for extrusion
            G92 E0
            T1
            G92 E0
            ; Filament gcode
            ;LAYER_CHANGE
            ;Z:0.2
            ;HEIGHT:0.2
            G1 Z0.200 F7800.000
            G1 E-1.60000 F2400.000
            G92 E0
            G1 X-0.015 Y-18.367 F7800.000
            G1 E1.60000 F2400.000
            ;TYPE:Skirt
            

            However it I select the 1st extruder it omits the T0

            ; generated by PrusaSlicer 2.3.0+win64 on 2021-01-28 at 08:58:08 UTC
            
            ; 
            
            ; external perimeters extrusion width = 0.45mm
            ; perimeters extrusion width = 0.45mm
            ; infill extrusion width = 0.45mm
            ; solid infill extrusion width = 0.45mm
            ; top infill extrusion width = 0.40mm
            ; first layer extrusion width = 0.42mm
            
            M107
            M190 S60 ; set bed temperature and wait for it to be reached
            M104 S220 ; set temperature
            ;TYPE:Custom
            ;G28 ; home all axes
            ;G1 Z5 F5000 ; lift nozzle
            G28 ;Home
            G29 S1 P"/sys/heightmap.csv"
            G1 Z15.0 F6000 ;Move the platform down 15mm
            ;Prime the extruder
            G92 E0
            ;G1 F200 E3
            M98 P"0:/sys/purge.g"
            G92 E0
            M109 S220 ; set temperature and wait for it to be reached
            G21 ; set units to millimeters
            G90 ; use absolute coordinates
            M82 ; use absolute distances for extrusion
            G92 E0
            ; Filament gcode
            ;LAYER_CHANGE
            ;Z:0.2
            ;HEIGHT:0.2
            G1 Z0.200 F7800.000
            G1 E-1.60000 F2400.000
            G92 E0
            G1 X-0.015 Y-18.367 F7800.000
            G1 E1.60000 F2400.000
            ;TYPE:Skirt
            
            1 Reply Last reply Reply Quote 0
            • undefined
              oliof
              last edited by 28 Jan 2021, 11:51

              It likely assumes T0 is selected by default. I have T0 at the end of my config g

              <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

              undefined 1 Reply Last reply 28 Jan 2021, 16:55 Reply Quote 2
              • undefined
                bot @oliof
                last edited by 28 Jan 2021, 16:55

                @oliof Yeah. PrusaSlicer has weird behaviour around that. It initializes a tool change at the beginning if any extruder other than "1" (T0) is used for any part of the print. If using only T0, there is no such beginning tool change.

                Also, you should use RepRapFirmware flavour of G-Code.

                *not actually a robot

                undefined 1 Reply Last reply 28 Jan 2021, 17:54 Reply Quote 0
                • undefined
                  Blacksheep99 @bot
                  last edited by 28 Jan 2021, 17:54

                  @bot I’ve added the T0 to config.g as suggested above. Using reprap FW in settings. First few test prints look good to be fair. A benchy looked better than from Cura

                  1 Reply Last reply Reply Quote 1
                  • undefined
                    BENKO @bot
                    last edited by 11 Mar 2021, 18:36

                    Hi @bot,

                    Your G-code helped me a lot except for thing... it doesn't reduce the temperature of none selected extruder after the switch.
                    I have a Raise3D Pro2 and in order to do the switch between the extruders both of them need to be set to the filament temp, otherwise, it won't do the switch.

                    If you have any idea on how to reduce the temp (of the none used extruder) after the print starts, that would be great - right now, I'm doing it manually 😕

                    Cheers / Ben

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      bot
                      last edited by bot 3 Nov 2021, 20:40 11 Mar 2021, 20:37

                      This is what I do in my Start G-Code in PrusaSlicer:

                      {if first_layer_temperature[0] > 0.0}
                      
                      T0 P0
                      T-1 P0
                      G10 R170 S{first_layer_temperature[0]} P0 ; set T0 temperatures
                      
                      {else}
                      
                      G10 R0 S0 P0
                      
                      {endif}
                      
                      {if first_layer_temperature[1] > 0.0}
                      
                      T1 P0
                      T-1 P0
                      G10 R170 S{first_layer_temperature[1]} P1 ; set T1 temperatures
                      
                      {else}
                      
                      G10 R0 S0 P1
                      
                      {endif}
                      

                      I just have the standby temperature hardcoded. I don't know if you are using RRF or not with your Raise3D, but you should be able to accomplish something similar with other firmware gcodes.

                      *not actually a robot

                      undefined 1 Reply Last reply 11 Mar 2021, 21:18 Reply Quote 0
                      • undefined
                        BENKO @bot
                        last edited by 11 Mar 2021, 21:18

                        @bot ,
                        Where exactly do I need to put this code? At the beginning before all the G-codes?

                        undefined 1 Reply Last reply 1 Apr 2021, 19:01 Reply Quote 0
                        • undefined
                          wyzurd @BENKO
                          last edited by 1 Apr 2021, 19:01

                          @benko hi! I stumbled across this thread while trying to adapt my Makergear M3 IDEX to prusaslicer. On marlin, but we're trying to accomplish the same thing!

                          The start g -code goes under "Printer Settings -> Custome G-Code -> Start Gcode"

                          Could I see your tool change g-code? That's where I'm stuck.

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