mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 22:58:58 +08:00
Update 3D viewer build volume when relevant machine settings are changed - CURA-4659
This commit is contained in:
parent
db19f2c2e9
commit
a52889a601
@ -513,14 +513,13 @@ class BuildVolume(SceneNode):
|
|||||||
update_disallowed_areas = False
|
update_disallowed_areas = False
|
||||||
update_raft_thickness = False
|
update_raft_thickness = False
|
||||||
update_extra_z_clearance = True
|
update_extra_z_clearance = True
|
||||||
|
|
||||||
for setting_key in self._changed_settings_since_last_rebuild:
|
for setting_key in self._changed_settings_since_last_rebuild:
|
||||||
|
|
||||||
if setting_key == "print_sequence":
|
if setting_key == "print_sequence":
|
||||||
machine_height = self._global_container_stack.getProperty("machine_height", "value")
|
machine_height = self._global_container_stack.getProperty("machine_height", "value")
|
||||||
if Application.getInstance().getGlobalContainerStack().getProperty("print_sequence",
|
if Application.getInstance().getGlobalContainerStack().getProperty("print_sequence", "value") == "one_at_a_time" and len(self._scene_objects) > 1:
|
||||||
"value") == "one_at_a_time" and len(
|
self._height = min(self._global_container_stack.getProperty("gantry_height", "value"), machine_height)
|
||||||
self._scene_objects) > 1:
|
|
||||||
self._height = min(self._global_container_stack.getProperty("gantry_height", "value"),
|
|
||||||
machine_height)
|
|
||||||
if self._height < machine_height:
|
if self._height < machine_height:
|
||||||
self._build_volume_message.show()
|
self._build_volume_message.show()
|
||||||
else:
|
else:
|
||||||
@ -528,9 +527,20 @@ class BuildVolume(SceneNode):
|
|||||||
else:
|
else:
|
||||||
self._height = self._global_container_stack.getProperty("machine_height", "value")
|
self._height = self._global_container_stack.getProperty("machine_height", "value")
|
||||||
self._build_volume_message.hide()
|
self._build_volume_message.hide()
|
||||||
|
update_disallowed_areas = True
|
||||||
rebuild_me = True
|
rebuild_me = True
|
||||||
|
|
||||||
if setting_key in self._skirt_settings or setting_key in self._prime_settings or setting_key in self._tower_settings or setting_key == "print_sequence" or setting_key in self._ooze_shield_settings or setting_key in self._distance_settings or setting_key in self._extruder_settings:
|
# sometimes the machine size or shape settings are adjusted on the active machine, we should reflect this
|
||||||
|
if setting_key in self._machine_settings:
|
||||||
|
self._height = self._global_container_stack.getProperty("machine_height", "value")
|
||||||
|
self._width = self._global_container_stack.getProperty("machine_width", "value")
|
||||||
|
self._depth = self._global_container_stack.getProperty("machine_depth", "value")
|
||||||
|
self._shape = self._global_container_stack.getProperty("machine_shape", "value")
|
||||||
|
update_extra_z_clearance = True
|
||||||
|
update_disallowed_areas = True
|
||||||
|
rebuild_me = True
|
||||||
|
|
||||||
|
if setting_key in self._skirt_settings + self._prime_settings + self._tower_settings + self._ooze_shield_settings + self._distance_settings + self._extruder_settings:
|
||||||
update_disallowed_areas = True
|
update_disallowed_areas = True
|
||||||
rebuild_me = True
|
rebuild_me = True
|
||||||
|
|
||||||
@ -969,6 +979,7 @@ class BuildVolume(SceneNode):
|
|||||||
def _clamp(self, value, min_value, max_value):
|
def _clamp(self, value, min_value, max_value):
|
||||||
return max(min(value, max_value), min_value)
|
return max(min(value, max_value), min_value)
|
||||||
|
|
||||||
|
_machine_settings = ["machine_width", "machine_depth", "machine_height", "machine_shape", "machine_center_is_zero"]
|
||||||
_skirt_settings = ["adhesion_type", "skirt_gap", "skirt_line_count", "skirt_brim_line_width", "brim_width", "brim_line_count", "raft_margin", "draft_shield_enabled", "draft_shield_dist", "initial_layer_line_width_factor"]
|
_skirt_settings = ["adhesion_type", "skirt_gap", "skirt_line_count", "skirt_brim_line_width", "brim_width", "brim_line_count", "raft_margin", "draft_shield_enabled", "draft_shield_dist", "initial_layer_line_width_factor"]
|
||||||
_raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"]
|
_raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"]
|
||||||
_extra_z_settings = ["retraction_hop_enabled", "retraction_hop"]
|
_extra_z_settings = ["retraction_hop_enabled", "retraction_hop"]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user