diff options
author | bubnikv <bubnikv@gmail.com> | 2018-08-06 17:31:51 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2018-08-06 17:31:51 +0300 |
commit | 4f526010810d40a844a6d66dfb2655f0cfed69cd (patch) | |
tree | 41ebf1c3f8069b54a14e56757255286157502090 | |
parent | 7edc1dd577c2de8cd04ef7e0390d3c819ab154dd (diff) |
Minor tweaks of UI texts,
optimization of the wipe tower invalidation,
show collisions of the wipe tower with known dimensions.
-rw-r--r-- | lib/Slic3r/GUI/Plater.pm | 2 | ||||
-rw-r--r-- | xs/src/libslic3r/GCode.cpp | 16 | ||||
-rw-r--r-- | xs/src/libslic3r/Print.cpp | 11 | ||||
-rw-r--r-- | xs/src/libslic3r/PrintConfig.cpp | 9 | ||||
-rw-r--r-- | xs/src/slic3r/GUI/3DScene.cpp | 1 | ||||
-rw-r--r-- | xs/src/slic3r/GUI/Field.cpp | 2 |
6 files changed, 20 insertions, 21 deletions
diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index adaf101fb..a0eef72fe 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -1291,7 +1291,7 @@ sub async_apply_config { # We also need to reload 3D scene because of the wipe tower preview box if ($self->{config}->wipe_tower) { - Slic3r::GUI::_3DScene::reload_scene($self->{canvas3D}, 1) if $self->{canvas3D} + Slic3r::GUI::_3DScene::reload_scene($self->{canvas3D}, 1) if $self->{canvas3D} } } } diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp index 7edd55077..b34ba5441 100644 --- a/xs/src/libslic3r/GCode.cpp +++ b/xs/src/libslic3r/GCode.cpp @@ -524,13 +524,21 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Y, print.config.machine_max_jerk_y.values[1]); m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Z, print.config.machine_max_jerk_z.values[1]); m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::E, print.config.machine_max_jerk_e.values[1]); - m_silent_time_estimator.set_filament_load_times(print.config.filament_load_time.values); - m_silent_time_estimator.set_filament_unload_times(print.config.filament_unload_time.values); + if (print.config.single_extruder_multi_material) { + // As of now the fields are shown at the UI dialog in the same combo box as the ramming values, so they + // are considered to be active for the single extruder multi-material printers only. + m_silent_time_estimator.set_filament_load_times(print.config.filament_load_time.values); + m_silent_time_estimator.set_filament_unload_times(print.config.filament_unload_time.values); + } } } // Filament load / unload times are not specific to a firmware flavor. Let anybody use it if they find it useful. - m_normal_time_estimator.set_filament_load_times(print.config.filament_load_time.values); - m_normal_time_estimator.set_filament_unload_times(print.config.filament_unload_time.values); + if (print.config.single_extruder_multi_material) { + // As of now the fields are shown at the UI dialog in the same combo box as the ramming values, so they + // are considered to be active for the single extruder multi-material printers only. + m_normal_time_estimator.set_filament_load_times(print.config.filament_load_time.values); + m_normal_time_estimator.set_filament_unload_times(print.config.filament_unload_time.values); + } // resets analyzer m_analyzer.reset(); diff --git a/xs/src/libslic3r/Print.cpp b/xs/src/libslic3r/Print.cpp index ab5d13950..7d2906bcc 100644 --- a/xs/src/libslic3r/Print.cpp +++ b/xs/src/libslic3r/Print.cpp @@ -128,7 +128,6 @@ bool Print::invalidate_state_by_config_options(const std::vector<t_config_option "gcode_comments", "gcode_flavor", "infill_acceleration", - "infill_first", "layer_gcode", "min_fan_speed", "max_fan_speed", @@ -177,15 +176,6 @@ bool Print::invalidate_state_by_config_options(const std::vector<t_config_option std::vector<PrintObjectStep> osteps; bool invalidated = false; - // Always invalidate the wipe tower. This is probably necessary because of the wipe_into_infill / wipe_into_objects - // features - nearly anything can influence what should (and could) be wiped into. - // Only these three parameters don't invalidate the wipe tower (they only affect the gcode export): - for (const t_config_option_key &opt_key : opt_keys) - if (opt_key != "wipe_tower_x" && opt_key != "wipe_tower_y" && opt_key != "wipe_tower_rotation_angle") { - steps.emplace_back(psWipeTower); - break; - } - for (const t_config_option_key &opt_key : opt_keys) { if (steps_ignore.find(opt_key) != steps_ignore.end()) { // These options only affect G-code export or they are just notes without influence on the generated G-code, @@ -218,6 +208,7 @@ bool Print::invalidate_state_by_config_options(const std::vector<t_config_option || opt_key == "filament_cooling_final_speed" || opt_key == "filament_ramming_parameters" || opt_key == "gcode_flavor" + || opt_key == "infill_first" || opt_key == "single_extruder_multi_material" || opt_key == "spiral_vase" || opt_key == "temperature" diff --git a/xs/src/libslic3r/PrintConfig.cpp b/xs/src/libslic3r/PrintConfig.cpp index fe1a75739..0f8410d60 100644 --- a/xs/src/libslic3r/PrintConfig.cpp +++ b/xs/src/libslic3r/PrintConfig.cpp @@ -511,11 +511,10 @@ PrintConfigDef::PrintConfigDef() def = this->add("filament_minimal_purge_on_wipe_tower", coFloats); def->label = L("Minimal purge on wipe tower"); - def->tooltip = L("After a toolchange, certain amount of filament is used for purging. This " - "can end up on the wipe tower, infill or sacrificial object. If there was " - "enough infill etc. available, this could result in bad quality at the beginning " - "of purging. This is a minimum that must be wiped on the wipe tower before " - "Slic3r considers moving elsewhere. "); + def->tooltip = L("After a tool change, the exact position of the newly loaded filament inside " + "the nozzle may not be known, and the filament pressure is likely not yet stable. " + "Before purging the print head into an infill or a sacrificial object, Slic3r will always prime " + "this amount of material into the wipe tower to produce successive infill or sacrificial object extrusions reliably."); def->cli = "filament-minimal-purge-on-wipe-tower=f@"; def->sidetext = L("mm³"); def->min = 0; diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index 33b3768ed..3f01eb20c 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -715,6 +715,7 @@ int GLVolumeCollection::load_wipe_tower_preview( v.select_group_id = obj_idx * 1000000; v.drag_group_id = obj_idx * 1000; v.is_wipe_tower = true; + v.shader_outside_printer_detection_enabled = ! size_unknown; return int(this->volumes.size() - 1); } diff --git a/xs/src/slic3r/GUI/Field.cpp b/xs/src/slic3r/GUI/Field.cpp index 67490820c..85fa790a5 100644 --- a/xs/src/slic3r/GUI/Field.cpp +++ b/xs/src/slic3r/GUI/Field.cpp @@ -98,7 +98,7 @@ namespace Slic3r { namespace GUI { tooltip_text = tooltip + "\n" + _(L("default value")) + "\t: " + (boost::iends_with(m_opt_id, "_gcode") ? "\n" : "") + default_string + (boost::iends_with(m_opt_id, "_gcode") ? "" : "\n") + - _(L("variable name")) + "\t: " + m_opt_id; + _(L("parameter name")) + "\t: " + m_opt_id; return tooltip_text; } |