mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-15 18:25:55 +08:00
Sequential printability test applied to active bed only
This commit is contained in:
parent
f7c29a7007
commit
20550049a8
@ -209,9 +209,18 @@ bool check_seq_printability(const Model& model)
|
|||||||
|
|
||||||
// FIXME: This does not consider plates, non-printable objects and instances.
|
// FIXME: This does not consider plates, non-printable objects and instances.
|
||||||
Sequential::ScheduledPlate plate;
|
Sequential::ScheduledPlate plate;
|
||||||
for (ModelObject* mo : model.objects) {
|
for (const ModelObject* mo : model.objects) {
|
||||||
ModelInstance* mi = mo->instances.front();
|
int inst_id = -1;
|
||||||
plate.scheduled_objects.emplace_back(mo->id().id, scaled(mi->get_offset().x()), scaled(mi->get_offset().y()));
|
for (const ModelInstance* mi : mo->instances) {
|
||||||
|
++inst_id;
|
||||||
|
|
||||||
|
auto it = s_multiple_beds.get_inst_map().find(mi->id());
|
||||||
|
if (it == s_multiple_beds.get_inst_map().end() || it->second != s_multiple_beds.get_active_bed())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Vec3d offset = s_multiple_beds.get_bed_translation(s_multiple_beds.get_active_bed());
|
||||||
|
plate.scheduled_objects.emplace_back(inst_id == 0 ? mo->id().id : mi->id().id, scaled(mi->get_offset().x() - offset.x()), scaled(mi->get_offset().y() - offset.y()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Sequential::check_ScheduledObjectsForSequentialPrintability(solver_config, printer_geometry, objects, std::vector<Sequential::ScheduledPlate>(1, plate));
|
return Sequential::check_ScheduledObjectsForSequentialPrintability(solver_config, printer_geometry, objects, std::vector<Sequential::ScheduledPlate>(1, plate));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user