mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-07-24 21:14:28 +08:00
allow retract_lift_first_layer even when 0 lift to activate extra lift for first move before each object on first layer
supermerill/SuperSlicer#1575
This commit is contained in:
parent
f711601a66
commit
b16ecbfcb1
@ -221,7 +221,8 @@ std::string Wipe::wipe(GCode& gcodegen, bool toolchange)
|
||||
//if first layer, ask for a bigger lift for travel to object, to be on the safe side
|
||||
static inline void set_extra_lift(const Layer& layer, const Print& print, GCodeWriter & writer, int extruder_id) {
|
||||
//if first layer, ask for a bigger lift for travel to object, to be on the safe side
|
||||
if (layer.id() == 0 && print.config().retract_lift.get_at(extruder_id) != 0) {
|
||||
if (layer.id() == 0 &&
|
||||
(print.config().retract_lift.get_at(extruder_id) != 0 || print.config().retract_lift_first_layer.get_at(extruder_id))) {
|
||||
//get biggest first layer height and set extra lift for first travel, to be safe.
|
||||
double extra_lift_value = 0;
|
||||
for (const PrintObject* obj : print.objects())
|
||||
@ -4173,8 +4174,9 @@ std::string GCode::retract(bool toolchange)
|
||||
}
|
||||
if (need_lift)
|
||||
if (m_writer.tool()->retract_length() > 0
|
||||
|| m_config.use_firmware_retraction
|
||||
|| m_config.use_firmware_retraction
|
||||
|| (!m_writer.tool_is_extruder() && m_writer.tool()->retract_lift() != 0)
|
||||
|| (BOOL_EXTRUDER_CONFIG(retract_lift_first_layer) && this->m_layer_index == 0)
|
||||
)
|
||||
gcode += m_writer.lift();
|
||||
|
||||
|
@ -3327,7 +3327,8 @@ void PrintConfigDef::init_fff_params()
|
||||
def->label = L("Enforce on first layer");
|
||||
def->full_label = L("Enforce lift on first layer");
|
||||
def->category = OptionCategory::extruders;
|
||||
def->tooltip = L("Select this option to enforce z-lift on the first layer.");
|
||||
def->tooltip = L("Select this option to enforce z-lift on the first layer."
|
||||
"\nIf this is enabled and the lift value is 0 or deactivated, then every first move before each object will be lifted by the first layer height.");
|
||||
def->mode = comAdvanced;
|
||||
def->is_vector_extruder = true;
|
||||
def->set_default_value(new ConfigOptionBools{ false });
|
||||
|
@ -2938,7 +2938,7 @@ void TabPrinter::toggle_options()
|
||||
|
||||
// retract lift above / below only applies if using retract lift
|
||||
vec.resize(0);
|
||||
vec = { "retract_lift_above", "retract_lift_below", "retract_lift_first_layer", "retract_lift_top" };
|
||||
vec = { "retract_lift_above", "retract_lift_below", "retract_lift_top" };
|
||||
for (auto el : vec) {
|
||||
field = get_field(el, i);
|
||||
if (field)
|
||||
|
Loading…
x
Reference in New Issue
Block a user