Infill wiping turned off by default and in some automatic tests
This commit is contained in:
parent
c11a163e08
commit
54bd0af905
@ -61,6 +61,7 @@ plan tests => 8;
|
|||||||
$config->set('infill_every_layers', 2);
|
$config->set('infill_every_layers', 2);
|
||||||
$config->set('perimeter_extruder', 1);
|
$config->set('perimeter_extruder', 1);
|
||||||
$config->set('infill_extruder', 2);
|
$config->set('infill_extruder', 2);
|
||||||
|
$config->set('wipe_into_infill', 0);
|
||||||
$config->set('support_material_extruder', 3);
|
$config->set('support_material_extruder', 3);
|
||||||
$config->set('support_material_interface_extruder', 3);
|
$config->set('support_material_interface_extruder', 3);
|
||||||
$config->set('top_solid_layers', 0);
|
$config->set('top_solid_layers', 0);
|
||||||
|
1
t/fill.t
1
t/fill.t
@ -201,6 +201,7 @@ for my $pattern (qw(rectilinear honeycomb hilbertcurve concentric)) {
|
|||||||
$config->set('bottom_solid_layers', 0);
|
$config->set('bottom_solid_layers', 0);
|
||||||
$config->set('infill_extruder', 2);
|
$config->set('infill_extruder', 2);
|
||||||
$config->set('infill_extrusion_width', 0.5);
|
$config->set('infill_extrusion_width', 0.5);
|
||||||
|
$config->set('wipe_into_infill', 0);
|
||||||
$config->set('fill_density', 40);
|
$config->set('fill_density', 40);
|
||||||
$config->set('cooling', [ 0 ]); # for preventing speeds from being altered
|
$config->set('cooling', [ 0 ]); # for preventing speeds from being altered
|
||||||
$config->set('first_layer_speed', '100%'); # for preventing speeds from being altered
|
$config->set('first_layer_speed', '100%'); # for preventing speeds from being altered
|
||||||
|
@ -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
|
for (const ExtrusionEntity* ee : eec.entities) { // iterate through all infill Collections
|
||||||
auto* fill = dynamic_cast<const ExtrusionEntityCollection*>(ee);
|
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;
|
continue;
|
||||||
|
|
||||||
// What extruder would this normally be printed with?
|
// 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)
|
if (!force_override && volume_to_wipe<=0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!is_overriddable(*fill, print.config, *object, region))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (!object->config.wipe_into_objects && !print.config.infill_first && !force_override) {
|
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
|
// 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):
|
// (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))
|
if (object->config.wipe_into_objects && (print.config.infill_first ? perimeters_done : !perimeters_done))
|
||||||
{
|
{
|
||||||
const ExtrusionEntityCollection& eec = this_layer->regions[region_id]->perimeters;
|
const ExtrusionEntityCollection& eec = this_layer->regions[region_id]->perimeters;
|
||||||
for (const ExtrusionEntity* ee : eec.entities) { // iterate through all perimeter Collections
|
for (const ExtrusionEntity* ee : eec.entities) { // iterate through all perimeter Collections
|
||||||
auto* fill = dynamic_cast<const ExtrusionEntityCollection*>(ee);
|
auto* fill = dynamic_cast<const ExtrusionEntityCollection*>(ee);
|
||||||
|
if (!is_overriddable(*fill, print.config, *object, region))
|
||||||
|
continue;
|
||||||
|
|
||||||
// What extruder would this normally be printed with?
|
// What extruder would this normally be printed with?
|
||||||
unsigned int correct_extruder = get_extruder(*fill, region);
|
unsigned int correct_extruder = get_extruder(*fill, region);
|
||||||
bool force_override = false;
|
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)
|
if (!force_override && volume_to_wipe<=0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!is_overriddable(*fill, print.config, *object, region))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (force_override || (!is_entity_overridden(fill, copy) && fill->total_volume() > min_infill_volume)) {
|
if (force_override || (!is_entity_overridden(fill, copy) && fill->total_volume() > min_infill_volume)) {
|
||||||
set_extruder_override(fill, copy, new_extruder, num_of_copies);
|
set_extruder_override(fill, copy, new_extruder, num_of_copies);
|
||||||
volume_to_wipe -= fill->total_volume();
|
volume_to_wipe -= fill->total_volume();
|
||||||
|
@ -1892,7 +1892,7 @@ PrintConfigDef::PrintConfigDef()
|
|||||||
"This lowers the amount of waste but may result in longer print time "
|
"This lowers the amount of waste but may result in longer print time "
|
||||||
" due to additional travel moves.");
|
" due to additional travel moves.");
|
||||||
def->cli = "wipe-into-infill!";
|
def->cli = "wipe-into-infill!";
|
||||||
def->default_value = new ConfigOptionBool(true);
|
def->default_value = new ConfigOptionBool(false);
|
||||||
|
|
||||||
def = this->add("wipe_into_objects", coBool);
|
def = this->add("wipe_into_objects", coBool);
|
||||||
def->category = L("Extruders");
|
def->category = L("Extruders");
|
||||||
|
Loading…
Reference in New Issue
Block a user