Merge branch 'main' into main

This commit is contained in:
Rodrigo Faselli
2026-07-25 19:19:07 -03:00
committed by GitHub
164 changed files with 22716 additions and 9447 deletions
+8 -1
View File
@@ -3756,7 +3756,8 @@ bool PartPlate::check_outside(int obj_id, int instance_id, BoundingBoxf3* boundi
if (instance_box.min.z() < SINKING_Z_THRESHOLD) {
// Orca: For sinking object, we use a more expensive algorithm so part below build plate won't be considered
if (plate_box.intersects(instance_box)) {
// m_plater is null in CLI mode.
if (m_plater && plate_box.intersects(instance_box)) {
// TODO: FIXME: this does not take exclusion area into account
const BuildVolume build_volume(get_shape(), m_plater->build_volume().printable_height(), m_extruder_areas, m_extruder_heights);
const auto state = instance->calc_print_volume_state(build_volume);
@@ -5745,6 +5746,9 @@ int PartPlateList::create_plate(bool adjust_position)
return -1;
int cols = compute_colum_count(new_index + 1);
int old_cols = compute_colum_count(new_index);
// Orca: Rebuild plate membership before moving instances during a grid reflow.
if (adjust_position && old_cols != cols)
reload_all_objects();
origin = compute_origin(new_index, cols);
plate = new PartPlate(this, origin, m_plate_width, m_plate_depth, m_plate_height, m_plater, m_model, true, printer_technology);
@@ -6240,6 +6244,9 @@ int PartPlateList::move_plate_to_index(int old_index, int new_index)
return -1;
}
// Orca: Rebuild plate membership before moving the plates.
reload_all_objects();
if (old_index < new_index)
{
delta = 1;