mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-16 03:16:10 +08:00
parent
ee33a0918c
commit
e740aa6356
@ -2024,10 +2024,10 @@ namespace Skirt {
|
|||||||
// not at the print_z of the interlaced support material layers.
|
// not at the print_z of the interlaced support material layers.
|
||||||
std::map<unsigned int, std::pair<size_t, size_t>> skirt_loops_per_extruder_out;
|
std::map<unsigned int, std::pair<size_t, size_t>> skirt_loops_per_extruder_out;
|
||||||
if (print.has_skirt() && ! print.skirt().entities.empty() &&
|
if (print.has_skirt() && ! print.skirt().entities.empty() &&
|
||||||
|
// infinite or high skirt does not make sense for sequential print here
|
||||||
|
//(if it is selected, it's done in the "extrude object-only skirt" in process_layer)
|
||||||
// Not enough skirt layers printed yet.
|
// Not enough skirt layers printed yet.
|
||||||
(skirt_done.size() < (size_t)print.config().skirt_height.value || print.has_infinite_skirt()) &&
|
(skirt_done.size() < (size_t)print.config().skirt_height.value || print.has_infinite_skirt()) &&
|
||||||
// infinite or high skirt does not make sense for sequential print!
|
|
||||||
(layer_tools.print_z - skirt_done.back() < print.config().skirt_extrusion_width) &&
|
|
||||||
// This print_z has not been extruded yet (sequential print)
|
// This print_z has not been extruded yet (sequential print)
|
||||||
// FIXME: The skirt_done should not be empty at this point. The check is a workaround
|
// FIXME: The skirt_done should not be empty at this point. The check is a workaround
|
||||||
// of https://github.com/prusa3d/PrusaSlicer/issues/5652, but it deserves a real fix.
|
// of https://github.com/prusa3d/PrusaSlicer/issues/5652, but it deserves a real fix.
|
||||||
@ -2405,7 +2405,7 @@ void GCode::process_layer(
|
|||||||
|
|
||||||
const PrintObject *print_object = layers.front().object();
|
const PrintObject *print_object = layers.front().object();
|
||||||
this->set_origin(unscale(print_object->instances()[single_object_instance_idx].shift));
|
this->set_origin(unscale(print_object->instances()[single_object_instance_idx].shift));
|
||||||
if (this->m_layer != nullptr && this->m_layer->id() < m_config.skirt_height) {
|
if (this->m_layer != nullptr && (this->m_layer->id() < m_config.skirt_height || print.has_infinite_skirt() )) {
|
||||||
for (const ExtrusionEntity *ee : print_object->skirt().entities)
|
for (const ExtrusionEntity *ee : print_object->skirt().entities)
|
||||||
gcode += this->extrude_entity(*ee, "", m_config.support_material_speed.value);
|
gcode += this->extrude_entity(*ee, "", m_config.support_material_speed.value);
|
||||||
}
|
}
|
||||||
@ -3274,7 +3274,7 @@ void GCode::use(const ExtrusionEntityCollection &collection) {
|
|||||||
std::string GCode::extrude_path(const ExtrusionPath &path, const std::string &description, double speed) {
|
std::string GCode::extrude_path(const ExtrusionPath &path, const std::string &description, double speed) {
|
||||||
|
|
||||||
ExtrusionPath simplifed_path = path;
|
ExtrusionPath simplifed_path = path;
|
||||||
if (this->config().min_length.value != 0 && !m_last_too_small.empty() /*&& m_last_too_small.length() > 0*/) {
|
if (this->config().min_length.value != 0 && !m_last_too_small.empty()) {
|
||||||
//descr += " trys fusion " + std::to_string(unscaled(m_last_too_small.last_point().x())) + " , " + std::to_string(unscaled(path.first_point().x()));
|
//descr += " trys fusion " + std::to_string(unscaled(m_last_too_small.last_point().x())) + " , " + std::to_string(unscaled(path.first_point().x()));
|
||||||
//ensure that it's a continous thing
|
//ensure that it's a continous thing
|
||||||
if (m_last_too_small.first_point().distance_to_square(path.first_point()) < scale_(this->config().min_length) /*&& m_last_too_small.first_point().distance_to_square(path.first_point()) > EPSILON*/) {
|
if (m_last_too_small.first_point().distance_to_square(path.first_point()) < scale_(this->config().min_length) /*&& m_last_too_small.first_point().distance_to_square(path.first_point()) > EPSILON*/) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user