mirror of
https://github.com/QIDITECH/QIDISlicer.git
synced 2026-01-30 23:48:44 +03:00
Add Don't slow down outer walls
This commit is contained in:
@@ -169,7 +169,7 @@ skirts = 0
|
|||||||
slice_closing_radius = 0.049
|
slice_closing_radius = 0.049
|
||||||
slicing_mode = regular
|
slicing_mode = regular
|
||||||
slow_down_layers = 0
|
slow_down_layers = 0
|
||||||
small_perimeter_speed = 100
|
small_perimeter_speed = 70
|
||||||
solid_infill_acceleration = 10000
|
solid_infill_acceleration = 10000
|
||||||
solid_infill_below_area = 15
|
solid_infill_below_area = 15
|
||||||
solid_infill_every_layers = 0
|
solid_infill_every_layers = 0
|
||||||
@@ -648,6 +648,7 @@ compatible_prints_condition =
|
|||||||
cooling = 1
|
cooling = 1
|
||||||
disable_fan_first_layers = 1
|
disable_fan_first_layers = 1
|
||||||
disable_rapid_cooling_fan_first_layers = 3
|
disable_rapid_cooling_fan_first_layers = 3
|
||||||
|
dont_slow_down_outer_wall = 1
|
||||||
enable_advance_pressure = 1
|
enable_advance_pressure = 1
|
||||||
enable_auxiliary_fan = 100
|
enable_auxiliary_fan = 100
|
||||||
enable_auxiliary_fan_unseal = 0
|
enable_auxiliary_fan_unseal = 0
|
||||||
|
|||||||
@@ -236,6 +236,8 @@ struct PerExtruderAdjustments
|
|||||||
float slowdown_below_layer_time = 0.f;
|
float slowdown_below_layer_time = 0.f;
|
||||||
// Minimum print speed allowed for this extruder.
|
// Minimum print speed allowed for this extruder.
|
||||||
float min_print_speed = 0.f;
|
float min_print_speed = 0.f;
|
||||||
|
//Y28
|
||||||
|
bool dont_slow_down_outer_wall = true;
|
||||||
|
|
||||||
// Parsed lines.
|
// Parsed lines.
|
||||||
std::vector<CoolingLine> lines;
|
std::vector<CoolingLine> lines;
|
||||||
@@ -344,6 +346,8 @@ std::vector<PerExtruderAdjustments> CoolingBuffer::parse_layer_gcode(const std::
|
|||||||
adj.cooling_slow_down_enabled = m_config.cooling.get_at(extruder_id);
|
adj.cooling_slow_down_enabled = m_config.cooling.get_at(extruder_id);
|
||||||
adj.slowdown_below_layer_time = float(m_config.slowdown_below_layer_time.get_at(extruder_id));
|
adj.slowdown_below_layer_time = float(m_config.slowdown_below_layer_time.get_at(extruder_id));
|
||||||
adj.min_print_speed = float(m_config.min_print_speed.get_at(extruder_id));
|
adj.min_print_speed = float(m_config.min_print_speed.get_at(extruder_id));
|
||||||
|
//Y28
|
||||||
|
adj.dont_slow_down_outer_wall = m_config.dont_slow_down_outer_wall.get_at(extruder_id);
|
||||||
map_extruder_to_per_extruder_adjustment[extruder_id] = i;
|
map_extruder_to_per_extruder_adjustment[extruder_id] = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -424,7 +428,12 @@ std::vector<PerExtruderAdjustments> CoolingBuffer::parse_layer_gcode(const std::
|
|||||||
line.type |= CoolingLine::TYPE_EXTERNAL_PERIMETER;
|
line.type |= CoolingLine::TYPE_EXTERNAL_PERIMETER;
|
||||||
if (wipe)
|
if (wipe)
|
||||||
line.type |= CoolingLine::TYPE_WIPE;
|
line.type |= CoolingLine::TYPE_WIPE;
|
||||||
if (boost::contains(sline, ";_EXTRUDE_SET_SPEED") && ! wipe) {
|
//Y28
|
||||||
|
bool adjust_external = true;
|
||||||
|
if (adjustment->dont_slow_down_outer_wall && external_perimeter)
|
||||||
|
adjust_external = false;
|
||||||
|
|
||||||
|
if (boost::contains(sline, ";_EXTRUDE_SET_SPEED") && ! wipe && adjust_external) {
|
||||||
line.type |= CoolingLine::TYPE_ADJUSTABLE;
|
line.type |= CoolingLine::TYPE_ADJUSTABLE;
|
||||||
active_speed_modifier = adjustment->lines.size();
|
active_speed_modifier = adjustment->lines.size();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -536,6 +536,8 @@ static std::vector<std::string> s_Preset_filament_options {
|
|||||||
"filament_shrink",
|
"filament_shrink",
|
||||||
//Y26
|
//Y26
|
||||||
"seal_print",
|
"seal_print",
|
||||||
|
//Y28
|
||||||
|
"dont_slow_down_outer_wall",
|
||||||
//w15
|
//w15
|
||||||
"filament_wipe_distance"
|
"filament_wipe_distance"
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|
|||||||
"disable_fan_first_layers",
|
"disable_fan_first_layers",
|
||||||
//B39
|
//B39
|
||||||
"disable_rapid_cooling_fan_first_layers",
|
"disable_rapid_cooling_fan_first_layers",
|
||||||
|
//Y28
|
||||||
|
"dont_slow_down_outer_wall",
|
||||||
"duplicate_distance",
|
"duplicate_distance",
|
||||||
"end_gcode",
|
"end_gcode",
|
||||||
"end_filament_gcode",
|
"end_filament_gcode",
|
||||||
|
|||||||
@@ -2244,6 +2244,17 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->mode = comAdvanced;
|
def->mode = comAdvanced;
|
||||||
def->set_default_value(new ConfigOptionFloats { 0.07 });
|
def->set_default_value(new ConfigOptionFloats { 0.07 });
|
||||||
|
|
||||||
|
//Y28
|
||||||
|
def = this->add("dont_slow_down_outer_wall", coBools);
|
||||||
|
def->label = L("Don't slow down outer walls");
|
||||||
|
def->tooltip = L("If enabled, this setting will ensure external perimeters are not slowed down to meet the minimum layer time. "
|
||||||
|
"This is particularly helpful in the below scenarios:\n\n "
|
||||||
|
"1. To avoid changes in shine when printing glossy filaments \n"
|
||||||
|
"2. To avoid changes in external wall speed which may create slight wall artefacts that appear like z banding \n"
|
||||||
|
"3. To avoid printing at speeds which cause VFAs (fine artefacts) on the external walls\n\n");
|
||||||
|
def->mode = comExpert;
|
||||||
|
def->set_default_value(new ConfigOptionBools { true });
|
||||||
|
|
||||||
def = this->add("min_print_speed", coFloats);
|
def = this->add("min_print_speed", coFloats);
|
||||||
def->label = L("Min print speed");
|
def->label = L("Min print speed");
|
||||||
def->tooltip = L("Slic3r will not scale speed down below this speed.");
|
def->tooltip = L("Slic3r will not scale speed down below this speed.");
|
||||||
|
|||||||
@@ -900,6 +900,8 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
|||||||
((ConfigOptionInts, min_fan_speed))
|
((ConfigOptionInts, min_fan_speed))
|
||||||
((ConfigOptionFloats, min_layer_height))
|
((ConfigOptionFloats, min_layer_height))
|
||||||
((ConfigOptionFloat, max_print_height))
|
((ConfigOptionFloat, max_print_height))
|
||||||
|
//Y28
|
||||||
|
((ConfigOptionBools, dont_slow_down_outer_wall))
|
||||||
((ConfigOptionFloats, min_print_speed))
|
((ConfigOptionFloats, min_print_speed))
|
||||||
((ConfigOptionFloat, min_skirt_length))
|
((ConfigOptionFloat, min_skirt_length))
|
||||||
((ConfigOptionString, notes))
|
((ConfigOptionString, notes))
|
||||||
|
|||||||
@@ -2298,6 +2298,8 @@ void TabFilament::build()
|
|||||||
optgroup = page->new_optgroup(L("Cooling thresholds"), 25);
|
optgroup = page->new_optgroup(L("Cooling thresholds"), 25);
|
||||||
optgroup->append_single_option_line("fan_below_layer_time", category_path + "cooling-thresholds");
|
optgroup->append_single_option_line("fan_below_layer_time", category_path + "cooling-thresholds");
|
||||||
optgroup->append_single_option_line("slowdown_below_layer_time", category_path + "cooling-thresholds");
|
optgroup->append_single_option_line("slowdown_below_layer_time", category_path + "cooling-thresholds");
|
||||||
|
//Y28
|
||||||
|
optgroup->append_single_option_line("dont_slow_down_outer_wall");
|
||||||
optgroup->append_single_option_line("min_print_speed", category_path + "cooling-thresholds");
|
optgroup->append_single_option_line("min_print_speed", category_path + "cooling-thresholds");
|
||||||
|
|
||||||
page = add_options_page(L("Advanced"), "wrench");
|
page = add_options_page(L("Advanced"), "wrench");
|
||||||
|
|||||||
Reference in New Issue
Block a user