mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-12-28 18:30:33 -07:00
ENH: dual_extruder: add logic to process extruder_printable_area
JIRA: STUDIO-7498 Change-Id: I1cf53db93acf41b06cb1b9569a0679487c9f1e41 (cherry picked from commit e5be69dedd1ba6dc289a14b89598c9a6101dacb3)
This commit is contained in:
parent
e433e49e2f
commit
f702ad9fd2
20 changed files with 339 additions and 76 deletions
|
|
@ -3349,8 +3349,23 @@ ModelInstanceEPrintVolumeState ModelInstance::calc_print_volume_state(const Buil
|
|||
BuildVolume::ObjectState state;
|
||||
if (!build_volume.bounding_volume2d().inflated(BuildVolume::SceneEpsilon).overlap(bbox2d))
|
||||
state = BuildVolume::ObjectState::Outside;
|
||||
else
|
||||
state = build_volume.object_state(vol->mesh().its, matrix.cast<float>(), true /* may be below print bed */);
|
||||
else {
|
||||
switch(build_volume.type())
|
||||
{
|
||||
case BuildVolume_Type::Rectangle:
|
||||
{
|
||||
state = build_volume.volume_state_bbox(bboxt);
|
||||
break;
|
||||
}
|
||||
case BuildVolume_Type::Circle:
|
||||
case BuildVolume_Type::Convex:
|
||||
case BuildVolume_Type::Custom:
|
||||
default:
|
||||
state = build_volume.object_state(vol->mesh().its, matrix.cast<float>(), true /* may be below print bed */);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (state == BuildVolume::ObjectState::Inside)
|
||||
// Volume is completely inside.
|
||||
inside_outside |= INSIDE;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue