Trimming support base layer with brim.

Fixes Brim destroyed by support aka. Enable supports on top of brim #1156
Fixes Brim Priority/Support on Brim #713
Fixes Phantom Support columns interfere with brim #3396
Fixes false generation of brim when supports are used #3395

This is a work in progress, as the brim generator currently produces
different brim areas from what the support generator expects.
This commit is contained in:
Vojtech Bubnik 2021-02-23 14:43:47 +01:00
parent 8ba230db9f
commit 055d2321e7
5 changed files with 60 additions and 19 deletions

View file

@ -518,7 +518,13 @@ bool PrintObject::invalidate_state_by_config_options(
std::vector<PrintObjectStep> steps;
bool invalidated = false;
for (const t_config_option_key &opt_key : opt_keys) {
if ( opt_key == "perimeters"
if ( opt_key == "brim_width"
|| opt_key == "brim_offset"
|| opt_key == "brim_type") {
// Brim is printed below supports, support invalidates brim and skirt.
steps.emplace_back(posSupportMaterial);
} else if (
opt_key == "perimeters"
|| opt_key == "extra_perimeters"
|| opt_key == "gap_fill_enabled"
|| opt_key == "gap_fill_speed"