mirror of
https://github.com/QIDITECH/QIDISlicer.git
synced 2026-01-30 15:38:43 +03:00
Update Resonance Avoidance
This commit is contained in:
@@ -128,11 +128,13 @@ ironing_type = top
|
||||
layer_height = 0.2
|
||||
max_bridge_length = 10
|
||||
max_print_speed = 600
|
||||
max_resonance_avoidance_speed = 120
|
||||
max_volumetric_extrusion_rate_slope_negative = 0
|
||||
max_volumetric_extrusion_rate_slope_positive = 0
|
||||
max_volumetric_speed = 0
|
||||
min_bead_width = 85%
|
||||
min_feature_size = 25%
|
||||
min_resonance_avoidance_speed = 70
|
||||
min_skirt_length = 5
|
||||
mmu_segmented_region_interlocking_depth = 0
|
||||
mmu_segmented_region_max_width = 0
|
||||
@@ -160,6 +162,7 @@ raft_first_layer_density = 90%
|
||||
raft_first_layer_expansion = 3
|
||||
raft_layers = 0
|
||||
resolution = 0
|
||||
resonance_avoidance = 1
|
||||
seam_gap = 15%
|
||||
seam_position = aligned
|
||||
single_extruder_multi_material_priming = 0
|
||||
@@ -169,7 +172,7 @@ skirts = 0
|
||||
slice_closing_radius = 0.049
|
||||
slicing_mode = regular
|
||||
slow_down_layers = 0
|
||||
small_perimeter_speed = 70
|
||||
small_perimeter_speed = 100
|
||||
solid_infill_acceleration = 10000
|
||||
solid_infill_below_area = 15
|
||||
solid_infill_every_layers = 0
|
||||
@@ -2529,9 +2532,7 @@ machine_min_extruding_rate = 0
|
||||
machine_min_travel_rate = 0
|
||||
max_layer_height = 0.28
|
||||
max_print_height = 315
|
||||
max_resonance_avoidance_speed = 115
|
||||
min_layer_height = 0.08
|
||||
min_resonance_avoidance_speed = 70
|
||||
multimaterial_purging = 45
|
||||
nozzle_diameter = 0.4
|
||||
parking_pos_retraction = 92
|
||||
@@ -2546,7 +2547,6 @@ printer_vendor = QIDI
|
||||
printhost_apikey =
|
||||
printhost_cafile =
|
||||
remaining_times = 1
|
||||
resonance_avoidance = 1
|
||||
retract_before_travel = 1
|
||||
retract_before_wipe = 0%
|
||||
retract_layer_change = 1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -456,6 +456,9 @@ private:
|
||||
// Processor
|
||||
GCodeProcessor m_processor;
|
||||
|
||||
//Y27
|
||||
bool m_resonance_avoidance;
|
||||
|
||||
// Back-pointer to Print (const).
|
||||
const Print* m_print;
|
||||
std::string _extrude(
|
||||
|
||||
@@ -466,39 +466,42 @@ static std::vector<std::string> s_Preset_print_options {
|
||||
"wipe_tower_width", "wipe_tower_cone_angle", "wipe_tower_rotation_angle", "wipe_tower_brim_width", "wipe_tower_bridging", "single_extruder_multi_material_priming", "mmu_segmented_region_max_width",
|
||||
"mmu_segmented_region_interlocking_depth", "wipe_tower_extruder", "wipe_tower_no_sparse_layers", "wipe_tower_extra_flow", "wipe_tower_extra_spacing", "compatible_printers", "compatible_printers_condition", "inherits",
|
||||
"perimeter_generator", "wall_transition_length", "wall_transition_filter_deviation", "wall_transition_angle",
|
||||
"wall_distribution_count", "min_feature_size", "min_bead_width"
|
||||
"wall_distribution_count", "min_feature_size", "min_bead_width",
|
||||
//B36
|
||||
,"first_layer_travel_speed"
|
||||
"first_layer_travel_speed",
|
||||
//B37
|
||||
,"first_layer_infill_speed"
|
||||
"first_layer_infill_speed",
|
||||
//w11
|
||||
,"detect_narrow_internal_solid_infill"
|
||||
"detect_narrow_internal_solid_infill",
|
||||
//Y21
|
||||
,"seam_gap"
|
||||
"seam_gap",
|
||||
//w16
|
||||
, "top_one_wall_type"
|
||||
"top_one_wall_type",
|
||||
//w17
|
||||
,"top_area_threshold"
|
||||
"top_area_threshold",
|
||||
//w21
|
||||
,"filter_top_gap_infill"
|
||||
"filter_top_gap_infill",
|
||||
//w23
|
||||
,"only_one_wall_first_layer"
|
||||
"only_one_wall_first_layer",
|
||||
//w25
|
||||
,"slow_down_layers"
|
||||
"slow_down_layers",
|
||||
//w26
|
||||
,"elefant_foot_compensation_layers"
|
||||
"elefant_foot_compensation_layers",
|
||||
//w27
|
||||
,"precise_z_height"
|
||||
"precise_z_height",
|
||||
//w28
|
||||
,"max_bridge_length"
|
||||
"max_bridge_length",
|
||||
//w30
|
||||
,"top_solid_infill_flow_ratio", "bottom_solid_infill_flow_ratio"
|
||||
"top_solid_infill_flow_ratio", "bottom_solid_infill_flow_ratio",
|
||||
//w33
|
||||
,"ironing_pattern"
|
||||
"ironing_pattern",
|
||||
//w38
|
||||
,"overhang_reverse","overhang_reverse_internal_only","overhang_reverse_threshold"
|
||||
"overhang_reverse", "overhang_reverse_internal_only", "overhang_reverse_threshold",
|
||||
//w39
|
||||
,"precise_outer_wall"};
|
||||
"precise_outer_wall",
|
||||
//Y27
|
||||
"resonance_avoidance", "min_resonance_avoidance_speed", "max_resonance_avoidance_speed"
|
||||
};
|
||||
|
||||
static std::vector<std::string> s_Preset_filament_options {
|
||||
"filament_colour", "filament_diameter", "filament_type", "filament_soluble", "filament_notes", "filament_max_volumetric_speed",
|
||||
@@ -567,8 +570,6 @@ static std::vector<std::string> s_Preset_printer_options {
|
||||
"bed_exclude_area",
|
||||
//Y25
|
||||
"wipe_device",
|
||||
//Y27
|
||||
"resonance_avoidance", "min_resonance_avoidance_speed", "max_resonance_avoidance_speed",
|
||||
//Y16
|
||||
"chamber_temperature", "auxiliary_fan", "chamber_fan"
|
||||
};
|
||||
|
||||
@@ -228,10 +228,6 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|
||||
|| opt_key == "single_extruder_multi_material"
|
||||
//Y25
|
||||
|| opt_key == "wipe_device"
|
||||
//Y27
|
||||
|| opt_key == "resonance_avoidance"
|
||||
|| opt_key == "min_resonance_avoidance_speed"
|
||||
|| opt_key == "max_resonance_avoidance_speed"
|
||||
|| opt_key == "temperature"
|
||||
|| opt_key == "idle_temperature"
|
||||
|| opt_key == "wipe_tower"
|
||||
|
||||
@@ -702,6 +702,30 @@ void PrintConfigDef::init_fff_params()
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionBools{false});
|
||||
|
||||
//Y27
|
||||
def = this->add("resonance_avoidance", coBool);
|
||||
def->label = L("Resonance avoidance");
|
||||
def->tooltip = L("By reducing the speed of the outer wall to avoid the resonance zone of the printer, ringing on the surface of the model are avoided.\n"
|
||||
"Please turn this option off when testing ringing.");
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
|
||||
def = this->add("min_resonance_avoidance_speed", coFloat);
|
||||
def->label = L("Min");
|
||||
def->tooltip = L("Minimum speed of resonance avoidance.");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionFloat(70));
|
||||
|
||||
def = this->add("max_resonance_avoidance_speed", coFloat);
|
||||
def->label = L("Max");
|
||||
def->tooltip = L("Maximum speed of resonance avoidance.");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionFloat(120));
|
||||
|
||||
// TRN FilamentSettings : "Dynamic fan speeds"
|
||||
auto fan_speed_setting_description = L("Overhang size is expressed as a percentage of overlap of the extrusion with the previous layer: "
|
||||
"100% would be full overlap (no overhang), while 0% represents full overhang (floating extrusion, bridge). "
|
||||
@@ -3007,30 +3031,6 @@ void PrintConfigDef::init_fff_params()
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
//Y27
|
||||
def = this->add("resonance_avoidance", coBool);
|
||||
def->label = L("Resonance avoidance");
|
||||
def->tooltip = L("By reducing the speed of the outer wall to avoid the resonance zone of the printer, ringing on the surface of the model are avoided. "
|
||||
"Turn this option off when testing ringing.");
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
|
||||
def = this->add("min_resonance_avoidance_speed", coFloat);
|
||||
def->label = L("Min");
|
||||
def->tooltip = L("Minimum speed of resonance avoidance.");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionFloat(70));
|
||||
|
||||
def = this->add("max_resonance_avoidance_speed", coFloat);
|
||||
def->label = L("Max");
|
||||
def->tooltip = L("Maximum speed of resonance avoidance.");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionFloat(115));
|
||||
|
||||
def = this->add("single_extruder_multi_material_priming", coBool);
|
||||
def->label = L("Prime all printing extruders");
|
||||
def->tooltip = L("If enabled, all printing extruders will be primed at the front edge of the print bed at the start of the print.");
|
||||
|
||||
@@ -626,6 +626,10 @@ PRINT_CONFIG_CLASS_DEFINE(
|
||||
((ConfigOptionFloatOrPercent, overhang_speed_1))
|
||||
((ConfigOptionFloatOrPercent, overhang_speed_2))
|
||||
((ConfigOptionFloatOrPercent, overhang_speed_3))
|
||||
//Y27
|
||||
((ConfigOptionBool, resonance_avoidance))
|
||||
((ConfigOptionFloat, min_resonance_avoidance_speed))
|
||||
((ConfigOptionFloat, max_resonance_avoidance_speed))
|
||||
((ConfigOptionBool, external_perimeters_first))
|
||||
((ConfigOptionBool, extra_perimeters))
|
||||
((ConfigOptionBool, extra_perimeters_on_overhangs))
|
||||
@@ -785,10 +789,6 @@ PRINT_CONFIG_CLASS_DEFINE(
|
||||
((ConfigOptionBool, single_extruder_multi_material))
|
||||
//Y25
|
||||
((ConfigOptionBool, wipe_device))
|
||||
//Y27
|
||||
((ConfigOptionBool, resonance_avoidance))
|
||||
((ConfigOptionFloat, min_resonance_avoidance_speed))
|
||||
((ConfigOptionFloat, max_resonance_avoidance_speed))
|
||||
((ConfigOptionBool, single_extruder_multi_material_priming))
|
||||
((ConfigOptionBool, wipe_tower_no_sparse_layers))
|
||||
((ConfigOptionString, toolchange_gcode))
|
||||
|
||||
@@ -253,6 +253,11 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig* config)
|
||||
toggle_field("overhang_speed_" + std::to_string(i), config->opt_bool("enable_dynamic_overhang_speeds"));
|
||||
}
|
||||
|
||||
//Y27
|
||||
bool resonance_avoidance = config->opt_bool("resonance_avoidance");
|
||||
toggle_field("min_resonance_avoidance_speed", resonance_avoidance);
|
||||
toggle_field("max_resonance_avoidance_speed", resonance_avoidance);
|
||||
|
||||
bool have_infill = config->option<ConfigOptionPercent>("fill_density")->value > 0;
|
||||
// infill_extruder uses the same logic as in Print::extruders()
|
||||
for (auto el : { "fill_pattern", "infill_every_layers", "infill_only_where_needed",
|
||||
|
||||
@@ -1625,6 +1625,14 @@ void TabPrint::build()
|
||||
optgroup->append_single_option_line("overhang_speed_2");
|
||||
optgroup->append_single_option_line("overhang_speed_3");
|
||||
|
||||
//Y27
|
||||
optgroup = page->new_optgroup(L("Resonance Avoidance"));
|
||||
optgroup->append_single_option_line("resonance_avoidance");
|
||||
line = { L("Resonance Avoidance Speed"), "" };
|
||||
line.append_option(optgroup->get_option("min_resonance_avoidance_speed"));
|
||||
line.append_option(optgroup->get_option("max_resonance_avoidance_speed"));
|
||||
optgroup->append_line(line);
|
||||
|
||||
optgroup = page->new_optgroup(L("Speed for non-print moves"));
|
||||
optgroup->append_single_option_line("travel_speed");
|
||||
optgroup->append_single_option_line("travel_speed_z");
|
||||
@@ -2738,12 +2746,6 @@ void TabPrinter::build_fff()
|
||||
Option option(def, "extruders_count");
|
||||
optgroup->append_single_option_line(option);
|
||||
optgroup->append_single_option_line("single_extruder_multi_material");
|
||||
//Y27
|
||||
optgroup->append_single_option_line("resonance_avoidance");
|
||||
Line line = { L("Resonance Avoidance Speed"), "" };
|
||||
line.append_option(optgroup->get_option("min_resonance_avoidance_speed"));
|
||||
line.append_option(optgroup->get_option("max_resonance_avoidance_speed"));
|
||||
optgroup->append_line(line);
|
||||
|
||||
optgroup->m_on_change = [this, optgroup_wk = ConfigOptionsGroupWkp(optgroup)](t_config_option_key opt_key, boost::any value) {
|
||||
auto optgroup_sh = optgroup_wk.lock();
|
||||
@@ -3615,10 +3617,6 @@ void TabPrinter::toggle_options()
|
||||
toggle_option("toolchange_gcode", have_multiple_extruders);
|
||||
if (m_active_page->title() == "General") {
|
||||
toggle_option("single_extruder_multi_material", have_multiple_extruders);
|
||||
//Y27
|
||||
bool resonance_avoidance = m_config->opt_bool("resonance_avoidance");
|
||||
toggle_option("min_resonance_avoidance_speed", resonance_avoidance);
|
||||
toggle_option("max_resonance_avoidance_speed", resonance_avoidance);
|
||||
|
||||
bool is_marlin_flavor = flavor == gcfMarlinLegacy || flavor == gcfMarlinFirmware;
|
||||
// Disable silent mode for non-marlin firmwares.
|
||||
|
||||
Reference in New Issue
Block a user