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

Proper gcode for multiple drives and extruders

Scheduled Pinned Locked Moved
General Discussion
2
4
196
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
    yoshimitsuspeed
    last edited by yoshimitsuspeed 27 Jan 2024, 21:34

    I have an IDEX machine and I want to know the right way to set pressure advance and nonlinear extrusion for all configurations.

    I have it set up so that tool 1 is the left print head, tool 2 the right print head, and tool 3 set up as duplicate where both heads print identically with a fixed offset from each other.

    I am a little confused how the gcode should look for this.
    Tool 1 prints as drive 0 and tool 2 as drive 1. Then tool 3 prints with drive 0 and 1.

    So if I am making adjustments in the console how should that look.
    Like let's say I am printing with tool 1 using drive 0 I assume it's just something like this?
    M592 D0 A-0.125378 B0.197786
    M572 D0 S.2
    Then for tool 2 it would just change to D1 correct?

    Then for tool 3 where it is using drive/extruder/heater 0 and 1 is where I'm really confused.
    Like would I do
    M592 D0 A-0.125378 B0.197786
    M592 D1 A-0.125378 B0.197786
    Or
    M592 D0 A-0.125378 B0.197786:M592 D0 A-0.125378 B0.197786
    Or something else?

    Then in Prusa Slicer in my filament custom gcode section how would I do the gcode to apply the proper nonlinear extrusion and pressure advance for all configurations?
    To clarify, if I am using a given filament profile and select "extruder 1" in filament settings and all extruders to 1 in print settings it applies the correct nonlinear extrusion to drive 1, and same with extruder 2, but then if I select "extruder 3" in Prusa Slicer having it apply nonlinear extrusion and pressure advance to drive 0 and 1.
    At least at the moment I don't think I would ever need to run a different parameter for drive 1 for tool 1 or tool 3. If I can specify in one place that D0 gets the same nonlinear extrusion and pressure advance whether tool 1 or tool 3 is selected that should be fine.

    Thanks

    undefined 1 Reply Last reply 28 Jan 2024, 06:55 Reply Quote 0
    • undefined
      deckingman @yoshimitsuspeed
      last edited by 28 Jan 2024, 06:55

      @yoshimitsuspeed You just need a single command for each extruder somewhere in your config.g file. Then any tools which use those extruders will "inherit" those values. Be sure to use the correct extruder drive number. Extruder numbers are assigned in the order they are created in M584 starting with 0.

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

      undefined 1 Reply Last reply 30 Jan 2024, 00:12 Reply Quote 0
      • undefined
        yoshimitsuspeed @deckingman
        last edited by 30 Jan 2024, 00:12

        @deckingman
        I have different 592 and 572 settings for various materials. Particularly different TPU materials and profiles. So I have those profiles saved in my slicer custom Gcode.

        Also the way these call out D instead of E makes it a little confusing as well. With commands like 567 that call out E it seems to accept the value:value format for multiple extruders but I haven't seen anything that shows how to address ones that call out D0, D1, etc.

        It would make a lot more sense if it all used E value:value

        undefined 1 Reply Last reply 30 Jan 2024, 07:29 Reply Quote 0
        • undefined
          deckingman @yoshimitsuspeed
          last edited by 30 Jan 2024, 07:29

          @yoshimitsuspeed I do likewise with setting different values for each filament type by using the slicer custom gcode. I tend to use a separate line for each extruder even when a colon separator is permissable as it reduces the possibility of errors and ambiguity. I also find that using global variables and a macro is a great help.

          I agree that the use of "E" and "D" can be confusing. But afaik, "E" is only used where a command has values for both axes and extruders whilst "D" is only used for commands that only apply to extruders, so that is a good way to remember.

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

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