Set a max extruder's count for the Additional Setting "Extruders".

+ cat sidetext for options from Additional Setting "Extrusion Width".
This commit is contained in:
YuSanka 2019-05-14 12:15:48 +02:00
parent 5f6c7853d4
commit 66aee035ac
2 changed files with 11 additions and 8 deletions

View File

@ -418,7 +418,7 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("Set this to a non-zero value to set a manual extrusion width for external perimeters. " def->tooltip = L("Set this to a non-zero value to set a manual extrusion width for external perimeters. "
"If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. " "If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. "
"If expressed as percentage (for example 200%), it will be computed over layer height."); "If expressed as percentage (for example 200%), it will be computed over layer height.");
def->sidetext = L("mm or % (leave 0 for default)"); def->sidetext = L("mm or %");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(0, false)); def->set_default_value(new ConfigOptionFloatOrPercent(0, false));
@ -526,7 +526,7 @@ void PrintConfigDef::init_fff_params()
"If left to zero, Slic3r derives extrusion widths from the nozzle diameter " "If left to zero, Slic3r derives extrusion widths from the nozzle diameter "
"(see the tooltips for perimeter extrusion width, infill extrusion width etc). " "(see the tooltips for perimeter extrusion width, infill extrusion width etc). "
"If expressed as percentage (for example: 230%), it will be computed over layer height."); "If expressed as percentage (for example: 230%), it will be computed over layer height.");
def->sidetext = L("mm or % (leave 0 for auto)"); def->sidetext = L("mm or %");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(0, false)); def->set_default_value(new ConfigOptionFloatOrPercent(0, false));
@ -833,7 +833,7 @@ void PrintConfigDef::init_fff_params()
"You can use this to force fatter extrudates for better adhesion. If expressed " "You can use this to force fatter extrudates for better adhesion. If expressed "
"as percentage (for example 120%) it will be computed over first layer height. " "as percentage (for example 120%) it will be computed over first layer height. "
"If set to zero, it will use the default extrusion width."); "If set to zero, it will use the default extrusion width.");
def->sidetext = L("mm or % (leave 0 for default)"); def->sidetext = L("mm or %");
def->ratio_over = "first_layer_height"; def->ratio_over = "first_layer_height";
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(200, true)); def->set_default_value(new ConfigOptionFloatOrPercent(200, true));
@ -965,7 +965,7 @@ void PrintConfigDef::init_fff_params()
"If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. " "If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. "
"You may want to use fatter extrudates to speed up the infill and make your parts stronger. " "You may want to use fatter extrudates to speed up the infill and make your parts stronger. "
"If expressed as percentage (for example 90%) it will be computed over layer height."); "If expressed as percentage (for example 90%) it will be computed over layer height.");
def->sidetext = L("mm or % (leave 0 for default)"); def->sidetext = L("mm or %");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(0, false)); def->set_default_value(new ConfigOptionFloatOrPercent(0, false));
@ -1376,7 +1376,7 @@ void PrintConfigDef::init_fff_params()
"You may want to use thinner extrudates to get more accurate surfaces. " "You may want to use thinner extrudates to get more accurate surfaces. "
"If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. " "If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. "
"If expressed as percentage (for example 200%) it will be computed over layer height."); "If expressed as percentage (for example 200%) it will be computed over layer height.");
def->sidetext = L("mm or % (leave 0 for default)"); def->sidetext = L("mm or %");
def->aliases = { "perimeters_extrusion_width" }; def->aliases = { "perimeters_extrusion_width" };
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(0, false)); def->set_default_value(new ConfigOptionFloatOrPercent(0, false));
@ -1714,7 +1714,7 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("Set this to a non-zero value to set a manual extrusion width for infill for solid surfaces. " def->tooltip = L("Set this to a non-zero value to set a manual extrusion width for infill for solid surfaces. "
"If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. " "If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. "
"If expressed as percentage (for example 90%) it will be computed over layer height."); "If expressed as percentage (for example 90%) it will be computed over layer height.");
def->sidetext = L("mm or % (leave 0 for default)"); def->sidetext = L("mm or %");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(0, false)); def->set_default_value(new ConfigOptionFloatOrPercent(0, false));
@ -1887,7 +1887,7 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("Set this to a non-zero value to set a manual extrusion width for support material. " def->tooltip = L("Set this to a non-zero value to set a manual extrusion width for support material. "
"If left zero, default extrusion width will be used if set, otherwise nozzle diameter will be used. " "If left zero, default extrusion width will be used if set, otherwise nozzle diameter will be used. "
"If expressed as percentage (for example 90%) it will be computed over layer height."); "If expressed as percentage (for example 90%) it will be computed over layer height.");
def->sidetext = L("mm or % (leave 0 for default)"); def->sidetext = L("mm or %");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(0, false)); def->set_default_value(new ConfigOptionFloatOrPercent(0, false));
@ -2045,7 +2045,7 @@ void PrintConfigDef::init_fff_params()
"You may want to use thinner extrudates to fill all narrow regions and get a smoother finish. " "You may want to use thinner extrudates to fill all narrow regions and get a smoother finish. "
"If left zero, default extrusion width will be used if set, otherwise nozzle diameter will be used. " "If left zero, default extrusion width will be used if set, otherwise nozzle diameter will be used. "
"If expressed as percentage (for example 90%) it will be computed over layer height."); "If expressed as percentage (for example 90%) it will be computed over layer height.");
def->sidetext = L("mm or % (leave 0 for default)"); def->sidetext = L("mm or %");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(0, false)); def->set_default_value(new ConfigOptionFloatOrPercent(0, false));

View File

@ -129,12 +129,15 @@ void ObjectSettings::update_settings_list()
optgroup->m_on_change = [](const t_config_option_key& opt_id, const boost::any& value) { optgroup->m_on_change = [](const t_config_option_key& opt_id, const boost::any& value) {
wxGetApp().obj_list()->changed_object(); }; wxGetApp().obj_list()->changed_object(); };
const bool is_extriders_cat = cat.first == "Extruders";
for (auto& opt : cat.second) for (auto& opt : cat.second)
{ {
if (opt == "extruder") if (opt == "extruder")
continue; continue;
Option option = optgroup->get_option(opt); Option option = optgroup->get_option(opt);
option.opt.width = 12; option.opt.width = 12;
if (is_extriders_cat)
option.opt.max = wxGetApp().extruders_cnt();
optgroup->append_single_option_line(option); optgroup->append_single_option_line(option);
} }
optgroup->reload_config(); optgroup->reload_config();