diff options
author | 3d-hctech <wanhua@3d-hctech.com> | 2022-06-09 10:09:40 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-09 10:09:40 +0300 |
commit | 9437de8266135cd9356443069ad731db7b33d82a (patch) | |
tree | 1c39137e89a8546174cf31da464ab64a83b4801e | |
parent | bb2be3b4d6a41753c023faa6b8bf94853c481ab9 (diff) | |
parent | d5511a078c0f227828158a544560e0af8e9f2e0b (diff) |
Merge branch 'Ultimaker:main' into master
228 files changed, 1062 insertions, 935 deletions
diff --git a/.github/ISSUE_TEMPLATE/bugreport.yaml b/.github/ISSUE_TEMPLATE/bugreport.yaml index f31971ab2a..e3d60e41e0 100644 --- a/.github/ISSUE_TEMPLATE/bugreport.yaml +++ b/.github/ISSUE_TEMPLATE/bugreport.yaml @@ -1,6 +1,6 @@ name: Bug Report description: Create a report to help us fix issues. -labels: "Type: Bug" +labels: ["Type: Bug", "Status: Triage"] body: - type: markdown attributes: @@ -14,7 +14,7 @@ body: attributes: label: Application Version description: The version of Cura this issue occurs with. - placeholder: 4.9.0 + placeholder: 5.0.0 validations: required: true - type: input diff --git a/.gitignore b/.gitignore index 02be81d48e..c1fd5477d9 100644 --- a/.gitignore +++ b/.gitignore @@ -65,6 +65,7 @@ plugins/CuraRemoteSupport plugins/ModelCutter plugins/PrintProfileCreator plugins/MultiPrintPlugin +plugins/CuraOrientationPlugin #Build stuff CMakeCache.txt diff --git a/com.ultimaker.cura.appdata.xml b/com.ultimaker.cura.appdata.xml index bdd25e5242..3af0e9c352 100644 --- a/com.ultimaker.cura.appdata.xml +++ b/com.ultimaker.cura.appdata.xml @@ -25,9 +25,10 @@ </description> <screenshots> <screenshot type="default"> - <image>https://raw.githubusercontent.com/Ultimaker/Cura/master/screenshot.png</image> + <image>https://raw.githubusercontent.com/Ultimaker/Cura/main/cura-logo.PNG</image> </screenshot> </screenshots> <url type="homepage">https://ultimaker.com/software/ultimaker-cura?utm_source=cura&utm_medium=software&utm_campaign=cura-update-linux</url> <translation type="gettext">Cura</translation> + <content_rating type="oars-1.1" /> </component> diff --git a/cura/CrashHandler.py b/cura/CrashHandler.py index bda9568666..541a270058 100644 --- a/cura/CrashHandler.py +++ b/cura/CrashHandler.py @@ -261,7 +261,7 @@ class CrashHandler: opengl_instance = OpenGL.getInstance() if not opengl_instance: self.data["opengl"] = {"version": "n/a", "vendor": "n/a", "type": "n/a"} - return catalog.i18nc("@label", "Not yet initialized<br/>") + return catalog.i18nc("@label", "Not yet initialized") + "<br />" info = "<ul>" info += catalog.i18nc("@label OpenGL version", "<li>OpenGL Version: {version}</li>").format(version = opengl_instance.getOpenGLVersion()) @@ -291,6 +291,7 @@ class CrashHandler: if with_sentry_sdk: with configure_scope() as scope: scope.set_tag("opengl_version", opengl_instance.getOpenGLVersion()) + scope.set_tag("opengl_version_short", opengl_instance.getOpenGLVersionShort()) scope.set_tag("gpu_vendor", opengl_instance.getGPUVendorName()) scope.set_tag("gpu_type", opengl_instance.getGPUType()) scope.set_tag("active_machine", active_machine_definition_id) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index ee3c6e361e..3a3ac17cdf 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -257,6 +257,7 @@ class CuraApplication(QtApplication): from UM.CentralFileStorage import CentralFileStorage CentralFileStorage.setIsEnterprise(ApplicationMetadata.IsEnterpriseVersion) + Resources.setIsEnterprise(ApplicationMetadata.IsEnterpriseVersion) @pyqtProperty(str, constant=True) def ultimakerCloudApiRootUrl(self) -> str: @@ -315,7 +316,7 @@ class CuraApplication(QtApplication): def initialize(self) -> None: self.__addExpectedResourceDirsAndSearchPaths() # Must be added before init of super - super().initialize() + super().initialize(ApplicationMetadata.IsEnterpriseVersion) self._preferences.addPreference("cura/single_instance", False) self._use_single_instance = self._preferences.getValue("cura/single_instance") or self._cli_args.single_instance @@ -348,12 +349,12 @@ class CuraApplication(QtApplication): Resources.addExpectedDirNameInData(dir_name) app_root = os.path.abspath(os.path.join(os.path.dirname(sys.executable))) - Resources.addSearchPath(os.path.join(app_root, "share", "cura", "resources")) + Resources.addSecureSearchPath(os.path.join(app_root, "share", "cura", "resources")) - Resources.addSearchPath(os.path.join(self._app_install_dir, "share", "cura", "resources")) + Resources.addSecureSearchPath(os.path.join(self._app_install_dir, "share", "cura", "resources")) if not hasattr(sys, "frozen"): resource_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "..", "resources") - Resources.addSearchPath(resource_path) + Resources.addSecureSearchPath(resource_path) @classmethod def _initializeSettingDefinitions(cls): @@ -942,6 +943,7 @@ class CuraApplication(QtApplication): self._qml_import_paths.append(Resources.getPath(self.ResourceTypes.QmlFiles)) self._setLoadingHint(self._i18n_catalog.i18nc("@info:progress", "Initializing engine...")) self.initializeEngine() + self.getTheme().setCheckIfTrusted(ApplicationMetadata.IsEnterpriseVersion) # Initialize UI state controller.setActiveStage("PrepareStage") diff --git a/cura/CuraPackageManager.py b/cura/CuraPackageManager.py index 17d6832ac6..e23ed47ffa 100644 --- a/cura/CuraPackageManager.py +++ b/cura/CuraPackageManager.py @@ -1,14 +1,18 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +import os from typing import Any, cast, Dict, List, Set, Tuple, TYPE_CHECKING, Optional +from UM.Logger import Logger +from UM.PluginRegistry import PluginRegistry from cura.CuraApplication import CuraApplication # To find some resource types. from cura.Settings.GlobalStack import GlobalStack from UM.PackageManager import PackageManager # The class we're extending. from UM.Resources import Resources # To find storage paths for some resource types. from UM.i18n import i18nCatalog + catalog = i18nCatalog("cura") if TYPE_CHECKING: @@ -51,6 +55,27 @@ class CuraPackageManager(PackageManager): super().initialize() + def getMaterialFilePackageId(self, file_name: str, guid: str) -> str: + """Get the id of the installed material package that contains file_name""" + for material_package in [f for f in os.scandir(self._installation_dirs_dict["materials"]) if f.is_dir()]: + package_id = material_package.name + + for root, _, file_names in os.walk(material_package.path): + if file_name not in file_names: + # File with the name we are looking for is not in this directory + continue + + with open(root + "/" + file_name, encoding="utf-8") as f: + # Make sure the file we found has the same guid as our material + # Parsing this xml would be better but the namespace is needed to search it. + parsed_guid = PluginRegistry.getInstance().getPluginObject("XmlMaterialProfile").getMetadataFromSerialized( + f.read(), "GUID") + if guid == parsed_guid: + return package_id + + Logger.error("Could not find package_id for file: {} with GUID: {} ".format(file_name, guid)) + return "" + def getMachinesUsingPackage(self, package_id: str) -> Tuple[List[Tuple[GlobalStack, str, str]], List[Tuple[GlobalStack, str, str]]]: """Returns a list of where the package is used diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py index 14e3c4d35e..e94bbe6d00 100644 --- a/cura/Machines/Models/IntentCategoryModel.py +++ b/cura/Machines/Models/IntentCategoryModel.py @@ -111,7 +111,7 @@ class IntentCategoryModel(ListModel): except ValueError: weight = 99 result.append({ - "name": IntentCategoryModel.translation(category, "name", category), + "name": IntentCategoryModel.translation(category, "name", category.title()), "description": IntentCategoryModel.translation(category, "description", None), "intent_category": category, "weight": weight, diff --git a/cura/Machines/Models/MaterialManagementModel.py b/cura/Machines/Models/MaterialManagementModel.py index 53d0cca0a2..b2b888f431 100644 --- a/cura/Machines/Models/MaterialManagementModel.py +++ b/cura/Machines/Models/MaterialManagementModel.py @@ -45,8 +45,7 @@ class MaterialManagementModel(QObject): for package_id, package_data in application.getPackageManager().getPackagesInstalledOnStartup().items(): if package_data["package_info"]["package_type"] == "material": # At least one new material was installed - # TODO: This should be enabled again once CURA-8609 is merged - #self._showSyncNewMaterialsMessage() + self._showSyncNewMaterialsMessage() break def _showSyncNewMaterialsMessage(self) -> None: diff --git a/cura/Machines/Models/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py index 8db8719784..b4fb8b38b5 100644 --- a/cura/Machines/Models/QualityManagementModel.py +++ b/cura/Machines/Models/QualityManagementModel.py @@ -358,8 +358,9 @@ class QualityManagementModel(ListModel): "quality_type": quality_type, "quality_changes_group": None, "intent_category": intent_category, - "section_name": catalog.i18nc("@label", intent_translations.get(intent_category, {}).get("name", catalog.i18nc("@label", "Unknown"))), + "section_name": catalog.i18nc("@label", intent_translations.get(intent_category, {}).get("name", catalog.i18nc("@label", intent_category.title()))), }) + # Sort by quality_type for each intent category intent_translations_list = list(intent_translations) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 67a1643d0b..676cdd6c65 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -114,7 +114,7 @@ class ContainerManager(QObject): for _ in range(len(entries)): item = item.get(entries.pop(0), {}) - if item[entry_name] != entry_value: + if entry_name not in item or item[entry_name] != entry_value: sub_item_changed = True item[entry_name] = entry_value diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 07c074254f..52d63b611b 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Ultimaker B.V. +# Copyright (c) 2022 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from PyQt6.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant # For communicating data and events to Qt. @@ -382,7 +382,10 @@ class ExtruderManager(QObject): # "fdmextruder". We need to check a machine here so its extruder definition is correct according to this. def fixSingleExtrusionMachineExtruderDefinition(self, global_stack: "GlobalStack") -> None: container_registry = ContainerRegistry.getInstance() - expected_extruder_definition_0_id = global_stack.getMetaDataEntry("machine_extruder_trains")["0"] + expected_extruder_stack = global_stack.getMetaDataEntry("machine_extruder_trains") + if expected_extruder_stack is None: + return + expected_extruder_definition_0_id = expected_extruder_stack["0"] try: extruder_stack_0 = global_stack.extruderList[0] except IndexError: diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 1c7a8f0e98..9b98179bff 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1611,7 +1611,7 @@ class MachineManager(QObject): if intent_category != "default": intent_display_name = IntentCategoryModel.translation(intent_category, "name", - catalog.i18nc("@label", "Unknown")) + intent_category.title()) display_name = "{intent_name} - {the_rest}".format(intent_name = intent_display_name, the_rest = display_name) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index ddc7922546..3c096318b5 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -23,6 +23,7 @@ from UM.Settings.ContainerRegistry import ContainerRegistry from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType from UM.Job import Job from UM.Preferences import Preferences +from cura.CuraPackageManager import CuraPackageManager from cura.Machines.ContainerTree import ContainerTree from cura.Settings.CuraStackBuilder import CuraStackBuilder @@ -579,6 +580,10 @@ class ThreeMFWorkspaceReader(WorkspaceReader): is_printer_group = True machine_name = group_name + # Getting missing required package ids + package_metadata = self._parse_packages_metadata(archive) + missing_package_metadata = self._filter_missing_package_metadata(package_metadata) + # Show the dialog, informing the user what is about to happen. self._dialog.setMachineConflict(machine_conflict) self._dialog.setIsPrinterGroup(is_printer_group) @@ -599,6 +604,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog.setExtruders(extruders) self._dialog.setVariantType(variant_type_name) self._dialog.setHasObjectsOnPlate(Application.getInstance().platformActivity) + self._dialog.setMissingPackagesMetadata(missing_package_metadata) self._dialog.show() # Block until the dialog is closed. @@ -1243,3 +1249,29 @@ class ThreeMFWorkspaceReader(WorkspaceReader): metadata = data.iterfind("./um:metadata/um:name/um:label", {"um": "http://www.ultimaker.com/material"}) for entry in metadata: return entry.text + + @staticmethod + def _parse_packages_metadata(archive: zipfile.ZipFile) -> List[Dict[str, str]]: + try: + package_metadata = json.loads(archive.open("Metadata/packages.json").read().decode("utf-8")) + return package_metadata["packages"] + except KeyError: + Logger.warning("No package metadata was found in .3mf file.") + except Exception: + Logger.error("Failed to load packes metadata from .3mf file") + + return [] + + + @staticmethod + def _filter_missing_package_metadata(package_metadata: List[Dict[str, str]]) -> List[Dict[str, str]]: + """Filters out installed packages from package_metadata""" + missing_packages = [] + package_manager = cast(CuraPackageManager, CuraApplication.getInstance().getPackageManager()) + + for package in package_metadata: + package_id = package["id"] + if not package_manager.isPackageInstalled(package_id): + missing_packages.append(package) + + return missing_packages diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index b63d8b6288..0a8f7784b2 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -1,14 +1,19 @@ -# Copyright (c) 2020 Ultimaker B.V. +# Copyright (c) 2022 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. + +from PyQt6.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication, QUrl +from PyQt6.QtGui import QDesktopServices from typing import List, Optional, Dict, cast -from PyQt6.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication -from UM.FlameProfiler import pyqtSlot -from UM.PluginRegistry import PluginRegistry +from cura.Settings.GlobalStack import GlobalStack from UM.Application import Application +from UM.FlameProfiler import pyqtSlot from UM.i18n import i18nCatalog +from UM.Logger import Logger +from UM.Message import Message +from UM.PluginRegistry import PluginRegistry from UM.Settings.ContainerRegistry import ContainerRegistry -from cura.Settings.GlobalStack import GlobalStack + from .UpdatableMachinesModel import UpdatableMachinesModel import os @@ -23,7 +28,7 @@ i18n_catalog = i18nCatalog("cura") class WorkspaceDialog(QObject): showDialogSignal = pyqtSignal() - def __init__(self, parent = None): + def __init__(self, parent = None) -> None: super().__init__(parent) self._component = None self._context = None @@ -59,6 +64,9 @@ class WorkspaceDialog(QObject): self._objects_on_plate = False self._is_printer_group = False self._updatable_machines_model = UpdatableMachinesModel(self) + self._missing_package_metadata: List[Dict[str, str]] = [] + self._plugin_registry: PluginRegistry = CuraApplication.getInstance().getPluginRegistry() + self._install_missing_package_dialog: Optional[QObject] = None machineConflictChanged = pyqtSignal() qualityChangesConflictChanged = pyqtSignal() @@ -79,6 +87,7 @@ class WorkspaceDialog(QObject): variantTypeChanged = pyqtSignal() extrudersChanged = pyqtSignal() isPrinterGroupChanged = pyqtSignal() + missingPackagesChanged = pyqtSignal() @pyqtProperty(bool, notify = isPrinterGroupChanged) def isPrinterGroup(self) -> bool: @@ -274,6 +283,21 @@ class WorkspaceDialog(QObject): self._has_quality_changes_conflict = quality_changes_conflict self.qualityChangesConflictChanged.emit() + def setMissingPackagesMetadata(self, missing_package_metadata: List[Dict[str, str]]) -> None: + self._missing_package_metadata = missing_package_metadata + self.missingPackagesChanged.emit() + + @pyqtProperty("QVariantList", notify=missingPackagesChanged) + def missingPackages(self) -> List[Dict[str, str]]: + return self._missing_package_metadata + + @pyqtSlot() + def installMissingPackages(self) -> None: + marketplace_plugin = PluginRegistry.getInstance().getPluginObject("Marketplace") + if not marketplace_plugin: + Logger.warning("Could not show dialog to install missing plug-ins. Is Marketplace plug-in not available?") + marketplace_plugin.showInstallMissingPackageDialog(self._missing_package_metadata, self.showMissingMaterialsWarning) # type: ignore + def getResult(self) -> Dict[str, Optional[str]]: if "machine" in self._result and self.updatableMachinesModel.count <= 1: self._result["machine"] = None @@ -360,6 +384,41 @@ class WorkspaceDialog(QObject): time.sleep(1 / 50) QCoreApplication.processEvents() # Ensure that the GUI does not freeze. + @pyqtSlot() + def showMissingMaterialsWarning(self) -> None: + result_message = Message( + i18n_catalog.i18nc("@info:status", "The material used in this project relies on some material definitions not available in Cura, this might produce undesirable print results. We highly recommend installing the full material package from the Marketplace."), + lifetime=0, + title=i18n_catalog.i18nc("@info:title", "Material profiles not installed"), + message_type=Message.MessageType.WARNING + ) + result_message.addAction( + "learn_more", + name=i18n_catalog.i18nc("@action:button", "Learn more"), + icon="", + description="Learn more about project materials.", + button_align=Message.ActionButtonAlignment.ALIGN_LEFT, + button_style=Message.ActionButtonStyle.LINK + ) + result_message.addAction( + "install_materials", + name=i18n_catalog.i18nc("@action:button", "Install Materials"), + icon="", + description="Install missing materials from project file.", + button_align=Message.ActionButtonAlignment.ALIGN_RIGHT, + button_style=Message.ActionButtonStyle.DEFAULT + ) + result_message.actionTriggered.connect(self._onMessageActionTriggered) + result_message.show() + + def _onMessageActionTriggered(self, message: Message, sync_message_action: str) -> None: + if sync_message_action == "install_materials": + self.installMissingPackages() + message.hide() + elif sync_message_action == "learn_more": + QDesktopServices.openUrl(QUrl("https://support.ultimaker.com/hc/en-us/articles/360011968360-Using-the-Ultimaker-Marketplace")) + + def __show(self) -> None: if self._view is None: self._createViewFromQML() diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 4c384b306b..d0250abfd8 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -17,7 +17,7 @@ UM.Dialog minimumWidth: UM.Theme.getSize("popup_dialog").width minimumHeight: UM.Theme.getSize("popup_dialog").height width: minimumWidth - + margin: UM.Theme.getSize("default_margin").width property int comboboxHeight: UM.Theme.getSize("default_margin").height onClosing: manager.notifyClosed() @@ -31,413 +31,470 @@ UM.Dialog } } - Item + Flickable { - id: dialogSummaryItem + clip: true width: parent.width - height: childrenRect.height - anchors.margins: 10 * screenScaleFactor + height: parent.height + contentHeight: dialogSummaryItem.height + ScrollBar.vertical: UM.ScrollBar { id: verticalScrollBar } - UM.I18nCatalog + Item { - id: catalog - name: "cura" - } + id: dialogSummaryItem + width: verticalScrollBar.visible ? parent.width - verticalScrollBar.width - UM.Theme.getSize("default_margin").width : parent.width + height: childrenRect.height + anchors.margins: 10 * screenScaleFactor - ListModel - { - id: resolveStrategiesModel - // Instead of directly adding the list elements, we add them afterwards. - // This is because it's impossible to use setting function results to be bound to listElement properties directly. - // See http://stackoverflow.com/questions/7659442/listelement-fields-as-properties - Component.onCompleted: + UM.I18nCatalog { - append({"key": "override", "label": catalog.i18nc("@action:ComboBox Update/override existing profile", "Update existing")}); - append({"key": "new", "label": catalog.i18nc("@action:ComboBox Save settings in a new profile", "Create new")}); + id: catalog + name: "cura" } - } - Column - { - width: parent.width - height: childrenRect.height - spacing: UM.Theme.getSize("default_margin").height + ListModel + { + id: resolveStrategiesModel + // Instead of directly adding the list elements, we add them afterwards. + // This is because it's impossible to use setting function results to be bound to listElement properties directly. + // See http://stackoverflow.com/questions/7659442/listelement-fields-as-properties + Component.onCompleted: + { + append({"key": "override", "label": catalog.i18nc("@action:ComboBox Update/override existing profile", "Update existing")}); + append({"key": "new", "label": catalog.i18nc("@action:ComboBox Save settings in a new profile", "Create new")}); + } + } Column { width: parent.width height: childrenRect.height + spacing: UM.Theme.getSize("default_margin").height - UM.Label + Column { - id: titleLabel - text: catalog.i18nc("@action:title", "Summary - Cura Project") - font: UM.Theme.getFont("large") + width: parent.width + height: childrenRect.height + + UM.Label + { + id: titleLabel + text: catalog.i18nc("@action:title", "Summary - Cura Project") + font: UM.Theme.getFont("large") + } + + Rectangle + { + id: separator + color: UM.Theme.getColor("text") + width: parent.width + height: UM.Theme.getSize("default_lining").height + } } - Rectangle + Item { - id: separator - color: UM.Theme.getColor("text") width: parent.width - height: UM.Theme.getSize("default_lining").height - } - } + height: childrenRect.height - Item - { - width: parent.width - height: childrenRect.height + UM.TooltipArea + { + id: machineResolveStrategyTooltip + anchors.top: parent.top + anchors.right: parent.right + width: (parent.width / 3) | 0 + height: visible ? comboboxHeight : 0 + visible: base.visible && machineResolveComboBox.model.count > 1 + text: catalog.i18nc("@info:tooltip", "How should the conflict in the machine be resolved?") + Cura.ComboBox + { + id: machineResolveComboBox + model: manager.updatableMachinesModel + visible: machineResolveStrategyTooltip.visible + textRole: "displayName" + width: parent.width + height: UM.Theme.getSize("button").height + onCurrentIndexChanged: + { + if (model.getItem(currentIndex).id == "new" + && model.getItem(currentIndex).type == "default_option") + { + manager.setResolveStrategy("machine", "new") + } + else + { + manager.setResolveStrategy("machine", "override") + manager.setMachineToOverride(model.getItem(currentIndex).id) + } + } - UM.TooltipArea - { - id: machineResolveStrategyTooltip - anchors.top: parent.top - anchors.right: parent.right - width: (parent.width / 3) | 0 - height: visible ? comboboxHeight : 0 - visible: base.visible && machineResolveComboBox.model.count > 1 - text: catalog.i18nc("@info:tooltip", "How should the conflict in the machine be resolved?") - Cura.ComboBox + onVisibleChanged: + { + if (!visible) {return} + + currentIndex = 0 + // If the project printer exists in Cura, set it as the default dropdown menu option. + // No need to check object 0, which is the "Create new" option + for (var i = 1; i < model.count; i++) + { + if (model.getItem(i).name == manager.machineName) + { + currentIndex = i + break + } + } + // The project printer does not exist in Cura. If there is at least one printer of the same + // type, select the first one, else set the index to "Create new" + if (currentIndex == 0 && model.count > 1) + { + currentIndex = 1 + } + } + } + } + + Column { - id: machineResolveComboBox - model: manager.updatableMachinesModel - visible: machineResolveStrategyTooltip.visible - textRole: "displayName" width: parent.width - height: UM.Theme.getSize("button").height - onCurrentIndexChanged: + height: childrenRect.height + + UM.Label { - if (model.getItem(currentIndex).id == "new" - && model.getItem(currentIndex).type == "default_option") + id: printer_settings_label + text: catalog.i18nc("@action:label", "Printer settings") + font: UM.Theme.getFont("default_bold") + } + + Row + { + width: parent.width + height: childrenRect.height + + UM.Label { - manager.setResolveStrategy("machine", "new") + text: catalog.i18nc("@action:label", "Type") + width: (parent.width / 3) | 0 } - else + UM.Label { - manager.setResolveStrategy("machine", "override") - manager.setMachineToOverride(model.getItem(currentIndex).id) + text: manager.machineType + width: (parent.width / 3) | 0 } } - onVisibleChanged: + Row { - if (!visible) {return} + width: parent.width + height: childrenRect.height - currentIndex = 0 - // If the project printer exists in Cura, set it as the default dropdown menu option. - // No need to check object 0, which is the "Create new" option - for (var i = 1; i < model.count; i++) + UM.Label { - if (model.getItem(i).name == manager.machineName) - { - currentIndex = i - break - } + text: catalog.i18nc("@action:label", manager.isPrinterGroup ? "Printer Group" : "Printer Name") + width: (parent.width / 3) | 0 } - // The project printer does not exist in Cura. If there is at least one printer of the same - // type, select the first one, else set the index to "Create new" - if (currentIndex == 0 && model.count > 1) + UM.Label { - currentIndex = 1 + text: manager.machineName + width: (parent.width / 3) | 0 + wrapMode: Text.WordWrap } } } } - Column + Item { width: parent.width height: childrenRect.height - UM.Label + UM.TooltipArea { - id: printer_settings_label - text: catalog.i18nc("@action:label", "Printer settings") - font: UM.Theme.getFont("default_bold") + anchors.right: parent.right + anchors.top: parent.top + width: (parent.width / 3) | 0 + height: visible ? comboboxHeight : 0 + visible: manager.qualityChangesConflict + text: catalog.i18nc("@info:tooltip", "How should the conflict in the profile be resolved?") + Cura.ComboBox + { + model: resolveStrategiesModel + textRole: "label" + id: qualityChangesResolveComboBox + width: parent.width + height: UM.Theme.getSize("button").height + onActivated: + { + manager.setResolveStrategy("quality_changes", resolveStrategiesModel.get(index).key) + } + } } - Row + Column { width: parent.width height: childrenRect.height UM.Label { - text: catalog.i18nc("@action:label", "Type") - width: (parent.width / 3) | 0 + text: catalog.i18nc("@action:label", "Profile settings") + font: UM.Theme.getFont("default_bold") } - UM.Label + + Row { - text: manager.machineType - width: (parent.width / 3) | 0 - } - } + width: parent.width + height: childrenRect.height - Row - { - width: parent.width - height: childrenRect.height + UM.Label + { + text: catalog.i18nc("@action:label", "Name") + width: (parent.width / 3) | 0 + } + UM.Label + { + text: manager.qualityName + width: (parent.width / 3) | 0 + wrapMode: Text.WordWrap + } + } - UM.Label + Row { - text: catalog.i18nc("@action:label", manager.isPrinterGroup ? "Printer Group" : "Printer Name") - width: (parent.width / 3) | 0 + width: parent.width + height: childrenRect.height + + UM.Label + { + text: catalog.i18nc("@action:label", "Intent") + width: (parent.width / 3) | 0 + } + UM.Label + { + text: manager.intentName + width: (parent.width / 3) | 0 + wrapMode: Text.WordWrap + } } - UM.Label + + Row { - text: manager.machineName - width: (parent.width / 3) | 0 - wrapMode: Text.WordWrap - } - } - } - } + width: parent.width + height: childrenRect.height - Item - { - width: parent.width - height: childrenRect.height + UM.Label + { + text: catalog.i18nc("@action:label", "Not in profile") + visible: manager.numUserSettings != 0 + width: (parent.width / 3) | 0 + } + UM.Label + { + text: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", manager.numUserSettings).arg(manager.numUserSettings) + visible: manager.numUserSettings != 0 + width: (parent.width / 3) | 0 + } + } - UM.TooltipArea - { - anchors.right: parent.right - anchors.top: parent.top - width: (parent.width / 3) | 0 - height: visible ? comboboxHeight : 0 - visible: manager.qualityChangesConflict - text: catalog.i18nc("@info:tooltip", "How should the conflict in the profile be resolved?") - Cura.ComboBox - { - model: resolveStrategiesModel - textRole: "label" - id: qualityChangesResolveComboBox - width: parent.width - height: UM.Theme.getSize("button").height - onActivated: + Row { - manager.setResolveStrategy("quality_changes", resolveStrategiesModel.get(index).key) + width: parent.width + height: childrenRect.height + + UM.Label + { + text: catalog.i18nc("@action:label", "Derivative from") + visible: manager.numSettingsOverridenByQualityChanges != 0 + width: (parent.width / 3) | 0 + } + UM.Label + { + text: catalog.i18ncp("@action:label", "%1, %2 override", "%1, %2 overrides", manager.numSettingsOverridenByQualityChanges).arg(manager.qualityType).arg(manager.numSettingsOverridenByQualityChanges) + width: (parent.width / 3) | 0 + visible: manager.numSettingsOverridenByQualityChanges != 0 + wrapMode: Text.WordWrap + } } } } - Column + Item { width: parent.width height: childrenRect.height - UM.Label + UM.TooltipArea { - text: catalog.i18nc("@action:label", "Profile settings") - font: UM.Theme.getFont("default_bold") - } - - Row - { - width: parent.width - height: childrenRect.height - - UM.Label - { - text: catalog.i18nc("@action:label", "Name") - width: (parent.width / 3) | 0 - } - UM.Label + id: materialResolveTooltip + anchors.right: parent.right + anchors.top: parent.top + width: (parent.width / 3) | 0 + height: visible ? comboboxHeight : 0 + visible: manager.materialConflict + text: catalog.i18nc("@info:tooltip", "How should the conflict in the material be resolved?") + Cura.ComboBox { - text: manager.qualityName - width: (parent.width / 3) | 0 - wrapMode: Text.WordWrap + model: resolveStrategiesModel + textRole: "label" + id: materialResolveComboBox + width: parent.width + height: UM.Theme.getSize("button").height + onActivated: + { + manager.setResolveStrategy("material", resolveStrategiesModel.get(index).key) + } } } - Row + Column { width: parent.width height: childrenRect.height - - UM.Label + Row { - text: catalog.i18nc("@action:label", "Intent") - width: (parent.width / 3) | 0 + height: childrenRect.height + width: parent.width + spacing: UM.Theme.getSize("narrow_margin").width + + UM.Label + { + text: catalog.i18nc("@action:label", "Material settings") + font: UM.Theme.getFont("default_bold") + width: (parent.width / 3) | 0 + } } - UM.Label + + Repeater { - text: manager.intentName - width: (parent.width / 3) | 0 - wrapMode: Text.WordWrap + model: manager.materialLabels + delegate: Row + { + width: parent.width + height: childrenRect.height + UM.Label + { + text: catalog.i18nc("@action:label", "Name") + width: (parent.width / 3) | 0 + } + UM.Label + { + text: modelData + width: (parent.width / 3) | 0 + wrapMode: Text.WordWrap + } + } } } + } + Column + { + width: parent.width + height: childrenRect.height + + UM.Label + { + text: catalog.i18nc("@action:label", "Setting visibility") + font: UM.Theme.getFont("default_bold") + } Row { width: parent.width height: childrenRect.height - UM.Label { - text: catalog.i18nc("@action:label", "Not in profile") - visible: manager.numUserSettings != 0 + text: catalog.i18nc("@action:label", "Mode") width: (parent.width / 3) | 0 } UM.Label { - text: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", manager.numUserSettings).arg(manager.numUserSettings) - visible: manager.numUserSettings != 0 + text: manager.activeMode width: (parent.width / 3) | 0 } } - Row { width: parent.width height: childrenRect.height - + visible: manager.hasVisibleSettingsField UM.Label { - text: catalog.i18nc("@action:label", "Derivative from") - visible: manager.numSettingsOverridenByQualityChanges != 0 + text: catalog.i18nc("@action:label", "Visible settings:") width: (parent.width / 3) | 0 } UM.Label { - text: catalog.i18ncp("@action:label", "%1, %2 override", "%1, %2 overrides", manager.numSettingsOverridenByQualityChanges).arg(manager.qualityType).arg(manager.numSettingsOverridenByQualityChanges) + text: catalog.i18nc("@action:label", "%1 out of %2" ).arg(manager.numVisibleSettings).arg(manager.totalNumberOfSettings) width: (parent.width / 3) | 0 - visible: manager.numSettingsOverridenByQualityChanges != 0 - wrapMode: Text.WordWrap } } } - } - - Item - { - width: parent.width - height: childrenRect.height - UM.TooltipArea - { - id: materialResolveTooltip - anchors.right: parent.right - anchors.top: parent.top - width: (parent.width / 3) | 0 - height: visible ? comboboxHeight : 0 - visible: manager.materialConflict - text: catalog.i18nc("@info:tooltip", "How should the conflict in the material be resolved?") - Cura.ComboBox - { - model: resolveStrategiesModel - textRole: "label" - id: materialResolveComboBox - width: parent.width - height: UM.Theme.getSize("button").height - onActivated: - { - manager.setResolveStrategy("material", resolveStrategiesModel.get(index).key) - } - } - } - - Column + Row { width: parent.width height: childrenRect.height - Row + visible: manager.hasObjectsOnPlate + UM.ColorImage { - height: childrenRect.height - width: parent.width - spacing: UM.Theme.getSize("narrow_margin").width - - UM.Label - { - text: catalog.i18nc("@action:label", "Material settings") - font: UM.Theme.getFont("default_bold") - width: (parent.width / 3) | 0 - } + width: warningLabel.height + height: width + source: UM.Theme.getIcon("Information") + color: UM.Theme.getColor("text") } - - Repeater + UM.Label { - model: manager.materialLabels - delegate: Row - { - width: parent.width - height: childrenRect.height - UM.Label - { - text: catalog.i18nc("@action:label", "Name") - width: (parent.width / 3) | 0 - } - UM.Label - { - text: modelData - width: (parent.width / 3) | 0 - wrapMode: Text.WordWrap - } - } + id: warningLabel + text: catalog.i18nc("@action:warning", "Loading a project will clear all models on the build plate.") } } } + } + } - Column + property bool warning: manager.missingPackages.length > 0 + + footerComponent: Rectangle + { + color: warning ? UM.Theme.getColor("warning") : "transparent" + anchors.bottom: parent.bottom + width: parent.width + height: childrenRect.height + 2 * base.margin + + Column + { + height: childrenRect.height + spacing: base.margin + + anchors.margins: base.margin + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + + RowLayout { - width: parent.width + id: warningRow height: childrenRect.height - - UM.Label - { - text: catalog.i18nc("@action:label", "Setting visibility") - font: UM.Theme.getFont("default_bold") - } - Row + visible: warning + spacing: base.margin + UM.ColorImage { - width: parent.width - height: childrenRect.height - UM.Label - { - text: catalog.i18nc("@action:label", "Mode") - width: (parent.width / 3) | 0 - } - UM.Label - { - text: manager.activeMode - width: (parent.width / 3) | 0 - } + width: UM.Theme.getSize("extruder_icon").width + height: UM.Theme.getSize("extruder_icon").height + source: UM.Theme.getIcon("Warning") } - Row + + UM.Label { - width: parent.width - height: childrenRect.height - visible: manager.hasVisibleSettingsField - UM.Label - { - text: catalog.i18nc("@action:label", "Visible settings:") - width: (parent.width / 3) | 0 - } - UM.Label - { - text: catalog.i18nc("@action:label", "%1 out of %2" ).arg(manager.numVisibleSettings).arg(manager.totalNumberOfSettings) - width: (parent.width / 3) | 0 - } + id: warningText + text: "The material used in this project is currently not installed in Cura.<br/>Install the material profile and reopen the project." } } - Row + Loader { width: parent.width height: childrenRect.height - visible: manager.hasObjectsOnPlate - UM.ColorImage - { - width: warningLabel.height - height: width - source: UM.Theme.getIcon("Information") - color: UM.Theme.getColor("text") - } - UM.Label - { - id: warningLabel - text: catalog.i18nc("@action:warning", "Loading a project will clear all models on the build plate.") - } + sourceComponent: buttonRow } } } @@ -447,13 +504,30 @@ UM.Dialog rightButtons: [ Cura.TertiaryButton { + visible: !warning text: catalog.i18nc("@action:button", "Cancel") onClicked: reject() }, Cura.PrimaryButton { + visible: !warning text: catalog.i18nc("@action:button", "Open") onClicked: accept() + }, + Cura.TertiaryButton + { + visible: warning + text: catalog.i18nc("@action:button", "Open project anyway") + onClicked: { + manager.showMissingMaterialsWarning(); + accept(); + } + }, + Cura.PrimaryButton + { + visible: warning + text: catalog.i18nc("@action:button", "Install missing material") + onClicked: manager.installMissingPackages() } ] diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 853aa08513..d7d1380f9b 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -1,15 +1,19 @@ # Copyright (c) 2015-2022 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Optional +import json + +from typing import Optional, cast, List, Dict from UM.Mesh.MeshWriter import MeshWriter from UM.Math.Vector import Vector from UM.Logger import Logger from UM.Math.Matrix import Matrix from UM.Application import Application +from UM.Message import Message from UM.Scene.SceneNode import SceneNode from cura.CuraApplication import CuraApplication +from cura.CuraPackageManager import CuraPackageManager from cura.Utils.Threading import call_on_qt_thread from cura.Snapshot import Snapshot @@ -34,6 +38,9 @@ import UM.Application from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") +THUMBNAIL_PATH = "Metadata/thumbnail.png" +MODEL_PATH = "3D/3dmodel.model" +PACKAGE_METADATA_PATH = "Metadata/packages.json" class ThreeMFWriter(MeshWriter): def __init__(self): @@ -46,7 +53,7 @@ class ThreeMFWriter(MeshWriter): } self._unit_matrix_string = self._convertMatrixToString(Matrix()) - self._archive = None # type: Optional[zipfile.ZipFile] + self._archive: Optional[zipfile.ZipFile] = None self._store_archive = False def _convertMatrixToString(self, matrix): @@ -132,11 +139,11 @@ class ThreeMFWriter(MeshWriter): def getArchive(self): return self._archive - def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode): + def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode) -> bool: self._archive = None # Reset archive archive = zipfile.ZipFile(stream, "w", compression = zipfile.ZIP_DEFLATED) try: - model_file = zipfile.ZipInfo("3D/3dmodel.model") + model_file = zipfile.ZipInfo(MODEL_PATH) # Because zipfile is stupid and ignores archive-level compression settings when writing with ZipInfo. model_file.compress_type = zipfile.ZIP_DEFLATED @@ -151,7 +158,7 @@ class ThreeMFWriter(MeshWriter): relations_file = zipfile.ZipInfo("_rels/.rels") relations_file.compress_type = zipfile.ZIP_DEFLATED relations_element = ET.Element("Relationships", xmlns = self._namespaces["relationships"]) - model_relation_element = ET.SubElement(relations_element, "Relationship", Target = "/3D/3dmodel.model", Id = "rel0", Type = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel") + model_relation_element = ET.SubElement(relations_element, "Relationship", Target = "/" + MODEL_PATH, Id = "rel0", Type = "http://schemas.microsoft.com/3dmanufacturing/2013/01/3dmodel") # Attempt to add a thumbnail snapshot = self._createSnapshot() @@ -160,28 +167,32 @@ class ThreeMFWriter(MeshWriter): thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite) snapshot.save(thumbnail_buffer, "PNG") - thumbnail_file = zipfile.ZipInfo("Metadata/thumbnail.png") + thumbnail_file = zipfile.ZipInfo(THUMBNAIL_PATH) # Don't try to compress snapshot file, because the PNG is pretty much as compact as it will get archive.writestr(thumbnail_file, thumbnail_buffer.data()) # Add PNG to content types file thumbnail_type = ET.SubElement(content_types, "Default", Extension = "png", ContentType = "image/png") # Add thumbnail relation to _rels/.rels file - thumbnail_relation_element = ET.SubElement(relations_element, "Relationship", Target = "/Metadata/thumbnail.png", Id = "rel1", Type = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail") + thumbnail_relation_element = ET.SubElement(relations_element, "Relationship", Target = "/" + THUMBNAIL_PATH, Id = "rel1", Type = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail") + + # Write material metadata + material_metadata = self._getMaterialPackageMetadata() + self._storeMetadataJson({"packages": material_metadata}, archive, PACKAGE_METADATA_PATH) savitar_scene = Savitar.Scene() - metadata_to_store = CuraApplication.getInstance().getController().getScene().getMetaData() + scene_metadata = CuraApplication.getInstance().getController().getScene().getMetaData() - for key, value in metadata_to_store.items(): + for key, value in scene_metadata.items(): savitar_scene.setMetaDataEntry(key, value) current_time_string = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") - if "Application" not in metadata_to_store: + if "Application" not in scene_metadata: # This might sound a bit strange, but this field should store the original application that created # the 3mf. So if it was already set, leave it to whatever it was. savitar_scene.setMetaDataEntry("Application", CuraApplication.getInstance().getApplicationDisplayName()) - if "CreationDate" not in metadata_to_store: + if "CreationDate" not in scene_metadata: savitar_scene.setMetaDataEntry("CreationDate", current_time_string) savitar_scene.setMetaDataEntry("ModificationDate", current_time_string) @@ -233,6 +244,53 @@ class ThreeMFWriter(MeshWriter): return True + @staticmethod + def _storeMetadataJson(metadata: Dict[str, List[Dict[str, str]]], archive: zipfile.ZipFile, path: str) -> None: + """Stores metadata inside archive path as json file""" + metadata_file = zipfile.ZipInfo(path) + # We have to set the compress type of each file as well (it doesn't keep the type of the entire archive) + metadata_file.compress_type = zipfile.ZIP_DEFLATED + archive.writestr(metadata_file, json.dumps(metadata, separators=(", ", ": "), indent=4, skipkeys=True, ensure_ascii=False)) + + @staticmethod + def _getMaterialPackageMetadata() -> List[Dict[str, str]]: + """Get metadata for installed materials in active extruder stack, this does not include bundled materials. + + :return: List of material metadata dictionaries. + """ + metadata = {} + + package_manager = cast(CuraPackageManager, CuraApplication.getInstance().getPackageManager()) + + for extruder in CuraApplication.getInstance().getExtruderManager().getActiveExtruderStacks(): + if not extruder.isEnabled: + # Don't export materials not in use + continue + + package_id = package_manager.getMaterialFilePackageId(extruder.material.getFileName(), extruder.material.getMetaDataEntry("GUID")) + package_data = package_manager.getInstalledPackageInfo(package_id) + + if not package_data: + message = Message(catalog.i18nc("@error:material", + "It was not possible to store material package information in project file: {material}. This project may not open correctly on other systems.".format(material=extruder.getName())), + title=catalog.i18nc("@info:title", "Failed to save material package information"), + message_type=Message.MessageType.WARNING) + message.show() + continue + + if package_data.get("is_bundled"): + continue + + material_metadata = {"id": package_id, + "display_name": package_data.get("display_name") if package_data.get("display_name") else "", + "package_version": package_data.get("package_version") if package_data.get("package_version") else "", + "sdk_version_semver": package_data.get("sdk_version_semver") if package_data.get("sdk_version_semver") else ""} + + metadata[package_id] = material_metadata + + # Storing in a dict and fetching values to avoid duplicates + return list(metadata.values()) + @call_on_qt_thread # must be called from the main thread because of OpenGL def _createSnapshot(self): Logger.log("d", "Creating thumbnail image...") diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index d7ed5fac21..18088a99c6 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -60,7 +60,7 @@ class CuraEngineBackend(QObject, Backend): executable_name = "CuraEngine" if Platform.isWindows(): executable_name += ".exe" - default_engine_location = executable_name + self._default_engine_location = executable_name search_path = [ os.path.abspath(os.path.dirname(sys.executable)), @@ -74,29 +74,29 @@ class CuraEngineBackend(QObject, Backend): for path in search_path: engine_path = os.path.join(path, executable_name) if os.path.isfile(engine_path): - default_engine_location = engine_path + self._default_engine_location = engine_path break - if Platform.isLinux() and not default_engine_location: + if Platform.isLinux() and not self._default_engine_location: if not os.getenv("PATH"): raise OSError("There is something wrong with your Linux installation.") for pathdir in cast(str, os.getenv("PATH")).split(os.pathsep): execpath = os.path.join(pathdir, executable_name) if os.path.exists(execpath): - default_engine_location = execpath + self._default_engine_location = execpath break application = CuraApplication.getInstance() #type: CuraApplication self._multi_build_plate_model = None #type: Optional[MultiBuildPlateModel] self._machine_error_checker = None #type: Optional[MachineErrorChecker] - if not default_engine_location: + if not self._default_engine_location: raise EnvironmentError("Could not find CuraEngine") - Logger.log("i", "Found CuraEngine at: %s", default_engine_location) + Logger.log("i", "Found CuraEngine at: %s", self._default_engine_location) - default_engine_location = os.path.abspath(default_engine_location) - application.getPreferences().addPreference("backend/location", default_engine_location) + self._default_engine_location = os.path.abspath(self._default_engine_location) + application.getPreferences().addPreference("backend/location", self._default_engine_location) # Workaround to disable layer view processing if layer view is not active. self._layer_view_active = False #type: bool @@ -215,7 +215,12 @@ class CuraEngineBackend(QObject, Backend): This is useful for debugging and used to actually start the engine. :return: list of commands and args / parameters. """ - command = [CuraApplication.getInstance().getPreferences().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), ""] + from cura import ApplicationMetadata + if ApplicationMetadata.IsEnterpriseVersion: + command = [self._default_engine_location] + else: + command = [CuraApplication.getInstance().getPreferences().getValue("backend/location")] + command += ["connect", "127.0.0.1:{0}".format(self._port), ""] parser = argparse.ArgumentParser(prog = "cura", add_help = False) parser.add_argument("--debug", action = "store_true", default = False, help = "Turn on the debug mode by setting this option.") diff --git a/plugins/Marketplace/InstallMissingPackagesDialog.py b/plugins/Marketplace/InstallMissingPackagesDialog.py new file mode 100644 index 0000000000..bd7c08d9b9 --- /dev/null +++ b/plugins/Marketplace/InstallMissingPackagesDialog.py @@ -0,0 +1,67 @@ +# Copyright (c) 2022 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +import os + +from PyQt6.QtCore import QObject, pyqtSignal, pyqtProperty +from typing import Optional, List, Dict, cast, Callable +from cura.CuraApplication import CuraApplication +from UM.PluginRegistry import PluginRegistry +from cura.CuraPackageManager import CuraPackageManager +from UM.i18n import i18nCatalog + +from UM.FlameProfiler import pyqtSlot +from .MissingPackageList import MissingPackageList + +i18n_catalog = i18nCatalog("cura") + +class InstallMissingPackageDialog(QObject): + """Dialog used to display packages that need to be installed to load 3mf file materials""" + def __init__(self, packages_metadata: List[Dict[str, str]], show_missing_materials_warning: Callable[[], None]) -> None: + """Initialize + + :param packages_metadata: List of dictionaries containing information about missing packages. + """ + super().__init__() + + self._plugin_registry: PluginRegistry = CuraApplication.getInstance().getPluginRegistry() + self._package_manager: CuraPackageManager = cast(CuraPackageManager, CuraApplication.getInstance().getPackageManager()) + self._package_manager.installedPackagesChanged.connect(self.checkIfRestartNeeded) + + self._dialog: Optional[QObject] = None + self._restart_needed = False + self._package_metadata: List[Dict[str, str]] = packages_metadata + + self._package_model: MissingPackageList = MissingPackageList(packages_metadata) + self._show_missing_materials_warning = show_missing_materials_warning + + def show(self) -> None: + plugin_path = self._plugin_registry.getPluginPath("Marketplace") + if plugin_path is None: + plugin_path = os.path.dirname(__file__) + + # create a QML component for the license dialog + license_dialog_component_path = os.path.join(plugin_path, "resources", "qml", "InstallMissingPackagesDialog.qml") + self._dialog = CuraApplication.getInstance().createQmlComponent(license_dialog_component_path, {"manager": self}) + self._dialog.show() + + def checkIfRestartNeeded(self) -> None: + if self._dialog is None: + return + + self._restart_needed = self._package_manager.hasPackagesToRemoveOrInstall + self.showRestartChanged.emit() + + showRestartChanged = pyqtSignal() + + @pyqtProperty(bool, notify=showRestartChanged) + def showRestartNotification(self) -> bool: + return self._restart_needed + + @pyqtProperty(QObject) + def model(self) -> MissingPackageList: + return self._package_model + + @pyqtSlot() + def showMissingMaterialsWarning(self) -> None: + self._show_missing_materials_warning() diff --git a/plugins/Marketplace/Marketplace.py b/plugins/Marketplace/Marketplace.py index 171e3f915b..b2c729c2cd 100644 --- a/plugins/Marketplace/Marketplace.py +++ b/plugins/Marketplace/Marketplace.py @@ -3,15 +3,15 @@ import os.path from PyQt6.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject -from typing import Optional, cast +from typing import Callable, cast, Dict, List, Optional from cura.CuraApplication import CuraApplication # Creating QML objects and managing packages. - from UM.Extension import Extension # We are implementing the main object of an extension here. from UM.PluginRegistry import PluginRegistry # To find out where we are stored (the proper way). -from .RemotePackageList import RemotePackageList # To register this type with QML. +from .InstallMissingPackagesDialog import InstallMissingPackageDialog # To allow creating this dialogue from outside of the plug-in. from .LocalPackageList import LocalPackageList # To register this type with QML. +from .RemotePackageList import RemotePackageList # To register this type with QML. class Marketplace(Extension, QObject): @@ -41,6 +41,7 @@ class Marketplace(Extension, QObject): self._tab_shown: int = 0 self._restart_needed = False + self.missingPackageDialog = None def getTabShown(self) -> int: return self._tab_shown @@ -103,6 +104,9 @@ class Marketplace(Extension, QObject): self.setTabShown(1) def checkIfRestartNeeded(self) -> None: + if self._window is None: + return + if self._package_manager.hasPackagesToRemoveOrInstall or \ cast(PluginRegistry, self._plugin_registry).getCurrentSessionActivationChangedPlugins(): self._restart_needed = True @@ -115,3 +119,15 @@ class Marketplace(Extension, QObject): @pyqtProperty(bool, notify=showRestartNotificationChanged) def showRestartNotification(self) -> bool: return self._restart_needed + + def showInstallMissingPackageDialog(self, packages_metadata: List[Dict[str, str]], ignore_warning_callback: Callable[[], None]) -> None: + """ + Show a dialog that prompts the user to install certain packages. + + The dialog is worded for packages that are missing and required for a certain operation. + :param packages_metadata: The metadata of the packages that are missing. + :param ignore_warning_callback: A callback that gets executed when the user ignores the pop-up, to show them a + warning. + """ + self.missingPackageDialog = InstallMissingPackageDialog(packages_metadata, ignore_warning_callback) + self.missingPackageDialog.show() diff --git a/plugins/Marketplace/MissingPackageList.py b/plugins/Marketplace/MissingPackageList.py new file mode 100644 index 0000000000..385e78b95f --- /dev/null +++ b/plugins/Marketplace/MissingPackageList.py @@ -0,0 +1,46 @@ +# Copyright (c) 2022 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from typing import Optional, TYPE_CHECKING, Dict, List + +from .Constants import PACKAGES_URL +from .PackageModel import PackageModel +from .RemotePackageList import RemotePackageList +from PyQt6.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication + +from UM.TaskManagement.HttpRequestManager import HttpRequestManager # To request the package list from the API. +from UM.i18n import i18nCatalog + +if TYPE_CHECKING: + from PyQt6.QtCore import QObject, pyqtProperty, pyqtSignal + +catalog = i18nCatalog("cura") + +class MissingPackageList(RemotePackageList): + def __init__(self, packages_metadata: List[Dict[str, str]], parent: Optional["QObject"] = None) -> None: + super().__init__(parent) + self._packages_metadata: List[Dict[str, str]] = packages_metadata + self._package_type_filter = "material" + self._search_type = "package_ids" + self._requested_search_string = ",".join(map(lambda package: package["id"], packages_metadata)) + + def _parseResponse(self, reply: "QNetworkReply") -> None: + super()._parseResponse(reply) + + # At the end of the list we want to show some information about packages the user is missing that can't be found + # This will add cards with some information about the missing packages + if not self.hasMore: + self._addPackagesMissingFromRequest() + + def _addPackagesMissingFromRequest(self) -> None: + """Create cards for packages the user needs to install that could not be found""" + returned_packages_ids = [item["package"].packageId for item in self._items] + + for package_metadata in self._packages_metadata: + if package_metadata["id"] not in returned_packages_ids: + package = PackageModel.fromIncompletePackageInformation(package_metadata["display_name"], package_metadata["package_version"], self._package_type_filter) + self.appendItem({"package": package}) + + self.itemsChanged.emit() + + diff --git a/plugins/Marketplace/PackageList.py b/plugins/Marketplace/PackageList.py index 30162afe6c..3306e10740 100644 --- a/plugins/Marketplace/PackageList.py +++ b/plugins/Marketplace/PackageList.py @@ -244,7 +244,10 @@ class PackageList(ListModel): def _downloadError(self, package_id: str, update: bool = False, reply: Optional["QNetworkReply"] = None, error: Optional["QNetworkReply.NetworkError"] = None) -> None: if reply: - reply_string = bytes(reply.readAll()).decode() + try: + reply_string = bytes(reply.readAll()).decode() + except UnicodeDecodeError: + reply_string = "<error message is corrupt too>" Logger.error(f"Failed to download package: {package_id} due to {reply_string}") self._package_manager.packageInstallingFailed.emit(package_id) diff --git a/plugins/Marketplace/PackageModel.py b/plugins/Marketplace/PackageModel.py index bd1b0681fc..078bfc879e 100644 --- a/plugins/Marketplace/PackageModel.py +++ b/plugins/Marketplace/PackageModel.py @@ -84,6 +84,20 @@ class PackageModel(QObject): self._is_busy = False + self._is_missing_package_information = False + + @classmethod + def fromIncompletePackageInformation(cls, display_name: str, package_version: str, package_type: str) -> "PackageModel": + package_data = { + "display_name": display_name, + "package_version": package_version, + "package_type": package_type, + "description": "The material package associated with the Cura project could not be found on the Ultimaker marketplace. Use the partial material profile definition stored in the Cura project file at your own risk." + } + package_model = cls(package_data) + package_model.setIsMissingPackageInformation(True) + return package_model + @pyqtSlot() def _processUpdatedPackages(self): self.setCanUpdate(self._package_manager.checkIfPackageCanUpdate(self._package_id)) @@ -385,3 +399,14 @@ class PackageModel(QObject): def canUpdate(self) -> bool: """Flag indicating if the package can be updated""" return self._can_update + + isMissingPackageInformationChanged = pyqtSignal() + + def setIsMissingPackageInformation(self, isMissingPackageInformation: bool) -> None: + self._is_missing_package_information = isMissingPackageInformation + self.isMissingPackageInformationChanged.emit() + + @pyqtProperty(bool, notify=isMissingPackageInformationChanged) + def isMissingPackageInformation(self) -> bool: + """Flag indicating if the package can be updated""" + return self._is_missing_package_information diff --git a/plugins/Marketplace/RemotePackageList.py b/plugins/Marketplace/RemotePackageList.py index c20efabbc2..d06d2c64c5 100644 --- a/plugins/Marketplace/RemotePackageList.py +++ b/plugins/Marketplace/RemotePackageList.py @@ -28,6 +28,7 @@ class RemotePackageList(PackageList): self._package_type_filter = "" self._requested_search_string = "" self._current_search_string = "" + self._search_type = "search" self._request_url = self._initialRequestUrl() self._ongoing_requests["get_packages"] = None self.isLoadingChanged.connect(self._onLoadingChanged) @@ -100,7 +101,7 @@ class RemotePackageList(PackageList): if self._package_type_filter != "": request_url += f"&package_type={self._package_type_filter}" if self._current_search_string != "": - request_url += f"&search={self._current_search_string}" + request_url += f"&{self._search_type}={self._current_search_string}" return request_url def _parseResponse(self, reply: "QNetworkReply") -> None: diff --git a/plugins/Marketplace/__init__.py b/plugins/Marketplace/__init__.py index ef1beab33e..655cf6bf84 100644 --- a/plugins/Marketplace/__init__.py +++ b/plugins/Marketplace/__init__.py @@ -14,4 +14,4 @@ def register(app): """ Register the plug-in object with Uranium. """ - return { "extension": [Marketplace(), SyncOrchestrator(app)] } + return { "extension": [SyncOrchestrator(app), Marketplace()] } diff --git a/plugins/Marketplace/resources/qml/InstallMissingPackagesDialog.qml b/plugins/Marketplace/resources/qml/InstallMissingPackagesDialog.qml new file mode 100644 index 0000000000..edad18f1a8 --- /dev/null +++ b/plugins/Marketplace/resources/qml/InstallMissingPackagesDialog.qml @@ -0,0 +1,21 @@ +// Copyright (c) 2021 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import QtQuick.Layouts 1.15 +import QtQuick.Window 2.2 + +import UM 1.5 as UM +import Cura 1.6 as Cura + +Marketplace +{ + modality: Qt.ApplicationModal + title: catalog.i18nc("@title", "Install missing Materials") + pageContentsSource: "MissingPackages.qml" + showSearchHeader: false + showOnboadBanner: false + + onClosing: manager.showMissingMaterialsWarning() +} diff --git a/plugins/Marketplace/resources/qml/Marketplace.qml b/plugins/Marketplace/resources/qml/Marketplace.qml index d925f265d9..2a3c5f69ce 100644 --- a/plugins/Marketplace/resources/qml/Marketplace.qml +++ b/plugins/Marketplace/resources/qml/Marketplace.qml @@ -16,6 +16,10 @@ Window signal searchStringChanged(string new_search) + property alias showOnboadBanner: onBoardBanner.visible + property alias showSearchHeader: searchHeader.visible + property alias pageContentsSource: content.source + minimumWidth: UM.Theme.getSize("modal_window_minimum").width minimumHeight: UM.Theme.getSize("modal_window_minimum").height width: minimumWidth @@ -86,6 +90,7 @@ Window OnboardBanner { + id: onBoardBanner visible: content.item && content.item.bannerVisible text: content.item && content.item.bannerText icon: content.item && content.item.bannerIcon @@ -100,6 +105,7 @@ Window // Search & Top-Level Tabs Item { + id: searchHeader implicitHeight: childrenRect.height implicitWidth: parent.width - 2 * UM.Theme.getSize("default_margin").width Layout.alignment: Qt.AlignHCenter @@ -186,7 +192,7 @@ Window { text: catalog.i18nc("@info", "Search in the browser") iconSource: UM.Theme.getIcon("LinkExternal") - visible: pageSelectionTabBar.currentItem.hasSearch + visible: pageSelectionTabBar.currentItem.hasSearch && searchHeader.visible isIconOnRightSide: true height: fontMetrics.height textFont: fontMetrics.font diff --git a/plugins/Marketplace/resources/qml/MissingPackages.qml b/plugins/Marketplace/resources/qml/MissingPackages.qml new file mode 100644 index 0000000000..316d048317 --- /dev/null +++ b/plugins/Marketplace/resources/qml/MissingPackages.qml @@ -0,0 +1,15 @@ +// Copyright (c) 2021 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import UM 1.4 as UM + +Packages +{ + pageTitle: catalog.i18nc("@header", "Install Materials") + + bannerVisible: false + showUpdateButton: false + showInstallButton: true + + model: manager.model +} diff --git a/plugins/Marketplace/resources/qml/PackageCard.qml b/plugins/Marketplace/resources/qml/PackageCard.qml index 52254a478f..b74dad0712 100644 --- a/plugins/Marketplace/resources/qml/PackageCard.qml +++ b/plugins/Marketplace/resources/qml/PackageCard.qml @@ -18,6 +18,8 @@ Rectangle height: childrenRect.height color: UM.Theme.getColor("main_background") radius: UM.Theme.getSize("default_radius").width + border.color: packageData.isMissingPackageInformation ? UM.Theme.getColor("warning") : "transparent" + border.width: packageData.isMissingPackageInformation ? UM.Theme.getSize("default_lining").width : 0 PackageCardHeader { diff --git a/plugins/Marketplace/resources/qml/PackageCardHeader.qml b/plugins/Marketplace/resources/qml/PackageCardHeader.qml index 00d107f4fc..6c9d533bb5 100644 --- a/plugins/Marketplace/resources/qml/PackageCardHeader.qml +++ b/plugins/Marketplace/resources/qml/PackageCardHeader.qml @@ -19,6 +19,8 @@ Item property bool showInstallButton: false property bool showUpdateButton: false + property string missingPackageReadMoreUrl: "https://ultimaker.atlassian.net/wiki/spaces/SD/pages/1231916580/Campaign+links+from+Cura+to+the+Ultimaker+domain" + width: parent.width height: UM.Theme.getSize("card").height @@ -87,6 +89,14 @@ Item Layout.preferredWidth: parent.width Layout.preferredHeight: childrenRect.height + UM.StatusIcon + { + width: UM.Theme.getSize("section_icon").width + UM.Theme.getSize("narrow_margin").width + height: UM.Theme.getSize("section_icon").height + status: UM.StatusIcon.Status.WARNING + visible: packageData.isMissingPackageInformation + } + UM.Label { text: packageData.displayName @@ -109,6 +119,7 @@ Item Button { id: externalLinkButton + visible: !packageData.isMissingPackageInformation // For some reason if i set padding, they don't match up. If i set all of them explicitly, it does work? leftPadding: UM.Theme.getSize("narrow_margin").width @@ -155,6 +166,7 @@ Item UM.Label { id: authorBy + visible: !packageData.isMissingPackageInformation Layout.alignment: Qt.AlignCenter text: catalog.i18nc("@label Is followed by the name of an author", "By") @@ -165,6 +177,7 @@ Item // clickable author name Item { + visible: !packageData.isMissingPackageInformation Layout.fillWidth: true implicitHeight: authorBy.height Layout.alignment: Qt.AlignTop @@ -182,10 +195,29 @@ Item } } + Item + { + visible: packageData.isMissingPackageInformation + Layout.fillWidth: true + implicitHeight: readMoreButton.height + Layout.alignment: Qt.AlignTop + Cura.TertiaryButton + { + id: readMoreButton + text: catalog.i18nc("@button:label", "Learn More") + leftPadding: 0 + rightPadding: 0 + iconSource: UM.Theme.getIcon("LinkExternal") + isIconOnRightSide: true + + onClicked: Qt.openUrlExternally(missingPackageReadMoreUrl) + } + } + ManageButton { id: enableManageButton - visible: showDisableButton && packageData.isInstalled && !packageData.isToBeInstalled && packageData.packageType != "material" + visible: showDisableButton && packageData.isInstalled && !packageData.isToBeInstalled && packageData.packageType != "material" && !packageData.isMissingPackageInformation enabled: !packageData.busy button_style: !packageData.isActive @@ -199,7 +231,7 @@ Item ManageButton { id: installManageButton - visible: showInstallButton && (packageData.canDowngrade || !packageData.isBundled) + visible: showInstallButton && (packageData.canDowngrade || !packageData.isBundled) && !packageData.isMissingPackageInformation enabled: !packageData.busy busy: packageData.busy button_style: !(packageData.isInstalled || packageData.isToBeInstalled) @@ -229,7 +261,7 @@ Item ManageButton { id: updateManageButton - visible: showUpdateButton && packageData.canUpdate + visible: showUpdateButton && packageData.canUpdate && !packageData.isMissingPackageInformation enabled: !packageData.busy busy: packageData.busy Layout.alignment: Qt.AlignTop diff --git a/plugins/Marketplace/resources/qml/Packages.qml b/plugins/Marketplace/resources/qml/Packages.qml index 70ff7de195..6e83f1e33b 100644 --- a/plugins/Marketplace/resources/qml/Packages.qml +++ b/plugins/Marketplace/resources/qml/Packages.qml @@ -62,8 +62,11 @@ ListView hoverEnabled: true onClicked: { - packages.selectedPackage = model.package; - contextStack.push(packageDetailsComponent); + if (!model.package.isMissingPackageInformation) + { + packages.selectedPackage = model.package; + contextStack.push(packageDetailsComponent); + } } PackageCard diff --git a/plugins/MonitorStage/MonitorMain.qml b/plugins/MonitorStage/MonitorMain.qml index fdb67d0feb..5d63ac5b83 100644 --- a/plugins/MonitorStage/MonitorMain.qml +++ b/plugins/MonitorStage/MonitorMain.qml @@ -122,6 +122,7 @@ Rectangle } visible: !isNetworkConfigured && isNetworkConfigurable width: childrenRect.width + height: childrenRect.height UM.ColorImage { diff --git a/plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py b/plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py index e0b156dc08..fd8118306b 100644 --- a/plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py +++ b/plugins/UM3NetworkPrinting/src/Network/ClusterApiClient.py @@ -169,7 +169,10 @@ class ClusterApiClient: """ def parse() -> None: - self._anti_gc_callbacks.remove(parse) + try: + self._anti_gc_callbacks.remove(parse) + except ValueError: # Already removed asynchronously. + return # Then the rest of the function is also already executed. # Don't try to parse the reply if we didn't get one if reply.attribute(QNetworkRequest.Attribute.HttpStatusCodeAttribute) is None: diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 1b88272d49..d7d11a1f44 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -343,6 +343,9 @@ class XmlMaterialProfile(InstanceContainer): return stream.getvalue().decode("utf-8") + def getFileName(self) -> str: + return (self.getMetaDataEntry("base_file") + ".xml.fdm_material").replace(" ", "+") + # Recursively resolve loading inherited files def _resolveInheritance(self, file_name): xml = self._loadFile(file_name) @@ -477,6 +480,15 @@ class XmlMaterialProfile(InstanceContainer): return version * 1000000 + setting_version + @classmethod + def getMetadataFromSerialized(cls, serialized: str, property_name: str) -> str: + data = ET.fromstring(serialized) + metadata = data.find("./um:metadata", cls.__namespaces) + property = metadata.find("./um:" + property_name, cls.__namespaces) + + # This is a necessary property != None check, xml library overrides __bool__ to return False in cases when Element is not None. + return property.text if property != None else "" + def deserialize(self, serialized, file_name = None): """Overridden from InstanceContainer""" diff --git a/resources/definitions/SV02.def.json b/resources/definitions/SV02.def.json index 067422354e..352cd23394 100644 --- a/resources/definitions/SV02.def.json +++ b/resources/definitions/SV02.def.json @@ -44,7 +44,6 @@ "machine_max_jerk_xy": { "value": 8 },
"machine_max_jerk_z": { "value": 0.4 },
"machine_max_jerk_e": { "value": 5 },
- "machine_heated_bed": { "default_value": true },
"material_diameter": { "default_value": 1.75 },
"infill_overlap": { "default_value": 15 },
"acceleration_print": { "value": 500 },
diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index c411162359..6763cbb7f2 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2256,7 +2256,7 @@ "maximum_value": "machine_height", "maximum_value_warning": "resolveOrValue('infill_sparse_thickness') * 10", "type": "float", - "value": "0 if infill_sparse_density > 0 else 0", + "value": "0", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 5818c11a6f..8c6d8c0dda 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -50,23 +50,29 @@ "wall_thickness": { "value": "wall_line_width_0 + wall_line_width_x" }, - "infill_before_walls": { - "value": "False" - }, "infill_material_flow": { "value": "(1.95-infill_sparse_density / 100 if infill_sparse_density > 95 else 1) * material_flow" }, "retraction_combing": { "value": "'no_outer_surfaces'" }, + "retraction_count_max": { + "value": 25 + }, + "retraction_extrusion_window": { + "value": 1 + }, "roofing_layer_count": { - "value": "0" + "value": "1" }, "roofing_material_flow": { "value": "material_flow" }, "skin_material_flow": { - "value": "0.97 * material_flow" + "value": "0.95 * material_flow" + }, + "support_interface_material_flow": { + "value": "skin_material_flow" }, "skin_monotonic" : { "value": true @@ -89,11 +95,124 @@ "meshfix_maximum_deviation": { "value": "machine_nozzle_size / 10" }, - "jerk_travel": { - "value": "jerk_print" + "jerk_travel_enabled": { + "value": false + }, + "acceleration_travel_enabled": { + "value": false }, "acceleration_travel": { "value": "acceleration_wall" + }, + "skin_edge_support_thickness": { + "value": "4 * layer_height if infill_sparse_density < 30 else 0" + }, + "bridge_settings_enabled": { + "value": false + }, + "bridge_wall_min_length": { + "value": 0 + }, + "bridge_skin_support_threshold": { + "value": 50 + }, + "bridge_sparse_infill_max_density": { + "value": 0 + }, + "bridge_wall_coast": { + "value": 0 + }, + "bridge_wall_speed": { + "value": "speed_wall" + }, + "bridge_wall_material_flow": { + "value": "wall_material_flow" + }, + "bridge_skin_speed": { + "value": "speed_topbottom" + }, + "bridge_skin_material_flow": { + "value": "skin_material_flow" + }, + "bridge_skin_density": { + "value": "80" + }, + "bridge_fan_speed": { + "value": "cool_fan_speed_max" + }, + "bridge_enable_more_layers": { + "value": false + }, + "bridge_skin_speed_2": { + "value": "speed_topbottom" + }, + "bridge_skin_material_flow_2": { + "value": "skin_material_flow" + }, + "bridge_skin_density_2": { + "value": 100 + }, + "bridge_fan_speed_2": { + "value": "cool_fan_speed_min" + }, + "bridge_skin_speed_3": { + "value": "speed_topbottom" + }, + "bridge_skin_material_flow_3": { + "value": "skin_material_flow" + }, + "bridge_skin_density_3": { + "value": 100 + }, + "bridge_fan_speed_3": { + "value": "cool_fan_speed_min" + }, + "jerk_print": { + "value": "20", + "minimum_value_warning": 20 + }, + "jerk_infill": { + "minimum_value_warning": 20 + }, + "jerk_wall": { + "minimum_value_warning": 20 + }, + "jerk_wall_0": { + "minimum_value_warning": 20 + }, + "jerk_roofing": { + "minimum_value_warning": 20 + }, + "jerk_topbottom": { + "minimum_value_warning": 20 + }, + "jerk_support": { + "minimum_value_warning": 20 + }, + "jerk_support_infill": { + "minimum_value_warning": 20 + }, + "jerk_support_interface": { + "minimum_value_warning": 20 + }, + "jerk_prime_tower": { + "minimum_value_warning": 20 + }, + "jerk_layer_0": { + "minimum_value_warning": 20 + }, + "jerk_print_layer_0": { + "minimum_value_warning": 20 + }, + "jerk_travel": { + "value": "jerk_print", + "minimum_value_warning": 20 + }, + "jerk_travel_layer_0": { + "minimum_value_warning": 20 + }, + "jerk_skirt_brim": { + "minimum_value_warning": 20 } } } diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index fd21ab5271..858d5f91a7 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -101,20 +101,6 @@ "infill_wipe_dist": { "value": "0" }, "initial_layer_line_width_factor": { "value": "120" }, "jerk_enabled": { "value": "True" }, - "jerk_print": { "value": "20", "minimum_value_warning": 20 }, - "jerk_infill": {"minimum_value_warning": 20 }, - "jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 }, - "jerk_roofing": {"minimum_value_warning": 20 }, - "jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_support_infill": {"minimum_value_warning": 20 }, - "jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"}, - "jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20}, - "jerk_print_layer_0": {"minimum_value_warning": 20 }, - "jerk_travel_layer_0": {"minimum_value_warning": 20 }, - "jerk_skirt_brim": {"minimum_value_warning": 20 }, "layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" }, "layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" }, "layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" }, @@ -136,8 +122,6 @@ "raft_margin": { "value": "10" }, "raft_surface_layers": { "value": "1" }, "retraction_amount": { "value": "6.5" }, - "retraction_count_max": { "value": "10" }, - "retraction_extrusion_window": { "value": "1" }, "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, "retraction_hop_only_when_collides": { "value": "True" }, diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json index 640a062c6d..67f8ddab83 100644 --- a/resources/definitions/ultimaker_s3.def.json +++ b/resources/definitions/ultimaker_s3.def.json @@ -93,20 +93,6 @@ "infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'triangles'" }, "infill_wipe_dist": { "value": "0" }, "jerk_enabled": { "value": "True" }, - "jerk_print": { "value": "20", "minimum_value_warning": 20 }, - "jerk_infill": {"minimum_value_warning": 20 }, - "jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 }, - "jerk_roofing": {"minimum_value_warning": 20 }, - "jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_support_infill": {"minimum_value_warning": 20 }, - "jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"}, - "jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20}, - "jerk_print_layer_0": {"minimum_value_warning": 20 }, - "jerk_travel_layer_0": {"minimum_value_warning": 20 }, - "jerk_skirt_brim": {"minimum_value_warning": 20 }, "layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" }, "layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" }, "layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" }, @@ -128,8 +114,6 @@ "raft_speed": { "value": "25" }, "raft_surface_layers": { "value": "1" }, "retraction_amount": { "value": "6.5" }, - "retraction_count_max": { "value": "10" }, - "retraction_extrusion_window": { "value": "1" }, "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, "retraction_hop_only_when_collides": { "value": "True" }, @@ -155,7 +139,6 @@ "switch_extruder_prime_speed": { "value": "15" }, "switch_extruder_retraction_amount": { "value": "8" }, "top_bottom_thickness": { "value": "1" }, - "travel_avoid_supports": { "value": "True" }, "travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" }, "wall_0_inset": { "value": "0" }, "initial_layer_line_width_factor": { "value": "120" }, diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 0d5d7499cc..005c876117 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -95,20 +95,6 @@ "infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'triangles'" }, "infill_wipe_dist": { "value": "0" }, "jerk_enabled": { "value": "True" }, - "jerk_print": { "value": "20", "minimum_value_warning": 20 }, - "jerk_infill": {"minimum_value_warning": 20 }, - "jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 }, - "jerk_roofing": {"minimum_value_warning": 20 }, - "jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_support_infill": {"minimum_value_warning": 20 }, - "jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"}, - "jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 }, - "jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20}, - "jerk_print_layer_0": {"minimum_value_warning": 20 }, - "jerk_travel_layer_0": {"minimum_value_warning": 20 }, - "jerk_skirt_brim": {"minimum_value_warning": 20 }, "layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" }, "layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" }, "layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" }, @@ -130,8 +116,6 @@ "raft_surface_layers": { "value": "1" }, "retraction_amount": { "value": "6.5" }, "retraction_combing": { "value": "'no_outer_surfaces'"}, - "retraction_count_max": { "value": "10" }, - "retraction_extrusion_window": { "value": "1" }, "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, "retraction_hop_only_when_collides": { "value": "True" }, @@ -157,7 +141,6 @@ "switch_extruder_prime_speed": { "value": "15" }, "switch_extruder_retraction_amount": { "value": "8" }, "top_bottom_thickness": { "value": "1" }, - "travel_avoid_supports": { "value": "True" }, "travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" }, "wall_0_inset": { "value": "0" }, "optimize_wall_printing_order": { "value": "True" }, diff --git a/resources/definitions/uni_base.def.json b/resources/definitions/uni_base.def.json index 06ba86de2d..82b05f3366 100644 --- a/resources/definitions/uni_base.def.json +++ b/resources/definitions/uni_base.def.json @@ -138,7 +138,6 @@ "machine_height": {"default_value": 250}, "machine_extruder_count": {"value": 2}, "machine_buildplate_type": {"value": "glass"}, - "machine_heated_bed": {"default_value": true}, "machine_center_is_zero": {"default_value": false}, "machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"}, "machine_head_with_fans_polygon": {"default_value": [ diff --git a/resources/definitions/voron2_base.def.json b/resources/definitions/voron2_base.def.json index ec069b24fb..b9a1484ae7 100644 --- a/resources/definitions/voron2_base.def.json +++ b/resources/definitions/voron2_base.def.json @@ -98,8 +98,9 @@ "machine_start_gcode": { "default_value": "print_start" }, "machine_end_gcode": { "default_value": "print_end" }, "adhesion_type": { "default_value": "skirt" }, + "retraction_amount": { "default_value": 0.75 }, "skirt_brim_minimal_length": { "default_value": 550 }, - "retraction_speed": { "default_value": 80, "maximum_value_warning": 130 }, + "retraction_speed": { "default_value": 30, "maximum_value_warning": 130 }, "retraction_retract_speed": { "maximum_value_warning": 130 }, "retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": 130 }, "retraction_hop_enabled": { "default_value": true }, diff --git a/resources/definitions/zav_base.def.json b/resources/definitions/zav_base.def.json index 1ef9398987..9f73419d46 100644 --- a/resources/definitions/zav_base.def.json +++ b/resources/definitions/zav_base.def.json @@ -147,7 +147,6 @@ "machine_height": {"default_value": 270}, "machine_extruder_count": {"value": 1}, "machine_buildplate_type": {"value": "glass"}, - "machine_heated_bed": {"default_value": true}, "machine_center_is_zero": {"default_value": false}, "machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"}, "machine_head_with_fans_polygon": {"default_value": [ diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg index ed1312583e..f2095ba055 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_ABS_Draft_Print_Quick.inst.cfg @@ -22,11 +22,6 @@ top_bottom_thickness = 0.8 infill_sparse_density = 15 jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 + diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_CPEP_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_CPEP_Fast_Print_Accurate.inst.cfg index 48fb654a87..b74cd522ac 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_CPEP_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_CPEP_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_CPEP_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_CPEP_Normal_Quality_Accurate.inst.cfg index b98688044f..1caacdf72f 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_CPEP_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_CPEP_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality_Accurate.inst.cfg index 344cd30b8d..315b26a3b1 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_Nylon_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_Nylon_Fast_Print_Accurate.inst.cfg index 4e33b36ee1..d4a999d8eb 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_Nylon_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_Nylon_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_Nylon_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_Nylon_Normal_Quality_Accurate.inst.cfg index 8cdf66b6fe..aa371be6f3 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_Nylon_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_Nylon_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print_Accurate.inst.cfg index ff9e5755b3..abd125f483 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality_Accurate.inst.cfg index 1d68116a7f..c8cf2a3bd4 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print_Accurate.inst.cfg index 168b920b80..b4bbdddff7 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality_Accurate.inst.cfg index 70347ae80f..19418812af 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg index 9b2de341e6..36ea7c975e 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg index b9193339bf..88691ef1d6 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_VeryDraft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_VeryDraft_Print_Quick.inst.cfg index 70abf19142..b59ed875b4 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_VeryDraft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_PLA_VeryDraft_Print_Quick.inst.cfg @@ -16,12 +16,6 @@ is_experimental = True infill_sparse_density = 10 jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 acceleration_print = 4000 acceleration_wall = 2000 diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg index 0cf2b8f993..924edf577d 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg index 0ca960acd7..b92e07a877 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg index 95d4d65b4a..98ad3af40b 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print_Quick.inst.cfg @@ -22,11 +22,6 @@ top_bottom_thickness = 0.8 infill_sparse_density = 15 jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 + diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg index ad0eda8726..8939d670b1 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg index 1fcbb95940..44f76d561f 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print_Accurate.inst.cfg index 7d1026b479..7bf1fc834a 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality_Accurate.inst.cfg index 52bd47103f..a95862c35a 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print_Accurate.inst.cfg index 55eaac45cf..bfdd35017c 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality_Accurate.inst.cfg index b831e25ce6..022fb2b50d 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print_Accurate.inst.cfg index e1b8a1c712..3637040c4c 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality_Accurate.inst.cfg index ed808aaf03..6cce98ca60 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print_Accurate.inst.cfg index adc4169968..32e0463447 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality_Accurate.inst.cfg index bccd269c87..0b7ffb4154 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print_Accurate.inst.cfg index f13476802c..186281c17c 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality_Accurate.inst.cfg index 585c2f72b5..545a8b5654 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg index 4c9608ddaf..76d9191fc1 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print_Quick.inst.cfg @@ -22,11 +22,6 @@ top_bottom_thickness = 0.8 infill_sparse_density = 15 jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 + diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg index 11a2c5e134..ca098b5bfa 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg index f9a3c3f775..472c0b4359 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_VeryDraft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_VeryDraft_Print_Quick.inst.cfg index 12752123f4..51cfaebe34 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_VeryDraft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_PLA_VeryDraft_Print_Quick.inst.cfg @@ -16,12 +16,6 @@ is_experimental = True infill_sparse_density = 10 jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 acceleration_print = 4000 acceleration_wall = 2000 diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg index 7aaff9a062..7851ecd793 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print_Quick.inst.cfg @@ -22,11 +22,6 @@ top_bottom_thickness = 0.8 infill_sparse_density = 15 jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 + diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg index 84c9293467..2b1b769595 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg index 8d8825ca41..daa327a2f5 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality_Accurate.inst.cfg @@ -14,12 +14,6 @@ variant = AA 0.4 [values] jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 speed_print = 30 speed_infill = =speed_print diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_VeryDraft_Print_Quick.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_VeryDraft_Print_Quick.inst.cfg index a3e850c05d..ec93cc5599 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_VeryDraft_Print_Quick.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_TPLA_VeryDraft_Print_Quick.inst.cfg @@ -16,12 +16,6 @@ is_experimental = True infill_sparse_density = 10 jerk_print = 30 -jerk_infill = =jerk_print -jerk_topbottom = =jerk_print -jerk_wall = =jerk_print -jerk_wall_0 = =jerk_wall -jerk_wall_x = =jerk_wall -jerk_layer_0 = 5 acceleration_print = 4000 acceleration_wall = 2000 diff --git a/resources/qml/ColorDialog.qml b/resources/qml/ColorDialog.qml index 49adcf0cca..e5216a3404 100644 --- a/resources/qml/ColorDialog.qml +++ b/resources/qml/ColorDialog.qml @@ -29,7 +29,7 @@ UM.Dialog // the size of the dialog ourselves. // Ugly workaround for windows having overlapping elements due to incorrect dialog width minimumWidth: content.width + (Qt.platform.os == "windows" ? 4 * margin : 2 * margin) - minimumHeight: content.height + buttonArea.height + (Qt.platform.os == "windows" ? 5 * margin : 3 * margin) + minimumHeight: content.height + footer.height + (Qt.platform.os == "windows" ? 5 * margin : 3 * margin) property alias color: colorInput.text property var swatchColors: [ diff --git a/resources/qml/MachineSettings/GcodeTextArea.qml b/resources/qml/MachineSettings/GcodeTextArea.qml index 7791e169c2..d4bc58cdc4 100644 --- a/resources/qml/MachineSettings/GcodeTextArea.qml +++ b/resources/qml/MachineSettings/GcodeTextArea.qml @@ -67,6 +67,8 @@ UM.TooltipArea font: UM.Theme.getFont("fixed") renderType: Text.NativeRendering color: UM.Theme.getColor("text") + selectionColor: UM.Theme.getColor("text_selection") + selectedTextColor: UM.Theme.getColor("text") wrapMode: TextEdit.NoWrap onActiveFocusChanged: @@ -91,7 +93,7 @@ UM.TooltipArea } if (gcodeTextArea.hovered || gcodeTextArea.activeFocus) { - return UM.Theme.getColor("border_main") + return UM.Theme.getColor("text_field_border_active") } return UM.Theme.getColor("border_field_light") } diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg index 56320f0b73..79e51d0130 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg @@ -39,8 +39,7 @@ jerk_topbottom = =math.ceil(jerk_print * 5 / 25) jerk_wall = =math.ceil(jerk_print * 10 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg index 5e84e3f167..12b5d00005 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg @@ -29,18 +29,8 @@ cool_min_speed = 20 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' infill_wipe_dist = 0 -jerk_enabled = True -jerk_layer_0 = =jerk_topbottom -jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) -jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =jerk_topbottom -jerk_topbottom = =math.ceil(jerk_print * 5 / 25) -jerk_wall = =math.ceil(jerk_print * 10 / 25) -jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg index 10cbfab427..96c0b34b82 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg @@ -29,18 +29,8 @@ cool_min_speed = 20 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' infill_wipe_dist = 0 -jerk_enabled = True -jerk_layer_0 = =jerk_topbottom -jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) -jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =jerk_topbottom -jerk_topbottom = =math.ceil(jerk_print * 5 / 25) -jerk_wall = =math.ceil(jerk_print * 10 / 25) -jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg index 161ca2e079..261c2552a8 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg @@ -39,8 +39,7 @@ jerk_topbottom = =math.ceil(jerk_print * 5 / 25) jerk_wall = =math.ceil(jerk_print * 10 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg index e88b527308..c58be35862 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg @@ -29,18 +29,8 @@ cool_min_speed = 20 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic' infill_wipe_dist = 0 -jerk_enabled = True -jerk_layer_0 = =jerk_topbottom -jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) -jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =jerk_topbottom -jerk_topbottom = =math.ceil(jerk_print * 5 / 25) -jerk_wall = =math.ceil(jerk_print * 10 / 25) -jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg index 36d599faf3..f00847c032 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg @@ -39,8 +39,7 @@ jerk_topbottom = =math.ceil(jerk_print * 5 / 25) jerk_wall = =math.ceil(jerk_print * 10 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg index 87784fa7cf..11b1e2e84c 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg @@ -25,6 +25,7 @@ raft_base_line_spacing = 1 raft_interface_line_spacing = 1 raft_interface_line_width = 0.2 raft_surface_line_width = 0.2 +retraction_count_max = 15 retraction_hop_enabled = 0.2 speed_layer_0 = =math.ceil(speed_print * 30 / 40) speed_print = 40 diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg index c49f135c87..b45b7de66e 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg @@ -23,6 +23,7 @@ raft_base_line_spacing = 2 raft_base_line_width = 0.8 raft_interface_line_spacing = 1 raft_margin = 12 +retraction_count_max = 15 retraction_hop_enabled = 0.2 speed_layer_0 = =math.ceil(speed_print * 30 / 40) speed_print = 40 diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg index 3231fc1cef..568e8ed542 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg @@ -26,6 +26,7 @@ raft_interface_line_spacing = 1.2 raft_interface_line_width = 0.57 raft_margin = 15 raft_surface_line_width = 0.5 +retraction_count_max = 15 retraction_hop_enabled = 0.2 speed_layer_0 = =math.ceil(speed_print * 30 / 45) speed_print = 45 diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg index 70aecc029f..4f67fa891d 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg @@ -29,18 +29,8 @@ cool_min_speed = 20 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0 -jerk_enabled = True -jerk_layer_0 = =jerk_topbottom -jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) -jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =jerk_topbottom -jerk_topbottom = =math.ceil(jerk_print * 5 / 25) -jerk_wall = =math.ceil(jerk_print * 10 / 25) -jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg index 8b28161b09..6c39f15e6d 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg @@ -29,18 +29,8 @@ cool_min_speed = 20 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0 -jerk_enabled = True -jerk_layer_0 = =jerk_topbottom -jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) -jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =jerk_topbottom -jerk_topbottom = =math.ceil(jerk_print * 5 / 25) -jerk_wall = =math.ceil(jerk_print * 10 / 25) -jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg index b1d7adfd0b..578b7615b5 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg @@ -29,18 +29,8 @@ cool_min_speed = 20 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0 -jerk_enabled = True -jerk_layer_0 = =jerk_topbottom -jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) -jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =jerk_topbottom -jerk_topbottom = =math.ceil(jerk_print * 5 / 25) -jerk_wall = =math.ceil(jerk_print * 10 / 25) -jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg index a64996c8f0..d39191f6d5 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg @@ -29,18 +29,8 @@ cool_min_speed = 20 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0 -jerk_enabled = True -jerk_layer_0 = =jerk_topbottom -jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) -jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =jerk_topbottom -jerk_topbottom = =math.ceil(jerk_print * 5 / 25) -jerk_wall = =math.ceil(jerk_print * 10 / 25) -jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg index f3dd14c276..b2c62ba2b4 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg @@ -39,8 +39,7 @@ jerk_topbottom = =math.ceil(jerk_print * 5 / 25) jerk_wall = =math.ceil(jerk_print * 10 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg index 232d74d602..35b5f52e1e 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg @@ -29,18 +29,8 @@ cool_min_speed = 20 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0 -jerk_enabled = True -jerk_layer_0 = =jerk_topbottom -jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) -jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =jerk_topbottom -jerk_topbottom = =math.ceil(jerk_print * 5 / 25) -jerk_wall = =math.ceil(jerk_print * 10 / 25) -jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) multiple_mesh_overlap = 0 -retraction_count_max = 12 -retraction_extrusion_window = 1 +retraction_count_max = 15 retraction_hop = 0.15 retraction_hop_enabled = True retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.25_high.inst.cfg index 4371dcf524..169b990d3d 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.25_high.inst.cfg @@ -25,6 +25,7 @@ raft_base_line_spacing = 1 raft_interface_line_spacing = 1 raft_interface_line_width = 0.2 raft_surface_line_width = 0.2 +retraction_count_max = 15 retraction_hop_enabled = 0.2 speed_layer_0 = =math.ceil(speed_print * 30 / 40) speed_print = 40 diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.4_normal.inst.cfg index ecd8c76a50..b822d913b3 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.4_normal.inst.cfg @@ -23,6 +23,7 @@ raft_base_line_spacing = 2 raft_base_line_width = 0.8 raft_interface_line_spacing = 1 raft_margin = 12 +retraction_count_max = 15 retraction_hop_enabled = 0.2 speed_layer_0 = =math.ceil(speed_print * 30 / 40) speed_print = 40 diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.6_fast.inst.cfg index 14844dc216..941f119653 100644 --- a/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus_connect/um2pc_tpu_0.6_fast.inst.cfg @@ -26,6 +26,7 @@ raft_interface_line_spacing = 1.2 raft_interface_line_width = 0.57 raft_margin = 15 raft_surface_line_width = 0.5 +retraction_count_max = 15 retraction_hop_enabled = 0.2 speed_layer_0 = =math.ceil(speed_print * 30 / 45) speed_print = 45 diff --git a/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg index c63858f825..a24b18563d 100644 --- a/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg @@ -12,7 +12,6 @@ material = generic_cpe variant = AA 0.25 [values] -retraction_extrusion_window = 0.5 speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg index c17554a0cc..53bb10c2eb 100644 --- a/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg @@ -21,7 +21,6 @@ cool_min_layer_time_fan_speed_max = 5 cool_min_speed = 5 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 multiple_mesh_overlap = 0 @@ -30,7 +29,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.25_PETG_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_PETG_Normal_Quality.inst.cfg index 36a3e23c27..ce7087bf3a 100644 --- a/resources/quality/ultimaker3/um3_aa0.25_PETG_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.25_PETG_Normal_Quality.inst.cfg @@ -12,7 +12,6 @@ material = generic_petg variant = AA 0.25 [values] -retraction_extrusion_window = 0.5 speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg index 77af8bae1e..f26fcd025f 100644 --- a/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg @@ -31,9 +31,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 45 +retraction_count_max = 15 retraction_extra_prime_amount = 0.2 -retraction_extrusion_window = 6.5 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg index f2b4caf168..30d20139e1 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 layer_height = 0.2 machine_min_cool_heat_time_window = 15 @@ -29,7 +28,6 @@ material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg index addd4790db..e213684360 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 6 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 layer_height = 0.15 machine_min_cool_heat_time_window = 15 @@ -29,7 +28,6 @@ material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg index 3c1baa8640..70c1b4afaa 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 layer_height = 0.06 machine_min_cool_heat_time_window = 15 @@ -31,7 +30,6 @@ material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg index e0c239c536..bd452fc538 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 7 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -30,7 +29,6 @@ material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg index f33132ee5b..0c1224aa2b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg @@ -23,7 +23,6 @@ infill_overlap = 0 infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 layer_height = 0.2 machine_min_cool_heat_time_window = 15 @@ -39,8 +38,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg index 8c02c9c816..1bce358b5d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg @@ -21,7 +21,6 @@ cool_min_speed = 7 infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 layer_height = 0.15 machine_min_cool_heat_time_window = 15 @@ -37,8 +36,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg index 4ff801f4fa..b997f3acff 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg @@ -23,7 +23,6 @@ infill_overlap = 0 infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 layer_height = 0.06 machine_min_cool_heat_time_window = 15 @@ -39,8 +38,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg index 180d96011d..d6181b9207 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg @@ -22,7 +22,6 @@ cool_min_speed = 5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -36,8 +35,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg index 5a49c5d95f..c151870622 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg @@ -38,9 +38,8 @@ prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_amount = 6.5 -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg index 1da161a2fb..7e21bec438 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg @@ -37,9 +37,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg index 52aadd5b2d..c47bfb3c18 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg @@ -21,7 +21,6 @@ cool_min_speed = 2.5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -36,9 +35,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg index e20587931f..227b16db92 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg @@ -16,7 +16,6 @@ cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed cool_min_speed = 7 jerk_print = 25 -jerk_roofing = 1 layer_height_0 = 0.2 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg index b5cc9b7261..9c02ed5200 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_sparse_density = 10 infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 layer_height = 0.2 machine_min_cool_heat_time_window = 15 @@ -36,9 +35,8 @@ material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 1.5 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg index 4e7696c0b3..fe3f453f9c 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_sparse_density = 10 infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 layer_height = 0.15 machine_min_cool_heat_time_window = 15 @@ -37,9 +36,8 @@ material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True retraction_amount = 7 -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 1.5 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg index caed386864..c824bc59ab 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_sparse_density = 10 infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.5 @@ -34,9 +33,8 @@ material_print_temperature_layer_0 = =material_print_temperature + 17 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 1.5 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg index 8fdcd54797..6510c0db81 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg @@ -26,7 +26,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 10 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg index ff729395b9..d37c9aef29 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg @@ -26,7 +26,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 20 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg index 911932c819..2313d3e7f2 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg @@ -26,7 +26,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 15 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg index 53bf19e17b..e68fde0763 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg @@ -30,7 +30,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg index a1cfef6d5f..c0c9e7c48a 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -31,7 +31,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg index 388959da4a..e85db940a5 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -30,7 +30,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index ae1cd2f262..a9adf2e3de 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -16,5 +16,6 @@ brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 skin_overlap = 20 support_brim_enable = True diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index 9652a2f50a..90be6c2b37 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -16,6 +16,7 @@ brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 skin_overlap = 15 support_brim_enable = True support_infill_sparse_thickness = 0.3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index 72cc7dc901..98d9566577 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -15,5 +15,6 @@ variant = BB 0.4 brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 support_brim_enable = True support_infill_sparse_thickness = 0.18 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index e828b94f2e..cc8c3bf10a 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -15,4 +15,5 @@ variant = BB 0.4 brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 support_brim_enable = True diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg index e7c07c73fa..6a54c04e7b 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg @@ -15,4 +15,5 @@ variant = BB 0.8 brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg index bcb92ccefa..7947e3cfe8 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -15,5 +15,6 @@ variant = BB 0.8 brim_replaces_support = False layer_height = 0.4 material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True support_interface_height = 0.9 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg index 3ce14a2ad0..3e2c92bbf6 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -15,6 +15,7 @@ variant = BB 0.8 brim_replaces_support = False layer_height = 0.3 material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True support_infill_sparse_thickness = 0.3 support_interface_height = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_CPE_Normal_Quality.inst.cfg index d875b9c8f3..5ced8748b1 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_CPE_Normal_Quality.inst.cfg @@ -13,7 +13,6 @@ variant = AA 0.25 [values] retraction_combing_max_distance = 50 -retraction_extrusion_window = 0.5 speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg index a3a0073bba..071db69a43 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg @@ -30,7 +30,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_PETG_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_PETG_Normal_Quality.inst.cfg index 516f24dec5..6c3a7e7a81 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_PETG_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_PETG_Normal_Quality.inst.cfg @@ -13,7 +13,6 @@ variant = AA 0.25 [values] retraction_combing_max_distance = 8 -retraction_extrusion_window = 0.5 speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg index d0668b64f6..8ae871f4fe 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg @@ -19,7 +19,6 @@ cool_min_layer_time_fan_speed_max = 5 cool_min_speed = 2.5 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 material_bed_temperature_layer_0 = =material_bed_temperature + 5 @@ -31,9 +30,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 6 +retraction_count_max = 15 retraction_extra_prime_amount = 0.2 -retraction_extrusion_window = 6.5 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Draft_Print.inst.cfg index 0b8555734e..b933ae005b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Draft_Print.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 5 infill_overlap = 0 infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 material_final_print_temperature = =material_print_temperature - 10 @@ -28,7 +27,6 @@ multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True retraction_combing_max_distance = 50 -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Fast_Print.inst.cfg index f3dce95478..526e12bfe0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Fast_Print.inst.cfg @@ -28,7 +28,6 @@ multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True retraction_combing_max_distance = 50 -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_High_Quality.inst.cfg index f895647971..be5d77a69e 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_High_Quality.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 5 infill_overlap = 0 infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -30,7 +29,6 @@ multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True retraction_combing_max_distance = 50 -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Normal_Quality.inst.cfg index bba0f354c9..bc16d73c04 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 7 infill_overlap = 0 infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -30,7 +29,6 @@ multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True retraction_combing_max_distance = 50 -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg index 85d31733e6..5190288662 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg @@ -38,8 +38,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg index a9cdf6336d..5467595bd3 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg @@ -21,7 +21,6 @@ cool_min_speed = 7 infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -36,8 +35,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg index ff5d6f4f7c..c694b5db79 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg @@ -38,8 +38,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg index a61e50f280..5287ce24c4 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg @@ -36,8 +36,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PLA_VeryDraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PLA_VeryDraft_Print.inst.cfg index 0ce09d5812..62a5516b2c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PLA_VeryDraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PLA_VeryDraft_Print.inst.cfg @@ -33,7 +33,6 @@ material_shrinkage_percentage_z = 100.1 prime_tower_enable = False retraction_prime_speed = =retraction_speed -skin_edge_support_thickness = =0.9 if infill_sparse_density < 30 else 0 skin_overlap = 20 top_bottom_thickness = 0.9 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg index 75eba5b995..88089479ad 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg @@ -21,7 +21,6 @@ cool_min_speed = 2.5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -36,9 +35,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg index fdf769ed38..dd35987ced 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg @@ -20,7 +20,6 @@ cool_min_speed = 2.5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -35,9 +34,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg index 821e1f4840..5eff4b3248 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg @@ -21,7 +21,6 @@ cool_min_speed = 2.5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 @@ -37,9 +36,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print.inst.cfg index a9e32a5283..c3837c7850 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPLA_Draft_Print.inst.cfg @@ -16,7 +16,6 @@ cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed cool_min_speed = 7 jerk_print = 25 -jerk_roofing = 1 layer_height_0 = 0.2 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPLA_VeryDraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPLA_VeryDraft_Print.inst.cfg index 4bf6623cf6..50206224a9 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPLA_VeryDraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPLA_VeryDraft_Print.inst.cfg @@ -33,7 +33,6 @@ material_shrinkage_percentage_z = 100.1 prime_tower_enable = False retraction_prime_speed = =retraction_speed -skin_edge_support_thickness = =0.9 if infill_sparse_density < 30 else 0 skin_overlap = 20 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg index 566f474dc4..90a68d134e 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg @@ -22,9 +22,7 @@ infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_sparse_density = 10 infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 - machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 @@ -36,9 +34,8 @@ material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg index e968507192..d59d5c18f7 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_sparse_density = 10 infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 @@ -36,9 +35,8 @@ material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg index ca8410766a..c0445e739c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -35,9 +35,8 @@ material_print_temperature_layer_0 = =material_print_temperature + 17 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg index 4572e3fabc..14a7451bcc 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg @@ -26,7 +26,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 10 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg index 596f34d7b9..c466b76c1c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg @@ -26,7 +26,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 20 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg index 4f1a91337a..804149a584 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg @@ -25,7 +25,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 15 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg index dc4858e463..ab71a4c37e 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg @@ -28,7 +28,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg index d2e23c81a9..ac2181d373 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -29,7 +29,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg index 3d4076c08c..e4bb128599 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -28,7 +28,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Draft_Print.inst.cfg index afb19f1769..94802d49fc 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Draft_Print.inst.cfg @@ -16,5 +16,6 @@ brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 skin_overlap = 20 support_brim_enable = True diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Fast_Print.inst.cfg index 6b1cef8991..bafe3e88d6 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Fast_Print.inst.cfg @@ -16,6 +16,7 @@ brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 skin_overlap = 15 support_brim_enable = True support_infill_sparse_thickness = 0.3 diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_High_Quality.inst.cfg index 0a9a37ca05..c1b9556636 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_High_Quality.inst.cfg @@ -15,5 +15,6 @@ variant = BB 0.4 brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 support_brim_enable = True support_infill_sparse_thickness = 0.18 diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Normal_Quality.inst.cfg index a899959d98..0a4e11c158 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -15,4 +15,5 @@ variant = BB 0.4 brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 support_brim_enable = True diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Verydraft_Print.inst.cfg index 0cd6094bbc..8bd0e5d375 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.4_PVA_Verydraft_Print.inst.cfg @@ -15,6 +15,7 @@ is_experimental = True [values] brim_replaces_support = False material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True support_infill_sparse_thickness = 0.3 support_interface_height = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Draft_Print.inst.cfg index 388ebeff72..587b7b29cd 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Draft_Print.inst.cfg @@ -15,4 +15,5 @@ variant = BB 0.8 brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Superdraft_Print.inst.cfg index e9030819ea..c1cbac87a0 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -14,5 +14,6 @@ variant = BB 0.8 [values] brim_replaces_support = False material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True support_interface_height = 0.9 diff --git a/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Verydraft_Print.inst.cfg index c35737bb97..b5e22bef62 100644 --- a/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -14,6 +14,7 @@ variant = BB 0.8 [values] brim_replaces_support = False material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True support_infill_sparse_thickness = 0.3 support_interface_height = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg index 52499d000c..f895450c0a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg @@ -13,7 +13,6 @@ variant = AA 0.25 [values] retraction_combing_max_distance = 50 -retraction_extrusion_window = 0.5 speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg index e77d2a2dd9..ec8409137c 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg @@ -21,7 +21,6 @@ cool_min_layer_time_fan_speed_max = 5 cool_min_speed = 5 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 multiple_mesh_overlap = 0 @@ -30,7 +29,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_PETG_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_PETG_Normal_Quality.inst.cfg index 7a3b50c550..76c8372166 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_PETG_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_PETG_Normal_Quality.inst.cfg @@ -13,7 +13,6 @@ variant = AA 0.25 [values] retraction_combing_max_distance = 8 -retraction_extrusion_window = 0.5 speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg index 85a608c293..df673c641c 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg @@ -19,7 +19,6 @@ cool_min_layer_time_fan_speed_max = 5 cool_min_speed = 2.5 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 material_bed_temperature_layer_0 = =material_bed_temperature + 5 @@ -31,9 +30,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 6 +retraction_count_max = 15 retraction_extra_prime_amount = 0.2 -retraction_extrusion_window = 6.5 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg index 1d12f8f8d9..fc2156acf5 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 5 infill_overlap = 0 infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 material_final_print_temperature = =material_print_temperature - 10 @@ -28,7 +27,6 @@ multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True retraction_combing_max_distance = 50 -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg index 12db110133..9a17e20047 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 6 infill_overlap = 0 infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 material_final_print_temperature = =material_print_temperature - 10 @@ -28,7 +27,6 @@ multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True retraction_combing_max_distance = 50 -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg index eb4db520bd..1511dd698e 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg @@ -17,7 +17,6 @@ cool_min_speed = 5 infill_overlap = 0 infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -30,7 +29,6 @@ multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True retraction_combing_max_distance = 50 -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality.inst.cfg index 71102926d8..881e89d91b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -16,7 +16,6 @@ cool_fan_speed_max = 50 cool_min_speed = 7 infill_overlap = 0 infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -29,7 +28,6 @@ multiple_mesh_overlap = 0 prime_tower_enable = True prime_tower_wipe_enabled = True retraction_combing_max_distance = 50 -retraction_extrusion_window = 1 retraction_hop = 0.2 retraction_hop_enabled = False retraction_hop_only_when_collides = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg index b8a6fbc38a..bdfd6aadea 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg @@ -17,13 +17,11 @@ material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 retraction_combing_max_distance = 50 retraction_prime_speed = =retraction_speed -skin_edge_support_thickness = =0.8 if infill_sparse_density < 30 else 0 skin_overlap = 20 speed_print = 60 speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) -top_thickness = =0.8 if infill_sparse_density < 30 and skin_edge_support_thickness == 0.8 else top_bottom_thickness infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' speed_infill = =math.ceil(speed_print * 50 / 60) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg index d9bc39705b..1e2f58a3c3 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -37,8 +36,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg index 03999c27e1..ce5d8a5c89 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg @@ -21,7 +21,6 @@ cool_min_speed = 7 infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -36,8 +35,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg index de05aa5cac..99d5d7ef1d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg @@ -23,7 +23,6 @@ infill_overlap = 0 infill_overlap_mm = =0 if infill_sparse_density > 80 else 0.05 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -38,8 +37,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg index 658e118686..15b7a619e8 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg @@ -22,7 +22,6 @@ cool_min_speed = 5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 @@ -36,8 +35,6 @@ prime_tower_enable = True prime_tower_wipe_enabled = True raft_airgap = 0.25 raft_interface_thickness = =max(layer_height * 1.5, 0.225) -retraction_count_max = 80 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg index 78eda2718b..bedfaa177a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg @@ -18,14 +18,12 @@ material_final_print_temperature = =material_print_temperature - 5 material_shrinkage_percentage_xy = 100.5 material_shrinkage_percentage_z = 100.1 retraction_combing_max_distance = 8 -skin_edge_support_thickness = =0.8 if infill_sparse_density < 30 else 0 skin_overlap = 20 speed_print = 60 speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) -top_thickness = =0.8 if infill_sparse_density < 30 and skin_edge_support_thickness == 0.8 else top_bottom_thickness infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' speed_infill = =math.ceil(speed_print * 50 / 60) initial_layer_line_width_factor = 100 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg index a9e107d887..e85891cdc8 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg @@ -22,7 +22,6 @@ material_shrinkage_percentage_xy = 100.2 material_shrinkage_percentage_z = 100.1 prime_tower_enable = False retraction_prime_speed = =retraction_speed -skin_edge_support_thickness = =0.8 if infill_sparse_density < 30 else 0 skin_overlap = 20 speed_layer_0 = 10 speed_topbottom = =math.ceil(speed_print * 40 / 70) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_VeryDraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_VeryDraft_Print.inst.cfg index 5087857b86..74161daa57 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_VeryDraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_VeryDraft_Print.inst.cfg @@ -33,7 +33,6 @@ material_shrinkage_percentage_z = 100.1 prime_tower_enable = False retraction_prime_speed = =retraction_speed -skin_edge_support_thickness = =0.9 if infill_sparse_density < 30 else 0 skin_overlap = 20 top_bottom_thickness = 0.9 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg index 5da2b96e2d..4ee2ec2f4e 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg @@ -21,9 +21,7 @@ cool_min_speed = 2.5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 - machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 @@ -37,9 +35,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg index cc5a911809..bd01a9e7e6 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg @@ -21,9 +21,7 @@ cool_min_speed = 2.5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 - machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 @@ -37,9 +35,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg index 82646132a0..9cc83fa123 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg @@ -21,7 +21,6 @@ cool_min_speed = 2.5 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral' infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 @@ -37,9 +36,8 @@ multiple_mesh_overlap = 0 prime_tower_enable = False prime_tower_size = 16 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print.inst.cfg index e102ff7ac3..535b85955a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print.inst.cfg @@ -16,7 +16,6 @@ cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed cool_min_speed = 7 jerk_print = 25 -jerk_roofing = 1 layer_height_0 = 0.2 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_VeryDraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_VeryDraft_Print.inst.cfg index d3637ca861..48f65ed4da 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_VeryDraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_VeryDraft_Print.inst.cfg @@ -33,7 +33,6 @@ material_shrinkage_percentage_z = 100.1 prime_tower_enable = False retraction_prime_speed = =retraction_speed -skin_edge_support_thickness = =0.9 if infill_sparse_density < 30 else 0 skin_overlap = 20 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg index 8778abc64e..dd4fe11a2c 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_sparse_density = 10 infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 @@ -36,9 +35,8 @@ material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg index 1725470319..346bb31931 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_sparse_density = 10 infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 @@ -36,9 +35,8 @@ material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg index 782b9d896a..e8617e309f 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d' infill_sparse_density = 10 infill_wipe_dist = 0.1 -jerk_enabled = True jerk_print = 25 machine_min_cool_heat_time_window = 15 @@ -35,9 +34,8 @@ material_print_temperature_layer_0 = =material_print_temperature + 17 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.8 -retraction_extrusion_window = 1 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg index 1d2d0c68fd..aa86db8c84 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg @@ -26,7 +26,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 10 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg index 7026544931..4bf0036315 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg @@ -26,7 +26,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 20 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg index 98c8df6a6a..69a33b38f8 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg @@ -25,7 +25,7 @@ prime_tower_enable = True prime_tower_flow = 100 prime_tower_min_volume = 15 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 retraction_min_travel = 1.5 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg index f6d8169fe8..9301d7d69f 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg @@ -28,7 +28,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg index 561acf9fbc..f410bd8c85 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -29,7 +29,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg index fa432061bb..3df2f2ca0e 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -28,7 +28,7 @@ multiple_mesh_overlap = 0.2 prime_tower_enable = True prime_tower_flow = 100 retract_at_layer_change = False -retraction_count_max = 12 +retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg index ef24c27b5a..b4ebe1f4e9 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg @@ -16,5 +16,6 @@ brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 skin_overlap = 20 support_brim_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg index d630c3bd3a..5f14866677 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg @@ -16,6 +16,7 @@ brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 skin_overlap = 15 support_brim_enable = True support_infill_sparse_thickness = 0.3 diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg index 8d5448aafb..9e35615f14 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg @@ -15,5 +15,6 @@ variant = BB 0.4 brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 support_brim_enable = True support_infill_sparse_thickness = 0.18 diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg index cf4c07a411..b1774d2c27 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg @@ -15,4 +15,5 @@ variant = BB 0.4 brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +retraction_count_max = 5 support_brim_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Verydraft_Print.inst.cfg index e7a9936864..bd85b127a7 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Verydraft_Print.inst.cfg @@ -15,6 +15,7 @@ is_experimental = True [values] brim_replaces_support = False material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True support_infill_sparse_thickness = 0.3 support_interface_height = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg index 979295a38d..037e813e7f 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg @@ -15,4 +15,5 @@ variant = BB 0.8 brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg index ffdc9c9d26..9a8a17da20 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -14,5 +14,6 @@ variant = BB 0.8 [values] brim_replaces_support = False material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True support_interface_height = 0.9 diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg index 871af303ed..4229ad1758 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -14,6 +14,7 @@ variant = BB 0.8 [values] brim_replaces_support = False material_standby_temperature = 100 +retraction_count_max = 5 support_brim_enable = True support_infill_sparse_thickness = 0.3 support_interface_height = 1.2 diff --git a/resources/texts/change_log.txt b/resources/texts/change_log.txt index 3051b7c23e..33ac01743d 100644 --- a/resources/texts/change_log.txt +++ b/resources/texts/change_log.txt @@ -75,6 +75,7 @@ Ultimaker Cura 5.0 is now compatible with Apple M1. - Fixed a bug where travels would go through the model with printing PVA - Fixed a bug where Concentric ironing was affecting the print quality - Fixed a bug where there were missing infill layers +- Fixed AppRun permissions, contributed by probonopd * Printer definitions, profiles and materials: - Added Atom 3 and Atom 3 Lite printer definitions, contributed by Daniel-Kurth diff --git a/resources/variants/ultimaker3_aa0.25.inst.cfg b/resources/variants/ultimaker3_aa0.25.inst.cfg index 2d59246c4a..1763fa9dfd 100644 --- a/resources/variants/ultimaker3_aa0.25.inst.cfg +++ b/resources/variants/ultimaker3_aa0.25.inst.cfg @@ -26,8 +26,6 @@ raft_interface_thickness = =layer_height * 1.5 raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 -retraction_count_max = 25 -retraction_extrusion_window = 1 retraction_min_travel = 0.7 retraction_prime_speed = =retraction_speed skin_overlap = 15 diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index ead9c3b87a..a9189830ed 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -17,7 +17,6 @@ default_material_print_temperature = 200 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 layer_height = 0.2 machine_min_cool_heat_time_window = 15 @@ -34,8 +33,6 @@ prime_tower_enable = False prime_tower_wipe_enabled = True retract_at_layer_change = =not magic_spiralize retraction_amount = 6.5 -retraction_count_max = 25 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 diff --git a/resources/variants/ultimaker3_aa04.inst.cfg b/resources/variants/ultimaker3_aa04.inst.cfg index d82cca6b01..bf9e8592d6 100644 --- a/resources/variants/ultimaker3_aa04.inst.cfg +++ b/resources/variants/ultimaker3_aa04.inst.cfg @@ -23,7 +23,6 @@ raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 retraction_amount = 6.5 -retraction_count_max = 25 retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed skin_overlap = 15 diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index 09706598ab..148d621a21 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -22,11 +22,7 @@ gradual_support_infill_steps = 2 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 -jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) -jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) -jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_heat_up_speed = 1.5 @@ -50,8 +46,6 @@ raft_margin = 10 raft_speed = 25 raft_surface_layers = 1 retraction_amount = 4.5 -retraction_count_max = 15 -retraction_extrusion_window = =retraction_amount retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 3 diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index 60dfc44e8c..7465a9c802 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -15,9 +15,6 @@ acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500) cool_fan_speed_max = =cool_fan_speed gradual_support_infill_steps = 2 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =math.ceil(jerk_support * 10 / 15) -jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 @@ -25,8 +22,6 @@ raft_base_speed = 20 raft_interface_speed = 20 raft_speed = 25 retraction_amount = 4.5 -retraction_count_max = 20 -retraction_extrusion_window = =retraction_amount retraction_min_travel = =3 * line_width speed_layer_0 = 20 speed_prime_tower = =math.ceil(speed_print * 10 / 35) diff --git a/resources/variants/ultimaker3_extended_aa0.25.inst.cfg b/resources/variants/ultimaker3_extended_aa0.25.inst.cfg index d6f375932e..ac7aa996c7 100644 --- a/resources/variants/ultimaker3_extended_aa0.25.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.25.inst.cfg @@ -26,8 +26,6 @@ raft_interface_thickness = =layer_height * 1.5 raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 -retraction_count_max = 25 -retraction_extrusion_window = 1 retraction_min_travel = 0.7 retraction_prime_speed = =retraction_speed skin_overlap = 15 diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index df7e9486a2..e9c918a48e 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -17,7 +17,6 @@ default_material_print_temperature = 200 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 layer_height = 0.2 machine_min_cool_heat_time_window = 15 @@ -34,8 +33,6 @@ prime_tower_enable = False prime_tower_wipe_enabled = True retract_at_layer_change = True retraction_amount = 6.5 -retraction_count_max = 25 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 diff --git a/resources/variants/ultimaker3_extended_aa04.inst.cfg b/resources/variants/ultimaker3_extended_aa04.inst.cfg index f95c820780..777f5a3a19 100644 --- a/resources/variants/ultimaker3_extended_aa04.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa04.inst.cfg @@ -23,7 +23,6 @@ raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 retraction_amount = 6.5 -retraction_count_max = 25 retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed skin_overlap = 15 diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index b50c9cc81b..ed95e4b44a 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -22,11 +22,7 @@ gradual_support_infill_steps = 2 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 -jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) -jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) -jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_heat_up_speed = 1.5 @@ -50,8 +46,6 @@ raft_margin = 10 raft_speed = 25 raft_surface_layers = 1 retraction_amount = 4.5 -retraction_count_max = 15 -retraction_extrusion_window = =retraction_amount retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 3 diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index 798685946f..7ec5df9128 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -15,9 +15,6 @@ acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500) cool_fan_speed_max = =cool_fan_speed gradual_support_infill_steps = 2 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =math.ceil(jerk_support * 10 / 15) -jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 @@ -25,8 +22,6 @@ raft_base_speed = 20 raft_interface_speed = 20 raft_speed = 25 retraction_amount = 4.5 -retraction_count_max = 20 -retraction_extrusion_window = =retraction_amount retraction_min_travel = =3 * line_width speed_layer_0 = 20 speed_prime_tower = =math.ceil(speed_print * 10 / 35) diff --git a/resources/variants/ultimaker_s3_aa0.25.inst.cfg b/resources/variants/ultimaker_s3_aa0.25.inst.cfg index fdbd9f6d3b..14d1e3a7b8 100644 --- a/resources/variants/ultimaker_s3_aa0.25.inst.cfg +++ b/resources/variants/ultimaker_s3_aa0.25.inst.cfg @@ -26,8 +26,7 @@ raft_interface_thickness = =layer_height * 1.5 raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 -retraction_count_max = 25 -retraction_extrusion_window = 1 + retraction_min_travel = 0.7 retraction_prime_speed = =retraction_speed skin_overlap = 15 diff --git a/resources/variants/ultimaker_s3_aa0.8.inst.cfg b/resources/variants/ultimaker_s3_aa0.8.inst.cfg index 237b38fa11..63cfebe329 100644 --- a/resources/variants/ultimaker_s3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s3_aa0.8.inst.cfg @@ -17,7 +17,6 @@ default_material_print_temperature = 200 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 layer_height = 0.2 machine_min_cool_heat_time_window = 15 @@ -34,8 +33,6 @@ prime_tower_enable = False prime_tower_wipe_enabled = True retract_at_layer_change = =not magic_spiralize retraction_amount = 6.5 -retraction_count_max = 25 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 diff --git a/resources/variants/ultimaker_s3_aa04.inst.cfg b/resources/variants/ultimaker_s3_aa04.inst.cfg index 181a237405..f6049f3c6d 100644 --- a/resources/variants/ultimaker_s3_aa04.inst.cfg +++ b/resources/variants/ultimaker_s3_aa04.inst.cfg @@ -23,7 +23,6 @@ raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 retraction_amount = 6.5 -retraction_count_max = 25 retraction_min_travel = =line_width * 2 skin_overlap = 15 speed_print = 70 diff --git a/resources/variants/ultimaker_s3_bb0.8.inst.cfg b/resources/variants/ultimaker_s3_bb0.8.inst.cfg index 56b2d3a5c3..1766d16d8f 100644 --- a/resources/variants/ultimaker_s3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s3_bb0.8.inst.cfg @@ -21,11 +21,7 @@ gradual_support_infill_steps = 2 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 -jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) -jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) -jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_heat_up_speed = 1.5 @@ -49,8 +45,6 @@ raft_margin = 10 raft_speed = 25 raft_surface_layers = 1 retraction_amount = 4.5 -retraction_count_max = 15 -retraction_extrusion_window = =retraction_amount retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 3 diff --git a/resources/variants/ultimaker_s3_bb04.inst.cfg b/resources/variants/ultimaker_s3_bb04.inst.cfg index 2fad997372..835c96b09e 100644 --- a/resources/variants/ultimaker_s3_bb04.inst.cfg +++ b/resources/variants/ultimaker_s3_bb04.inst.cfg @@ -15,9 +15,6 @@ acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 3500) cool_fan_speed_max = =cool_fan_speed gradual_support_infill_steps = 2 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =math.ceil(jerk_support * 10 / 15) -jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 @@ -25,8 +22,6 @@ raft_base_speed = 20 raft_interface_speed = 20 raft_speed = 25 retraction_amount = 4.5 -retraction_count_max = 20 -retraction_extrusion_window = =retraction_amount retraction_min_travel = =3 * line_width speed_layer_0 = 20 speed_prime_tower = =math.ceil(speed_print * 10 / 35) diff --git a/resources/variants/ultimaker_s3_cc04.inst.cfg b/resources/variants/ultimaker_s3_cc04.inst.cfg index f83e60119b..9a5194ad15 100644 --- a/resources/variants/ultimaker_s3_cc04.inst.cfg +++ b/resources/variants/ultimaker_s3_cc04.inst.cfg @@ -22,7 +22,6 @@ raft_interface_thickness = =layer_height * 1.5 raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 -retraction_count_max = 25 retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print diff --git a/resources/variants/ultimaker_s3_cc06.inst.cfg b/resources/variants/ultimaker_s3_cc06.inst.cfg index 2563ca2c11..8a839f040e 100644 --- a/resources/variants/ultimaker_s3_cc06.inst.cfg +++ b/resources/variants/ultimaker_s3_cc06.inst.cfg @@ -22,7 +22,6 @@ raft_interface_thickness = =layer_height * 1.5 raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 -retraction_count_max = 25 retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print diff --git a/resources/variants/ultimaker_s5_aa0.25.inst.cfg b/resources/variants/ultimaker_s5_aa0.25.inst.cfg index c57414f18a..edd2141acc 100644 --- a/resources/variants/ultimaker_s5_aa0.25.inst.cfg +++ b/resources/variants/ultimaker_s5_aa0.25.inst.cfg @@ -26,8 +26,6 @@ raft_interface_thickness = =layer_height * 1.5 raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 -retraction_count_max = 25 -retraction_extrusion_window = 1 retraction_min_travel = 0.7 retraction_prime_speed = =retraction_speed skin_overlap = 15 diff --git a/resources/variants/ultimaker_s5_aa0.8.inst.cfg b/resources/variants/ultimaker_s5_aa0.8.inst.cfg index 6eb4ac8e25..5e55770225 100644 --- a/resources/variants/ultimaker_s5_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s5_aa0.8.inst.cfg @@ -34,8 +34,6 @@ prime_tower_enable = False prime_tower_wipe_enabled = True retract_at_layer_change = =not magic_spiralize retraction_amount = 6.5 -retraction_count_max = 25 -retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 2 diff --git a/resources/variants/ultimaker_s5_aa04.inst.cfg b/resources/variants/ultimaker_s5_aa04.inst.cfg index 8e4b7780f0..8453254625 100644 --- a/resources/variants/ultimaker_s5_aa04.inst.cfg +++ b/resources/variants/ultimaker_s5_aa04.inst.cfg @@ -23,7 +23,6 @@ raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 retraction_amount = 6.5 -retraction_count_max = 25 retraction_min_travel = =line_width * 2 skin_overlap = 15 speed_print = 70 diff --git a/resources/variants/ultimaker_s5_bb0.8.inst.cfg b/resources/variants/ultimaker_s5_bb0.8.inst.cfg index 0c0e162745..8811be723c 100644 --- a/resources/variants/ultimaker_s5_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s5_bb0.8.inst.cfg @@ -21,11 +21,7 @@ gradual_support_infill_steps = 2 infill_overlap = 0 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_wipe_dist = 0 -jerk_enabled = True jerk_print = 25 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =math.ceil(jerk_support * 10 / 15) -jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_heat_up_speed = 1.5 @@ -49,8 +45,6 @@ raft_margin = 10 raft_speed = 25 raft_surface_layers = 1 retraction_amount = 4.5 -retraction_count_max = 15 -retraction_extrusion_window = =retraction_amount retraction_hop = 2 retraction_hop_only_when_collides = True retraction_min_travel = =line_width * 3 diff --git a/resources/variants/ultimaker_s5_bb04.inst.cfg b/resources/variants/ultimaker_s5_bb04.inst.cfg index 90c19685ba..4b7c64f635 100644 --- a/resources/variants/ultimaker_s5_bb04.inst.cfg +++ b/resources/variants/ultimaker_s5_bb04.inst.cfg @@ -15,9 +15,6 @@ acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 3500) cool_fan_speed_max = =cool_fan_speed gradual_support_infill_steps = 2 -jerk_support = =math.ceil(jerk_print * 15 / 25) -jerk_support_interface = =math.ceil(jerk_support * 10 / 15) -jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 @@ -25,8 +22,6 @@ raft_base_speed = 20 raft_interface_speed = 20 raft_speed = 25 retraction_amount = 4.5 -retraction_count_max = 20 -retraction_extrusion_window = =retraction_amount retraction_min_travel = =3 * line_width speed_layer_0 = 20 speed_prime_tower = =math.ceil(speed_print * 10 / 35) diff --git a/resources/variants/ultimaker_s5_cc04.inst.cfg b/resources/variants/ultimaker_s5_cc04.inst.cfg index 356df76f2e..ac5420f127 100644 --- a/resources/variants/ultimaker_s5_cc04.inst.cfg +++ b/resources/variants/ultimaker_s5_cc04.inst.cfg @@ -22,7 +22,6 @@ raft_interface_thickness = =layer_height * 1.5 raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 -retraction_count_max = 25 retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print diff --git a/resources/variants/ultimaker_s5_cc06.inst.cfg b/resources/variants/ultimaker_s5_cc06.inst.cfg index 027274bca5..0d27f9cdce 100644 --- a/resources/variants/ultimaker_s5_cc06.inst.cfg +++ b/resources/variants/ultimaker_s5_cc06.inst.cfg @@ -22,7 +22,6 @@ raft_interface_thickness = =layer_height * 1.5 raft_jerk = =jerk_print raft_margin = 15 raft_surface_layers = 2 -retraction_count_max = 25 retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print |