Implemented minimum skirt extrusion length and draft shield parameter (#5356)

* Implemented minimum skirt extrusion length parameter

* Enabled draft shield option

* Update Tab.cpp

* Updated draft shield to be visible in the Advanced mode

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
Ioannis Giannakas 2024-05-20 12:04:13 +01:00 committed by GitHub
parent 3f83d68e0e
commit dd36d5b1ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 43 additions and 22 deletions

View file

@ -3452,13 +3452,15 @@ namespace Skirt {
size_t lines_per_extruder = (n_loops + n_tools - 1) / n_tools;
// BBS. Extrude skirt with first extruder if min_skirt_length is zero
const PrintConfig &config = print.config();
if (Print::min_skirt_length < EPSILON) {
//ORCA: Always extrude skirt with first extruder, independantly of if the minimum skirt length is zero or not. The code below
// is left as a placeholder for when a multiextruder support is implemented. Then we will need to extrude the skirt loops for each extruder.
//const PrintConfig &config = print.config();
//if (config.min_skirt_length.value < EPSILON) {
skirt_loops_per_extruder_out[layer_tools.extruders.front()] = std::pair<size_t, size_t>(0, n_loops);
} else {
for (size_t i = 0; i < n_loops; i += lines_per_extruder)
skirt_loops_per_extruder_out[layer_tools.extruders[i / lines_per_extruder]] = std::pair<size_t, size_t>(i, std::min(i + lines_per_extruder, n_loops));
}
//} else {
// for (size_t i = 0; i < n_loops; i += lines_per_extruder)
// skirt_loops_per_extruder_out[layer_tools.extruders[i / lines_per_extruder]] = std::pair<size_t, size_t>(i, std::min(i + lines_per_extruder, n_loops));
//}
}
static std::map<unsigned int, std::pair<size_t, size_t>> make_skirt_loops_per_extruder_1st_layer(