diff --git a/xs/src/libslic3r/PrintConfig.cpp b/xs/src/libslic3r/PrintConfig.cpp index 9e384898cb..54aa3b424b 100644 --- a/xs/src/libslic3r/PrintConfig.cpp +++ b/xs/src/libslic3r/PrintConfig.cpp @@ -906,7 +906,7 @@ PrintConfigDef::PrintConfigDef() def->tooltip = L("Minimum feedrate when extruding") + " (M205 S)"; def->sidetext = L("mm/s"); def->min = 0; - def->default_value = new ConfigOptionFloats(0., 0.); + def->default_value = new ConfigOptionFloats{ 0., 0. }; // M205 T... [mm/sec] def = this->add("machine_min_travel_rate", coFloats); @@ -915,7 +915,7 @@ PrintConfigDef::PrintConfigDef() def->tooltip = L("Minimum travel feedrate") + " (M205 T)"; def->sidetext = L("mm/s"); def->min = 0; - def->default_value = new ConfigOptionFloats(0., 0.); + def->default_value = new ConfigOptionFloats{ 0., 0. }; // M204 S... [mm/sec^2] def = this->add("machine_max_acceleration_extruding", coFloats); @@ -1620,8 +1620,8 @@ PrintConfigDef::PrintConfigDef() def->min = 0; def->enum_values.push_back("0"); def->enum_values.push_back("0.2"); - def->enum_labels.push_back("0 (soluble)"); - def->enum_labels.push_back("0.2 (detachable)"); + def->enum_labels.push_back((boost::format("0 (%1%)") % L("soluble")).str()); + def->enum_labels.push_back((boost::format("0.2 (%1%)") % L("detachable")).str()); def->default_value = new ConfigOptionFloat(0.2); def = this->add("support_material_enforce_layers", coInt); diff --git a/xs/src/slic3r/GUI/Preset.cpp b/xs/src/slic3r/GUI/Preset.cpp index fa29b0fb58..98c5914e2a 100644 --- a/xs/src/slic3r/GUI/Preset.cpp +++ b/xs/src/slic3r/GUI/Preset.cpp @@ -326,7 +326,11 @@ const std::vector& Preset::printer_options() "single_extruder_multi_material", "start_gcode", "end_gcode", "before_layer_gcode", "layer_gcode", "toolchange_gcode", "between_objects_gcode", "printer_vendor", "printer_model", "printer_variant", "printer_notes", "cooling_tube_retraction", "cooling_tube_length", "parking_pos_retraction", "max_print_height", "default_print_profile", "inherits", - "silent_mode" + "silent_mode","machine_max_acceleration_extruding", "machine_max_acceleration_retracting", + "machine_max_acceleration_x", "machine_max_acceleration_y", "machine_max_acceleration_z", "machine_max_acceleration_e", + "machine_max_feedrate_x", "machine_max_feedrate_y", "machine_max_feedrate_z", "machine_max_feedrate_e", + "machine_min_extruding_rate", "machine_min_travel_rate", + "machine_max_jerk_x", "machine_max_jerk_y", "machine_max_jerk_z", "machine_max_jerk_e" }; s_opts.insert(s_opts.end(), Preset::nozzle_options().begin(), Preset::nozzle_options().end()); } diff --git a/xs/src/slic3r/GUI/Tab.cpp b/xs/src/slic3r/GUI/Tab.cpp index 574de9afb9..33636c7098 100644 --- a/xs/src/slic3r/GUI/Tab.cpp +++ b/xs/src/slic3r/GUI/Tab.cpp @@ -1720,27 +1720,71 @@ void TabPrinter::extruders_count_changed(size_t extruders_count){ PageShp TabPrinter::create_kinematics_page() { - auto page = add_options_page(_(L("Kinematics")), "cog.png", true); + auto page = add_options_page(_(L("Machine limits")), "cog.png", true); auto optgroup = page->new_optgroup(_(L("Maximum accelerations"))); -// optgroup->append_single_option_line("max_acceleration_x"); -// optgroup->append_single_option_line("max_acceleration_y"); -// optgroup->append_single_option_line("max_acceleration_z"); + auto line = Line{ _(L("Standard/Silent mode")), "" }; + line.append_option(optgroup->get_option("machine_max_acceleration_x", 0)); + line.append_option(optgroup->get_option("machine_max_acceleration_x", 1)); + optgroup->append_line(line); + line = Line{ "", "" }; + line.append_option(optgroup->get_option("machine_max_acceleration_y", 0)); + line.append_option(optgroup->get_option("machine_max_acceleration_y", 1)); + optgroup->append_line(line); + line = Line{ _(L("Standard/Silent mode")), "" }; + line.append_option(optgroup->get_option("machine_max_acceleration_z", 0)); + line.append_option(optgroup->get_option("machine_max_acceleration_z", 1)); + optgroup->append_line(line); + line = Line{ _(L("Standard/Silent mode")), "" }; + line.append_option(optgroup->get_option("machine_max_acceleration_e", 0)); + line.append_option(optgroup->get_option("machine_max_acceleration_e", 1)); + optgroup->append_line(line); +// optgroup->append_single_option_line("machine_max_acceleration_x", 0); +// optgroup->append_single_option_line("machine_max_acceleration_y", 0); +// optgroup->append_single_option_line("machine_max_acceleration_z", 0); +// optgroup->append_single_option_line("machine_max_acceleration_e", 0); optgroup = page->new_optgroup(_(L("Maximum feedrates"))); -// optgroup->append_single_option_line("max_feedrate_x"); -// optgroup->append_single_option_line("max_feedrate_y"); -// optgroup->append_single_option_line("max_feedrate_z"); + optgroup->append_single_option_line("machine_max_feedrate_x", 0); + optgroup->append_single_option_line("machine_max_feedrate_y", 0); + optgroup->append_single_option_line("machine_max_feedrate_z", 0); + optgroup->append_single_option_line("machine_max_feedrate_e", 0); optgroup = page->new_optgroup(_(L("Starting Acceleration"))); -// optgroup->append_single_option_line("start_acceleration"); -// optgroup->append_single_option_line("start_retract_acceleration"); + optgroup->append_single_option_line("machine_max_acceleration_extruding", 0); + optgroup->append_single_option_line("machine_max_acceleration_retracting", 0); optgroup = page->new_optgroup(_(L("Advanced"))); -// optgroup->append_single_option_line("min_feedrate_for_print_moves"); -// optgroup->append_single_option_line("min_feedrate_for_travel_moves"); -// optgroup->append_single_option_line("max_jerk_x"); -// optgroup->append_single_option_line("max_jerk_y"); -// optgroup->append_single_option_line("max_jerk_z"); + optgroup->append_single_option_line("machine_min_extruding_rate", 0); + optgroup->append_single_option_line("machine_min_travel_rate", 0); + optgroup->append_single_option_line("machine_max_jerk_x", 0); + optgroup->append_single_option_line("machine_max_jerk_y", 0); + optgroup->append_single_option_line("machine_max_jerk_z", 0); + optgroup->append_single_option_line("machine_max_jerk_e", 0); + + //for silent mode +// optgroup = page->new_optgroup(_(L("Maximum accelerations"))); +// optgroup->append_single_option_line("machine_max_acceleration_x", 1); +// optgroup->append_single_option_line("machine_max_acceleration_y", 1); +// optgroup->append_single_option_line("machine_max_acceleration_z", 1); +// optgroup->append_single_option_line("machine_max_acceleration_e", 1); + + optgroup = page->new_optgroup(_(L("Maximum feedrates (Silent mode)"))); + optgroup->append_single_option_line("machine_max_feedrate_x", 1); + optgroup->append_single_option_line("machine_max_feedrate_y", 1); + optgroup->append_single_option_line("machine_max_feedrate_z", 1); + optgroup->append_single_option_line("machine_max_feedrate_e", 1); + + optgroup = page->new_optgroup(_(L("Starting Acceleration (Silent mode)"))); + optgroup->append_single_option_line("machine_max_acceleration_extruding", 1); + optgroup->append_single_option_line("machine_max_acceleration_retracting", 1); + + optgroup = page->new_optgroup(_(L("Advanced (Silent mode)"))); + optgroup->append_single_option_line("machine_min_extruding_rate", 1); + optgroup->append_single_option_line("machine_min_travel_rate", 1); + optgroup->append_single_option_line("machine_max_jerk_x", 1); + optgroup->append_single_option_line("machine_max_jerk_y", 1); + optgroup->append_single_option_line("machine_max_jerk_z", 1); + optgroup->append_single_option_line("machine_max_jerk_e", 1); return page; } @@ -1754,7 +1798,7 @@ void TabPrinter::build_extruder_pages() // Add/delete Kinematics page according to is_marlin_flavor size_t existed_page = 0; for (int i = n_before_extruders; i < m_pages.size(); ++i) // first make sure it's not there already - if (m_pages[i]->title().find(_(L("Kinematics"))) != std::string::npos) { + if (m_pages[i]->title().find(_(L("Machine limits"))) != std::string::npos) { if (!is_marlin_flavor) m_pages.erase(m_pages.begin() + i); else