Added a new placeholder for custom toolchange gcode (toolchange_z)
This always contains the actual print_z of the toolchange, while layer_z contains the print_z of the print. The two differ in case that wipe tower without sparse layers is used. Related to #3834.
This commit is contained in:
parent
c8fdd837ae
commit
c25c435d52
@ -285,6 +285,7 @@ namespace Slic3r {
|
||||
config.set_key_value("next_extruder", new ConfigOptionInt((int)new_extruder_id));
|
||||
config.set_key_value("layer_num", new ConfigOptionInt(gcodegen.m_layer_index));
|
||||
config.set_key_value("layer_z", new ConfigOptionFloat(tcr.print_z));
|
||||
config.set_key_value("toolchange_z", new ConfigOptionFloat(z));
|
||||
// config.set_key_value("max_layer_z", new ConfigOptionFloat(m_max_layer_z));
|
||||
toolchange_gcode_str = gcodegen.placeholder_parser_process("toolchange_gcode", toolchange_gcode, new_extruder_id, &config);
|
||||
check_add_eol(toolchange_gcode_str);
|
||||
@ -3003,6 +3004,7 @@ std::string GCode::set_extruder(unsigned int extruder_id, double print_z)
|
||||
config.set_key_value("next_extruder", new ConfigOptionInt((int)extruder_id));
|
||||
config.set_key_value("layer_num", new ConfigOptionInt(m_layer_index));
|
||||
config.set_key_value("layer_z", new ConfigOptionFloat(print_z));
|
||||
config.set_key_value("toolchange_z", new ConfigOptionFloat(print_z));
|
||||
config.set_key_value("max_layer_z", new ConfigOptionFloat(m_max_layer_z));
|
||||
toolchange_gcode_parsed = placeholder_parser_process("toolchange_gcode", toolchange_gcode, extruder_id, &config);
|
||||
gcode += toolchange_gcode_parsed;
|
||||
|
@ -2438,7 +2438,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def = this->add("toolchange_gcode", coString);
|
||||
def->label = L("Tool change G-code");
|
||||
def->tooltip = L("This custom code is inserted before every toolchange. Placeholder variables for all PrusaSlicer settings "
|
||||
"as well as {previous_extruder} and {next_extruder} can be used. When a tool-changing command "
|
||||
"as well as {toolchange_z}, {previous_extruder} and {next_extruder} can be used. When a tool-changing command "
|
||||
"which changes to the correct extruder is included (such as T{next_extruder}), PrusaSlicer will emit no other such command. "
|
||||
"It is therefore possible to script custom behaviour both before and after the toolchange.");
|
||||
def->multiline = true;
|
||||
|
Loading…
Reference in New Issue
Block a user