ENH: improve extrusion calibration region in auto-arrange
1. do not consider extrusion calibration region if no micro lidar on the printer 2. do not inflate extrusion calibration region by brim width, just let them overlap Change-Id: I62228d85e8a55d40e22a6ae7f5f065f281936429 (cherry picked from commit 4c456e1f3e675a2ea1358d2983f85a95e58eb49c)
This commit is contained in:
parent
368badd225
commit
74a76e026a
1 changed files with 3 additions and 4 deletions
|
@ -503,10 +503,6 @@ void ArrangeJob::process()
|
|||
if (params.is_seq_print)
|
||||
params.min_obj_distance = std::max(params.min_obj_distance, scaled(params.cleareance_radius));
|
||||
|
||||
if (params.avoid_extrusion_cali_region)
|
||||
m_plater->get_partplate_list().preprocess_nonprefered_areas(m_unselected, MAX_NUM_PLATES);
|
||||
|
||||
|
||||
double skirt_distance = print.has_skirt() ? print.config().skirt_distance.value : 0;
|
||||
double brim_max = 0;
|
||||
std::for_each(m_selected.begin(), m_selected.end(), [&](ArrangePolygon ap) { brim_max = std::max(brim_max, ap.brim_width); });
|
||||
|
@ -531,6 +527,9 @@ void ArrangeJob::process()
|
|||
std::for_each(m_selected.begin(), m_selected.end(), [&](auto& ap) {ap.inflation = params.min_obj_distance / 2; });
|
||||
std::for_each(m_unselected.begin(), m_unselected.end(), [&](auto& ap) {ap.inflation = ap.is_virt_object ? scaled(params.brim_skirt_distance) : params.min_obj_distance / 2; });
|
||||
|
||||
if (params.avoid_extrusion_cali_region && print.full_print_config().opt_bool("scan_first_layer"))
|
||||
m_plater->get_partplate_list().preprocess_nonprefered_areas(m_unselected, MAX_NUM_PLATES);
|
||||
|
||||
m_plater->get_partplate_list().preprocess_exclude_areas(params.excluded_regions, 1);
|
||||
|
||||
// shrink bed by moving to center by dist
|
||||
|
|
Loading…
Reference in a new issue