FIX: CLI: consider brim_width also in y direction

jira: no-jira
Change-Id: Ic81aa032a2e6ef1f17250b39604b936fff34b50d
This commit is contained in:
lane.wei 2025-05-24 15:54:40 +08:00
parent e606a86085
commit 636024a172

View File

@ -3808,7 +3808,10 @@ int CLI::run(int argc, char **argv)
ConfigOptionFloat* brim_width_option = print_config.option<ConfigOptionFloat>("prime_tower_brim_width", true);
float brim_width = brim_width_option->value;
if (brim_width < 0) brim_width = WipeTower::get_auto_brim_by_height((float)plate_obj_size_info.obj_bbox.max.z());
if (brim_width < 0)
brim_width = WipeTower::get_auto_brim_by_height((float)plate_obj_size_info.obj_bbox.max.z());
//if (brim_width < WIPE_TOWER_MARGIN)
// brim_width = WIPE_TOWER_MARGIN;
ConfigOptionFloats* volume_option = print_config.option<ConfigOptionFloats>("filament_prime_volume", true);
std::vector<double> wipe_volume = volume_option->values;
@ -3818,9 +3821,9 @@ int CLI::run(int argc, char **argv)
plate_obj_size_info.wipe_depth = wipe_tower_size(1);
Vec3d origin = plate->get_origin();
Vec3d start(origin(0) + plate_obj_size_info.wipe_x - brim_width, origin(1) + plate_obj_size_info.wipe_y, 0.f);
Vec3d start(origin(0) + plate_obj_size_info.wipe_x - brim_width, origin(1) + plate_obj_size_info.wipe_y - brim_width, 0.f);
plate_obj_size_info.obj_bbox.merge(start);
Vec3d end(origin(0) + plate_obj_size_info.wipe_x + plate_obj_size_info.wipe_width + brim_width, origin(1) + plate_obj_size_info.wipe_y + plate_obj_size_info.wipe_depth, 0.f);
Vec3d end(origin(0) + plate_obj_size_info.wipe_x + plate_obj_size_info.wipe_width + brim_width, origin(1) + plate_obj_size_info.wipe_y + plate_obj_size_info.wipe_depth + brim_width, 0.f);
plate_obj_size_info.obj_bbox.merge(end);
plate_obj_size_info.has_wipe_tower = true;
BOOST_LOG_TRIVIAL(info) << boost::format("plate %1%, has wipe tower, wipe bbox: min {%2%, %3%, %4%} - max {%5%, %6%, %7%}")