mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 15:07:28 -06:00
Fix autoslice check so it doesn't slice if there is no need
CURA-5130
This commit is contained in:
parent
e2478b636a
commit
0787f0b2ba
1 changed files with 6 additions and 0 deletions
|
@ -119,6 +119,7 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
self._postponed_scene_change_sources = [] # scene change is postponed (by a tool)
|
self._postponed_scene_change_sources = [] # scene change is postponed (by a tool)
|
||||||
|
|
||||||
self._slice_start_time = None
|
self._slice_start_time = None
|
||||||
|
self._is_disabled = False
|
||||||
|
|
||||||
Preferences.getInstance().addPreference("general/auto_slice", True)
|
Preferences.getInstance().addPreference("general/auto_slice", True)
|
||||||
|
|
||||||
|
@ -405,6 +406,7 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
# - decorator isBlockSlicing is found (used in g-code reader)
|
# - decorator isBlockSlicing is found (used in g-code reader)
|
||||||
def determineAutoSlicing(self):
|
def determineAutoSlicing(self):
|
||||||
enable_timer = True
|
enable_timer = True
|
||||||
|
self._is_disabled = False
|
||||||
|
|
||||||
if not Preferences.getInstance().getValue("general/auto_slice"):
|
if not Preferences.getInstance().getValue("general/auto_slice"):
|
||||||
enable_timer = False
|
enable_timer = False
|
||||||
|
@ -412,6 +414,7 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
if node.callDecoration("isBlockSlicing"):
|
if node.callDecoration("isBlockSlicing"):
|
||||||
enable_timer = False
|
enable_timer = False
|
||||||
self.backendStateChange.emit(BackendState.Disabled)
|
self.backendStateChange.emit(BackendState.Disabled)
|
||||||
|
self._is_disabled = True
|
||||||
gcode_list = node.callDecoration("getGCodeList")
|
gcode_list = node.callDecoration("getGCodeList")
|
||||||
if gcode_list is not None:
|
if gcode_list is not None:
|
||||||
self._scene.gcode_dict[node.callDecoration("getBuildPlateNumber")] = gcode_list
|
self._scene.gcode_dict[node.callDecoration("getBuildPlateNumber")] = gcode_list
|
||||||
|
@ -524,6 +527,9 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
|
|
||||||
## Convenient function: mark everything to slice, emit state and clear layer data
|
## Convenient function: mark everything to slice, emit state and clear layer data
|
||||||
def needsSlicing(self):
|
def needsSlicing(self):
|
||||||
|
self.determineAutoSlicing()
|
||||||
|
if self._is_disabled:
|
||||||
|
return
|
||||||
self.stopSlicing()
|
self.stopSlicing()
|
||||||
self.markSliceAll()
|
self.markSliceAll()
|
||||||
self.processingProgress.emit(0.0)
|
self.processingProgress.emit(0.0)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue