From c5448514ace5bc5329554fb45365b961a903ec89 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Tue, 24 Jul 2018 11:20:29 +0200 Subject: [PATCH] Fixed an issue with MM and supports layering --- xs/src/libslic3r/GCode/ToolOrdering.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xs/src/libslic3r/GCode/ToolOrdering.hpp b/xs/src/libslic3r/GCode/ToolOrdering.hpp index a7263abda3..4dcf6516ae 100644 --- a/xs/src/libslic3r/GCode/ToolOrdering.hpp +++ b/xs/src/libslic3r/GCode/ToolOrdering.hpp @@ -66,8 +66,10 @@ public: wipe_tower_partitions(0), wipe_tower_layer_height(0.) {} - bool operator< (const LayerTools &rhs) const { return print_z - EPSILON < rhs.print_z; } - bool operator==(const LayerTools &rhs) const { return std::abs(print_z - rhs.print_z) < EPSILON; } + // Changing these operators to epsilon version can make a problem in cases where support and object layers get close to each other. + // In case someone tries to do it, make sure you know what you're doing and test it properly (slice multiple objects at once with supports). + bool operator< (const LayerTools &rhs) const { return print_z < rhs.print_z; } + bool operator==(const LayerTools &rhs) const { return print_z == rhs.print_z; } bool is_extruder_order(unsigned int a, unsigned int b) const;