CURA-4358
Use evaluation context to override the default extruderValue()
function with getDefaultExtruderValue() so it can get the correct
default values from each extruder.
fixes a problem when Cura starts with a single extruder printer but the
user then choose a multiextruder printer - CURA-4386
Also added a quality definition in UM3E extruder with the ids of the UM3
extruders, so that the profiles for UM3 are also valid for UM3E and viceversa - CURA-4389
All are related issues with profiles and multiextruder printers
CURA-4069
support_bottom_extruder_nr and support_roof_extruder_nr are the support
interface extruder numbers, so checking those two is enough and there is
no need to check the interface extruder number.
CURA-4069
getUsedExtruderStacks() doesn't take into account some new limit to
extruder features, The BuildVolume uses it to determine disallowed
areas, and this makes it give incorrect results.
NB: previously the "approximate_diameter" metadata was stored as a number. This caused some issues passing arguments from QML to Python. Now "approximate_diameter" is stored as a string.
It may also be any other class that implements the Definition Container Interface.
Not really related to CURA-3803 but I'm putting it there anyway as I found it during that development.
Except when we fill the instancecontainer via deserialising. Because then we want to retain the original version number.
Contributes to issue CURA-3427.
extrudervalues() would include the values of extruders whose position >= machine_extruder_count. This can happen in machine definitions that have more extruders than machine_extruder_count, eg Custom FDM printer.
You can activate the roof and bottom separately now. If you want, of course. The original interface setting sets both of them unless overwritten.
Contributes to issue CURA-3491.
Note that currently the support_interface_extruder_nr is still used by the engine for some things and therefore the build volume calculations may not be 100% correct. I'll fix that up soon.
Contributes to issue CURA-3491.
The extruder name is asked from the extruder manager, so that the signal from extruder manager properly updates it once the new name is available.
Contributes to issue CURA-3161.