From 096d0c9860c3c54aa19cf6d07ad0187a1bc90f34 Mon Sep 17 00:00:00 2001
From: tamasmeszaros <meszaros.q@gmail.com>
Date: Fri, 20 Nov 2020 09:35:04 +0100
Subject: [PATCH] Fix arrange objectfunction to avoid last object in awkward
 positions.

fixes #3900
---
 src/libslic3r/Arrange.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/libslic3r/Arrange.cpp b/src/libslic3r/Arrange.cpp
index 6ae7dd6a2..e61f11517 100644
--- a/src/libslic3r/Arrange.cpp
+++ b/src/libslic3r/Arrange.cpp
@@ -277,10 +277,10 @@ protected:
             if (result.empty())
                 score = 0.50 * dist + 0.50 * density;
             else
-                score = R * 0.60 * dist +
-                        (1.0 - R) * 0.20 * density +
-                        0.20 * alignment_score;
-            
+                // Let the density matter more when fewer objects remain
+                score = 0.50 * dist + (1.0 - R) * 0.20 * density +
+                        0.30 * alignment_score;
+
             break;
         }
         case LAST_BIG_ITEM: {