FIX: skirt distance was incorrect in auto arranging
Can't use plater->config(),have to use full_config instead. jira: STUDIO-7588 Change-Id: I1677ff615a7ed99ad439c6bfe3fac9bdf1e3434b
This commit is contained in:
parent
0cfa60b657
commit
4542c8eaff
|
@ -83,10 +83,9 @@ const double BIG_ITEM_TRESHOLD = 0.02;
|
|||
|
||||
void update_arrange_params(ArrangeParams& params, const DynamicPrintConfig* print_cfg, const ArrangePolygons& selected)
|
||||
{
|
||||
double skirt_distance = get_real_skirt_dist(*print_cfg);
|
||||
// Note: skirt_distance is now defined between outermost brim and skirt, not the object and skirt.
|
||||
// So we can't do max but do adding instead.
|
||||
params.brim_skirt_distance = skirt_distance;
|
||||
params.brim_skirt_distance = get_real_skirt_dist(*print_cfg);
|
||||
params.bed_shrink_x += params.brim_skirt_distance;
|
||||
params.bed_shrink_y += params.brim_skirt_distance;
|
||||
if (params.is_seq_print) {
|
||||
|
@ -97,7 +96,7 @@ void update_arrange_params(ArrangeParams& params, const DynamicPrintConfig* prin
|
|||
}
|
||||
else
|
||||
params.min_obj_distance = std::max(params.min_obj_distance, scaled(params.cleareance_radius + 0.001)); // +0.001mm to avoid clearance check fail due to rounding error
|
||||
|
||||
|
||||
// for sequential print, we need to inflate the bed because cleareance_radius is so large
|
||||
params.bed_shrink_x -= unscale_(params.min_obj_distance / 2);
|
||||
params.bed_shrink_y -= unscale_(params.min_obj_distance / 2);
|
||||
|
|
|
@ -188,7 +188,7 @@ void ArrangeJob::prepare_selected() {
|
|||
void ArrangeJob::prepare_all() {
|
||||
clear_input();
|
||||
|
||||
PartPlateList& plate_list = m_plater->get_partplate_list();
|
||||
PartPlateList& plate_list = m_plater->get_partplate_list();
|
||||
for (size_t i = 0; i < plate_list.get_plate_count(); i++) {
|
||||
PartPlate* plate = plate_list.get_plate(i);
|
||||
bool same_as_global_print_seq = true;
|
||||
|
@ -540,12 +540,12 @@ void ArrangeJob::process()
|
|||
if (params.avoid_extrusion_cali_region && global_config.opt_bool("scan_first_layer"))
|
||||
partplate_list.preprocess_nonprefered_areas(m_unselected, MAX_NUM_PLATES);
|
||||
|
||||
update_arrange_params(params, m_plater->config(), m_selected);
|
||||
update_selected_items_inflation(m_selected, m_plater->config(), params);
|
||||
update_unselected_items_inflation(m_unselected, m_plater->config(), params);
|
||||
update_selected_items_axis_align(m_selected, m_plater->config(), params);
|
||||
update_arrange_params(params, &global_config, m_selected);
|
||||
update_selected_items_inflation(m_selected, &global_config, params);
|
||||
update_unselected_items_inflation(m_unselected, &global_config, params);
|
||||
update_selected_items_axis_align(m_selected, &global_config, params);
|
||||
|
||||
Points bedpts = get_shrink_bedpts(m_plater->config(),params);
|
||||
Points bedpts = get_shrink_bedpts(&global_config,params);
|
||||
|
||||
partplate_list.preprocess_exclude_areas(params.excluded_regions, 1, scale_(1));
|
||||
|
||||
|
|
Loading…
Reference in New Issue