Using different extruders with different filament diameter results in "unexpected" results.

Steps to reproduce:

Use following extruder settings:
extruder 0: diameter 3mm, extrusion multiplier 1.1
extruder 1: diameter 1.75mm, extrusion multiplier 1.2

Insert to "Printer Settings"/"Custom G-Code":
; filamentDiameter=[filament_diameter]
; filamentDiameter0=[filament_diameter_0]
; filamentDiameter1=[filament_diameter_1]
; filamentDiameter2=[filament_diameter_2]
; filamentDiameter3=[filament_diameter_3]
; extrusionMultiplier=[extrusion_multiplier]
; extrusionMultiplier0=[extrusion_multiplier_0]
; extrusionMultiplier1=[extrusion_multiplier_1]
; extrusionMultiplier2=[extrusion_multiplier_2]
; extrusionMultiplier3=[extrusion_multiplier_3]

Slice one object  (no special settings in "multiple extruder" - only one extruder shall be used for print)

Results are ... errrrr ... unexpected:

; filamentDiameter=3
; filamentDiameter0=3
; filamentDiameter1=7
; filamentDiameter2=1.75
; filamentDiameter3=7
; extrusionMultiplier=1.1
; extrusionMultiplier0=1.1
; extrusionMultiplier1=1.2
; extrusionMultiplier2=1.1
; extrusionMultiplier3=1.1

i got multipliers korrekt but diameters wrong! "7"???? what the hell?

As a result only printing with 1st extruder is working in this case - the second extruder always is configured with diameter of 7.




  • Versions:
    Slic3r: 1.3.0-dev, 1.2.9 (all version i tried)
    Repetierhost: 2.0.1
  • Trying with latest host gives for me
    ; filamentDiameter=3
    ; filamentDiameter0=3
    ; filamentDiameter1=1.75
    ; filamentDiameter2=3
    ; Filament gcode

    Which is correct. Not sure what you did wrong. But make sure to use . and not , for numbers. Slic3r uses , to separate the values in the list so wrong usage might confuse the slicer resulting in wrong values.

    You also could look into the resulting slic3r_settings.ini in host workdirectory used for slicing. In may case you find

    filament_density = 0
    filament_diameter = 3,1.75
    filament_max_volumetric_speed = 0
    filament_notes = ""

    Which is what you need to get the wanted result.
  • Ok you are absolutely right!
    I was able to track down the problem towards a buggy filament-/extruder-profile that contains
         filament_diameter = 3,7

    this one triggers the above behavior. The question that arises from this as it nearly drove me nuts:

    Why does slic3r accept a filament.ini that contains this rubbish?
    Why does slic3r hide the real value within the GUI? (in GUI you can only see the "3") Even when the buggy profile is edited (even when diameter is changed) and saved the ",7" still persists within the .ini !!!

    So could the title of my bug-report become "Slic3r accepts multiple extruder diameters within single extruder profile"?
  • I guess the problem arises with the different input formats. Splittet filament shoudl always contain one value. But if you supply a config for more extruders we can have parameters only once so we need to join values by , 
  • Ah ok - i did not realize that combining filament configurations within a single .ini is a wanted feature... anyway: i think the invisibility of this within the GUI is still problematic...

    it took me quite a long time to get to the root cause here... so probably not a bug but a feature request?
  • Not sure as I'm not the slicer author. But it is I think a consequence of using ini files where you can not repeat keys. So putting them in a list instead seems the choosen solution. The question is more where did you mess up that ini file as it normally does not happen. At least my configs still have only 1 value in filament section. It might happen if you export settings as these are combined and then copy them to filament folder.
Sign In or Register to comment.