mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-16 11:17:49 -06:00
Update build volume (including prime tower visualization) after quality change. CURA-2274 and CURA-2232
This commit is contained in:
parent
4547cfe504
commit
1cc5d699c4
1 changed files with 9 additions and 4 deletions
|
@ -81,8 +81,8 @@ class BuildVolume(SceneNode):
|
||||||
self._platform = Platform(self)
|
self._platform = Platform(self)
|
||||||
|
|
||||||
self._global_container_stack = None
|
self._global_container_stack = None
|
||||||
Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerStackChanged)
|
Application.getInstance().globalContainerStackChanged.connect(self._onStackChanged)
|
||||||
self._onGlobalContainerStackChanged()
|
self._onStackChanged()
|
||||||
|
|
||||||
self._has_errors = False
|
self._has_errors = False
|
||||||
Application.getInstance().getController().getScene().sceneChanged.connect(self._onSceneChanged)
|
Application.getInstance().getController().getScene().sceneChanged.connect(self._onSceneChanged)
|
||||||
|
@ -100,6 +100,9 @@ class BuildVolume(SceneNode):
|
||||||
" \"Print Sequence\" setting to prevent the gantry from colliding"
|
" \"Print Sequence\" setting to prevent the gantry from colliding"
|
||||||
" with printed models."))
|
" with printed models."))
|
||||||
|
|
||||||
|
# Must be after setting _build_volume_message, apparently that is used in getMachineManager.
|
||||||
|
Application.getInstance().getMachineManager().activeQualityChanged.connect(self._onStackChanged)
|
||||||
|
|
||||||
def _onSceneChanged(self, source):
|
def _onSceneChanged(self, source):
|
||||||
self._change_timer.start()
|
self._change_timer.start()
|
||||||
|
|
||||||
|
@ -277,7 +280,8 @@ class BuildVolume(SceneNode):
|
||||||
self.setPosition(Vector(0, -self._raft_thickness, 0), SceneNode.TransformSpace.World)
|
self.setPosition(Vector(0, -self._raft_thickness, 0), SceneNode.TransformSpace.World)
|
||||||
self.raftThicknessChanged.emit()
|
self.raftThicknessChanged.emit()
|
||||||
|
|
||||||
def _onGlobalContainerStackChanged(self):
|
## Update the build volume visualization
|
||||||
|
def _onStackChanged(self):
|
||||||
if self._global_container_stack:
|
if self._global_container_stack:
|
||||||
self._global_container_stack.propertyChanged.disconnect(self._onSettingPropertyChanged)
|
self._global_container_stack.propertyChanged.disconnect(self._onSettingPropertyChanged)
|
||||||
extruders = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())
|
extruders = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())
|
||||||
|
@ -354,7 +358,8 @@ class BuildVolume(SceneNode):
|
||||||
machine_depth = self._global_container_stack.getProperty("machine_depth", "value")
|
machine_depth = self._global_container_stack.getProperty("machine_depth", "value")
|
||||||
self._prime_tower_area = None
|
self._prime_tower_area = None
|
||||||
# Add prime tower location as disallowed area.
|
# Add prime tower location as disallowed area.
|
||||||
if self._global_container_stack.getProperty("prime_tower_enable", "value") == True:
|
# if self._global_container_stack.getProperty("prime_tower_enable", "value") == True:
|
||||||
|
if ExtruderManager.getInstance().getResolveOrValue("prime_tower_enable") == True:
|
||||||
prime_tower_size = self._global_container_stack.getProperty("prime_tower_size", "value")
|
prime_tower_size = self._global_container_stack.getProperty("prime_tower_size", "value")
|
||||||
prime_tower_x = self._global_container_stack.getProperty("prime_tower_position_x", "value") - machine_width / 2
|
prime_tower_x = self._global_container_stack.getProperty("prime_tower_position_x", "value") - machine_width / 2
|
||||||
prime_tower_y = - self._global_container_stack.getProperty("prime_tower_position_y", "value") + machine_depth / 2
|
prime_tower_y = - self._global_container_stack.getProperty("prime_tower_position_y", "value") + machine_depth / 2
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue