Implemented minimum skirt extrusion length and draft shield parameter (#5356)

* Implemented minimum skirt extrusion length parameter

* Enabled draft shield option

* Update Tab.cpp

* Updated draft shield to be visible in the Advanced mode

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
Ioannis Giannakas 2024-05-20 12:04:13 +01:00 committed by GitHub
parent 3f83d68e0e
commit dd36d5b1ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 43 additions and 22 deletions

View file

@ -3802,12 +3802,14 @@ def = this->add("filament_loading_speed", coFloats);
def->set_default_value(new ConfigOptionInt(1));
def = this->add("draft_shield", coEnum);
//def->label = L("Draft shield");
def->label = "Draft shield";
//def->tooltip = L("With draft shield active, the skirt will be printed skirt_distance from the object, possibly intersecting brim.\n"
// "Enabled = skirt is as tall as the highest printed object.\n"
// "Limited = skirt is as tall as specified by skirt_height.\n"
// "This is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft.");
def->label = L("Draft shield");
def->tooltip = L("A draft shield is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft. "
"It is usually needed only with open frame printers, i.e. without an enclosure. \n\n"
"Options:\n"
"Enabled = skirt is as tall as the highest printed object.\n"
"Limited = skirt is as tall as specified by skirt height.\n\n"
"Note: With the draft shield active, the skirt will be printed at skirt distance from the object. Therefore, if brims "
"are active it may intersect with them. To avoid this, increase the skirt distance value.\n");
def->enum_keys_map = &ConfigOptionEnum<DraftShield>::get_enum_values();
def->enum_values.push_back("disabled");
def->enum_values.push_back("limited");
@ -3815,7 +3817,7 @@ def = this->add("filament_loading_speed", coFloats);
def->enum_labels.push_back("Disabled");
def->enum_labels.push_back("Limited");
def->enum_labels.push_back("Enabled");
def->mode = comDevelop;
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionEnum<DraftShield>(dsDisabled));
def = this->add("skirt_loops", coInt);
@ -3835,6 +3837,16 @@ def = this->add("filament_loading_speed", coFloats);
def->sidetext = L("mm/s");
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(50.0));
def = this->add("min_skirt_length", coFloat);
def->label = L("Skirt minimum extrusion length");
def->full_label = L("Skirt minimum extrusion length");
def->tooltip = L("Minimum filament extrusion length in mm when printing the skirt. Zero means this feature is disabled.\n\n"
"Using a non zero value is useful if the printer is set up to print without a prime line.");
def->min = 0;
def->sidetext = L("mm");
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0.0));
def = this->add("slow_down_layer_time", coFloats);
def->label = L("Layer time");