diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index c525c00755..8a7a3f7007 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -6214,10 +6214,11 @@ void PrintConfigDef::init_fff_params() def = this->add("wipe_tower_rib_width", coFloat); def->label = L("Rib width"); - def->tooltip = L("Rib width."); + def->tooltip = L("Rib width is always less than half the prime tower side length."); def->sidetext = "mm"; // milimeters, don't need translation def->mode = comAdvanced; def->min = 0; + def->max = 300; def->set_default_value(new ConfigOptionFloat(8)); def = this->add("wipe_tower_fillet_wall", coBool); diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index 8da277fd14..30ad79c78c 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -2040,6 +2040,7 @@ Vec3d PartPlate::estimate_wipe_tower_size(const DynamicPrintConfig & config, con float min_wipe_tower_depth = WipeTower::get_limit_depth_by_height(max_height); double volume_depth = depth; depth = std::max((double) min_wipe_tower_depth, depth); + rib_width = std::min(rib_width, depth / 2); depth = rib_width / std::sqrt(2) + std::max(depth + m_print->config().wipe_tower_extra_rib_length.value, volume_depth); wipe_tower_size(0) = wipe_tower_size(1) = depth; }