Fixed a issue that support_bottom_z_distance was not working as expected.

Fixed #2667
This commit is contained in:
SoftFever 2023-11-10 19:46:01 +08:00
parent edb5676dd1
commit c860680b21
3 changed files with 3 additions and 5 deletions

View file

@ -1206,8 +1206,7 @@ std::vector<GCode::LayerToPrint> GCode::collect_layers_to_print(const PrintObjec
// Allow empty support layers, as the support generator may produce no extrusions for non-empty support regions. // Allow empty support layers, as the support generator may produce no extrusions for non-empty support regions.
|| (layer_to_print.support_layer /* && layer_to_print.support_layer->has_extrusions() */)) { || (layer_to_print.support_layer /* && layer_to_print.support_layer->has_extrusions() */)) {
double top_cd = object.config().support_top_z_distance; double top_cd = object.config().support_top_z_distance;
//double bottom_cd = object.config().support_bottom_z_distance == 0. ? top_cd : object.config().support_bottom_z_distance; double bottom_cd = object.config().support_bottom_z_distance;
double bottom_cd = top_cd;
double extra_gap = (layer_to_print.support_layer ? bottom_cd : top_cd); double extra_gap = (layer_to_print.support_layer ? bottom_cd : top_cd);

View file

@ -3501,6 +3501,7 @@ def = this->add("filament_loading_speed", coFloats);
def = this->add("support_top_z_distance", coFloat); def = this->add("support_top_z_distance", coFloat);
//def->gui_type = ConfigOptionDef::GUIType::f_enum_open; //def->gui_type = ConfigOptionDef::GUIType::f_enum_open;
def->label = L("Top Z distance"); def->label = L("Top Z distance");
def->min = 0;
def->category = L("Support"); def->category = L("Support");
def->tooltip = L("The z gap between the top support interface and object"); def->tooltip = L("The z gap between the top support interface and object");
def->sidetext = L("mm"); def->sidetext = L("mm");
@ -3516,12 +3517,12 @@ def = this->add("filament_loading_speed", coFloats);
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0.2)); def->set_default_value(new ConfigOptionFloat(0.2));
// BBS:MusangKing
def = this->add("support_bottom_z_distance", coFloat); def = this->add("support_bottom_z_distance", coFloat);
def->label = L("Bottom Z distance"); def->label = L("Bottom Z distance");
def->category = L("Support"); def->category = L("Support");
def->tooltip = L("The z gap between the bottom support interface and object"); def->tooltip = L("The z gap between the bottom support interface and object");
def->sidetext = L("mm"); def->sidetext = L("mm");
def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0.2)); def->set_default_value(new ConfigOptionFloat(0.2));

View file

@ -119,8 +119,6 @@ SlicingParameters SlicingParameters::create_from_config(
//BBS //BBS
params.gap_object_support = object_config.support_bottom_z_distance.value; params.gap_object_support = object_config.support_bottom_z_distance.value;
params.gap_support_object = object_config.support_top_z_distance.value; params.gap_support_object = object_config.support_top_z_distance.value;
if (params.gap_object_support <= 0)
params.gap_object_support = params.gap_support_object;
if (!print_config.independent_support_layer_height) { if (!print_config.independent_support_layer_height) {
params.gap_raft_object = std::round(params.gap_raft_object / object_config.layer_height + EPSILON) * object_config.layer_height; params.gap_raft_object = std::round(params.gap_raft_object / object_config.layer_height + EPSILON) * object_config.layer_height;