Proper gcode for multiple drives and extruders
-
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
-
@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.
-
@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
-
@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.