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>2017-05-20 16:29:25 +0300
committerbubnikv <bubnikv@gmail.com>2017-05-20 16:29:25 +0300
commita99b006b98a302436e7d965f052a7a9ab5034773 (patch)
tree4a66c8cb8aff4d26295bde99eed64adc562b38dd
parent6fa280be0b769c8a0d42994d5e38fc548c631d7d (diff)
Implemented https://github.com/prusa3d/Slic3r/issues/199
by merging the work by @lordofhyphens done on https://github.com/alexrj/Slic3r/issues/3268
-rw-r--r--lib/Slic3r/GUI/Tab.pm3
-rwxr-xr-xslic3r.pl1
-rw-r--r--xs/src/libslic3r/GCode.cpp2
-rw-r--r--xs/src/libslic3r/PrintConfig.cpp6
-rw-r--r--xs/src/libslic3r/PrintConfig.hpp2
5 files changed, 12 insertions, 2 deletions
diff --git a/lib/Slic3r/GUI/Tab.pm b/lib/Slic3r/GUI/Tab.pm
index 3652fb74e..9009264e1 100644
--- a/lib/Slic3r/GUI/Tab.pm
+++ b/lib/Slic3r/GUI/Tab.pm
@@ -1159,7 +1159,7 @@ sub build {
serial_port serial_speed
octoprint_host octoprint_apikey
use_firmware_retraction
- use_volumetric_e variable_layer_height
+ use_volumetric_e set_and_wait_temperatures variable_layer_height
single_extruder_multi_material start_gcode end_gcode before_layer_gcode layer_gcode toolchange_gcode
nozzle_diameter extruder_offset
retract_length retract_lift retract_speed deretract_speed retract_before_wipe retract_restart_extra retract_before_travel retract_layer_change wipe
@@ -1366,6 +1366,7 @@ sub build {
$optgroup->append_single_option_line('use_firmware_retraction');
$optgroup->append_single_option_line('use_volumetric_e');
$optgroup->append_single_option_line('variable_layer_height');
+ $optgroup->append_single_option_line('set_and_wait_temperatures');
}
}
{
diff --git a/slic3r.pl b/slic3r.pl
index a6eee4881..681b2fa6d 100755
--- a/slic3r.pl
+++ b/slic3r.pl
@@ -304,6 +304,7 @@ $j
--use-relative-e-distances Enable this to get relative E values (default: no)
--use-firmware-retraction Enable firmware-controlled retraction using G10/G11 (default: no)
--use-volumetric-e Express E in cubic millimeters and prepend M200 (default: no)
+ --set-and-wait-temperatures Use M190 instead of M140 for temperature changes past the first (default: no)
--gcode-comments Make G-code verbose by adding comments (default: no)
Filament options:
diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp
index 601293b2d..5d045deed 100644
--- a/xs/src/libslic3r/GCode.cpp
+++ b/xs/src/libslic3r/GCode.cpp
@@ -398,7 +398,7 @@ bool GCode::do_export(FILE *file, Print &print)
if (print.config.first_layer_bed_temperature.value > 0 &&
boost::ifind_first(print.config.start_gcode.value, std::string("M140")).empty() &&
boost::ifind_first(print.config.start_gcode.value, std::string("M190")).empty())
- write(file, m_writer.set_bed_temperature(print.config.first_layer_bed_temperature.value, true));
+ write(file, m_writer.set_bed_temperature(print.config.first_layer_bed_temperature.value, print.config.set_and_wait_temperatures.value));
// Get optimal tool ordering to minimize tool switches of a multi-exruder print.
// For a print by objects, find the 1st printing object.
diff --git a/xs/src/libslic3r/PrintConfig.cpp b/xs/src/libslic3r/PrintConfig.cpp
index 9eb661ea2..c4b0df611 100644
--- a/xs/src/libslic3r/PrintConfig.cpp
+++ b/xs/src/libslic3r/PrintConfig.cpp
@@ -1498,6 +1498,12 @@ PrintConfigDef::PrintConfigDef()
def->cli = "use-volumetric-e!";
def->default_value = new ConfigOptionBool(false);
+ def = this->add("set_and_wait_temperatures", coBool);
+ def->label = "Use Set and Wait for changing bed temperatures";
+ def->tooltip = "Check this to change gcode for temperature changes from not waiting (usually M140) to waiting (usually M190). Only necessary if you have a slow-to-heat bed and the first layer bed temp is lower than the other layers.";
+ def->cli = "set-and-wait-temperatures!";
+ def->default_value = new ConfigOptionBool(false);
+
def = this->add("variable_layer_height", coBool);
def->label = "Enable variable layer height feature";
def->tooltip = "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default.";
diff --git a/xs/src/libslic3r/PrintConfig.hpp b/xs/src/libslic3r/PrintConfig.hpp
index a30d39172..cac7b3ad2 100644
--- a/xs/src/libslic3r/PrintConfig.hpp
+++ b/xs/src/libslic3r/PrintConfig.hpp
@@ -350,6 +350,7 @@ public:
ConfigOptionBool use_firmware_retraction;
ConfigOptionBool use_relative_e_distances;
ConfigOptionBool use_volumetric_e;
+ ConfigOptionBool set_and_wait_temperatures;
ConfigOptionBool variable_layer_height;
GCodeConfig(bool initialize = true) : StaticPrintConfig() {
@@ -392,6 +393,7 @@ public:
OPT_PTR(use_firmware_retraction);
OPT_PTR(use_relative_e_distances);
OPT_PTR(use_volumetric_e);
+ OPT_PTR(set_and_wait_temperatures);
OPT_PTR(variable_layer_height);
return NULL;
};