Implemented "Use unlimited skirt" option

This commit is contained in:
YuSanka 2020-03-11 10:43:59 +01:00
parent 3d3e36ba8d
commit 7fd9c736b3
5 changed files with 13 additions and 2 deletions

View file

@ -162,6 +162,7 @@ bool Print::invalidate_state_by_config_options(const std::vector<t_config_option
} else if (
opt_key == "skirts"
|| opt_key == "skirt_height"
|| opt_key == "infinit_skirt"
|| opt_key == "skirt_distance"
|| opt_key == "min_skirt_length"
|| opt_key == "ooze_prevention"
@ -1147,7 +1148,8 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
bool Print::has_infinite_skirt() const
{
return (m_config.skirt_height == -1 && m_config.skirts > 0)
// return (m_config.skirt_height == -1 && m_config.skirts > 0)
return (m_config.infinit_skirt && m_config.skirts > 0)
|| (m_config.ooze_prevention && this->extruders().size() > 1);
}

View file

@ -1698,6 +1698,12 @@ void PrintConfigDef::init_fff_params()
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionInt(1));
def = this->add("infinit_skirt", coBool);
def->label = L("Use unlimit skirt");
def->tooltip = L("If enabled, the skirt will be as tall as a highest printed object.");
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false));
def = this->add("skirts", coInt);
def->label = L("Loops (minimum)");
def->full_label = L("Skirt Loops");

View file

@ -802,6 +802,7 @@ public:
ConfigOptionBools retract_layer_change;
ConfigOptionFloat skirt_distance;
ConfigOptionInt skirt_height;
ConfigOptionBool infinit_skirt;
ConfigOptionInt skirts;
ConfigOptionInts slowdown_below_layer_time;
ConfigOptionBool spiral_vase;
@ -874,6 +875,7 @@ protected:
OPT_PTR(retract_layer_change);
OPT_PTR(skirt_distance);
OPT_PTR(skirt_height);
OPT_PTR(infinit_skirt);
OPT_PTR(skirts);
OPT_PTR(slowdown_below_layer_time);
OPT_PTR(spiral_vase);