Correct odd layer GUI description (#5793)

This commit is contained in:
Vovodroid 2024-09-09 17:45:58 +03:00 committed by GitHub
parent f31a9f802b
commit 09ffca1243
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 8 deletions

View file

@ -421,7 +421,7 @@ static bool detect_steep_overhang(const PrintRegionConfig *config,
bool &steep_overhang_hole) bool &steep_overhang_hole)
{ {
double threshold = config->overhang_reverse_threshold.get_abs_value(extrusion_width); double threshold = config->overhang_reverse_threshold.get_abs_value(extrusion_width);
// Special case: reverse on every odd layer // Special case: reverse on every even (from GUI POV) layer
if (threshold < EPSILON) { if (threshold < EPSILON) {
if (is_contour) { if (is_contour) {
steep_overhang_contour = true; steep_overhang_contour = true;
@ -463,7 +463,7 @@ static ExtrusionEntityCollection traverse_loops(const PerimeterGenerator &perime
// Detect steep overhangs // Detect steep overhangs
bool overhangs_reverse = perimeter_generator.config->overhang_reverse && bool overhangs_reverse = perimeter_generator.config->overhang_reverse &&
perimeter_generator.layer_id % 2 == 1; // Only calculate overhang degree on odd layers perimeter_generator.layer_id % 2 == 1; // Only calculate overhang degree on even (from GUI POV) layers
for (const PerimeterGeneratorLoop &loop : loops) { for (const PerimeterGeneratorLoop &loop : loops) {
bool is_external = loop.is_external(); bool is_external = loop.is_external();
@ -855,7 +855,7 @@ static ExtrusionEntityCollection traverse_extrusions(const PerimeterGenerator& p
{ {
// Detect steep overhangs // Detect steep overhangs
bool overhangs_reverse = perimeter_generator.config->overhang_reverse && bool overhangs_reverse = perimeter_generator.config->overhang_reverse &&
perimeter_generator.layer_id % 2 == 1; // Only calculate overhang degree on odd layers perimeter_generator.layer_id % 2 == 1; // Only calculate overhang degree on even (from GUI POV) layers
ExtrusionEntityCollection extrusion_coll; ExtrusionEntityCollection extrusion_coll;
for (PerimeterGeneratorArachneExtrusion& pg_extrusion : pg_extrusions) { for (PerimeterGeneratorArachneExtrusion& pg_extrusion : pg_extrusions) {

View file

@ -993,10 +993,10 @@ void PrintConfigDef::init_fff_params()
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("overhang_reverse", coBool); def = this->add("overhang_reverse", coBool);
def->label = L("Reverse on odd"); def->label = L("Reverse on even");
def->full_label = L("Overhang reversal"); def->full_label = L("Overhang reversal");
def->category = L("Quality"); 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 overhangs.\n\nThis setting can also help reduce part warping due to the reduction of stresses in the part walls."); def->tooltip = L("Extrude perimeters that have a part over an overhang in the reverse direction on even layers. This alternating pattern can drastically improve steep overhangs.\n\nThis setting can also help reduce part warping due to the reduction of stresses in the part walls.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
@ -1004,7 +1004,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Reverse only internal perimeters"); def->label = L("Reverse only internal perimeters");
def->full_label = L("Reverse only internal perimeters"); def->full_label = L("Reverse only internal perimeters");
def->category = L("Quality"); def->category = L("Quality");
def->tooltip = L("Apply the reverse perimeters logic only on internal perimeters. \n\nThis setting greatly reduces part stresses as they are now distributed in alternating directions. This should reduce part warping while also maintaining external wall quality. This feature can be very useful for warp prone material, like ABS/ASA, and also for elastic filaments, like TPU and Silk PLA. It can also help reduce warping on floating regions over supports.\n\nFor this setting to be the most effective, it is recommended to set the Reverse Threshold to 0 so that all internal walls print in alternating directions on odd layers irrespective of their overhang degree."); def->tooltip = L("Apply the reverse perimeters logic only on internal perimeters. \n\nThis setting greatly reduces part stresses as they are now distributed in alternating directions. This should reduce part warping while also maintaining external wall quality. This feature can be very useful for warp prone material, like ABS/ASA, and also for elastic filaments, like TPU and Silk PLA. It can also help reduce warping on floating regions over supports.\n\nFor this setting to be the most effective, it is recommended to set the Reverse Threshold to 0 so that all internal walls print in alternating directions on even layers irrespective of their overhang degree.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
@ -1032,7 +1032,7 @@ void PrintConfigDef::init_fff_params()
def->category = L("Quality"); def->category = L("Quality");
// xgettext:no-c-format, no-boost-format // xgettext:no-c-format, no-boost-format
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." 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."); "\nValue 0 enables reversal on every even layers regardless.");
def->sidetext = L("mm or %"); def->sidetext = L("mm or %");
def->ratio_over = "line_width"; def->ratio_over = "line_width";
def->min = 0; def->min = 0;
@ -1561,7 +1561,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("wall_direction", coEnum); def = this->add("wall_direction", coEnum);
def->label = L("Wall loop direction"); def->label = L("Wall loop direction");
def->category = L("Quality"); def->category = L("Quality");
def->tooltip = L("The direction which the wall loops are extruded when looking down from the top.\n\nBy default all walls are extruded in counter-clockwise, unless Reverse on odd is enabled. Set this to any option other than Auto will force the wall direction regardless of the Reverse on odd.\n\nThis option will be disabled if spiral vase mode is enabled."); def->tooltip = L("The direction which the wall loops are extruded when looking down from the top.\n\nBy default all walls are extruded in counter-clockwise, unless Reverse on even is enabled. Set this to any option other than Auto will force the wall direction regardless of the Reverse on even.\n\nThis option will be disabled if spiral vase mode is enabled.");
def->enum_keys_map = &ConfigOptionEnum<WallDirection>::get_enum_values(); def->enum_keys_map = &ConfigOptionEnum<WallDirection>::get_enum_values();
def->enum_values.push_back("auto"); def->enum_values.push_back("auto");
def->enum_values.push_back("ccw"); def->enum_values.push_back("ccw");