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:
extra_z = 0.0
extruders = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())
extruders = ExtruderManager.getInstance().getUsedExtruderStacks()
use_extruders = False
for extruder in extruders:
if extruder.getProperty("retraction_hop_enabled", "value"):

View file

@ -333,11 +333,25 @@ class ContainerManager(QObject):
@pyqtSlot(str, result = bool)
def isContainerUsed(self, container_id):
Logger.log("d", "Checking if container %s is currently used", container_id)
containers = self._container_registry.findContainerStacks()
for stack in containers:
if container_id in [child.getId() for child in stack.getContainers()]:
Logger.log("d", "The container is in use by %s", stack.getId())
return True
# check if this is a material container. If so, check if any material with the same GUID is being used by any
# stacks.
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())
return True
return False
@pyqtSlot(str, result = str)

View file

@ -916,6 +916,8 @@ class MachineManager(QObject):
global_quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [], global_quality = True)
else:
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.
extruder_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
@ -929,6 +931,8 @@ class MachineManager(QObject):
quality_changes = quality_changes_list[0]
else:
quality_changes = global_quality_changes
if not quality_changes:
quality_changes = self._empty_quality_changes_container
material = stack.material
quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [material])

View file

@ -997,7 +997,7 @@
"type": "[int]",
"default_value": "[ ]",
"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",
"settable_per_mesh": true
},