diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp index 7dea34b7d..ad82add0c 100644 --- a/src/libslic3r/Format/bbs_3mf.cpp +++ b/src/libslic3r/Format/bbs_3mf.cpp @@ -602,7 +602,8 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) std::vector m_filament_densities = result->filament_densities; auto get_used_filament_from_volume = [m_filament_diameters, m_filament_densities](double volume, int extruder_id) { double koef = 0.001; - std::pair ret = {koef * volume / (PI * sqr(0.5 * m_filament_diameters[extruder_id])), volume * m_filament_densities[extruder_id] * 0.001}; + double section_area = PI * sqr(0.5 * m_filament_diameters[extruder_id]); + std::pair ret = {section_area < EPSILON ? 0 : (koef * volume / section_area), volume * m_filament_densities[extruder_id] * 0.001}; return ret; };