Infill wiping turned off by default and in some automatic tests

This commit is contained in:
Lukas Matena 2018-06-27 15:07:37 +02:00
parent c11a163e08
commit 54bd0af905
4 changed files with 8 additions and 9 deletions

View file

@ -453,7 +453,7 @@ float WipingExtrusions::mark_wiping_extrusions(const Print& print, const LayerTo
for (const ExtrusionEntity* ee : eec.entities) { // iterate through all infill Collections
auto* fill = dynamic_cast<const ExtrusionEntityCollection*>(ee);
if (fill->role() == erTopSolidInfill || fill->role() == erGapFill) // these cannot be changed - such infill is / may be visible
if (!is_overriddable(*fill, print.config, *object, region))
continue;
// What extruder would this normally be printed with?
@ -467,9 +467,6 @@ float WipingExtrusions::mark_wiping_extrusions(const Print& print, const LayerTo
if (!force_override && volume_to_wipe<=0)
continue;
if (!is_overriddable(*fill, print.config, *object, region))
continue;
if (!object->config.wipe_into_objects && !print.config.infill_first && !force_override) {
// In this case we must check that the original extruder is used on this layer before the one we are overridding
// (and the perimeters will be finished before the infill is printed):
@ -493,12 +490,15 @@ float WipingExtrusions::mark_wiping_extrusions(const Print& print, const LayerTo
}
}
// Now the same for perimeters - see comments above for explanation:
if (object->config.wipe_into_objects && (print.config.infill_first ? perimeters_done : !perimeters_done))
{
const ExtrusionEntityCollection& eec = this_layer->regions[region_id]->perimeters;
for (const ExtrusionEntity* ee : eec.entities) { // iterate through all perimeter Collections
auto* fill = dynamic_cast<const ExtrusionEntityCollection*>(ee);
if (!is_overriddable(*fill, print.config, *object, region))
continue;
// What extruder would this normally be printed with?
unsigned int correct_extruder = get_extruder(*fill, region);
bool force_override = false;
@ -507,9 +507,6 @@ float WipingExtrusions::mark_wiping_extrusions(const Print& print, const LayerTo
if (!force_override && volume_to_wipe<=0)
continue;
if (!is_overriddable(*fill, print.config, *object, region))
continue;
if (force_override || (!is_entity_overridden(fill, copy) && fill->total_volume() > min_infill_volume)) {
set_extruder_override(fill, copy, new_extruder, num_of_copies);
volume_to_wipe -= fill->total_volume();