diff --git a/doc/calibration/tolerance-calib.md b/doc/calibration/tolerance-calib.md index a96e71dc4f..e4d0eb9098 100644 --- a/doc/calibration/tolerance-calib.md +++ b/doc/calibration/tolerance-calib.md @@ -18,7 +18,13 @@ To correct for these variations, Orca Slicer provides: ![Process_Compensation](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Tolerance/QualityPrecision.png?raw=true) -## Orca Tolerance Test +## Handy Models + +Orca Slicer includes several handy models to help you test and calibrate your printer. +Right-click on your plate in Prepare mode and select "Add Handy Model" to access these models. +![handy-models-list](../images/Handy-Models/handy-models-list.png) + +### Orca Tolerance Test This calibration test is designed to evaluate the dimensional accuracy of your printer and filament. The model consists of a base with six hexagonal holes, each with a different tolerance: 0.0 mm, 0.05 mm, 0.1 mm, 0.2 mm, 0.3 mm, and 0.4 mm, as well as a hexagon-shaped tester. diff --git a/doc/images/Handy-Models/handy-models-list.png b/doc/images/Handy-Models/handy-models-list.png new file mode 100644 index 0000000000..c1242cb3bd Binary files /dev/null and b/doc/images/Handy-Models/handy-models-list.png differ diff --git a/doc/images/calibration.png b/doc/images/calibration.png index 65632b2889..ae43e04ef6 100644 Binary files a/doc/images/calibration.png and b/doc/images/calibration.png differ diff --git a/resources/calib/tolerance_test/OrcaToleranceTest.stl b/resources/handy_models/OrcaToleranceTest.stl similarity index 100% rename from resources/calib/tolerance_test/OrcaToleranceTest.stl rename to resources/handy_models/OrcaToleranceTest.stl diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index 7d3070db81..e23f57991c 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -531,7 +531,7 @@ wxMenu* MenuFactory::append_submenu_add_generic(wxMenu* menu, ModelVolumeType ty wxMenu* MenuFactory::append_submenu_add_handy_model(wxMenu* menu, ModelVolumeType type) { auto sub_menu = new wxMenu; - for (auto &item : {L("Orca Cube"), L("3DBenchy"), L("Autodesk FDM Test"), + for (auto &item : {L("Orca Cube"), L("Orca Tolerance Test"), L("3DBenchy"), L("Autodesk FDM Test"), L("Voron Cube"), L("Stanford Bunny"), L("Orca String Hell") }) { append_menu_item( sub_menu, wxID_ANY, _(item), "", @@ -541,6 +541,8 @@ wxMenu* MenuFactory::append_submenu_add_handy_model(wxMenu* menu, ModelVolumeTyp std::string file_name = item; if (file_name == L("Orca Cube")) file_name = "OrcaCube_v2.3mf"; + else if (file_name == L("Orca Tolerance Test")) + file_name = "OrcaToleranceTest.stl"; else if (file_name == L("3DBenchy")) file_name = "3DBenchy.3mf"; else if (file_name == L("Autodesk FDM Test")) diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index a160df5018..f7cf8e12e7 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -12,7 +12,7 @@ //#include #include #include -#include +#include #include #include @@ -186,7 +186,7 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ set_miniaturizable(GetHandle()); #endif - if (!wxGetApp().app_config->has("user_mode")) { + if (!wxGetApp().app_config->has("user_mode")) { wxGetApp().app_config->set("user_mode", "simple"); wxGetApp().app_config->set_bool("developer_mode", false); wxGetApp().app_config->save(); @@ -498,7 +498,7 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ wxGetApp().plater()->get_current_canvas3D()->request_extra_frame(); event.Skip(); }); -#endif +#endif update_ui_from_settings(); // FIXME (?) @@ -564,12 +564,12 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ return; } else if (evt.CmdDown() && evt.GetKeyCode() == 'G') { if (can_export_gcode()) { wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_EXPORT_SLICED_FILE)); } evt.Skip(); return; } - if (evt.CmdDown() && evt.GetKeyCode() == 'J') { m_printhost_queue_dlg->Show(); return; } + if (evt.CmdDown() && evt.GetKeyCode() == 'J') { m_printhost_queue_dlg->Show(); return; } if (evt.CmdDown() && evt.GetKeyCode() == 'N') { m_plater->new_project(); return;} if (evt.CmdDown() && evt.GetKeyCode() == 'O') { m_plater->load_project(); return;} if (evt.CmdDown() && evt.ShiftDown() && evt.GetKeyCode() == 'S') { if (can_save_as()) m_plater->save_project(true); return;} else if (evt.CmdDown() && evt.GetKeyCode() == 'S') { if (can_save()) m_plater->save_project(); return;} - if (evt.CmdDown() && evt.GetKeyCode() == 'F') { + if (evt.CmdDown() && evt.GetKeyCode() == 'F') { if (m_plater && (m_tabpanel->GetSelection() == TabPosition::tp3DEditor || m_tabpanel->GetSelection() == TabPosition::tpPreview)) { m_plater->sidebar().can_search(); } @@ -1998,7 +1998,7 @@ void MainFrame::update_side_button_style() m_slice_btn->SetExtraSize(wxSize(FromDIP(38), FromDIP(10))); m_slice_btn->SetBottomColour(wxColour(0x3B4446));*/ StateColor m_btn_bg_enable = StateColor( - std::pair(wxColour(0, 137, 123), StateColor::Pressed), + std::pair(wxColour(0, 137, 123), StateColor::Pressed), std::pair(wxColour(48, 221, 112), StateColor::Hovered), std::pair(wxColour(0, 150, 136), StateColor::Normal) ); @@ -2565,7 +2565,7 @@ void MainFrame::init_menubar_as_editor() #if 0 // BBS Delete selected append_menu_item(editMenu, wxID_ANY, _L("Delete selected") + "\tBackSpace", - _L("Deletes the current selection"),[this](wxCommandEvent&) { + _L("Deletes the current selection"),[this](wxCommandEvent&) { m_plater->remove_selected(); }, "", nullptr, [this](){return can_delete(); }, this); @@ -2608,7 +2608,7 @@ void MainFrame::init_menubar_as_editor() // BBS Select All append_menu_item(editMenu, wxID_ANY, _L("Select all") + sep + ctrl_t + "A", - _L("Selects all objects"), [this, handle_key_event](wxCommandEvent&) { + _L("Selects all objects"), [this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); e.SetControlDown(true); @@ -2906,7 +2906,7 @@ void MainFrame::init_menubar_as_editor() // SoftFever calibrations - // Flowrate + // Temperature append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Temperature"), _L("Temperature Calibration"), [this](wxCommandEvent&) { if (!m_temp_calib_dlg) @@ -2914,6 +2914,8 @@ void MainFrame::init_menubar_as_editor() m_temp_calib_dlg->ShowModal(); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); + + // Flow rate (with submenu) auto flowrate_menu = new wxMenu(); append_menu_item( flowrate_menu, wxID_ANY, _L("Pass 1"), _L("Flow rate test - Pass 1"), @@ -2930,6 +2932,8 @@ void MainFrame::init_menubar_as_editor() [this](wxCommandEvent&) { if (m_plater) m_plater->calib_flowrate(true, 2); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); m_topbar->GetCalibMenu()->AppendSubMenu(flowrate_menu, _L("Flow rate")); + + // Pressure Advance append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Pressure advance"), _L("Pressure advance"), [this](wxCommandEvent&) { if (!m_pa_calib_dlg) @@ -2937,6 +2941,8 @@ void MainFrame::init_menubar_as_editor() m_pa_calib_dlg->ShowModal(); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); + + // Retraction test append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Retraction test"), _L("Retraction test"), [this](wxCommandEvent&) { if (!m_retraction_calib_dlg) @@ -2944,39 +2950,31 @@ void MainFrame::init_menubar_as_editor() m_retraction_calib_dlg->ShowModal(); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - - append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Orca Tolerance Test"), _L("Orca Tolerance Test"), - [this](wxCommandEvent&) { - m_plater->new_project(); - m_plater->add_model(false, Slic3r::resources_dir() + "/calib/tolerance_test/OrcaToleranceTest.stl"); - }, "", nullptr, - [this]() {return m_plater->is_view3D_shown();; }, this); - // Advance calibrations - auto advance_menu = new wxMenu(); - append_menu_item( - advance_menu, wxID_ANY, _L("Max flowrate"), _L("Max flowrate"), + // Max Volumetric Speed + append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Max flowrate"), _L("Max flowrate"), [this](wxCommandEvent&) { if (!m_vol_test_dlg) m_vol_test_dlg = new MaxVolumetricSpeed_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); m_vol_test_dlg->ShowModal(); - }, - "", nullptr, + }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); + // Cornering (with submenu) + auto cornering_menu = new wxMenu(); append_menu_item( - advance_menu, wxID_ANY, _L("VFA"), _L("VFA"), + cornering_menu, wxID_ANY, _L("Junction Deviation"), _L("Junction Deviation calibration"), [this](wxCommandEvent&) { - if (!m_vfa_test_dlg) - m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_vfa_test_dlg->ShowModal(); + if (!m_junction_deviation_calib_dlg) + m_junction_deviation_calib_dlg = new Junction_Deviation_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); + m_junction_deviation_calib_dlg->ShowModal(); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - - // Input Shaping calibrations + m_topbar->GetCalibMenu()->AppendSubMenu(cornering_menu, _L("Cornering")); + + // Input Shaping (with submenu) auto input_shaping_menu = new wxMenu(); - append_menu_item( input_shaping_menu, wxID_ANY, _L("Input Shaping Frequency"), _L("Input Shaping Frequency"), [this](wxCommandEvent&) { @@ -2986,7 +2984,6 @@ void MainFrame::init_menubar_as_editor() }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - append_menu_item( input_shaping_menu, wxID_ANY, _L("Input Shaping Damping/zeta factor"), _L("Input Shaping Damping/zeta factor"), [this](wxCommandEvent&) { @@ -2996,23 +2993,18 @@ void MainFrame::init_menubar_as_editor() }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - m_topbar->GetCalibMenu()->AppendSubMenu(input_shaping_menu, _L("Input Shaping")); - - // Add Junction Deviation option to More menu - append_menu_item( - advance_menu, wxID_ANY, _L("Junction Deviation"), _L("Junction Deviation calibration"), - [this](wxCommandEvent&) { - if (!m_junction_deviation_calib_dlg) - m_junction_deviation_calib_dlg = new Junction_Deviation_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_junction_deviation_calib_dlg->ShowModal(); - }, - "", nullptr, - [this]() {return m_plater->is_view3D_shown();; }, this); - - m_topbar->GetCalibMenu()->AppendSubMenu(advance_menu, _L("More...")); - // help + // VFA + append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("VFA"), _L("VFA"), + [this](wxCommandEvent&) { + if (!m_vfa_test_dlg) + m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); + m_vfa_test_dlg->ShowModal(); + }, "", nullptr, + [this]() {return m_plater->is_view3D_shown();; }, this); + + // help append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Tutorial"), _L("Calibration help"), [this](wxCommandEvent&) { std::string url = "https://github.com/SoftFever/OrcaSlicer/wiki/Calibration"; @@ -3036,7 +3028,7 @@ void MainFrame::init_menubar_as_editor() // SoftFever calibrations auto calib_menu = new wxMenu(); - // PA + // Temperature append_menu_item(calib_menu, wxID_ANY, _L("Temperature"), _L("Temperature"), [this](wxCommandEvent&) { if (!m_temp_calib_dlg) @@ -3044,8 +3036,8 @@ void MainFrame::init_menubar_as_editor() m_temp_calib_dlg->ShowModal(); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - - // Flowrate + + // Flowrate (with submenu) auto flowrate_menu = new wxMenu(); append_menu_item(flowrate_menu, wxID_ANY, _L("Pass 1"), _L("Flow rate test - Pass 1"), [this](wxCommandEvent&) { if (m_plater) m_plater->calib_flowrate(false, 1); }, "", nullptr, @@ -3063,7 +3055,7 @@ void MainFrame::init_menubar_as_editor() [this](wxCommandEvent&) { if (m_plater) m_plater->calib_flowrate(true, 2); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - // PA + // Pressure Advance append_menu_item(calib_menu, wxID_ANY, _L("Pressure advance"), _L("Pressure advance"), [this](wxCommandEvent&) { if (!m_pa_calib_dlg) @@ -3072,7 +3064,7 @@ void MainFrame::init_menubar_as_editor() }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - // Retraction + // Retraction test append_menu_item(calib_menu, wxID_ANY, _L("Retraction test"), _L("Retraction test"), [this](wxCommandEvent&) { if (!m_retraction_calib_dlg) @@ -3081,46 +3073,30 @@ void MainFrame::init_menubar_as_editor() }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - // Tolerance Test - append_menu_item(calib_menu, wxID_ANY, _L("Orca Tolerance Test"), _L("Orca Tolerance Test"), + // Max Volumetric Speed + append_menu_item(calib_menu, wxID_ANY, _L("Max flowrate"), _L("Max flowrate"), [this](wxCommandEvent&) { - m_plater->new_project(); - m_plater->add_model(false, Slic3r::resources_dir() + "/calib/tolerance_test/OrcaToleranceTest.stl"); + if (!m_vol_test_dlg) + m_vol_test_dlg = new MaxVolumetricSpeed_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); + m_vol_test_dlg->ShowModal(); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - // Advance calibrations - auto advance_menu = new wxMenu(); + // Cornering (with submenu) + auto cornering_menu = new wxMenu(); append_menu_item( - advance_menu, wxID_ANY, _L("Max flowrate"), _L("Max flowrate"), - [this](wxCommandEvent&) { - if (!m_vol_test_dlg) - m_vol_test_dlg = new MaxVolumetricSpeed_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_vol_test_dlg->ShowModal(); - }, "", nullptr, - [this]() {return m_plater->is_view3D_shown();; }, this); - append_menu_item( - advance_menu, wxID_ANY, _L("VFA"), _L("VFA"), - [this](wxCommandEvent&) { - if (!m_vfa_test_dlg) - m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_vfa_test_dlg->ShowModal(); - }, "", nullptr, - [this]() {return m_plater->is_view3D_shown();; }, this); - - // Add Junction Deviation option to More menu - append_menu_item( - advance_menu, wxID_ANY, _L("Junction Deviation"), _L("Junction Deviation calibration"), + cornering_menu, wxID_ANY, _L("Junction Deviation"), _L("Junction Deviation calibration"), [this](wxCommandEvent&) { if (!m_junction_deviation_calib_dlg) m_junction_deviation_calib_dlg = new Junction_Deviation_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); m_junction_deviation_calib_dlg->ShowModal(); - }, "", nullptr, + }, + "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - - // Input Shaping calibrations + calib_menu->AppendSubMenu(cornering_menu, _L("Cornering")); + + // Input Shaping (with submenu) auto input_shaping_menu = new wxMenu(); - append_menu_item( input_shaping_menu, wxID_ANY, _L("Input Shaping Frequency"), _L("Input Shaping Frequency"), [this](wxCommandEvent&) { @@ -3130,7 +3106,6 @@ void MainFrame::init_menubar_as_editor() }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - append_menu_item( input_shaping_menu, wxID_ANY, _L("Input Shaping Damping/zeta factor"), _L("Input Shaping Damping/zeta factor"), [this](wxCommandEvent&) { @@ -3140,16 +3115,21 @@ void MainFrame::init_menubar_as_editor() }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - calib_menu->AppendSubMenu(input_shaping_menu, _L("Input Shaping")); - - append_submenu(calib_menu, advance_menu, wxID_ANY, _L("More..."), _L("More calibrations"), "", - [this]() {return m_plater->is_view3D_shown();; }); + + // VFA + append_menu_item(calib_menu, wxID_ANY, _L("VFA"), _L("VFA"), + [this](wxCommandEvent&) { + if (!m_vfa_test_dlg) + m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); + m_vfa_test_dlg->ShowModal(); + }, "", nullptr, + [this]() {return m_plater->is_view3D_shown();; }, this); // help append_menu_item(calib_menu, wxID_ANY, _L("Tutorial"), _L("Calibration help"), [this](wxCommandEvent&) { wxLaunchDefaultBrowser("https://github.com/SoftFever/OrcaSlicer/wiki/Calibration", wxBROWSER_NEW_WINDOW); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - + m_menubar->Append(calib_menu,wxString::Format("&%s", _L("Calibration"))); if (helpMenu) m_menubar->Append(helpMenu, wxString::Format("&%s", _L("Help"))); @@ -3312,7 +3292,7 @@ void MainFrame::export_config() { ExportConfigsDialog export_configs_dlg(nullptr); export_configs_dlg.ShowModal(); - return; + return; // Generate a cummulative configuration for the selected print, filaments and printer. wxDirDialog dlg(this, _L("Choose a directory"), diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index be2f1b2ce5..eba57e60d6 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -9505,7 +9505,8 @@ void Plater::calib_pa(const Calib_Params& params) break; default: break; } - + auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); p->background_process.fff_print()->set_calib_params(params); } @@ -9515,14 +9516,15 @@ void Plater::_calib_pa_pattern(const Calib_Params& params) std::vector accels{params.accelerations}; std::vector object_idxs{}; /* Set common parameters */ - DynamicPrintConfig& printer_config = wxGetApp().preset_bundle->printers.get_edited_preset().config; + auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; DynamicPrintConfig& print_config = wxGetApp().preset_bundle->prints.get_edited_preset().config; auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; - double nozzle_diameter = printer_config.option("nozzle_diameter")->get_at(0); + double nozzle_diameter = printer_config->option("nozzle_diameter")->get_at(0); filament_config->set_key_value("filament_retract_when_changing_layer", new ConfigOptionBoolsNullable{false}); filament_config->set_key_value("filament_wipe", new ConfigOptionBoolsNullable{false}); - printer_config.set_key_value("wipe", new ConfigOptionBools{false}); - printer_config.set_key_value("retract_when_changing_layer", new ConfigOptionBools{false}); + printer_config->set_key_value("wipe", new ConfigOptionBools{false}); + printer_config->set_key_value("retract_when_changing_layer", new ConfigOptionBools{false}); + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); //Orca: find acceleration to use in the test auto accel = print_config.option("outer_wall_acceleration")->value; // get the outer wall acceleration @@ -9980,6 +9982,8 @@ void Plater::calib_flowrate(bool is_linear, int pass) { adjust_settings_for_flowrate_calib(model().objects, is_linear, pass); wxGetApp().get_tab(Preset::TYPE_PRINTER)->reload_config(); + auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); // Refresh object after scaling const std::vector object_idx(boost::counting_iterator(0), boost::counting_iterator(model().objects.size())); @@ -9995,8 +9999,10 @@ void Plater::calib_temp(const Calib_Params& params) { return; add_model(false, Slic3r::resources_dir() + "/calib/temperature_tower/temperature_tower.stl"); + auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; auto start_temp = lround(params.start); + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); filament_config->set_key_value("nozzle_temperature_initial_layer", new ConfigOptionInts(1,(int)start_temp)); filament_config->set_key_value("nozzle_temperature", new ConfigOptionInts(1,(int)start_temp)); model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum(btOuterOnly)); @@ -10069,7 +10075,7 @@ void Plater::calib_max_vol_speed(const Calib_Params& params) filament_config->set_key_value("filament_max_volumetric_speed", new ConfigOptionFloats { 200 }); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats{0.0}); - + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); obj_cfg.set_key_value("enable_overhang_speed", new ConfigOptionBool { false }); obj_cfg.set_key_value("wall_loops", new ConfigOptionInt(1)); obj_cfg.set_key_value("alternate_extra_wall", new ConfigOptionBool(false)); @@ -10133,6 +10139,7 @@ void Plater::calib_retraction(const Calib_Params& params) if (max_lh->values[0] < layer_height) max_lh->values[0] = { layer_height }; + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); printer_config->set_key_value("use_firmware_retraction", new ConfigOptionBool(false)); obj->config.set_key_value("wall_loops", new ConfigOptionInt(2)); obj->config.set_key_value("top_shell_layers", new ConfigOptionInt(0)); @@ -10165,6 +10172,8 @@ void Plater::calib_VFA(const Calib_Params& params) add_model(false, Slic3r::resources_dir() + "/calib/vfa/VFA.stl"); auto print_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config; auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; + auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 }); print_config->set_key_value("enable_overhang_speed", new ConfigOptionBool { false }); print_config->set_key_value("timelapse_type", new ConfigOptionEnum(tlTraditional)); @@ -10209,6 +10218,7 @@ void Plater::calib_input_shaping_freq(const Calib_Params& params) auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats {0.3}); + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_for_layer_cooling", new ConfigOptionBools{false}); @@ -10255,6 +10265,7 @@ void Plater::calib_input_shaping_damp(const Calib_Params& params) auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats{0.3}); + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_for_layer_cooling", new ConfigOptionBools{false}); @@ -10301,6 +10312,7 @@ void Plater::calib_junction_deviation(const Calib_Params& params) auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats{1.0}); + printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 }); filament_config->set_key_value("slow_down_for_layer_cooling", new ConfigOptionBools{false});