mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 18:19:15 +08:00
Merge branch '3.2'
This commit is contained in:
commit
cbf9a08c6e
@ -299,6 +299,7 @@ class CuraApplication(QtApplication):
|
|||||||
empty_quality_changes_container = copy.deepcopy(empty_container)
|
empty_quality_changes_container = copy.deepcopy(empty_container)
|
||||||
empty_quality_changes_container.setMetaDataEntry("id", "empty_quality_changes")
|
empty_quality_changes_container.setMetaDataEntry("id", "empty_quality_changes")
|
||||||
empty_quality_changes_container.addMetaDataEntry("type", "quality_changes")
|
empty_quality_changes_container.addMetaDataEntry("type", "quality_changes")
|
||||||
|
empty_quality_changes_container.addMetaDataEntry("quality_type", "not_supported")
|
||||||
ContainerRegistry.getInstance().addContainer(empty_quality_changes_container)
|
ContainerRegistry.getInstance().addContainer(empty_quality_changes_container)
|
||||||
|
|
||||||
with ContainerRegistry.getInstance().lockFile():
|
with ContainerRegistry.getInstance().lockFile():
|
||||||
@ -1060,9 +1061,6 @@ class CuraApplication(QtApplication):
|
|||||||
op.push()
|
op.push()
|
||||||
Selection.clear()
|
Selection.clear()
|
||||||
|
|
||||||
Logger.log("i", "Reseting print information")
|
|
||||||
self._print_information = PrintInformation.PrintInformation()
|
|
||||||
|
|
||||||
# stay on the same build plate
|
# stay on the same build plate
|
||||||
#self.getCuraSceneController().setActiveBuildPlate(0) # Select first build plate
|
#self.getCuraSceneController().setActiveBuildPlate(0) # Select first build plate
|
||||||
|
|
||||||
@ -1460,11 +1458,7 @@ class CuraApplication(QtApplication):
|
|||||||
|
|
||||||
extension = os.path.splitext(filename)[1]
|
extension = os.path.splitext(filename)[1]
|
||||||
if extension.lower() in self._non_sliceable_extensions:
|
if extension.lower() in self._non_sliceable_extensions:
|
||||||
self.getController().setActiveView("SimulationView")
|
self.callLater(lambda: self.getController().setActiveView("SimulationView"))
|
||||||
view = self.getController().getActiveView()
|
|
||||||
view.resetLayerData()
|
|
||||||
view.setLayer(9999999)
|
|
||||||
view.calculateMaxLayers()
|
|
||||||
|
|
||||||
block_slicing_decorator = BlockSlicingDecorator()
|
block_slicing_decorator = BlockSlicingDecorator()
|
||||||
node.addDecorator(block_slicing_decorator)
|
node.addDecorator(block_slicing_decorator)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2017 Ultimaker B.V.
|
# Copyright (c) 2018 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty
|
from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty
|
||||||
@ -65,6 +65,7 @@ class PrintInformation(QObject):
|
|||||||
self._backend = Application.getInstance().getBackend()
|
self._backend = Application.getInstance().getBackend()
|
||||||
if self._backend:
|
if self._backend:
|
||||||
self._backend.printDurationMessage.connect(self._onPrintDurationMessage)
|
self._backend.printDurationMessage.connect(self._onPrintDurationMessage)
|
||||||
|
Application.getInstance().getController().getScene().sceneChanged.connect(self.setToZeroPrintInformation)
|
||||||
|
|
||||||
self._base_name = ""
|
self._base_name = ""
|
||||||
self._abbr_machine = ""
|
self._abbr_machine = ""
|
||||||
@ -171,7 +172,7 @@ class PrintInformation(QObject):
|
|||||||
def printTimes(self):
|
def printTimes(self):
|
||||||
return self._print_time_message_values[self._active_build_plate]
|
return self._print_time_message_values[self._active_build_plate]
|
||||||
|
|
||||||
def _onPrintDurationMessage(self, build_plate_number, print_time, material_amounts):
|
def _onPrintDurationMessage(self, build_plate_number, print_time: Dict[str, int], material_amounts: list):
|
||||||
self._updateTotalPrintTimePerFeature(build_plate_number, print_time)
|
self._updateTotalPrintTimePerFeature(build_plate_number, print_time)
|
||||||
self.currentPrintTimeChanged.emit()
|
self.currentPrintTimeChanged.emit()
|
||||||
|
|
||||||
|
@ -1,17 +1,21 @@
|
|||||||
# Copyright (c) 2016 Ultimaker B.V.
|
# Copyright (c) 2016 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
from UM.Application import Application
|
from UM.Application import Application
|
||||||
|
from UM.Settings.ContainerRegistry import ContainerRegistry
|
||||||
|
|
||||||
from cura.QualityManager import QualityManager
|
from cura.QualityManager import QualityManager
|
||||||
from cura.Settings.ProfilesModel import ProfilesModel
|
from cura.Settings.ProfilesModel import ProfilesModel
|
||||||
from cura.Settings.ExtruderManager import ExtruderManager
|
from cura.Settings.ExtruderManager import ExtruderManager
|
||||||
|
|
||||||
|
|
||||||
## QML Model for listing the current list of valid quality and quality changes profiles.
|
## QML Model for listing the current list of valid quality and quality changes profiles.
|
||||||
#
|
#
|
||||||
class QualityAndUserProfilesModel(ProfilesModel):
|
class QualityAndUserProfilesModel(ProfilesModel):
|
||||||
def __init__(self, parent = None):
|
def __init__(self, parent = None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
|
||||||
|
self._empty_quality = ContainerRegistry.getInstance().findInstanceContainers(id = "empty_quality")[0]
|
||||||
|
|
||||||
## Fetch the list of containers to display.
|
## Fetch the list of containers to display.
|
||||||
#
|
#
|
||||||
# See UM.Settings.Models.InstanceContainersModel._fetchInstanceContainers().
|
# See UM.Settings.Models.InstanceContainersModel._fetchInstanceContainers().
|
||||||
@ -35,7 +39,9 @@ class QualityAndUserProfilesModel(ProfilesModel):
|
|||||||
|
|
||||||
# Filter the quality_change by the list of available quality_types
|
# Filter the quality_change by the list of available quality_types
|
||||||
quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list])
|
quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list])
|
||||||
filtered_quality_changes = {qc.getId():qc for qc in quality_changes_list if
|
# Also show custom profiles based on "Not Supported" quality profile
|
||||||
|
quality_type_set.add(self._empty_quality.getMetaDataEntry("quality_type"))
|
||||||
|
filtered_quality_changes = {qc.getId(): qc for qc in quality_changes_list if
|
||||||
qc.getMetaDataEntry("quality_type") in quality_type_set and
|
qc.getMetaDataEntry("quality_type") in quality_type_set and
|
||||||
qc.getMetaDataEntry("extruder") is not None and
|
qc.getMetaDataEntry("extruder") is not None and
|
||||||
(qc.getMetaDataEntry("extruder") == active_extruder.definition.getMetaDataEntry("quality_definition") or
|
(qc.getMetaDataEntry("extruder") == active_extruder.definition.getMetaDataEntry("quality_definition") or
|
||||||
|
@ -107,7 +107,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
|||||||
else:
|
else:
|
||||||
quality_changes_container = containers[0]
|
quality_changes_container = containers[0]
|
||||||
|
|
||||||
if quality_changes_container.getMetaDataEntry("quality_type") == "not_supported":
|
if quality_changes_container.getMetaDataEntry("quality_type") == self._empty_quality.getMetaDataEntry("quality_type"):
|
||||||
quality_container = self._empty_quality
|
quality_container = self._empty_quality
|
||||||
else:
|
else:
|
||||||
criteria = {
|
criteria = {
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
from UM.Application import Application
|
from UM.Application import Application
|
||||||
|
from UM.Settings.ContainerRegistry import ContainerRegistry
|
||||||
|
|
||||||
from cura.QualityManager import QualityManager
|
from cura.QualityManager import QualityManager
|
||||||
from cura.Settings.ProfilesModel import ProfilesModel
|
from cura.Settings.ProfilesModel import ProfilesModel
|
||||||
from cura.Settings.ExtruderManager import ExtruderManager
|
from cura.Settings.ExtruderManager import ExtruderManager
|
||||||
@ -22,6 +24,8 @@ class UserProfilesModel(ProfilesModel):
|
|||||||
for material in self.__current_materials:
|
for material in self.__current_materials:
|
||||||
material.metaDataChanged.connect(self._onContainerChanged)
|
material.metaDataChanged.connect(self._onContainerChanged)
|
||||||
|
|
||||||
|
self._empty_quality = ContainerRegistry.getInstance().findContainers(id = "empty_quality")[0]
|
||||||
|
|
||||||
## Fetch the list of containers to display.
|
## Fetch the list of containers to display.
|
||||||
#
|
#
|
||||||
# See UM.Settings.Models.InstanceContainersModel._fetchInstanceContainers().
|
# See UM.Settings.Models.InstanceContainersModel._fetchInstanceContainers().
|
||||||
@ -45,6 +49,7 @@ class UserProfilesModel(ProfilesModel):
|
|||||||
|
|
||||||
# Filter the quality_change by the list of available quality_types
|
# Filter the quality_change by the list of available quality_types
|
||||||
quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list])
|
quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list])
|
||||||
|
quality_type_set.add(self._empty_quality.getMetaDataEntry("quality_type"))
|
||||||
|
|
||||||
filtered_quality_changes = {qc.getId():qc for qc in quality_changes_list if
|
filtered_quality_changes = {qc.getId():qc for qc in quality_changes_list if
|
||||||
qc.getMetaDataEntry("quality_type") in quality_type_set and
|
qc.getMetaDataEntry("quality_type") in quality_type_set and
|
||||||
|
Loading…
x
Reference in New Issue
Block a user