Fix sequential print

This commit is contained in:
Martin Šach 2024-07-04 15:33:41 +02:00 committed by Lukas Matena
parent 8c9b672c0d
commit 4db6923a5a

View File

@ -2563,10 +2563,8 @@ LayerResult GCodeGenerator::process_layer(
} }
} }
const Vec3crd point{to_3d(first_point, scaled(print_z))}; this->set_origin({0, 0});
gcode += this->travel_to_first_position(point, print_z, ExtrusionRole::Mixed, [this](){ bool moved_to_first_point{false};
return m_writer.multiple_extruders ? "" : m_label_objects.maybe_change_instance(m_writer);
});
// Extrude the skirt, brim, support, perimeters, infill ordered by the extruders. // Extrude the skirt, brim, support, perimeters, infill ordered by the extruders.
for (const ExtruderExtrusions &extruder_extrusions : extrusions) for (const ExtruderExtrusions &extruder_extrusions : extrusions)
@ -2586,6 +2584,14 @@ LayerResult GCodeGenerator::process_layer(
gcode += ProcessLayer::emit_custom_gcode_per_print_z(*this, *layer_tools.custom_gcode, m_writer.extruder()->id(), first_extruder_id, print.config()); gcode += ProcessLayer::emit_custom_gcode_per_print_z(*this, *layer_tools.custom_gcode, m_writer.extruder()->id(), first_extruder_id, print.config());
} }
if (!moved_to_first_point) {
const Vec3crd point{to_3d(first_point, scaled(print_z))};
gcode += this->travel_to_first_position(point, print_z, ExtrusionRole::Mixed, [this](){
return m_writer.multiple_extruders ? "" : m_label_objects.maybe_change_instance(m_writer);
});
moved_to_first_point = true;
}
if (!extruder_extrusions.skirt.empty()) { if (!extruder_extrusions.skirt.empty()) {
if (!this->m_config.complete_objects.value) { if (!this->m_config.complete_objects.value) {
gcode += this->m_label_objects.maybe_stop_instance(); gcode += this->m_label_objects.maybe_stop_instance();