Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2018-08-06 17:31:51 +0300
committerbubnikv <bubnikv@gmail.com>2018-08-06 17:31:51 +0300
commit4f526010810d40a844a6d66dfb2655f0cfed69cd (patch)
tree41ebf1c3f8069b54a14e56757255286157502090
parent7edc1dd577c2de8cd04ef7e0390d3c819ab154dd (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.pm2
-rw-r--r--xs/src/libslic3r/GCode.cpp16
-rw-r--r--xs/src/libslic3r/Print.cpp11
-rw-r--r--xs/src/libslic3r/PrintConfig.cpp9
-rw-r--r--xs/src/slic3r/GUI/3DScene.cpp1
-rw-r--r--xs/src/slic3r/GUI/Field.cpp2
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;
}