mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-12 20:59:02 +08:00
added min and max_layer_height options to extruder to be used as limits for adaptive layer heights
This commit is contained in:
parent
cdd7469c58
commit
078f3af9c2
@ -1013,7 +1013,7 @@ sub build {
|
||||
$self->_build_extruder_pages;
|
||||
}
|
||||
|
||||
sub _extruder_options { qw(nozzle_diameter extruder_offset retract_length retract_lift retract_speed retract_restart_extra retract_before_travel wipe
|
||||
sub _extruder_options { qw(nozzle_diameter min_layer_height max_layer_height extruder_offset retract_length retract_lift retract_speed retract_restart_extra retract_before_travel wipe
|
||||
retract_layer_change retract_length_toolchange retract_restart_extra_toolchange) }
|
||||
|
||||
sub _build_extruder_pages {
|
||||
@ -1042,6 +1042,11 @@ sub _build_extruder_pages {
|
||||
my $optgroup = $page->new_optgroup('Size');
|
||||
$optgroup->append_single_option_line('nozzle_diameter', $extruder_idx);
|
||||
}
|
||||
{
|
||||
my $optgroup = $page->new_optgroup('Limits');
|
||||
$optgroup->append_single_option_line($_, $extruder_idx)
|
||||
for qw(min_layer_height max_layer_height);
|
||||
}
|
||||
{
|
||||
my $optgroup = $page->new_optgroup('Position (for multi-extruder printers)');
|
||||
$optgroup->append_single_option_line('extruder_offset', $extruder_idx);
|
||||
|
@ -461,6 +461,12 @@ PrintConfigDef::build_def() {
|
||||
Options["max_fan_speed"].min = 0;
|
||||
Options["max_fan_speed"].max = 100;
|
||||
|
||||
Options["max_layer_height"].type = coFloats;
|
||||
Options["max_layer_height"].label = "max";
|
||||
Options["max_layer_height"].tooltip = "This is the highest printable layer height for this extruder and limits the resolution for adaptive slicing. Typical values are slightly smaller than nozzle_diameter.";
|
||||
Options["max_layer_height"].sidetext = "mm";
|
||||
Options["max_layer_height"].cli = "max-layer-height=f@";
|
||||
|
||||
Options["min_fan_speed"].type = coInt;
|
||||
Options["min_fan_speed"].label = "Min";
|
||||
Options["min_fan_speed"].tooltip = "This setting represents the minimum PWM your fan needs to work.";
|
||||
@ -469,6 +475,12 @@ PrintConfigDef::build_def() {
|
||||
Options["min_fan_speed"].min = 0;
|
||||
Options["min_fan_speed"].max = 100;
|
||||
|
||||
Options["min_layer_height"].type = coFloats;
|
||||
Options["min_layer_height"].label = "min";
|
||||
Options["min_layer_height"].tooltip = "TThis is the lowest printable layer height for this extruder and limits the resolution for adaptive slicing. Typical values are 0.1 or 0.05.";
|
||||
Options["min_layer_height"].sidetext = "mm";
|
||||
Options["min_layer_height"].cli = "min-layer-height=f@";
|
||||
|
||||
Options["min_print_speed"].type = coInt;
|
||||
Options["min_print_speed"].label = "Min print speed";
|
||||
Options["min_print_speed"].tooltip = "Slic3r will not scale speed down below this speed.";
|
||||
|
@ -348,7 +348,9 @@ class PrintConfig : public virtual StaticPrintConfig
|
||||
ConfigOptionBool infill_first;
|
||||
ConfigOptionString layer_gcode;
|
||||
ConfigOptionInt max_fan_speed;
|
||||
ConfigOptionFloats max_layer_height;
|
||||
ConfigOptionInt min_fan_speed;
|
||||
ConfigOptionFloats min_layer_height;
|
||||
ConfigOptionInt min_print_speed;
|
||||
ConfigOptionFloat min_skirt_length;
|
||||
ConfigOptionString notes;
|
||||
@ -427,7 +429,11 @@ class PrintConfig : public virtual StaticPrintConfig
|
||||
this->infill_first.value = false;
|
||||
this->layer_gcode.value = "";
|
||||
this->max_fan_speed.value = 100;
|
||||
this->max_layer_height.values.resize(1);
|
||||
this->max_layer_height.values[0] = 0.3;
|
||||
this->min_fan_speed.value = 35;
|
||||
this->min_layer_height.values.resize(1);
|
||||
this->min_layer_height.values[0] = 0.1;
|
||||
this->min_print_speed.value = 10;
|
||||
this->min_skirt_length.value = 0;
|
||||
this->notes.value = "";
|
||||
@ -508,7 +514,9 @@ class PrintConfig : public virtual StaticPrintConfig
|
||||
if (opt_key == "infill_first") return &this->infill_first;
|
||||
if (opt_key == "layer_gcode") return &this->layer_gcode;
|
||||
if (opt_key == "max_fan_speed") return &this->max_fan_speed;
|
||||
if (opt_key == "max_layer_height") return &this->max_layer_height;
|
||||
if (opt_key == "min_fan_speed") return &this->min_fan_speed;
|
||||
if (opt_key == "min_layer_height") return &this->min_layer_height;
|
||||
if (opt_key == "min_print_speed") return &this->min_print_speed;
|
||||
if (opt_key == "min_skirt_length") return &this->min_skirt_length;
|
||||
if (opt_key == "notes") return &this->notes;
|
||||
|
@ -143,6 +143,8 @@ PrintObject::invalidate_state_by_config_options(const std::vector<t_config_optio
|
||||
steps.insert(posPerimeters);
|
||||
} else if (*opt_key == "resolution"
|
||||
|| *opt_key == "layer_height"
|
||||
|| *opt_key == "min_layer_height"
|
||||
|| *opt_key == "max_layer_height"
|
||||
|| *opt_key == "first_layer_height"
|
||||
|| *opt_key == "xy_size_compensation"
|
||||
|| *opt_key == "adaptive_slicing"
|
||||
|
Loading…
x
Reference in New Issue
Block a user