Merge branch '2.7'

This commit is contained in:
Lipu Fei 2017-08-08 16:44:58 +02:00
commit 050caf49b2
4 changed files with 25 additions and 7 deletions

View File

@ -442,7 +442,7 @@ class BuildVolume(SceneNode):
def _updateExtraZClearance(self) -> None: def _updateExtraZClearance(self) -> None:
extra_z = 0.0 extra_z = 0.0
extruders = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()) extruders = ExtruderManager.getInstance().getUsedExtruderStacks()
use_extruders = False use_extruders = False
for extruder in extruders: for extruder in extruders:
if extruder.getProperty("retraction_hop_enabled", "value"): if extruder.getProperty("retraction_hop_enabled", "value"):

View File

@ -333,9 +333,23 @@ class ContainerManager(QObject):
@pyqtSlot(str, result = bool) @pyqtSlot(str, result = bool)
def isContainerUsed(self, container_id): def isContainerUsed(self, container_id):
Logger.log("d", "Checking if container %s is currently used", container_id) Logger.log("d", "Checking if container %s is currently used", container_id)
containers = self._container_registry.findContainerStacks() # check if this is a material container. If so, check if any material with the same GUID is being used by any
for stack in containers: # stacks.
if container_id in [child.getId() for child in stack.getContainers()]: container_ids_to_check = [container_id]
container_results = self._container_registry.findInstanceContainers(id = container_id, type = "material")
if container_results:
this_container = container_results[0]
container_guid = this_container.getMetaDataEntry("GUID")
# check all material container IDs with the same GUID
material_containers = self._container_registry.findInstanceContainers(GUID = container_guid,
type = "material")
if material_containers:
container_ids_to_check = [container.getId() for container in material_containers]
all_stacks = self._container_registry.findContainerStacks()
for stack in all_stacks:
for used_container_id in container_ids_to_check:
if used_container_id in [child.getId() for child in stack.getContainers()]:
Logger.log("d", "The container is in use by %s", stack.getId()) Logger.log("d", "The container is in use by %s", stack.getId())
return True return True
return False return False

View File

@ -916,6 +916,8 @@ class MachineManager(QObject):
global_quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [], global_quality = True) global_quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [], global_quality = True)
else: else:
global_quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [material]) global_quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [material])
if not global_quality:
global_quality = self._empty_quality_container
# Find the values for each extruder. # Find the values for each extruder.
extruder_stacks = ExtruderManager.getInstance().getActiveExtruderStacks() extruder_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
@ -929,6 +931,8 @@ class MachineManager(QObject):
quality_changes = quality_changes_list[0] quality_changes = quality_changes_list[0]
else: else:
quality_changes = global_quality_changes quality_changes = global_quality_changes
if not quality_changes:
quality_changes = self._empty_quality_changes_container
material = stack.material material = stack.material
quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [material]) quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [material])

View File

@ -997,7 +997,7 @@
"type": "[int]", "type": "[int]",
"default_value": "[ ]", "default_value": "[ ]",
"value": "skin_angles", "value": "skin_angles",
"enabled": "roofing_pattern != 'concentric'", "enabled": "roofing_pattern != 'concentric' and roofing_layer_count > 0 and top_layers > 0",
"limit_to_extruder": "roofing_extruder_nr", "limit_to_extruder": "roofing_extruder_nr",
"settable_per_mesh": true "settable_per_mesh": true
}, },