diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 705369cb7a..cbc862c9b9 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2608,6 +2608,14 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato this->placeholder_parser().set("in_head_wrap_detect_zone", !intersection_pl(project_polys, {head_wrap_detect_zone}).empty()); } + { + coordf_t max_print_z = 0; + for (auto& obj : print.objects()) { + max_print_z = std::max(max_print_z, (*std::max_element(obj->layers().begin(), obj->layers().end(), [](Layer* a, Layer* b) { return a->print_z < b->print_z; }))->print_z); + } + this->placeholder_parser().set("max_print_z", new ConfigOptionInt(std::ceil(max_print_z))); + } + BoundingBoxf mesh_bbox(m_config.bed_mesh_min, m_config.bed_mesh_max); auto mesh_margin = m_config.adaptive_bed_mesh_margin.value; mesh_bbox.min = mesh_bbox.min.cwiseMax((bbox.min.array() - mesh_margin).matrix());