Fix: UI Overriding some settings per object (#11977)

* Fix: Add missing categories to print settings (Seam, Wipe, Accel, Scarf)

    - Assigns categories (Quality, Speed) to various print settings in PrintConfig.cpp.
    - Ensures these settings are correctly tracked in the UI override list (GUI_ObjectList).
    - Fixes issue where overriding these settings per-object did not trigger the 'modified' icon.

* Fix: Add missing categories to additional per-object settings

- Assigns categories (Speed, Quality, Strength, Support) to relevant settings.
- Cleans up duplicate definition of 'outer_wall_acceleration' in PrintConfig.cpp.
- Ensures the 'modified' icon (orange arrow) appears correctly in the Object List.

* Fix: Restore original default values for acceleration and skirt angle

- Reverted 'default_acceleration' back to 500.
- Reverted 'skirt_start_angle' back to -135.

* Style: Remove trailing whitespace in print_flow_ratio tooltip

* Fix: Mark skirt_start_angle as advanced setting

* fix values
This commit is contained in:
tome9111991
2026-01-16 22:18:53 +01:00
committed by GitHub
parent d69620a716
commit 9abe42c503

View File

@@ -1697,6 +1697,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("default_acceleration", coFloat); def = this->add("default_acceleration", coFloat);
def->label = L("Normal printing"); def->label = L("Normal printing");
def->category = L("Speed");
def->tooltip = L("The default acceleration of both normal printing and travel except initial layer."); def->tooltip = L("The default acceleration of both normal printing and travel except initial layer.");
def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -2144,6 +2145,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("print_flow_ratio", coFloat); def = this->add("print_flow_ratio", coFloat);
def->label = L("Flow ratio"); def->label = L("Flow ratio");
def->category = L("Quality");
def->tooltip = L("The material may have volumetric change after switching between molten and crystalline states. " def->tooltip = L("The material may have volumetric change after switching between molten and crystalline states. "
"This setting changes all extrusion flow of this filament in G-code proportionally. " "This setting changes all extrusion flow of this filament in G-code proportionally. "
"The recommended value range is between 0.95 and 1.05. " "The recommended value range is between 0.95 and 1.05. "
@@ -2750,6 +2752,7 @@ void PrintConfigDef::init_fff_params()
// Infill multiline // Infill multiline
def = this->add("fill_multiline", coInt); def = this->add("fill_multiline", coInt);
def->label = L("Fill Multiline"); def->label = L("Fill Multiline");
def->category = L("Strength");
def->tooltip = L("Using multiple lines for the infill pattern, if supported by infill pattern."); def->tooltip = L("Using multiple lines for the infill pattern, if supported by infill pattern.");
def->min = 1; def->min = 1;
def->max = 10; // Maximum number of lines for infill pattern def->max = 10; // Maximum number of lines for infill pattern
@@ -2895,16 +2898,9 @@ void PrintConfigDef::init_fff_params()
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloatOrPercent(20, false)); def->set_default_value(new ConfigOptionFloatOrPercent(20, false));
def = this->add("outer_wall_acceleration", coFloat);
def->label = L("Outer wall");
def->tooltip = L("Acceleration of outer walls.");
def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation
def->min = 0;
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(10000));
def = this->add("inner_wall_acceleration", coFloat); def = this->add("inner_wall_acceleration", coFloat);
def->label = L("Inner wall"); def->label = L("Inner wall");
def->category = L("Speed");
def->tooltip = L("Acceleration of inner walls."); def->tooltip = L("Acceleration of inner walls.");
def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -2913,6 +2909,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("travel_acceleration", coFloat); def = this->add("travel_acceleration", coFloat);
def->label = L("Travel"); def->label = L("Travel");
def->category = L("Speed");
def->tooltip = L("Acceleration of travel moves."); def->tooltip = L("Acceleration of travel moves.");
def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -2921,6 +2918,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("top_surface_acceleration", coFloat); def = this->add("top_surface_acceleration", coFloat);
def->label = L("Top surface"); def->label = L("Top surface");
def->category = L("Speed");
def->tooltip = L("Acceleration of top surface infill. Using a lower value may improve top surface quality."); def->tooltip = L("Acceleration of top surface infill. Using a lower value may improve top surface quality.");
def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -2929,6 +2927,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("outer_wall_acceleration", coFloat); def = this->add("outer_wall_acceleration", coFloat);
def->label = L("Outer wall"); def->label = L("Outer wall");
def->category = L("Speed");
def->tooltip = L("Acceleration of outer wall. Using a lower value can improve quality."); def->tooltip = L("Acceleration of outer wall. Using a lower value can improve quality.");
def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -2937,6 +2936,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("bridge_acceleration", coFloatOrPercent); def = this->add("bridge_acceleration", coFloatOrPercent);
def->label = L("Bridge"); def->label = L("Bridge");
def->category = L("Speed");
def->tooltip = L("Acceleration of bridges. If the value is expressed as a percentage (e.g. 50%), it will be calculated based on the outer wall acceleration."); def->tooltip = L("Acceleration of bridges. If the value is expressed as a percentage (e.g. 50%), it will be calculated based on the outer wall acceleration.");
def->sidetext = L("mm/s² or %"); def->sidetext = L("mm/s² or %");
def->min = 0; def->min = 0;
@@ -2946,6 +2946,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("sparse_infill_acceleration", coFloatOrPercent); def = this->add("sparse_infill_acceleration", coFloatOrPercent);
def->label = L("Sparse infill"); def->label = L("Sparse infill");
def->category = L("Speed");
def->tooltip = L("Acceleration of sparse infill. If the value is expressed as a percentage (e.g. 100%), it will be calculated based on the default acceleration."); def->tooltip = L("Acceleration of sparse infill. If the value is expressed as a percentage (e.g. 100%), it will be calculated based on the default acceleration.");
def->sidetext = L("mm/s² or %"); def->sidetext = L("mm/s² or %");
def->min = 0; def->min = 0;
@@ -2955,6 +2956,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("internal_solid_infill_acceleration", coFloatOrPercent); def = this->add("internal_solid_infill_acceleration", coFloatOrPercent);
def->label = L("Internal solid infill"); def->label = L("Internal solid infill");
def->category = L("Speed");
def->tooltip = L("Acceleration of internal solid infill. If the value is expressed as a percentage (e.g. 100%), it will be calculated based on the default acceleration."); def->tooltip = L("Acceleration of internal solid infill. If the value is expressed as a percentage (e.g. 100%), it will be calculated based on the default acceleration.");
def->sidetext = L("mm/s² or %"); def->sidetext = L("mm/s² or %");
def->min = 0; def->min = 0;
@@ -2964,6 +2966,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("initial_layer_acceleration", coFloat); def = this->add("initial_layer_acceleration", coFloat);
def->label = L("Initial layer"); def->label = L("Initial layer");
def->category = L("Speed");
def->tooltip = L("Acceleration of initial layer. Using a lower value can improve build plate adhesion."); def->tooltip = L("Acceleration of initial layer. Using a lower value can improve build plate adhesion.");
def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation def->sidetext = L(u8"mm/s²"); // milimeters per second per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -2972,12 +2975,14 @@ void PrintConfigDef::init_fff_params()
def = this->add("accel_to_decel_enable", coBool); def = this->add("accel_to_decel_enable", coBool);
def->label = L("Enable accel_to_decel"); def->label = L("Enable accel_to_decel");
def->category = L("Speed");
def->tooltip = L("Klipper's max_accel_to_decel will be adjusted automatically."); def->tooltip = L("Klipper's max_accel_to_decel will be adjusted automatically.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(true)); def->set_default_value(new ConfigOptionBool(true));
def = this->add("accel_to_decel_factor", coPercent); def = this->add("accel_to_decel_factor", coPercent);
def->label = L("accel_to_decel"); def->label = L("accel_to_decel");
def->category = L("Speed");
def->tooltip = L("Klipper's max_accel_to_decel will be adjusted to this %% of acceleration."); def->tooltip = L("Klipper's max_accel_to_decel will be adjusted to this %% of acceleration.");
def->sidetext = "%"; def->sidetext = "%";
def->min = 1; def->min = 1;
@@ -2987,6 +2992,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("default_jerk", coFloat); def = this->add("default_jerk", coFloat);
def->label = L("Default"); def->label = L("Default");
def->category = L("Speed");
def->tooltip = L("Default jerk."); def->tooltip = L("Default jerk.");
def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -2995,6 +3001,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("default_junction_deviation", coFloat); def = this->add("default_junction_deviation", coFloat);
def->label = L("Junction Deviation"); def->label = L("Junction Deviation");
def->category = L("Speed");
def->tooltip = L("Marlin Firmware Junction Deviation (replaces the traditional XY Jerk setting)."); def->tooltip = L("Marlin Firmware Junction Deviation (replaces the traditional XY Jerk setting).");
def->sidetext = L("mm"); // milimeters, CIS languages need translation def->sidetext = L("mm"); // milimeters, CIS languages need translation
def->min = 0; def->min = 0;
@@ -3003,6 +3010,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("outer_wall_jerk", coFloat); def = this->add("outer_wall_jerk", coFloat);
def->label = L("Outer wall"); def->label = L("Outer wall");
def->category = L("Speed");
def->tooltip = L("Jerk of outer walls."); def->tooltip = L("Jerk of outer walls.");
def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -3011,6 +3019,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("inner_wall_jerk", coFloat); def = this->add("inner_wall_jerk", coFloat);
def->label = L("Inner wall"); def->label = L("Inner wall");
def->category = L("Speed");
def->tooltip = L("Jerk of inner walls."); def->tooltip = L("Jerk of inner walls.");
def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -3019,6 +3028,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("top_surface_jerk", coFloat); def = this->add("top_surface_jerk", coFloat);
def->label = L("Top surface"); def->label = L("Top surface");
def->category = L("Speed");
def->tooltip = L("Jerk for top surface."); def->tooltip = L("Jerk for top surface.");
def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -3027,6 +3037,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("infill_jerk", coFloat); def = this->add("infill_jerk", coFloat);
def->label = L("Infill"); def->label = L("Infill");
def->category = L("Speed");
def->tooltip = L("Jerk for infill."); def->tooltip = L("Jerk for infill.");
def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -3035,6 +3046,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("initial_layer_jerk", coFloat); def = this->add("initial_layer_jerk", coFloat);
def->label = L("Initial layer"); def->label = L("Initial layer");
def->category = L("Speed");
def->tooltip = L("Jerk for initial layer."); def->tooltip = L("Jerk for initial layer.");
def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -3043,6 +3055,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("travel_jerk", coFloat); def = this->add("travel_jerk", coFloat);
def->label = L("Travel"); def->label = L("Travel");
def->category = L("Speed");
def->tooltip = L("Jerk for travel."); def->tooltip = L("Jerk for travel.");
def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation def->sidetext = L("mm/s"); // milimeters per second, CIS languages need translation
def->min = 0; def->min = 0;
@@ -3173,6 +3186,7 @@ void PrintConfigDef::init_fff_params()
// Filament ironing overrides // Filament ironing overrides
def = this->add("filament_ironing_flow", coPercents); def = this->add("filament_ironing_flow", coPercents);
def->label = L("Ironing flow"); def->label = L("Ironing flow");
def->category = L("Quality");
def->tooltip = L("Filament-specific override for ironing flow. This allows you to customize the ironing flow " def->tooltip = L("Filament-specific override for ironing flow. This allows you to customize the ironing flow "
"for each filament type. Too high value results in overextrusion on the surface."); "for each filament type. Too high value results in overextrusion on the surface.");
def->sidetext = "%"; def->sidetext = "%";
@@ -3184,6 +3198,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("filament_ironing_spacing", coFloats); def = this->add("filament_ironing_spacing", coFloats);
def->label = L("Ironing line spacing"); def->label = L("Ironing line spacing");
def->category = L("Quality");
def->tooltip = L("Filament-specific override for ironing line spacing. This allows you to customize the spacing " def->tooltip = L("Filament-specific override for ironing line spacing. This allows you to customize the spacing "
"between ironing lines for each filament type."); "between ironing lines for each filament type.");
def->sidetext = "mm"; def->sidetext = "mm";
@@ -3195,6 +3210,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("filament_ironing_inset", coFloats); def = this->add("filament_ironing_inset", coFloats);
def->label = L("Ironing inset"); def->label = L("Ironing inset");
def->category = L("Quality");
def->tooltip = L("Filament-specific override for ironing inset. This allows you to customize the distance to keep " def->tooltip = L("Filament-specific override for ironing inset. This allows you to customize the distance to keep "
"from the edges when ironing for each filament type."); "from the edges when ironing for each filament type.");
def->sidetext = "mm"; def->sidetext = "mm";
@@ -3206,6 +3222,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("filament_ironing_speed", coFloats); def = this->add("filament_ironing_speed", coFloats);
def->label = L("Ironing speed"); def->label = L("Ironing speed");
def->category = L("Speed");
def->tooltip = L("Filament-specific override for ironing speed. This allows you to customize the print speed " def->tooltip = L("Filament-specific override for ironing speed. This allows you to customize the print speed "
"of ironing lines for each filament type."); "of ironing lines for each filament type.");
def->sidetext = "mm/s"; def->sidetext = "mm/s";
@@ -3355,6 +3372,7 @@ void PrintConfigDef::init_fff_params()
// BBS // BBS
def = this->add("precise_z_height", coBool); def = this->add("precise_z_height", coBool);
def->label = L("Precise Z height"); def->label = L("Precise Z height");
def->category = L("Quality");
def->tooltip = L("Enable this to get precise Z height of object after slicing. " def->tooltip = L("Enable this to get precise Z height of object after slicing. "
"It will get the precise object height by fine-tuning the layer heights of the last few layers. " "It will get the precise object height by fine-tuning the layer heights of the last few layers. "
"Note that this is an experimental parameter."); "Note that this is an experimental parameter.");
@@ -4039,6 +4057,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("small_area_infill_flow_compensation", coBool); def = this->add("small_area_infill_flow_compensation", coBool);
def->label = L("Small area flow compensation (beta)"); def->label = L("Small area flow compensation (beta)");
def->category = L("Quality");
def->tooltip = L("Enable flow compensation for small infill areas."); def->tooltip = L("Enable flow compensation for small infill areas.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
@@ -4973,12 +4992,14 @@ void PrintConfigDef::init_fff_params()
def = this->add("staggered_inner_seams", coBool); def = this->add("staggered_inner_seams", coBool);
def->label = L("Staggered inner seams"); def->label = L("Staggered inner seams");
def->category = L("Quality");
def->tooltip = L("This option causes the inner seams to be shifted backwards based on their depth, forming a zigzag pattern."); def->tooltip = L("This option causes the inner seams to be shifted backwards based on their depth, forming a zigzag pattern.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("seam_gap", coFloatOrPercent); def = this->add("seam_gap", coFloatOrPercent);
def->label = L("Seam gap"); def->label = L("Seam gap");
def->category = L("Quality");
def->tooltip = L("In order to reduce the visibility of the seam in a closed loop extrusion, the loop is interrupted and shortened by a specified amount.\n" def->tooltip = L("In order to reduce the visibility of the seam in a closed loop extrusion, the loop is interrupted and shortened by a specified amount.\n"
"This amount can be specified in millimeters or as a percentage of the current extruder diameter. The default value for this parameter is 10%."); "This amount can be specified in millimeters or as a percentage of the current extruder diameter. The default value for this parameter is 10%.");
def->sidetext = L("mm or %"); def->sidetext = L("mm or %");
@@ -4988,6 +5009,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("seam_slope_type", coEnum); def = this->add("seam_slope_type", coEnum);
def->label = L("Scarf joint seam (beta)"); def->label = L("Scarf joint seam (beta)");
def->category = L("Quality");
def->tooltip = L("Use scarf joint to minimize seam visibility and increase seam strength."); def->tooltip = L("Use scarf joint to minimize seam visibility and increase seam strength.");
def->enum_keys_map = &ConfigOptionEnum<SeamScarfType>::get_enum_values(); def->enum_keys_map = &ConfigOptionEnum<SeamScarfType>::get_enum_values();
def->enum_values.push_back("none"); def->enum_values.push_back("none");
@@ -5001,12 +5023,14 @@ void PrintConfigDef::init_fff_params()
def = this->add("seam_slope_conditional", coBool); def = this->add("seam_slope_conditional", coBool);
def->label = L("Conditional scarf joint"); def->label = L("Conditional scarf joint");
def->category = L("Quality");
def->tooltip = L("Apply scarf joints only to smooth perimeters where traditional seams do not conceal the seams at sharp corners effectively."); def->tooltip = L("Apply scarf joints only to smooth perimeters where traditional seams do not conceal the seams at sharp corners effectively.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("scarf_angle_threshold", coInt); def = this->add("scarf_angle_threshold", coInt);
def->label = L("Conditional angle threshold"); def->label = L("Conditional angle threshold");
def->category = L("Quality");
def->tooltip = L( def->tooltip = L(
"This option sets the threshold angle for applying a conditional scarf joint seam.\nIf the maximum angle within the perimeter loop " "This option sets the threshold angle for applying a conditional scarf joint seam.\nIf the maximum angle within the perimeter loop "
"exceeds this value (indicating the absence of sharp corners), a scarf joint seam will be used. The default value is 155°."); "exceeds this value (indicating the absence of sharp corners), a scarf joint seam will be used. The default value is 155°.");
@@ -5044,6 +5068,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("scarf_joint_flow_ratio", coFloat); def = this->add("scarf_joint_flow_ratio", coFloat);
def->label = L("Scarf joint flow ratio"); def->label = L("Scarf joint flow ratio");
def->category = L("Quality");
def->tooltip = L("This factor affects the amount of material for scarf joints."); def->tooltip = L("This factor affects the amount of material for scarf joints.");
def->mode = comDevelop; def->mode = comDevelop;
def->max = 2; def->max = 2;
@@ -5051,6 +5076,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("seam_slope_start_height", coFloatOrPercent); def = this->add("seam_slope_start_height", coFloatOrPercent);
def->label = L("Scarf start height"); def->label = L("Scarf start height");
def->category = L("Quality");
def->tooltip = L("Start height of the scarf.\n" def->tooltip = L("Start height of the scarf.\n"
"This amount can be specified in millimeters or as a percentage of the current layer height. The default value for this parameter is 0."); "This amount can be specified in millimeters or as a percentage of the current layer height. The default value for this parameter is 0.");
def->sidetext = L("mm or %"); def->sidetext = L("mm or %");
@@ -5061,12 +5087,14 @@ void PrintConfigDef::init_fff_params()
def = this->add("seam_slope_entire_loop", coBool); def = this->add("seam_slope_entire_loop", coBool);
def->label = L("Scarf around entire wall"); def->label = L("Scarf around entire wall");
def->category = L("Quality");
def->tooltip = L("The scarf extends to the entire length of the wall."); def->tooltip = L("The scarf extends to the entire length of the wall.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("seam_slope_min_length", coFloat); def = this->add("seam_slope_min_length", coFloat);
def->label = L("Scarf length"); def->label = L("Scarf length");
def->category = L("Quality");
def->tooltip = L("Length of the scarf. Setting this parameter to zero effectively disables the scarf."); def->tooltip = L("Length of the scarf. Setting this parameter to zero effectively disables the scarf.");
def->sidetext = L("mm"); // milimeters, CIS languages need translation def->sidetext = L("mm"); // milimeters, CIS languages need translation
def->min = 0; def->min = 0;
@@ -5075,6 +5103,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("seam_slope_steps", coInt); def = this->add("seam_slope_steps", coInt);
def->label = L("Scarf steps"); def->label = L("Scarf steps");
def->category = L("Quality");
def->tooltip = L("Minimum number of segments of each scarf."); def->tooltip = L("Minimum number of segments of each scarf.");
def->min = 1; def->min = 1;
def->mode = comAdvanced; def->mode = comAdvanced;
@@ -5082,12 +5111,14 @@ void PrintConfigDef::init_fff_params()
def = this->add("seam_slope_inner_walls", coBool); def = this->add("seam_slope_inner_walls", coBool);
def->label = L("Scarf joint for inner walls"); def->label = L("Scarf joint for inner walls");
def->category = L("Quality");
def->tooltip = L("Use scarf joint for inner walls as well."); def->tooltip = L("Use scarf joint for inner walls as well.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("role_based_wipe_speed", coBool); def = this->add("role_based_wipe_speed", coBool);
def->label = L("Role base wipe speed"); def->label = L("Role base wipe speed");
def->category = L("Speed");
def->tooltip = L("The wipe speed is determined by the speed of the current extrusion role. " def->tooltip = L("The wipe speed is determined by the speed of the current extrusion role. "
"e.g. if a wipe action is executed immediately following an outer wall extrusion, the speed of the outer wall extrusion will be utilized for the wipe action."); "e.g. if a wipe action is executed immediately following an outer wall extrusion, the speed of the outer wall extrusion will be utilized for the wipe action.");
def->mode = comAdvanced; def->mode = comAdvanced;
@@ -5095,12 +5126,14 @@ void PrintConfigDef::init_fff_params()
def = this->add("wipe_on_loops", coBool); def = this->add("wipe_on_loops", coBool);
def->label = L("Wipe on loops"); def->label = L("Wipe on loops");
def->category = L("Quality");
def->tooltip = L("To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop."); def->tooltip = L("To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("wipe_before_external_loop", coBool); def = this->add("wipe_before_external_loop", coBool);
def->label = L("Wipe before external loop"); def->label = L("Wipe before external loop");
def->category = L("Quality");
def->tooltip = L("To minimize visibility of potential overextrusion at the start of an external perimeter when printing with " def->tooltip = L("To minimize visibility of potential overextrusion at the start of an external perimeter when printing with "
"Outer/Inner or Inner/Outer/Inner wall print order, the de-retraction is performed slightly on the inside from the " "Outer/Inner or Inner/Outer/Inner wall print order, the de-retraction is performed slightly on the inside from the "
"start of the external perimeter. That way any potential over extrusion is hidden from the outside surface.\n\n" "start of the external perimeter. That way any potential over extrusion is hidden from the outside surface.\n\n"
@@ -5111,6 +5144,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("wipe_speed", coFloatOrPercent); def = this->add("wipe_speed", coFloatOrPercent);
def->label = L("Wipe speed"); def->label = L("Wipe speed");
def->category = L("Speed");
def->tooltip = L("The wipe speed is determined by the speed setting specified in this configuration. " def->tooltip = L("The wipe speed is determined by the speed setting specified in this configuration. "
"If the value is expressed as a percentage (e.g. 80%), it will be calculated based on the travel speed setting above. " "If the value is expressed as a percentage (e.g. 80%), it will be calculated based on the travel speed setting above. "
"The default value for this parameter is 80%."); "The default value for this parameter is 80%.");
@@ -5131,6 +5165,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("skirt_start_angle", coFloat); def = this->add("skirt_start_angle", coFloat);
def->label = L("Skirt start point"); def->label = L("Skirt start point");
def->category = L("Support");
def->tooltip = L("Angle from the object center to skirt start point. Zero is the most right position, counter clockwise is positive angle."); def->tooltip = L("Angle from the object center to skirt start point. Zero is the most right position, counter clockwise is positive angle.");
def->sidetext = u8"°"; // degrees, don't need translation def->sidetext = u8"°"; // degrees, don't need translation
def->min = -180; def->min = -180;