From bd074bf7535c16e9e011efcbcfbd4e0e951b8834 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 2 Sep 2020 01:02:12 +0200 Subject: [PATCH] Fix check of model checker to take new unit of shrinkage factor into account It's now based around 100%, so this should be adjusted. Contributes to issue CURA-7118. --- plugins/ModelChecker/ModelChecker.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/plugins/ModelChecker/ModelChecker.py b/plugins/ModelChecker/ModelChecker.py index b482667976..4f2f8bdf40 100644 --- a/plugins/ModelChecker/ModelChecker.py +++ b/plugins/ModelChecker/ModelChecker.py @@ -58,7 +58,7 @@ class ModelChecker(QObject, Extension): self._createView() def checkObjectsForShrinkage(self): - shrinkage_threshold = 0.5 #From what shrinkage percentage a warning will be issued about the model size. + shrinkage_threshold = 100.5 #From what shrinkage percentage a warning will be issued about the model size. warning_size_xy = 150 #The horizontal size of a model that would be too large when dealing with shrinking materials. warning_size_z = 100 #The vertical size of a model that would be too large when dealing with shrinking materials. @@ -86,7 +86,7 @@ class ModelChecker(QObject, Extension): Application.getInstance().callLater(lambda: self.onChanged.emit()) return False - if material_shrinkage[node_extruder_position] > shrinkage_threshold: + if material_shrinkage > shrinkage_threshold: bbox = node.getBoundingBox() if bbox is not None and (bbox.width >= warning_size_xy or bbox.depth >= warning_size_xy or bbox.height >= warning_size_z): warning_nodes.append(node) @@ -134,16 +134,8 @@ class ModelChecker(QObject, Extension): def showWarnings(self): self._caution_message.show() - def _getMaterialShrinkage(self): + def _getMaterialShrinkage(self) -> float: global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack is None: - return {} - - material_shrinkage = {} - # Get all shrinkage values of materials used - for extruder_position, extruder in enumerate(global_container_stack.extruderList): - shrinkage = extruder.material.getProperty("material_shrinkage_percentage", "value") - if shrinkage is None: - shrinkage = 0 - material_shrinkage[str(extruder_position)] = shrinkage - return material_shrinkage + return 100 + return global_container_stack.getProperty("material_shrinkage_percentage", "value")