From 134f083bdb3073c393aaa01ce845cc3c5481c9b0 Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 3 Nov 2023 15:31:30 +0800 Subject: [PATCH] FIX: modify some default support params in code 1. Modify default values of some supports params, so 3rd party profiles are easier to setup. 3. Fix a bug that organic support may cause crash. Jira: none Change-Id: Icae348d8fe5985f4287404e96089198a499283f2 (cherry picked from commit 8889cfc703b72e142f288e525b89c87619f2213c) --- src/libslic3r/PrintConfig.cpp | 8 ++++---- src/libslic3r/Support/TreeSupport3D.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 19658a221..5688791af 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3010,7 +3010,7 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("Filament to print support base and raft. \"Default\" means no specific filament for support and current filament is used"); def->min = 0; def->mode = comSimple; - def->set_default_value(new ConfigOptionInt(1)); + def->set_default_value(new ConfigOptionInt(0)); def = this->add("support_interface_not_for_body",coBool); def->label = L("No interface filament for body"); @@ -3043,7 +3043,7 @@ void PrintConfigDef::init_fff_params() def->min = 0; // BBS def->mode = comSimple; - def->set_default_value(new ConfigOptionInt(1)); + def->set_default_value(new ConfigOptionInt(0)); auto support_interface_top_layers = def = this->add("support_interface_top_layers", coInt); def->gui_type = ConfigOptionDef::GUIType::i_enum_open; @@ -3123,7 +3123,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back(L("Lightning")); def->enum_labels.push_back(L("Hollow")); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionEnum(smpRectilinear)); + def->set_default_value(new ConfigOptionEnum(smpDefault)); def = this->add("support_interface_pattern", coEnum); def->label = L("Interface pattern"); @@ -3143,7 +3143,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back(L("Rectilinear Interlaced")); def->enum_labels.push_back(L("Grid")); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionEnum(smipRectilinear)); + def->set_default_value(new ConfigOptionEnum(smipAuto)); def = this->add("support_base_pattern_spacing", coFloat); def->label = L("Base pattern spacing"); diff --git a/src/libslic3r/Support/TreeSupport3D.cpp b/src/libslic3r/Support/TreeSupport3D.cpp index c145c9cfe..8a8e15358 100644 --- a/src/libslic3r/Support/TreeSupport3D.cpp +++ b/src/libslic3r/Support/TreeSupport3D.cpp @@ -3083,7 +3083,7 @@ static void finalize_interface_and_support_areas( [&](const tbb::blocked_range &range) { for (size_t layer_idx = range.begin(); layer_idx < range.end(); ++ layer_idx) { // Subtract support lines of the branches from the roof - SupportGeneratorLayer *support_roof = top_contacts[layer_idx]; + SupportGeneratorLayer* support_roof = layer_idx < top_contacts.size() ? top_contacts[layer_idx] : nullptr; Polygons support_roof_polygons; if (Polygons &src = support_roof_storage[layer_idx]; ! src.empty()) { if (support_roof != nullptr && ! support_roof->polygons.empty()) {