From 4351187ce5c4a8b473575e5c6a57ce4d94caeeac Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 14 Mar 2018 18:16:17 +0100 Subject: [PATCH] Fixed Print::validate() to allow for objects protruding below the print bed. The part of the object below the print bed will simply not be sliced. This fix also fixes integration tests, which often work with boxes centered around (0,0,0). --- xs/src/libslic3r/Print.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xs/src/libslic3r/Print.cpp b/xs/src/libslic3r/Print.cpp index 13f4fab79..a3f5e231f 100644 --- a/xs/src/libslic3r/Print.cpp +++ b/xs/src/libslic3r/Print.cpp @@ -510,6 +510,8 @@ std::string Print::validate() const { BoundingBox bed_box_2D = get_extents(Polygon::new_scale(config.bed_shape.values)); BoundingBoxf3 print_volume(Pointf3(unscale(bed_box_2D.min.x), unscale(bed_box_2D.min.y), 0.0), Pointf3(unscale(bed_box_2D.max.x), unscale(bed_box_2D.max.y), config.max_print_height)); + // Allow the objects to protrude below the print bed, only the part of the object above the print bed will be sliced. + print_volume.min.z = -1e10; for (PrintObject *po : this->objects) { if (! print_volume.contains(po->model_object()->tight_bounding_box(false))) return "Some objects are outside of the print volume.";