by merging the work by @lordofhyphens done on https://github.com/alexrj/Slic3r/issues/3268
This commit is contained in:
bubnikv 2017-05-20 15:29:25 +02:00
parent 6fa280be0b
commit a99b006b98
5 changed files with 12 additions and 2 deletions

View file

@ -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');
}
}
{

View file

@ -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:

View file

@ -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.

View file

@ -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.";

View file

@ -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;
};