mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-07 06:57:36 -06:00
Change direction for perimeter extrusion at odd layers. (#2413)
* Change direction for perimeter extrusion at odd layers. Initial test code based on supermerill/SuperSlicer@87245ae3c1 * Perimeters for both contours and holes can have alternating direction, to support overhangs on both side. Also fixes wipe on loop. * Only reverse order if the loops have steep overhang * Support a special case that treat every layer as steep overhang * Add options * Disable overhang reverse if vase mode is enabled * Allow extrusion reversal and skip overhang detection if fuzzy skin --------- Co-authored-by: supermerill <merill@free.fr> Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
bbfb9d77fa
commit
951252c597
12 changed files with 199 additions and 35 deletions
|
@ -836,6 +836,27 @@ void PrintConfigDef::init_fff_params()
|
|||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("overhang_reverse", coBool);
|
||||
def->label = L("Reverse on odd");
|
||||
def->full_label = L("Overhang reversal");
|
||||
def->category = L("Quality");
|
||||
def->tooltip = L("Extrude perimeters that have a part over an overhang in the reverse direction on odd layers. This alternating pattern can drastically improve steep overhang.");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("overhang_reverse_threshold", coFloatOrPercent);
|
||||
def->label = L("Reverse threshold");
|
||||
def->full_label = L("Overhang reversal threshold");
|
||||
def->category = L("Quality");
|
||||
def->tooltip = L("Number of mm the overhang need to be for the reversal to be considered useful. Can be a % of the perimeter width."
|
||||
"\nValue 0 enables reversal on every odd layers regardless.");
|
||||
def->sidetext = L("mm or %");
|
||||
def->ratio_over = "line_width";
|
||||
def->min = 0;
|
||||
def->max_literal = 20;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloatOrPercent(50, true));
|
||||
|
||||
def = this->add("overhang_speed_classic", coBool);
|
||||
def->label = L("Classic mode");
|
||||
def->category = L("Speed");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue