Implemented https://github.com/prusa3d/Slic3r/issues/199
by merging the work by @lordofhyphens done on https://github.com/alexrj/Slic3r/issues/3268
This commit is contained in:
parent
6fa280be0b
commit
a99b006b98
5 changed files with 12 additions and 2 deletions
|
@ -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');
|
||||
}
|
||||
}
|
||||
{
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue