mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-04 11:14:21 +08:00
Increase agressiveness of short circuit logic; Just check if the node is slicable
That should also filter out platform, buildVolume and convexHulLNodes
This commit is contained in:
parent
b61bf3df4d
commit
3f18b0b974
@ -129,8 +129,8 @@ class BuildVolume(SceneNode):
|
|||||||
|
|
||||||
def _onSceneChanged(self, source):
|
def _onSceneChanged(self, source):
|
||||||
if self._global_container_stack:
|
if self._global_container_stack:
|
||||||
# Just ignore the camera scene updates. The build volume won't change because of it!
|
# Ignore anything that is not something we can slice in the first place!
|
||||||
if not isinstance(source, Camera):
|
if source.callDecoration("isSliceable"):
|
||||||
self._scene_change_timer.start()
|
self._scene_change_timer.start()
|
||||||
|
|
||||||
def _onSceneChangeTimerFinished(self):
|
def _onSceneChangeTimerFinished(self):
|
||||||
|
@ -17,7 +17,6 @@ from cura.Scene import ZOffsetDecorator
|
|||||||
|
|
||||||
import random # used for list shuffling
|
import random # used for list shuffling
|
||||||
|
|
||||||
|
|
||||||
class PlatformPhysics:
|
class PlatformPhysics:
|
||||||
def __init__(self, controller, volume):
|
def __init__(self, controller, volume):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
@ -40,8 +39,9 @@ class PlatformPhysics:
|
|||||||
Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", True)
|
Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", True)
|
||||||
|
|
||||||
def _onSceneChanged(self, source):
|
def _onSceneChanged(self, source):
|
||||||
if not source.getMeshData():
|
if not source.callDecoration("isSliceable"):
|
||||||
return
|
return
|
||||||
|
|
||||||
self._change_timer.start()
|
self._change_timer.start()
|
||||||
|
|
||||||
def _onChangeTimerFinished(self):
|
def _onChangeTimerFinished(self):
|
||||||
|
@ -477,7 +477,7 @@ class CuraEngineBackend(QObject, Backend):
|
|||||||
#
|
#
|
||||||
# \param source The scene node that was changed.
|
# \param source The scene node that was changed.
|
||||||
def _onSceneChanged(self, source: SceneNode) -> None:
|
def _onSceneChanged(self, source: SceneNode) -> None:
|
||||||
if not isinstance(source, SceneNode) or isinstance(source, Camera):
|
if not source.callDecoration("isSliceable"):
|
||||||
return
|
return
|
||||||
|
|
||||||
# This case checks if the source node is a node that contains GCode. In this case the
|
# This case checks if the source node is a node that contains GCode. In this case the
|
||||||
|
Loading…
x
Reference in New Issue
Block a user