diff --git a/cura/Settings/SettingOverrideDecorator.py b/cura/Settings/SettingOverrideDecorator.py index f2a465242e..bfb28cd1f1 100644 --- a/cura/Settings/SettingOverrideDecorator.py +++ b/cura/Settings/SettingOverrideDecorator.py @@ -114,14 +114,11 @@ class SettingOverrideDecorator(SceneNodeDecorator): def _onSettingChanged(self, setting_key, property_name): # Reminder: 'property' is a built-in function # We're only interested in a few settings and only if it's value changed. if property_name == "value": - if setting_key in self._non_printing_mesh_settings or setting_key in self._non_thumbnail_visible_settings: - # Trigger slice/need slicing if the value has changed. - new_is_non_printing_mesh = self._evaluateIsNonPrintingMesh() - self._is_non_thumbnail_visible_mesh = self._evaluateIsNonThumbnailVisibleMesh() - - if self._is_non_printing_mesh != new_is_non_printing_mesh: - self._is_non_printing_mesh = new_is_non_printing_mesh - + # Trigger slice/need slicing if the value has changed. + self._is_non_printing_mesh = self._evaluateIsNonPrintingMesh() + self._is_non_thumbnail_visible_mesh = self._evaluateIsNonThumbnailVisibleMesh() + # Only calculate the bounding box of the mesh if it's an actual mesh (and not a helper) + self._node.setCalculateBoundingBox(not self._is_non_printing_mesh) Application.getInstance().getBackend().needsSlicing() Application.getInstance().getBackend().tickle()