ENH:Frontend limits rib width to less than half the tower side length

jira: STUDIO-14681
Change-Id: Id303ae07cacf36059d6de8570fa5ddf7802829ee
(cherry picked from commit 919a57eef5d05066c4a804448cad69bdd3102456)
This commit is contained in:
jiangkai.zhao
2025-09-18 14:44:25 +08:00
committed by Noisyfox
parent b9cd05dc86
commit 3a8269f9d4
2 changed files with 3 additions and 1 deletions

View File

@@ -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);

View File

@@ -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;
}