From 1aed7dfe5b57ba944c5e43448cd24c3dae48f5e6 Mon Sep 17 00:00:00 2001 From: Max Paperno Date: Sun, 8 Mar 2026 22:32:28 -0400 Subject: [PATCH] FIX: Divide by zero exception in `InterlockingGenerator` when invalid configuration parameters are used. (fixes https://github.com/bambulab/BambuStudio/issues/9910 ) (cherry picked from commit cdd60ab71f8a3895fcb1345b2ccc2f2f472bf968) --- src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp b/src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp index a3e6cd21b0..84a3d62136 100644 --- a/src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp +++ b/src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp @@ -26,7 +26,8 @@ namespace Slic3r { void InterlockingGenerator::generate_interlocking_structure(PrintObject* print_object) { const auto& config = print_object->config(); - if (!config.interlocking_beam) { + // Check if interlocking is enabled, and avoid errors like division by zero due to invalid configuration. + if (!config.interlocking_beam || config.interlocking_beam_layer_count < 1 || config.interlocking_depth < 1 || config.interlocking_beam_width < EPSILON ) { return; }