From 8cc4063160101e5242f783316d67cb47a5e16da5 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 12 Oct 2018 12:11:30 +0200 Subject: [PATCH 01/18] feat: option to specify the very bottom thickness --- resources/definitions/fdmprinter.def.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index efa6b9a78c..83c0b88088 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1176,6 +1176,18 @@ "value": "999999 if infill_sparse_density == 100 else math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4))", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true + }, + "initial_bottom_layers": + { + "label": "Initial Bottom Layers", + "description": "The number of bottom layers. When calculated by the bottom thickness, this value is rounded to a whole number.", + "minimum_value": "0", + "minimum_value_warning": "2", + "default_value": 6, + "type": "int", + "value": "bottom_layers", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true } } } From 8322a36548c52308db86efc4a2a44b78b8e63272 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Wed, 16 Oct 2019 16:59:52 +0200 Subject: [PATCH 02/18] Fix some QML warnings in the MaterialsPage --- .../Materials/MaterialsBrandSection.qml | 13 ++++------ .../Preferences/Materials/MaterialsSlot.qml | 2 ++ .../Materials/MaterialsTypeSection.qml | 24 +++++++------------ 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/resources/qml/Preferences/Materials/MaterialsBrandSection.qml b/resources/qml/Preferences/Materials/MaterialsBrandSection.qml index 487c87f07c..5dd68c426f 100644 --- a/resources/qml/Preferences/Materials/MaterialsBrandSection.qml +++ b/resources/qml/Preferences/Materials/MaterialsBrandSection.qml @@ -10,6 +10,8 @@ import QtQuick.Dialogs 1.2 import UM 1.2 as UM import Cura 1.0 as Cura +// An expandable list of materials. Includes both the header (this file) and the items (brandMaterialList) + Item { id: brand_section @@ -50,9 +52,8 @@ Item verticalAlignment: Text.AlignVCenter leftPadding: (UM.Theme.getSize("default_margin").width / 2) | 0 } - Button + Item { - text: "" implicitWidth: UM.Theme.getSize("favorites_button").width implicitHeight: UM.Theme.getSize("favorites_button").height UM.RecolorImage @@ -67,10 +68,6 @@ Item color: "black" source: brand_section.expanded ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left") } - style: ButtonStyle - { - background: Item { } - } } } MouseArea @@ -99,7 +96,7 @@ Item id: brandMaterialList anchors.top: brand_header.bottom width: parent.width - anchors.left: parent.left + anchors.left: parent ? parent.left : undefined height: brand_section.expanded ? childrenRect.height : 0 visible: brand_section.expanded @@ -109,7 +106,7 @@ Item delegate: Loader { id: loader - width: parent.width + width: parent ? parent.width : 0 property var element: model sourceComponent: hasMaterialTypes ? materialsTypeSection : materialSlot } diff --git a/resources/qml/Preferences/Materials/MaterialsSlot.qml b/resources/qml/Preferences/Materials/MaterialsSlot.qml index c6691460cf..81bb8759ff 100644 --- a/resources/qml/Preferences/Materials/MaterialsSlot.qml +++ b/resources/qml/Preferences/Materials/MaterialsSlot.qml @@ -10,6 +10,8 @@ import QtQuick.Dialogs 1.2 import UM 1.2 as UM import Cura 1.0 as Cura +// A single material row, typically used in a MaterialsBrandSection + Rectangle { id: materialSlot diff --git a/resources/qml/Preferences/Materials/MaterialsTypeSection.qml b/resources/qml/Preferences/Materials/MaterialsTypeSection.qml index 3c36e12651..07630a83b4 100644 --- a/resources/qml/Preferences/Materials/MaterialsTypeSection.qml +++ b/resources/qml/Preferences/Materials/MaterialsTypeSection.qml @@ -20,8 +20,8 @@ Item property var expanded: materialList.expandedTypes.indexOf(materialBrand + "_" + materialName) > -1 property var colorsModel: materialType != null ? materialType.colors: null height: childrenRect.height - width: parent.width - anchors.left: parent.left + width: parent ? parent.width :undefined + anchors.left: parent ? parent.left : undefined Rectangle { id: material_type_header_background @@ -55,7 +55,7 @@ Item leftPadding: UM.Theme.getSize("default_margin").width anchors { - left: parent.left + left: parent ? parent.left : undefined } Label { @@ -65,33 +65,25 @@ Item id: material_type_name verticalAlignment: Text.AlignVCenter } - Button + Item // this one causes lots of warnings { - text: "" implicitWidth: UM.Theme.getSize("favorites_button").width implicitHeight: UM.Theme.getSize("favorites_button").height UM.RecolorImage { anchors { - verticalCenter: parent.verticalCenter - horizontalCenter: parent.horizontalCenter + verticalCenter: parent ? parent.verticalCenter : undefined + horizontalCenter: parent ? parent.horizontalCenter : undefined } width: UM.Theme.getSize("standard_arrow").width height: UM.Theme.getSize("standard_arrow").height color: "black" source: material_type_section.expanded ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left") } - style: ButtonStyle - { - background: Rectangle - { - anchors.fill: parent - color: "transparent" - } - } + } } - MouseArea + MouseArea // causes lots of warnings { anchors.fill: material_type_header onPressed: From 3709cfa4edcd038fe36f3ad58c05f5072727d840 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Thu, 17 Oct 2019 15:54:03 +0200 Subject: [PATCH 03/18] Add tooltips for intent profiles to the Recommended Quality panel. The description is optional. Tooltip will not show if no description is set CURA-6853 --- cura/Machines/Models/IntentCategoryModel.py | 39 ++++++++++++++----- cura/Settings/MachineManager.py | 5 ++- .../RecommendedQualityProfileSelector.qml | 19 +++++++++ 3 files changed, 51 insertions(+), 12 deletions(-) diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py index d7d1ee2710..0268d067a9 100644 --- a/cura/Machines/Models/IntentCategoryModel.py +++ b/cura/Machines/Models/IntentCategoryModel.py @@ -3,7 +3,7 @@ from PyQt5.QtCore import Qt import collections -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Optional from cura.Machines.Models.IntentModel import IntentModel from cura.Settings.IntentManager import IntentManager @@ -25,16 +25,26 @@ class IntentCategoryModel(ListModel): IntentCategoryRole = Qt.UserRole + 2 WeightRole = Qt.UserRole + 3 QualitiesRole = Qt.UserRole + 4 - - #Translations to user-visible string. Ordered by weight. - #TODO: Create a solution for this name and weight to be used dynamically. - name_translation = collections.OrderedDict() #type: "collections.OrderedDict[str,str]" - name_translation["default"] = catalog.i18nc("@label", "Default") - name_translation["engineering"] = catalog.i18nc("@label", "Engineering") - name_translation["smooth"] = catalog.i18nc("@label", "Smooth") + DescriptionRole = Qt.UserRole + 5 modelUpdated = pyqtSignal() + # Translations to user-visible string. Ordered by weight. + # TODO: Create a solution for this name and weight to be used dynamically. + _translations = collections.OrderedDict() # type: "collections.OrderedDict[str,Dict[str,Optional[str]]" + _translations["default"] = { + "name": catalog.i18nc("@label", "Default") + } + _translations["engineering"] = { + "name": catalog.i18nc("@label", "Engineering"), + "description": catalog.i18nc("@text", "An profile which is suitable for engineering work") + + } + _translations["smooth"] = { + "name": catalog.i18nc("@label", "Smooth"), + "description": catalog.i18nc("@text", "Ohhh yeah. So tender. So smooth. So Perfect.") + } + ## Creates a new model for a certain intent category. # \param The category to list the intent profiles for. def __init__(self, intent_category: str) -> None: @@ -45,6 +55,7 @@ class IntentCategoryModel(ListModel): self.addRoleName(self.IntentCategoryRole, "intent_category") self.addRoleName(self.WeightRole, "weight") self.addRoleName(self.QualitiesRole, "qualities") + self.addRoleName(self.DescriptionRole, "description") application = cura.CuraApplication.CuraApplication.getInstance() @@ -75,10 +86,18 @@ class IntentCategoryModel(ListModel): qualities = IntentModel() qualities.setIntentCategory(category) result.append({ - "name": self.name_translation.get(category, catalog.i18nc("@label", "Unknown")), + "name": IntentCategoryModel.translation(category, "name", catalog.i18nc("@label", "Unknown")), + "description": IntentCategoryModel.translation(category, "description", None), "intent_category": category, - "weight": list(self.name_translation.keys()).index(category), + "weight": list(self._translations.keys()).index(category), "qualities": qualities }) result.sort(key = lambda k: k["weight"]) self.setItems(result) + + ## Get a display value for a category. See IntenCategoryModel._translations + ## for categories and keys + @staticmethod + def translation(category: str, key: str, default: Optional[str] = None): + display_strings = IntentCategoryModel._translations.get(category, {}) + return display_strings.get(key, default) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 35f3268cce..d1f8cad4b3 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1586,8 +1586,9 @@ class MachineManager(QObject): intent_category = self.activeIntentCategory if intent_category != "default": - intent_display_name = IntentCategoryModel.name_translation.get(intent_category, - catalog.i18nc("@label", "Unknown")) + intent_display_name = IntentCategoryModel.translation(intent_category, + "name", + catalog.i18nc("@label", "Unknown")) display_name = "{intent_name} - {the_rest}".format(intent_name = intent_display_name, the_rest = display_name) diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml index d1f7dd7de2..a75783d096 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml @@ -163,6 +163,25 @@ Item isCheckedFunction: checkedFunction } + + MouseArea // tooltip hover area + { + anchors.fill: parent + hoverEnabled: true + enabled: model.description !== undefined + acceptedButtons: Qt.NoButton // react to hover only, don't steal clicks + + onEntered: + { + print(model.description) + base.showTooltip( + intentCategoryLabel, + Qt.point(-(intentCategoryLabel.x - qualityRow.x) - UM.Theme.getSize("thick_margin").width, 0), + model.description + ) + } + onExited: base.hideTooltip() + } } } From b182830c2157ba3b539c6d92d561e3f9a04ea428 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Thu, 17 Oct 2019 17:17:06 +0200 Subject: [PATCH 04/18] Add tooltips for intent profiles to the Custom Quality panel. The description is optional. Tooltip will not show if no description is set CURA-6853 --- cura/Machines/Models/IntentCategoryModel.py | 2 +- .../Custom/QualitiesWithIntentMenu.qml | 21 ++++++++++++++++++- .../RecommendedQualityProfileSelector.qml | 1 - 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py index 0268d067a9..de909df534 100644 --- a/cura/Machines/Models/IntentCategoryModel.py +++ b/cura/Machines/Models/IntentCategoryModel.py @@ -37,7 +37,7 @@ class IntentCategoryModel(ListModel): } _translations["engineering"] = { "name": catalog.i18nc("@label", "Engineering"), - "description": catalog.i18nc("@text", "An profile which is suitable for engineering work") + "description": catalog.i18nc("@text", "A profile which is suitable for engineering work") } _translations["smooth"] = { diff --git a/resources/qml/PrintSetupSelector/Custom/QualitiesWithIntentMenu.qml b/resources/qml/PrintSetupSelector/Custom/QualitiesWithIntentMenu.qml index c9686a1519..c5a725285c 100644 --- a/resources/qml/PrintSetupSelector/Custom/QualitiesWithIntentMenu.qml +++ b/resources/qml/PrintSetupSelector/Custom/QualitiesWithIntentMenu.qml @@ -70,12 +70,31 @@ Popup { id: headerLabel text: model.name + color: UM.Theme.getColor("text_inactive") renderType: Text.NativeRendering + width: parent.width height: visible ? contentHeight: 0 - enabled: false visible: qualitiesList.visibleChildren.length > 0 anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("default_margin").width + + MouseArea // tooltip hover area + { + anchors.fill: parent + hoverEnabled: true + enabled: model.description !== undefined + acceptedButtons: Qt.NoButton // react to hover only, don't steal clicks + + onEntered: + { + base.showTooltip( + headerLabel, + Qt.point(- UM.Theme.getSize("default_margin").width, 0), + model.description + ) + } + onExited: base.hideTooltip() + } } Column diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml index a75783d096..05e7202f6d 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml @@ -173,7 +173,6 @@ Item onEntered: { - print(model.description) base.showTooltip( intentCategoryLabel, Qt.point(-(intentCategoryLabel.x - qualityRow.x) - UM.Theme.getSize("thick_margin").width, 0), From 915c8e560ca945e419af7bcd5e7a0b2908ffda8c Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Fri, 18 Oct 2019 09:04:00 +0200 Subject: [PATCH 05/18] Fix mypy warning --- cura/Machines/Models/IntentCategoryModel.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py index de909df534..8e7cd0fb5f 100644 --- a/cura/Machines/Models/IntentCategoryModel.py +++ b/cura/Machines/Models/IntentCategoryModel.py @@ -3,7 +3,7 @@ from PyQt5.QtCore import Qt import collections -from typing import TYPE_CHECKING, Optional +from typing import TYPE_CHECKING, Optional, Dict from cura.Machines.Models.IntentModel import IntentModel from cura.Settings.IntentManager import IntentManager @@ -31,7 +31,7 @@ class IntentCategoryModel(ListModel): # Translations to user-visible string. Ordered by weight. # TODO: Create a solution for this name and weight to be used dynamically. - _translations = collections.OrderedDict() # type: "collections.OrderedDict[str,Dict[str,Optional[str]]" + _translations = collections.OrderedDict() # type: "collections.OrderedDict[str,Dict[str,Optional[str]]]" _translations["default"] = { "name": catalog.i18nc("@label", "Default") } From 15bdf0fa1c16ae3f45c97c7ef91fa3c97787e38d Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 18 Oct 2019 14:00:16 +0200 Subject: [PATCH 06/18] Change the description of 'Initial Bottom Layers'. part of CURA-5918 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 8f115c2ed2..5f43cb0bfd 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1194,7 +1194,7 @@ "initial_bottom_layers": { "label": "Initial Bottom Layers", - "description": "The number of bottom layers. When calculated by the bottom thickness, this value is rounded to a whole number.", + "description": "The number of initial bottom layers, from the build-plate upwards. When calculated by the bottom thickness, this value is rounded to a whole number.", "minimum_value": "0", "minimum_value_warning": "2", "default_value": 6, From 25d76aee5ac19d36ce9485be019575b77dbe08ad Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 18 Oct 2019 14:46:44 +0200 Subject: [PATCH 07/18] Workaround: Make the type-checker understand what's going on. --- plugins/CuraEngineBackend/StartSliceJob.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 94f6d3edfa..29a6d8ff30 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -107,7 +107,8 @@ class StartSliceJob(Job): return False # if there are no per-object settings we don't need to check the other settings here - if stack.getTop() is None or not stack.getTop().getAllKeys(): + stack_top = stack.getTop() + if stack_top is None or not stack_top.getAllKeys(): return False for key in stack.getAllKeys(): From 9316df72b3745d9ce55a5e70f9cc1320c0689c36 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 18 Oct 2019 16:45:15 +0200 Subject: [PATCH 08/18] Add test for overriding default_value while there is a value This should not be done anywhere since the default_value won't have any effect then. We disregard CuraEngine's command line method here but that's infeasible with those profiles anyway. Done during Turbo Testing & Tooling. --- tests/Settings/TestDefinitionContainer.py | 71 ++++++++++++++++++++--- 1 file changed, 64 insertions(+), 7 deletions(-) diff --git a/tests/Settings/TestDefinitionContainer.py b/tests/Settings/TestDefinitionContainer.py index 73d4e89d20..0941840a05 100644 --- a/tests/Settings/TestDefinitionContainer.py +++ b/tests/Settings/TestDefinitionContainer.py @@ -1,18 +1,17 @@ # Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +import json # To check files for unnecessarily overridden properties. +import os +import os.path import pytest #This module contains automated tests. +from typing import Any, Dict +import uuid import UM.Settings.ContainerRegistry #To create empty instance containers. import UM.Settings.ContainerStack #To set the container registry the container stacks use. from UM.Settings.DefinitionContainer import DefinitionContainer #To check against the class of DefinitionContainer. - - -import os -import os.path -import uuid - from UM.Resources import Resources Resources.addSearchPath(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "resources"))) @@ -51,4 +50,62 @@ def assertIsDefinitionValid(definition_container, path, file_name): assert metadata[0]["platform"] in all_meshes if "platform_texture" in metadata[0]: - assert metadata[0]["platform_texture"] in all_images \ No newline at end of file + assert metadata[0]["platform_texture"] in all_images + +## Tests whether setting values are not being hidden by parent containers. +# +# When a definition container defines a "default_value" but inherits from a +# definition that defines a "value", the "default_value" is ineffective. This +# test fails on those things. +@pytest.mark.parametrize("file_name", machine_filepaths) +def test_validateOverridingDefaultValue(file_name): + definition_path = os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions", file_name) + with open(definition_path, encoding = "utf-8") as f: + doc = json.load(f) + + if "inherits" not in doc: + return # We only want to check for documents where the inheritance overrides the children. If there's no inheritance, this can't happen so it's fine. + if "overrides" not in doc: + return # No settings are being overridden. No need to check anything. + parent_settings = getInheritedSettings(doc["inherits"]) + for key, val in doc["overrides"].items(): + if "value" in parent_settings[key]: + assert "default_value" not in val, "Unnecessary default_value in {file_name}".format(file_name = file_name) # If there is a value in the parent settings, then the default_value is not effective. + +def getInheritedSettings(definition_id: str) -> Dict[str, Any]: + definition_path = os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions", definition_id + ".def.json") + with open(definition_path, encoding = "utf-8") as f: + doc = json.load(f) + result = {} + + if "inherits" in doc: # Recursive inheritance. + result.update(getInheritedSettings(doc["inherits"])) + if "settings" in doc: + result.update(flattenSettings(doc["settings"])) + if "overrides" in doc: + result = merge_dicts(result, doc["overrides"]) + + return result + +def flattenSettings(settings) -> Dict[str, Any]: + result = {} + for entry, contents in settings.items(): + if "children" in contents: + result.update(flattenSettings(contents["children"])) + del contents["children"] + result[entry] = contents + return result + +def merge_dicts(base: Dict[str, Any], overrides: Dict[str, Any]) -> Dict[str, Any]: + result = {} + result.update(base) + for key, val in overrides.items(): + if key not in result: + result[key] = val + continue + + if hasattr(result[key], "__getitem__") and hasattr(val, "__getitem__"): # Duck typing of dicts. Also works with JSON documents for sure. + result[key] = merge_dicts(result[key], val) + else: + result[key] = val + return result \ No newline at end of file From 76b5f9d37b05cd3a86ac01864c53b9051ad3997c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 18 Oct 2019 16:57:57 +0200 Subject: [PATCH 09/18] Fix testing if JSON elements are mappings Turns out that the JSON objects extend from dict, so this works. Also turns out that strings have a __getitem__. Who knew? Done during Turbo Testing & Tooling. --- tests/Settings/TestDefinitionContainer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Settings/TestDefinitionContainer.py b/tests/Settings/TestDefinitionContainer.py index 0941840a05..3a54fc1bed 100644 --- a/tests/Settings/TestDefinitionContainer.py +++ b/tests/Settings/TestDefinitionContainer.py @@ -104,7 +104,7 @@ def merge_dicts(base: Dict[str, Any], overrides: Dict[str, Any]) -> Dict[str, An result[key] = val continue - if hasattr(result[key], "__getitem__") and hasattr(val, "__getitem__"): # Duck typing of dicts. Also works with JSON documents for sure. + if isinstance(result[key], dict) and isinstance(val, dict): result[key] = merge_dicts(result[key], val) else: result[key] = val From 1d7ad38db2f08379a3a4ebc1393e7b36a54ba59d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 18 Oct 2019 17:00:47 +0200 Subject: [PATCH 10/18] Also name which setting has the dysfunctional override So that it's easier to remove it. Done during Turbo Testing & Tooling. --- tests/Settings/TestDefinitionContainer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Settings/TestDefinitionContainer.py b/tests/Settings/TestDefinitionContainer.py index 3a54fc1bed..fea360f1d2 100644 --- a/tests/Settings/TestDefinitionContainer.py +++ b/tests/Settings/TestDefinitionContainer.py @@ -70,7 +70,7 @@ def test_validateOverridingDefaultValue(file_name): parent_settings = getInheritedSettings(doc["inherits"]) for key, val in doc["overrides"].items(): if "value" in parent_settings[key]: - assert "default_value" not in val, "Unnecessary default_value in {file_name}".format(file_name = file_name) # If there is a value in the parent settings, then the default_value is not effective. + assert "default_value" not in val, "Unnecessary default_value for {key} in {file_name}".format(key = key, file_name = file_name) # If there is a value in the parent settings, then the default_value is not effective. def getInheritedSettings(definition_id: str) -> Dict[str, Any]: definition_path = os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions", definition_id + ".def.json") From 15ea29924a856e4073c41c0665a3c4e6cc5ee092 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 18 Oct 2019 17:02:40 +0200 Subject: [PATCH 11/18] Sort definition files before testing them When going through the list of tests for many printers to fix them, it's then easier to go through the failed list. They will appear in the same order as in my IDE. Just a bit of an ease of life thing without any real cost. Done during Turbo Testing & Tooling. --- tests/Settings/TestDefinitionContainer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Settings/TestDefinitionContainer.py b/tests/Settings/TestDefinitionContainer.py index fea360f1d2..09efc3fcb8 100644 --- a/tests/Settings/TestDefinitionContainer.py +++ b/tests/Settings/TestDefinitionContainer.py @@ -16,7 +16,7 @@ from UM.Resources import Resources Resources.addSearchPath(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "resources"))) -machine_filepaths = os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions")) +machine_filepaths = sorted(os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions"))) all_meshes = os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "meshes")) all_images = os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "images")) From 4a5673746c5e53bbc9cd4265f5c5a0dd3cf1c2c1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 18 Oct 2019 18:38:16 +0200 Subject: [PATCH 12/18] Remove unused default_value overrides These are overrides of default_value while there is a value defined. As such these overrides had no effect at all. Changing them to value can actually change the behaviour of the profile. That is not what the profile author has apparently tested with, so I'm not doing that. I'm just removing the unused data. In the future if we get new definitions the author gets notified of the error so that he may test more effectively. The legacy can't be fixed without re-testing, so I'm leaving that to the authors. Done during Turbo Testing & Tooling. I want to go home for the weekend now... --- resources/definitions/101Hero.def.json | 1 - resources/definitions/3dator.def.json | 7 -- .../definitions/Mark2_for_Ultimaker2.def.json | 12 ---- resources/definitions/abax_pri3.def.json | 24 ------- resources/definitions/abax_pri5.def.json | 24 ------- resources/definitions/abax_titan.def.json | 24 ------- resources/definitions/alfawise_u20.def.json | 21 ------ resources/definitions/alfawise_u30.def.json | 7 -- resources/definitions/bfb.def.json | 9 +-- resources/definitions/bq_hephestos.def.json | 24 ------- resources/definitions/bq_hephestos_2.def.json | 14 +--- .../definitions/bq_hephestos_xl.def.json | 24 ------- resources/definitions/bq_witbox.def.json | 24 ------- resources/definitions/bq_witbox_2.def.json | 36 ---------- .../builder_premium_large.def.json | 4 -- .../builder_premium_medium.def.json | 4 -- .../builder_premium_small.def.json | 4 -- .../cocoon_create_modelmaker.def.json | 18 ----- resources/definitions/creality_cr-x.def.json | 5 +- resources/definitions/creatable_d3.def.json | 6 +- resources/definitions/cubicon_common.def.json | 45 +------------ .../definitions/dagoma_discoeasy200.def.json | 3 - resources/definitions/dagoma_magis.def.json | 3 - resources/definitions/dagoma_neva.def.json | 3 - resources/definitions/delta_go.def.json | 4 -- resources/definitions/deltabot.def.json | 5 -- resources/definitions/deltacomb.def.json | 12 ++-- resources/definitions/easyarts_ares.def.json | 18 ----- resources/definitions/erzay3d.def.json | 40 ----------- resources/definitions/fabtotum.def.json | 4 +- resources/definitions/felixpro2dual.def.json | 2 - resources/definitions/felixtec4dual.def.json | 1 - resources/definitions/flsun_qq_s.def.json | 8 +-- resources/definitions/geeetech_a30.def.json | 11 +--- resources/definitions/gmax15plus.def.json | 5 +- .../definitions/gmax15plus_dual.def.json | 5 +- resources/definitions/helloBEEprusa.def.json | 13 ---- .../definitions/innovo_inventor.def.json | 26 -------- resources/definitions/jgaurora_a1.def.json | 21 ------ resources/definitions/jgaurora_a3s.def.json | 21 ------ resources/definitions/jgaurora_a5.def.json | 21 ------ .../jgaurora_jgmaker_magic.def.json | 21 ------ .../definitions/jgaurora_z_603s.def.json | 23 +------ resources/definitions/julia.def.json | 11 ---- resources/definitions/makeit_pro_l.def.json | 15 ----- resources/definitions/makeit_pro_m.def.json | 15 ----- resources/definitions/maker_starter.def.json | 66 ------------------- .../definitions/makerbotreplicator.def.json | 2 - resources/definitions/malyan_m200.def.json | 2 - .../mankati_fullscale_xt_plus.def.json | 10 +-- resources/definitions/ord.def.json | 3 - resources/definitions/printrbot_play.def.json | 1 - resources/definitions/prusa_i3_mk2.def.json | 3 - .../definitions/punchtec_connect_xl.def.json | 6 -- resources/definitions/rigid3d.def.json | 10 --- resources/definitions/rigid3d_3rdgen.def.json | 8 --- resources/definitions/rigid3d_hobby.def.json | 8 --- resources/definitions/rigid3d_mucit.def.json | 5 -- resources/definitions/rigid3d_zero.def.json | 10 --- resources/definitions/rigid3d_zero2.def.json | 10 +-- resources/definitions/rigidbot.def.json | 22 ------- resources/definitions/rigidbot_big.def.json | 22 ------- resources/definitions/robo_3d_r1.def.json | 12 ---- .../definitions/seemecnc_artemis.def.json | 4 +- resources/definitions/seemecnc_v32.def.json | 4 +- resources/definitions/strateo3d.def.json | 2 +- ...tur3d_discov3ry1_complete_um2plus.def.json | 3 - resources/definitions/tam.def.json | 1 - resources/definitions/tizyx_evy.def.json | 5 -- .../definitions/ubuild-3d_mr_bot_280.def.json | 3 - resources/definitions/ultimaker2.def.json | 3 - .../definitions/ultimaker2_plus.def.json | 3 - resources/definitions/vertex_k8400.def.json | 6 -- .../definitions/vertex_k8400_dual.def.json | 6 -- .../definitions/vertex_nano_k8600.def.json | 6 -- resources/definitions/wanhao_d9.def.json | 2 - resources/definitions/zone3d_printer.def.json | 2 - 77 files changed, 24 insertions(+), 874 deletions(-) diff --git a/resources/definitions/101Hero.def.json b/resources/definitions/101Hero.def.json index a77ea5ed97..d356d15da9 100644 --- a/resources/definitions/101Hero.def.json +++ b/resources/definitions/101Hero.def.json @@ -34,7 +34,6 @@ }, "speed_print": { "default_value": 14 }, "speed_travel": { "value": "speed_print" }, - "speed_infill": { "default_value": 14 }, "speed_wall": { "value": "speed_print * 0.7" }, "speed_topbottom": { "value": "speed_print * 0.7" }, "speed_layer_0": { "value": "speed_print * 0.7" }, diff --git a/resources/definitions/3dator.def.json b/resources/definitions/3dator.def.json index 901ea87510..ac37523379 100644 --- a/resources/definitions/3dator.def.json +++ b/resources/definitions/3dator.def.json @@ -17,15 +17,10 @@ "overrides": { "machine_name": { "default_value": "3Dator" }, - "speed_travel": { "default_value": 120 }, "prime_tower_size": { "default_value": 8.660254037844387 }, "infill_sparse_density": { "default_value": 20 }, - "speed_wall_x": { "default_value": 45 }, - "speed_wall_0": { "default_value": 40 }, - "speed_topbottom": { "default_value": 35 }, "layer_height": { "default_value": 0.2 }, "speed_print": { "default_value": 50 }, - "speed_infill": { "default_value": 60 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, "machine_height": { "default_value": 260 }, @@ -33,8 +28,6 @@ "machine_depth": { "default_value": 170 }, "machine_width": { "default_value": 180 }, "retraction_speed": {"default_value":100}, - "cool_fan_speed_min": {"default_value": 20}, - "cool_fan_speed_max": {"default_value": 70}, "adhesion_type": { "default_value": "none" }, "machine_head_with_fans_polygon": { "default_value": [ diff --git a/resources/definitions/Mark2_for_Ultimaker2.def.json b/resources/definitions/Mark2_for_Ultimaker2.def.json index b02dc78adf..1aca2a3844 100644 --- a/resources/definitions/Mark2_for_Ultimaker2.def.json +++ b/resources/definitions/Mark2_for_Ultimaker2.def.json @@ -79,9 +79,6 @@ "line_width": { "value": "round(machine_nozzle_size * 0.875, 2)" }, - "speed_layer_0": { - "default_value": 20 - }, "speed_support": { "value": "speed_wall_0" }, @@ -107,22 +104,18 @@ "default_value": 25 }, "switch_extruder_retraction_amount": { - "default_value": 0, "value": "retraction_amount", "enabled": false }, "switch_extruder_retraction_speeds": { - "default_value": 25, "value": "retraction_speed", "enabled": false }, "switch_extruder_retraction_speed": { - "default_value": 25, "value": "retraction_retract_speed", "enabled": false }, "switch_extruder_prime_speed": { - "default_value": 25, "value": "retraction_prime_speed", "enabled": false }, @@ -142,11 +135,9 @@ "default_value": "RepRap (Marlin/Sprinter)" }, "machine_start_gcode" : { - "default_value": "", "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \"G21 ;metric values\\nG90 ;absolute positioning\\nM82 ;set extruder to absolute mode\\nM107 ;start with the fan off\\nM200 D0 T0 ;reset filament diameter\\nM200 D0 T1\\nG28 Z0; home all\\nG28 X0 Y0\\nG0 Z20 F2400 ;move the platform to 20mm\\nG92 E0\\nM190 S{material_bed_temperature_layer_0}\\nM109 T0 S{material_standby_temperature, 0}\\nM109 T1 S{material_print_temperature_layer_0, 1}\\nM104 T0 S{material_print_temperature_layer_0, 0}\\nT1 ; move to the 2th head\\nG0 Z20 F2400\\nG92 E-7.0 ;prime distance\\nG1 E0 F45 ;purge nozzle\\nG1 E-5.1 F1500 ; retract\\nG1 X90 Z0.01 F5000 ; move away from the prime poop\\nG1 X50 F9000\\nG0 Z20 F2400\\nT0 ; move to the first head\\nM104 T1 S{material_standby_temperature, 1}\\nG0 Z20 F2400\\nM104 T{initial_extruder_nr} S{material_print_temperature_layer_0, initial_extruder_nr}\\nG92 E-7.0\\nG1 E0 F45 ;purge nozzle\\nG1 X60 Z0.01 F5000 ; move away from the prime poop\\nG1 X20 F9000\\nM400 ;finish all moves\\nG92 E0\\n;end of startup sequence\\n\"" }, "machine_end_gcode" : { - "default_value": "", "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \"G90 ;absolute positioning\\nM104 S0 T0 ;extruder heater off\\nM104 S0 T1\\nM140 S0 ;turn off bed\\nT0 ; move to the first head\\nM107 ;fan off\"" }, "machine_extruder_count": { @@ -158,12 +149,10 @@ }, "acceleration_print": { - "default_value": 2000, "value": "2000" }, "acceleration_travel": { - "default_value": 3000, "value": "acceleration_print if magic_spiralize else 3000" }, "acceleration_layer_0": { "value": "acceleration_topbottom" }, @@ -183,7 +172,6 @@ }, "jerk_travel": { - "default_value": 20, "value": "jerk_print if magic_spiralize else 20" }, "jerk_layer_0": { "value": "jerk_topbottom" }, diff --git a/resources/definitions/abax_pri3.def.json b/resources/definitions/abax_pri3.def.json index 1ab48b865a..529636be90 100644 --- a/resources/definitions/abax_pri3.def.json +++ b/resources/definitions/abax_pri3.def.json @@ -49,33 +49,9 @@ "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { - "default_value": 1 - }, - "material_print_temperature": { - "default_value": 200 - }, - "material_bed_temperature": { - "default_value": 0 - }, "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 70 - }, - "speed_wall": { - "default_value": 25 - }, - "speed_topbottom": { - "default_value": 15 - }, - "speed_travel": { - "default_value": 150 - }, - "speed_layer_0": { - "default_value": 30 - }, "support_enable": { "default_value": true } diff --git a/resources/definitions/abax_pri5.def.json b/resources/definitions/abax_pri5.def.json index 46229ce756..9e4e7e3b20 100644 --- a/resources/definitions/abax_pri5.def.json +++ b/resources/definitions/abax_pri5.def.json @@ -49,33 +49,9 @@ "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { - "default_value": 1 - }, - "material_print_temperature": { - "default_value": 200 - }, - "material_bed_temperature": { - "default_value": 0 - }, "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 70 - }, - "speed_wall": { - "default_value": 25 - }, - "speed_topbottom": { - "default_value": 15 - }, - "speed_travel": { - "default_value": 150 - }, - "speed_layer_0": { - "default_value": 30 - }, "support_enable": { "default_value": true } diff --git a/resources/definitions/abax_titan.def.json b/resources/definitions/abax_titan.def.json index 9f67117d6c..98643df22b 100644 --- a/resources/definitions/abax_titan.def.json +++ b/resources/definitions/abax_titan.def.json @@ -49,33 +49,9 @@ "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { - "default_value": 1 - }, - "material_print_temperature": { - "default_value": 200 - }, - "material_bed_temperature": { - "default_value": 0 - }, "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 70 - }, - "speed_wall": { - "default_value": 25 - }, - "speed_topbottom": { - "default_value": 15 - }, - "speed_travel": { - "default_value": 150 - }, - "speed_layer_0": { - "default_value": 30 - }, "support_enable": { "default_value": true } diff --git a/resources/definitions/alfawise_u20.def.json b/resources/definitions/alfawise_u20.def.json index 748bf8797a..4da42fdb1d 100644 --- a/resources/definitions/alfawise_u20.def.json +++ b/resources/definitions/alfawise_u20.def.json @@ -47,12 +47,6 @@ "material_diameter": { "default_value": 1.75 }, - "material_print_temperature": { - "default_value": 210 - }, - "material_bed_temperature": { - "default_value": 50 - }, "layer_height_0": { "default_value": 0.2 }, @@ -62,21 +56,6 @@ "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 40 - }, - "speed_wall": { - "default_value": 35 - }, - "speed_topbottom": { - "default_value": 35 - }, - "speed_travel": { - "default_value": 120 - }, - "speed_layer_0": { - "default_value": 20 - }, "support_enable": { "default_value": true }, diff --git a/resources/definitions/alfawise_u30.def.json b/resources/definitions/alfawise_u30.def.json index 44caf61d1a..e05536f66c 100644 --- a/resources/definitions/alfawise_u30.def.json +++ b/resources/definitions/alfawise_u30.def.json @@ -22,16 +22,9 @@ "default_value": "; -- END GCODE --\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F80 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning\nM107 ;turn the fan off; -- end of END GCODE --" }, "material_diameter": { "default_value": 1.75 }, - "material_print_temperature": { "default_value": 210 }, - "material_bed_temperature": { "default_value": 50 }, "layer_height_0": { "default_value": 0.2 }, "wall_thickness": { "default_value": 1.2 }, "speed_print": { "default_value": 40 }, - "speed_infill": { "default_value": 50 }, - "speed_wall": { "default_value": 35 }, - "speed_topbottom": { "default_value": 35 }, - "speed_travel": { "default_value": 120 }, - "speed_layer_0": { "default_value": 20 }, "support_enable": { "default_value": true }, "retraction_enable": { "default_value": true }, "retraction_amount": { "default_value": 5 }, diff --git a/resources/definitions/bfb.def.json b/resources/definitions/bfb.def.json index d1dfa9ef1b..e88c8c792b 100644 --- a/resources/definitions/bfb.def.json +++ b/resources/definitions/bfb.def.json @@ -15,26 +15,19 @@ }, "overrides": { - "speed_topbottom": { "default_value": 40 }, "speed_print": { "default_value": 40 }, "machine_extruder_count": { "default_value": 1 }, "prime_tower_size": { "default_value": 7.745966692414834 }, "machine_name": { "default_value": "BFB_Test" }, "machine_heated_bed": { "default_value": false }, - "speed_layer_0": { "default_value": 25 }, "machine_width": { "default_value": 275 }, "machine_gcode_flavor": { "default_value": "BFB" }, "machine_depth": { "default_value": 265 }, - "speed_infill": { "default_value": 30 }, "machine_center_is_zero": { "default_value": true }, "machine_height": { "default_value": 240 }, "layer_height": { "default_value": 0.25 }, - "material_print_temperature": { "default_value": 200 }, "retraction_amount": { "default_value": 0.05 }, - "speed_wall_0": { "default_value": 25 }, - "speed_travel": { "default_value": 50 }, "infill_sparse_density": { "default_value": 10 }, - "layer_height_0": { "default_value": 0.5 }, - "speed_wall_x": { "default_value": 20 } + "layer_height_0": { "default_value": 0.5 } } } diff --git a/resources/definitions/bq_hephestos.def.json b/resources/definitions/bq_hephestos.def.json index be024cd6fa..d9e84dae87 100644 --- a/resources/definitions/bq_hephestos.def.json +++ b/resources/definitions/bq_hephestos.def.json @@ -54,33 +54,9 @@ "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { - "default_value": 1 - }, - "material_print_temperature": { - "default_value": 220 - }, - "material_bed_temperature": { - "default_value": 0 - }, "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 40 - }, - "speed_wall": { - "default_value": 35 - }, - "speed_topbottom": { - "default_value": 35 - }, - "speed_travel": { - "default_value": 120 - }, - "speed_layer_0": { - "default_value": 20 - }, "support_enable": { "default_value": true } diff --git a/resources/definitions/bq_hephestos_2.def.json b/resources/definitions/bq_hephestos_2.def.json index 90a86433fb..5c122eb9a4 100644 --- a/resources/definitions/bq_hephestos_2.def.json +++ b/resources/definitions/bq_hephestos_2.def.json @@ -24,26 +24,14 @@ "machine_height": { "default_value": 220 }, "machine_heated_bed": { "default_value": false }, "machine_center_is_zero": { "default_value": false }, - "material_print_temperature": { "default_value": 210 }, - "material_bed_temperature": { "default_value": 0 }, "layer_height": { "default_value": 0.2 }, "layer_height_0": { "default_value": 0.2 }, - "wall_line_count": { "default_value": 3 }, "wall_thickness": { "default_value": 1.2 }, "top_bottom_thickness": { "default_value": 1.2 }, "infill_sparse_density": { "default_value": 20 }, - "infill_overlap": { "default_value": 15 }, "speed_print": { "default_value": 60 }, - "speed_travel": { "default_value": 160 }, - "speed_layer_0": { "default_value": 30 }, - "speed_wall_x": { "default_value": 35 }, - "speed_wall_0": { "default_value": 30 }, - "speed_infill": { "default_value": 80 }, - "speed_topbottom": { "default_value": 35 }, - "skirt_brim_speed": { "default_value": 35 }, "skirt_line_count": { "default_value": 4 }, "skirt_brim_minimal_length": { "default_value": 30 }, - "skirt_gap": { "default_value": 6 }, - "cool_fan_full_at_height": { "default_value": 0.4 } + "skirt_gap": { "default_value": 6 } } } diff --git a/resources/definitions/bq_hephestos_xl.def.json b/resources/definitions/bq_hephestos_xl.def.json index a8d63cbb41..16d0953bf1 100644 --- a/resources/definitions/bq_hephestos_xl.def.json +++ b/resources/definitions/bq_hephestos_xl.def.json @@ -53,33 +53,9 @@ "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { - "default_value": 1 - }, - "material_print_temperature": { - "default_value": 220 - }, - "material_bed_temperature": { - "default_value": 0 - }, "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 40 - }, - "speed_wall": { - "default_value": 35 - }, - "speed_topbottom": { - "default_value": 35 - }, - "speed_travel": { - "default_value": 120 - }, - "speed_layer_0": { - "default_value": 20 - }, "support_enable": { "default_value": true } diff --git a/resources/definitions/bq_witbox.def.json b/resources/definitions/bq_witbox.def.json index b96da6179c..fce2af9f97 100644 --- a/resources/definitions/bq_witbox.def.json +++ b/resources/definitions/bq_witbox.def.json @@ -54,33 +54,9 @@ "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { - "default_value": 1 - }, - "material_print_temperature": { - "default_value": 220 - }, - "material_bed_temperature": { - "default_value": 0 - }, "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 40 - }, - "speed_wall": { - "default_value": 35 - }, - "speed_topbottom": { - "default_value": 35 - }, - "speed_travel": { - "default_value": 120 - }, - "speed_layer_0": { - "default_value": 20 - }, "support_enable": { "default_value": true } diff --git a/resources/definitions/bq_witbox_2.def.json b/resources/definitions/bq_witbox_2.def.json index 7412647852..d1114aafd6 100644 --- a/resources/definitions/bq_witbox_2.def.json +++ b/resources/definitions/bq_witbox_2.def.json @@ -41,21 +41,12 @@ "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, - "material_print_temperature": { - "default_value": 210 - }, - "material_bed_temperature": { - "default_value": 0 - }, "layer_height": { "default_value": 0.2 }, "layer_height_0": { "default_value": 0.2 }, - "wall_line_count": { - "default_value": 3 - }, "wall_thickness": { "default_value": 1.2 }, @@ -65,33 +56,9 @@ "infill_sparse_density": { "default_value": 20 }, - "infill_overlap": { - "default_value": 15 - }, "speed_print": { "default_value": 60 }, - "speed_travel": { - "default_value": 160 - }, - "speed_layer_0": { - "default_value": 30 - }, - "speed_wall_x": { - "default_value": 35 - }, - "speed_wall_0": { - "default_value": 30 - }, - "speed_infill": { - "default_value": 80 - }, - "speed_topbottom": { - "default_value": 35 - }, - "skirt_brim_speed": { - "default_value": 35 - }, "skirt_line_count": { "default_value": 4 }, @@ -101,9 +68,6 @@ "skirt_gap": { "default_value": 6 }, - "cool_fan_full_at_height": { - "default_value": 0.4 - }, "support_enable": { "default_value": false } diff --git a/resources/definitions/builder_premium_large.def.json b/resources/definitions/builder_premium_large.def.json index d100cd1ba9..e5411027e3 100644 --- a/resources/definitions/builder_premium_large.def.json +++ b/resources/definitions/builder_premium_large.def.json @@ -35,8 +35,6 @@ "material_standby_temperature": { "value": "material_print_temperature" }, "switch_extruder_retraction_speeds": {"default_value": 15 }, - "switch_extruder_retraction_speed": {"default_value": 15 }, - "switch_extruder_prime_speed": {"default_value": 15 }, "switch_extruder_retraction_amount": {"value": 1 }, "speed_travel": { "value": "100" }, @@ -85,8 +83,6 @@ "retraction_amount": { "default_value": 3 }, "retraction_speed": { "default_value": 15 }, - "retraction_retract_speed": { "default_value": 15 }, - "retraction_prime_speed": { "default_value": 15 }, "travel_retract_before_outer_wall": { "default_value": true }, "skin_overlap": { "value": "15" }, "adhesion_type": { "default_value": "skirt" }, diff --git a/resources/definitions/builder_premium_medium.def.json b/resources/definitions/builder_premium_medium.def.json index 16aeeffdae..1817dfe7db 100644 --- a/resources/definitions/builder_premium_medium.def.json +++ b/resources/definitions/builder_premium_medium.def.json @@ -35,8 +35,6 @@ "material_standby_temperature": { "value": "material_print_temperature" }, "switch_extruder_retraction_speeds": {"default_value": 15 }, - "switch_extruder_retraction_speed": {"default_value": 15 }, - "switch_extruder_prime_speed": {"default_value": 15 }, "switch_extruder_retraction_amount": {"value": 1 }, "speed_travel": { "value": "100" }, @@ -85,8 +83,6 @@ "retraction_amount": { "default_value": 3 }, "retraction_speed": { "default_value": 15 }, - "retraction_retract_speed": { "default_value": 15 }, - "retraction_prime_speed": { "default_value": 15 }, "travel_retract_before_outer_wall": { "default_value": true }, "skin_overlap": { "value": "15" }, "adhesion_type": { "default_value": "skirt" }, diff --git a/resources/definitions/builder_premium_small.def.json b/resources/definitions/builder_premium_small.def.json index 290e79660f..f126da7752 100644 --- a/resources/definitions/builder_premium_small.def.json +++ b/resources/definitions/builder_premium_small.def.json @@ -34,8 +34,6 @@ "material_standby_temperature": { "value": "material_print_temperature" }, "switch_extruder_retraction_speeds": {"default_value": 15 }, - "switch_extruder_retraction_speed": {"default_value": 15 }, - "switch_extruder_prime_speed": {"default_value": 15 }, "switch_extruder_retraction_amount": {"value": 1 }, "speed_travel": { "value": "100" }, @@ -84,8 +82,6 @@ "retraction_amount": { "default_value": 3 }, "retraction_speed": { "default_value": 15 }, - "retraction_retract_speed": { "default_value": 15 }, - "retraction_prime_speed": { "default_value": 15 }, "travel_retract_before_outer_wall": { "default_value": true }, "skin_overlap": { "value": "15" }, "adhesion_type": { "default_value": "skirt" }, diff --git a/resources/definitions/cocoon_create_modelmaker.def.json b/resources/definitions/cocoon_create_modelmaker.def.json index 83d1f41a99..b738dc64ff 100644 --- a/resources/definitions/cocoon_create_modelmaker.def.json +++ b/resources/definitions/cocoon_create_modelmaker.def.json @@ -47,9 +47,6 @@ "material_diameter": { "default_value": 1.75 }, - "material_print_temperature": { - "default_value": 220 - }, "layer_height": { "default_value": 0.10 }, @@ -65,21 +62,6 @@ "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 40 - }, - "speed_wall": { - "default_value": 35 - }, - "speed_topbottom": { - "default_value": 35 - }, - "speed_travel": { - "default_value": 70 - }, - "speed_layer_0": { - "default_value": 20 - }, "support_enable": { "default_value": true }, diff --git a/resources/definitions/creality_cr-x.def.json b/resources/definitions/creality_cr-x.def.json index 0117c4fffe..15bea1edf1 100644 --- a/resources/definitions/creality_cr-x.def.json +++ b/resources/definitions/creality_cr-x.def.json @@ -32,7 +32,6 @@ "adhesion_type": { "default_value": "skirt" }, "gantry_height": { "value": "30" }, "speed_print": { "default_value": 60 }, - "speed_travel": { "default_value": 120 }, "machine_max_acceleration_x": { "default_value": 500 }, "machine_max_acceleration_y": { "default_value": 500 }, "machine_max_acceleration_z": { "default_value": 100 }, @@ -43,9 +42,7 @@ "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_start_gcode": { "default_value": "G21 ;metric values\nG28 ;home all\nG90 ;absolute positioning\nM107 ;start with the fan off\nG1 F2400 Z15.0 ;raise the nozzle 15mm\nM109 S{material_print_temperature} ;Set Extruder Temperature and Wait\nM190 S{material_bed_temperature}; Wait for bed temperature to reach target temp\nT0 ;Switch to Extruder 1\nG1 F3000 X5 Y10 Z0.2 ;move to prime start position\nG92 E0 ;reset extrusion distance\nG1 F600 X160 E15 ;prime nozzle in a line\nG1 F5000 X180 ;quick wipe\nG92 E0 ;reset extrusion distance" }, "machine_end_gcode": { "default_value": "M104 S0 ;hotend off\nM140 S0 ;bed off\nG92 E0\nG1 F2000 E-100 ;retract filament 100mm\nG92 E0\nG1 F3000 X0 Y270 ;move bed for easy part removal\nM84 ;disable steppers" }, - "material_print_temperature": { "default_value": 200 }, "wall_thickness": { "default_value": 1 }, - "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { "default_value": 1 } + "top_bottom_thickness": { "default_value": 1 } } } diff --git a/resources/definitions/creatable_d3.def.json b/resources/definitions/creatable_d3.def.json index 1491089e24..f621bcbe97 100644 --- a/resources/definitions/creatable_d3.def.json +++ b/resources/definitions/creatable_d3.def.json @@ -27,14 +27,12 @@ "machine_max_feedrate_z": { "default_value": 300 }, "gantry_height": {"value": "43"}, "layer_height": { "default_value": 0.1 }, - "relative_extrusion": { "default_value": false }, + "relative_extrusion": { "value": "False" }, "retraction_combing": { "default_value": "off" }, - "retraction_hop_enabled": { "default_value": true }, + "retraction_hop_enabled": { "default_value": true }, "retraction_hop_only_when_collides": { "default_value": false }, - "retraction_retract_speed": { "default_value": 100 }, "retraction_speed": { "default_value": 100 }, "retraction_amount": { "default_value": 4.5 }, - "retraction_prime_speed": { "default_value": 45 }, "machine_start_gcode": { "default_value": "G21\nG90\nM82\nM106 S255\nG28\nG92 E0\nG1 Z100 F5000\nM190 S50\nM109 S200\nG1 X-135\nG1 Z0.3\nG92 E-32\nG1 E0 F1000\nG1 E50 F200\nG1 F1000\nG1 X-125\nG92 E0" }, diff --git a/resources/definitions/cubicon_common.def.json b/resources/definitions/cubicon_common.def.json index ae085c7552..6b1e3d953e 100644 --- a/resources/definitions/cubicon_common.def.json +++ b/resources/definitions/cubicon_common.def.json @@ -23,77 +23,34 @@ "travel_compensate_overlapping_walls_enabled": { "default_value": false }, - "travel_compensate_overlapping_walls_0_enabled": { - "default_value": false - }, - "travel_compensate_overlapping_walls_x_enabled": { - "default_value": false - }, "layer_height": { "default_value": 0.2 }, "layer_height_0": { "default_value": 0.2 }, - "infill_line_width": { - "default_value": 0.6 - }, "adhesion_type": { "default_value": "raft" }, - "roofing_pattern": { "default_value": "lines" }, "top_bottom_pattern": { "default_value": "lines" }, - "top_bottom_pattern_0": { - "default_value": "zigzag" - }, "fill_perimeter_gaps": { "default_value": "everywhere" }, - "infill_pattern": { - "default_value": "zigzag" - }, "infill_sparse_density": { "default_value": 20 }, - "infill_overlap": { - "default_value": 15 - }, "infill_before_walls": { "default_value": false }, - "infill_sparse_thickness": { "default_value": 0.2 }, "top_bottom_thickness": { "default_value": 1.0 }, - "top_thickness": { - "default_value": 1.0 - }, "bottom_thickness": { - "default_value": 0.6, "value": "top_bottom_thickness * 0.6" }, - "roofing_layer_count": { - "default_value": 1 - }, - "skin_preshrink": { "default_value": true }, "material_flow_layer_0": { "default_value": 100 }, - "top_skin_preshrink": { "default_value": 1.2 }, - "bottom_skin_preshrink": { "default_value": 1.2 }, "max_skin_angle_for_expansion": { "default_value": 90 }, - "min_skin_width_for_expansion": { "default_value": 2.7475 }, "skin_angles": { "default_value": "[135,45]" }, - "roofing_angles": { "default_value": "[135,45]" }, "coasting_volume": { "default_value": 0.032 }, "wall_thickness": { "default_value": 1.2 }, - "wall_line_count": { "default_value": 3 }, - "speed_wall_0": { "default_value": 25 }, - "skin_overlap": { "default_value": 5 }, "cool_min_layer_time_fan_speed_max": { "default_value": 15 }, "cool_min_layer_time": { "default_value": 15 }, - "support_roof_pattern": { "default_value": "zigzag" }, - "support_bottom_pattern": { "default_value": "zigzag" }, "support_interface_pattern": { "default_value": "zigzag" }, "support_pattern": { "default_value": "zigzag" }, - "retraction_amount": { "default_value": 1.5 }, - "top_layers": { - "default_value": 5 - }, - "bottom_layers": { - "default_value": 3 - } + "retraction_amount": { "default_value": 1.5 } } } \ No newline at end of file diff --git a/resources/definitions/dagoma_discoeasy200.def.json b/resources/definitions/dagoma_discoeasy200.def.json index 17e285a422..30c0abdab2 100644 --- a/resources/definitions/dagoma_discoeasy200.def.json +++ b/resources/definitions/dagoma_discoeasy200.def.json @@ -52,9 +52,6 @@ "speed_print": { "default_value": 60 }, - "speed_travel": { - "default_value": 100 - }, "retraction_amount": { "default_value": 3.5 }, diff --git a/resources/definitions/dagoma_magis.def.json b/resources/definitions/dagoma_magis.def.json index 9d2f7170c6..dc5a0f86d2 100644 --- a/resources/definitions/dagoma_magis.def.json +++ b/resources/definitions/dagoma_magis.def.json @@ -55,9 +55,6 @@ "speed_print": { "default_value": 40 }, - "speed_travel": { - "default_value": 120 - }, "retraction_amount": { "default_value": 3.8 }, diff --git a/resources/definitions/dagoma_neva.def.json b/resources/definitions/dagoma_neva.def.json index ea6046b613..43a3e0c4f1 100644 --- a/resources/definitions/dagoma_neva.def.json +++ b/resources/definitions/dagoma_neva.def.json @@ -55,9 +55,6 @@ "speed_print": { "default_value": 40 }, - "speed_travel": { - "default_value": 120 - }, "retraction_amount": { "default_value": 3.8 }, diff --git a/resources/definitions/delta_go.def.json b/resources/definitions/delta_go.def.json index cd1fb180c2..04f0580898 100644 --- a/resources/definitions/delta_go.def.json +++ b/resources/definitions/delta_go.def.json @@ -16,12 +16,8 @@ "overrides": { "machine_name": { "default_value": "Delta Go" }, "default_material_print_temperature": { "default_value": 210 }, - "speed_travel": { "default_value": 150 }, "prime_tower_size": { "default_value": 8.66 }, "infill_sparse_density": { "default_value": 10 }, - "speed_wall_x": { "default_value": 30 }, - "speed_wall_0": { "default_value": 30 }, - "speed_topbottom": { "default_value": 20 }, "layer_height": { "default_value": 0.15 }, "speed_print": { "default_value": 30 }, "machine_heated_bed": { "default_value": false }, diff --git a/resources/definitions/deltabot.def.json b/resources/definitions/deltabot.def.json index 613b61d32c..ad6a207bb2 100644 --- a/resources/definitions/deltabot.def.json +++ b/resources/definitions/deltabot.def.json @@ -15,15 +15,10 @@ }, "overrides": { - "speed_travel": { "default_value": 150 }, "prime_tower_size": { "default_value": 8.660254037844387 }, "infill_sparse_density": { "default_value": 10 }, - "speed_wall_x": { "default_value": 30 }, - "speed_wall_0": { "default_value": 30 }, - "speed_topbottom": { "default_value": 30 }, "layer_height": { "default_value": 0.2 }, "speed_print": { "default_value": 30 }, - "speed_infill": { "default_value": 30 }, "machine_extruder_count": { "default_value": 1 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": true }, diff --git a/resources/definitions/deltacomb.def.json b/resources/definitions/deltacomb.def.json index c46beeec2d..ac2ea5abe1 100755 --- a/resources/definitions/deltacomb.def.json +++ b/resources/definitions/deltacomb.def.json @@ -37,7 +37,7 @@ "retraction_amount" : { "default_value": 3.5 }, "retraction_speed" : { "default_value": 30 }, "retraction_combing" : { "default_value": "noskin" }, - "travel_avoid_distance": { "default_value": 1, "value": "1" }, + "travel_avoid_distance": { "value": "1" }, "speed_print" : { "default_value": 80 }, "speed_infill": { "value": "round(speed_print * 1.05, 0)" }, "speed_topbottom": { "value": "round(speed_print * 0.95, 0)" }, @@ -45,7 +45,7 @@ "speed_wall_0": { "value": "30" }, "speed_wall_x": { "value": "speed_wall" }, "speed_layer_0": { "value": "min(round(speed_print * 0.75, 0), 45.0)" }, - "speed_travel": { "default_value": 150, "value": 150 }, + "speed_travel": { "value": 150 }, "speed_travel_layer_0": { "value": "round(speed_travel * 0.7, 0)" }, "skirt_brim_speed": { "value": "speed_layer_0" }, "skirt_line_count": { "default_value": 3 }, @@ -57,10 +57,10 @@ "support_z_distance": { "value": "layer_height * 2" }, "support_bottom_distance": { "value": "layer_height" }, "support_use_towers" : { "default_value": false }, - "jerk_enabled": { "default_value": 1, "value": "1" }, - "jerk_infill" : { "default_value": 5, "value": "5" }, - "jerk_support" : { "default_value": 5, "value": "5" }, - "acceleration_enabled": { "default_value": 1, "value": "1" }, + "jerk_enabled": { "value": "True" }, + "jerk_infill" : { "value": "5" }, + "jerk_support" : { "value": "5" }, + "acceleration_enabled": { "value": "1" }, "acceleration_travel" : { "value": 5000 }, "machine_max_feedrate_z" : { "default_value": 300 } } diff --git a/resources/definitions/easyarts_ares.def.json b/resources/definitions/easyarts_ares.def.json index 0e2742f484..18d73a3531 100644 --- a/resources/definitions/easyarts_ares.def.json +++ b/resources/definitions/easyarts_ares.def.json @@ -49,27 +49,9 @@ "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { - "default_value": 1 - }, "speed_print": { "default_value": 75 }, - "speed_infill": { - "default_value": 100 - }, - "speed_wall": { - "default_value": 25 - }, - "speed_topbottom": { - "default_value": 15 - }, - "speed_travel": { - "default_value": 150 - }, - "speed_layer_0": { - "default_value": 30 - }, "support_enable": { "default_value": true } diff --git a/resources/definitions/erzay3d.def.json b/resources/definitions/erzay3d.def.json index 0a6d676bea..875aea708e 100644 --- a/resources/definitions/erzay3d.def.json +++ b/resources/definitions/erzay3d.def.json @@ -56,57 +56,17 @@ "ironing_pattern": { "default_value": "concentric" }, "ironing_flow": { "default_value": 7.0 }, - "roofing_pattern": { "default_value": "concentric" }, "infill_sparse_density": { "default_value": 20 }, - "infill_line_distance": { "default_value": 4 }, "default_material_print_temperature": { "default_value": 220 }, - "material_print_temperature": { "default_value": 220 }, - "material_print_temperature_layer_0": { "default_value": 220 }, - "material_initial_print_temperature": { "default_value": 220 }, - "material_final_print_temperature": { "default_value": 220 }, "retraction_amount": { "default_value": 6.5 }, "speed_print": { "default_value": 40 }, - "speed_infill": { "default_value": 60 }, - "speed_wall": { "default_value": 20 }, - "speed_wall_0": { "default_value": 20 }, - "speed_wall_x": { "default_value": 40 }, - "speed_roofing": { "default_value": 20 }, - "speed_topbottom": { "default_value": 20 }, - "speed_support": { "default_value": 40 }, - "speed_support_infill": { "default_value": 40 }, - "speed_support_interface": { "default_value": 25 }, - "speed_support_roof": { "default_value": 25 }, - "speed_support_bottom": { "default_value": 25 }, - "speed_prime_tower": { "default_value": 40 }, - "speed_travel": { "default_value": 100 }, - "speed_layer_0": { "default_value": 20 }, - "speed_print_layer_0": { "default_value": 20 }, - "speed_travel_layer_0": { "default_value": 80 }, - "skirt_brim_speed": { "default_value": 20 }, "speed_equalize_flow_enabled": { "default_value": true }, "speed_equalize_flow_max": { "default_value": 100 }, "acceleration_print": { "default_value": 1000 }, - "acceleration_infill": { "default_value": 3000 }, - "acceleration_wall": { "default_value": 1000 }, - "acceleration_wall_0": { "default_value": 1000 }, - "acceleration_wall_x": { "default_value": 1000 }, - "acceleration_roofing": { "default_value": 1000 }, - "acceleration_topbottom": { "default_value": 1000 }, - "acceleration_support": { "default_value": 1000 }, - "acceleration_support_infill": { "default_value": 1000 }, - "acceleration_support_interface": { "default_value": 1000 }, - "acceleration_support_roof": { "default_value": 1000 }, - "acceleration_support_bottom": { "default_value": 1000 }, - "acceleration_prime_tower": { "default_value": 1000 }, - "acceleration_travel": { "default_value": 1500 }, - "acceleration_layer_0": { "default_value": 1000 }, - "acceleration_print_layer_0": { "default_value": 1000 }, - "acceleration_travel_layer_0": { "default_value": 1000 }, - "acceleration_skirt_brim": { "default_value": 1000 }, "jerk_print": { "default_value": 10 }, diff --git a/resources/definitions/fabtotum.def.json b/resources/definitions/fabtotum.def.json index 959a5bdaec..355f6a1434 100644 --- a/resources/definitions/fabtotum.def.json +++ b/resources/definitions/fabtotum.def.json @@ -50,8 +50,8 @@ "retraction_hop_enabled": { "default_value": false }, "material_final_print_temperature": { "value": "material_print_temperature - 5" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, - "travel_avoid_distance": { "default_value": 1, "value": 1 }, - "speed_travel": { "default_value": 200, "value": 200 }, + "travel_avoid_distance": { "value": 1 }, + "speed_travel": { "value": 200 }, "speed_infill": { "value": "round(speed_print * 1.05, 0)" }, "speed_topbottom": { "value": "round(speed_print * 0.95, 0)" }, "speed_wall": { "value": "speed_print" }, diff --git a/resources/definitions/felixpro2dual.def.json b/resources/definitions/felixpro2dual.def.json index 0c978cdb71..fdd8a1b694 100644 --- a/resources/definitions/felixpro2dual.def.json +++ b/resources/definitions/felixpro2dual.def.json @@ -24,7 +24,6 @@ "layer_height": { "default_value": 0.15 }, "layer_height_0": { "default_value": 0.2 }, - "speed_layer_0": { "default_value": 20}, "infill_sparse_density": { "default_value": 20 }, "wall_thickness": { "default_value": 1 }, @@ -53,7 +52,6 @@ "machine_center_is_zero": { "default_value": false }, "speed_print": { "default_value": 80 }, - "speed_travel": { "default_value": 200 }, "retraction_amount": { "default_value": 1 }, "retraction_speed": { "default_value": 50}, diff --git a/resources/definitions/felixtec4dual.def.json b/resources/definitions/felixtec4dual.def.json index ba5bcfa112..efc13c1759 100644 --- a/resources/definitions/felixtec4dual.def.json +++ b/resources/definitions/felixtec4dual.def.json @@ -39,7 +39,6 @@ "machine_center_is_zero": { "default_value": false }, "speed_print": { "default_value": 60 }, - "speed_travel": { "default_value": 200 }, "retraction_amount": { "default_value": 1 }, "retraction_speed": { "default_value": 50}, diff --git a/resources/definitions/flsun_qq_s.def.json b/resources/definitions/flsun_qq_s.def.json index 5a739e9ae1..6b10a7f0cc 100644 --- a/resources/definitions/flsun_qq_s.def.json +++ b/resources/definitions/flsun_qq_s.def.json @@ -33,14 +33,8 @@ "z_seam_type": { "default_value": "back" }, - "top_thickness": { - "default_value": 5 - }, - "bottom_layers": { - "default_value": 4 - }, "gantry_height": { - "default_value": 0 + "value": "0" }, "machine_nozzle_size": { "default_value": 0.4 diff --git a/resources/definitions/geeetech_a30.def.json b/resources/definitions/geeetech_a30.def.json index 3d8823f438..52b6ad8f7f 100644 --- a/resources/definitions/geeetech_a30.def.json +++ b/resources/definitions/geeetech_a30.def.json @@ -42,9 +42,6 @@ "material_diameter": { "default_value": 1.75 }, - "material_bed_temperature": { - "default_value": 60 - }, "machine_nozzle_size": { "default_value": 0.4 }, @@ -60,12 +57,6 @@ "retraction_speed": { "default_value": 25 }, - "retraction_retract_speed": { - "default_value": 25 - }, - "retraction_prime_speed": { - "default_value": 25 - }, "adhesion_type": { "default_value": "skirt" }, @@ -86,7 +77,7 @@ ] }, "gantry_height": { - "default_value": 55 + "value": "55" }, "machine_max_feedrate_x": { "default_value": 300 diff --git a/resources/definitions/gmax15plus.def.json b/resources/definitions/gmax15plus.def.json index eb576f0e19..b5e0efe27c 100644 --- a/resources/definitions/gmax15plus.def.json +++ b/resources/definitions/gmax15plus.def.json @@ -39,7 +39,6 @@ "adhesion_type": { "default_value": "skirt" }, "gantry_height": { "value": "50" }, "speed_print": { "default_value": 50 }, - "speed_travel": { "default_value": 70 }, "machine_max_acceleration_x": { "default_value": 600 }, "machine_max_acceleration_y": { "default_value": 600 }, "machine_max_acceleration_z": { "default_value": 30 }, @@ -50,9 +49,7 @@ "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;Home X/Y/Z\nM104 S{material_print_temperature} ; Preheat\nM109 S{material_print_temperature} ; Preheat\nG91 ;relative positioning\nG90 ;absolute positioning\nG1 Z25.0 F9000 ;raise nozzle 25mm\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." }, "machine_end_gcode": { "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" }, - "material_print_temperature": { "default_value": 202 }, "wall_thickness": { "default_value": 1 }, - "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { "default_value": 1 } + "top_bottom_thickness": { "default_value": 1 } } } diff --git a/resources/definitions/gmax15plus_dual.def.json b/resources/definitions/gmax15plus_dual.def.json index 40a3dde303..89ffda490a 100644 --- a/resources/definitions/gmax15plus_dual.def.json +++ b/resources/definitions/gmax15plus_dual.def.json @@ -37,7 +37,6 @@ "adhesion_type": { "default_value": "skirt" }, "gantry_height": { "value": "50" }, "speed_print": { "default_value": 50 }, - "speed_travel": { "default_value": 70 }, "machine_max_acceleration_x": { "default_value": 600 }, "machine_max_acceleration_y": { "default_value": 600 }, "machine_max_acceleration_z": { "default_value": 30 }, @@ -48,9 +47,7 @@ "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;Home X/Y/Z\nM104 S{material_print_temperature} T0 ; Preheat Left Extruder\nM104 S{material_print_temperature} T1 ; Preheat Right Extruder\nM109 S{material_print_temperature} T0 ; Preheat Left Extruder\nM109 S{material_print_temperature} T1 ; Preheat Right Extruder\nG91 ;relative positioning\nG90 ;absolute positioning\nM218 T1 X34.3 Y0; Set 2nd extruder offset. This can be changed later if needed\nG1 Z25.0 F9000 ;raise nozzle 25mm\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." }, "machine_end_gcode": { "default_value": "M104 S0 T0;Left extruder off\nM104 S0 T1; Right extruder off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" }, - "material_print_temperature": { "default_value": 202 }, "wall_thickness": { "default_value": 1 }, - "top_bottom_thickness": { "default_value": 1 }, - "bottom_thickness": { "default_value": 1 } + "top_bottom_thickness": { "default_value": 1 } } } diff --git a/resources/definitions/helloBEEprusa.def.json b/resources/definitions/helloBEEprusa.def.json index 65716ac175..2c8c4839d0 100644 --- a/resources/definitions/helloBEEprusa.def.json +++ b/resources/definitions/helloBEEprusa.def.json @@ -26,28 +26,15 @@ "machine_height": { "default_value": 190 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, - "material_print_temperature": { "default_value": 200 }, - "material_bed_temperature": { "default_value": 60 }, - "line_width": { "default_value": 0.48 }, "layer_height": { "default_value": 0.2 }, "layer_height_0": { "default_value": 0.2 }, - "wall_line_count": { "default_value": 3 }, "wall_thickness": { "default_value": 1.2 }, "top_bottom_thickness": { "default_value": 1.2 }, "infill_sparse_density": { "default_value": 20 }, - "infill_overlap": { "default_value": 15 }, "speed_print": { "default_value": 60 }, - "speed_travel": { "default_value": 160 }, - "speed_layer_0": { "default_value": 30 }, - "speed_wall_x": { "default_value": 35 }, - "speed_wall_0": { "default_value": 30 }, - "speed_infill": { "default_value": 60 }, - "speed_topbottom": { "default_value": 20 }, - "skirt_brim_speed": { "default_value": 35 }, "skirt_line_count": { "default_value": 4 }, "skirt_brim_minimal_length": { "default_value": 30 }, "skirt_gap": { "default_value": 6 }, - "cool_fan_full_at_height": { "default_value": 0.4 }, "retraction_speed": { "default_value": 15.0}, "retraction_amount": { "default_value": 1.5} } diff --git a/resources/definitions/innovo_inventor.def.json b/resources/definitions/innovo_inventor.def.json index 72a9ec3edb..13a8a7c59b 100644 --- a/resources/definitions/innovo_inventor.def.json +++ b/resources/definitions/innovo_inventor.def.json @@ -61,36 +61,10 @@ "top_bottom_thickness": { "default_value": 1.2 }, - "material_print_temperature": { - "default_value": 205 - }, - "material_bed_temperature": { - "default_value": 60 - }, "speed_print": { "default_value": 50 }, - "speed_wall_0": { - "default_value": 25 - }, - "speed_wall_x": { - "default_value": 40 - }, - "speed_infill": { - "default_value": 80 - }, - "speed_topbottom": { - "default_value": 30 - }, - "speed_support_interface": - { - "default_value": 20 - }, - "speed_travel": { - "default_value": 150 - }, "speed_layer_0": { - "default_value": 30.0, "minimum_value": 0.1 } } diff --git a/resources/definitions/jgaurora_a1.def.json b/resources/definitions/jgaurora_a1.def.json index 3c9f9c61e9..1c910f0d95 100644 --- a/resources/definitions/jgaurora_a1.def.json +++ b/resources/definitions/jgaurora_a1.def.json @@ -47,12 +47,6 @@ "material_diameter": { "default_value": 1.75 }, - "material_print_temperature": { - "default_value": 215 - }, - "material_bed_temperature": { - "default_value": 67 - }, "layer_height_0": { "default_value": 0.12 }, @@ -62,21 +56,6 @@ "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 40 - }, - "speed_wall": { - "default_value": 35 - }, - "speed_topbottom": { - "default_value": 35 - }, - "speed_travel": { - "default_value": 120 - }, - "speed_layer_0": { - "default_value": 12 - }, "support_enable": { "default_value": true }, diff --git a/resources/definitions/jgaurora_a3s.def.json b/resources/definitions/jgaurora_a3s.def.json index bd8d0bd0e3..ead0a5f9e7 100644 --- a/resources/definitions/jgaurora_a3s.def.json +++ b/resources/definitions/jgaurora_a3s.def.json @@ -47,12 +47,6 @@ "material_diameter": { "default_value": 1.75 }, - "material_print_temperature": { - "default_value": 210 - }, - "material_bed_temperature": { - "default_value": 65 - }, "layer_height_0": { "default_value": 0.12 }, @@ -62,21 +56,6 @@ "speed_print": { "default_value": 35 }, - "speed_infill": { - "default_value": 40 - }, - "speed_wall": { - "default_value": 30 - }, - "speed_topbottom": { - "default_value": 20 - }, - "speed_travel": { - "default_value": 100 - }, - "speed_layer_0": { - "default_value": 12 - }, "support_enable": { "default_value": true }, diff --git a/resources/definitions/jgaurora_a5.def.json b/resources/definitions/jgaurora_a5.def.json index e02fca881b..b9f179d38e 100644 --- a/resources/definitions/jgaurora_a5.def.json +++ b/resources/definitions/jgaurora_a5.def.json @@ -49,12 +49,6 @@ "material_diameter": { "default_value": 1.75 }, - "material_print_temperature": { - "default_value": 215 - }, - "material_bed_temperature": { - "default_value": 67 - }, "layer_height_0": { "default_value": 0.12 }, @@ -64,21 +58,6 @@ "speed_print": { "default_value": 40 }, - "speed_infill": { - "default_value": 40 - }, - "speed_wall": { - "default_value": 35 - }, - "speed_topbottom": { - "default_value": 35 - }, - "speed_travel": { - "default_value": 120 - }, - "speed_layer_0": { - "default_value": 12 - }, "support_enable": { "default_value": true }, diff --git a/resources/definitions/jgaurora_jgmaker_magic.def.json b/resources/definitions/jgaurora_jgmaker_magic.def.json index 703305151a..8d0349a48c 100644 --- a/resources/definitions/jgaurora_jgmaker_magic.def.json +++ b/resources/definitions/jgaurora_jgmaker_magic.def.json @@ -47,12 +47,6 @@ "material_diameter": { "default_value": 1.75 }, - "material_print_temperature": { - "default_value": 200 - }, - "material_bed_temperature": { - "default_value": 60 - }, "layer_height_0": { "default_value": 0.2 }, @@ -62,21 +56,6 @@ "speed_print": { "default_value": 60 }, - "speed_infill": { - "default_value": 60 - }, - "speed_wall": { - "default_value": 30 - }, - "speed_topbottom": { - "default_value": 45 - }, - "speed_travel": { - "default_value": 125 - }, - "speed_layer_0": { - "default_value": 30 - }, "support_enable": { "default_value": true }, diff --git a/resources/definitions/jgaurora_z_603s.def.json b/resources/definitions/jgaurora_z_603s.def.json index ceade3243a..8dbf5a82bb 100644 --- a/resources/definitions/jgaurora_z_603s.def.json +++ b/resources/definitions/jgaurora_z_603s.def.json @@ -22,7 +22,7 @@ }, "machine_end_gcode": { "default_value": "; -- END GCODE --\nM104 S0 ;turn off nozzle heater\nM140 S0 ;turn off bed heater\nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament slightly\nG90 ;set to absolute positioning\nG28 X0 Y0 F600 ;move to the X/Y-axis origin (Home)\nM84 ;turn off stepper motors\n; -- end of END GCODE --" - }, + }, "machine_width": { "default_value": 280 }, @@ -47,12 +47,6 @@ "material_diameter": { "default_value": 1.75 }, - "material_print_temperature": { - "default_value": 210 - }, - "material_bed_temperature": { - "default_value": 55 - }, "layer_height_0": { "default_value": 0.2 }, @@ -62,21 +56,6 @@ "speed_print": { "default_value": 60 }, - "speed_infill": { - "default_value": 60 - }, - "speed_wall": { - "default_value": 30 - }, - "speed_topbottom": { - "default_value": 45 - }, - "speed_travel": { - "default_value": 125 - }, - "speed_layer_0": { - "default_value": 20 - }, "support_enable": { "default_value": true }, diff --git a/resources/definitions/julia.def.json b/resources/definitions/julia.def.json index 62e4170c1f..15e5057a55 100644 --- a/resources/definitions/julia.def.json +++ b/resources/definitions/julia.def.json @@ -21,25 +21,14 @@ "machine_end_gcode": { "default_value": " M104 S0 ;extruder heater off\n M140 S0 ;heated bed heater off (if you have it)\n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning\n" }, - "material_bed_temperature": { "default_value": 100 }, "layer_height": { "default_value": 0.2 }, "support_angle": { "default_value": 30 }, - "infill_overlap": { "default_value": 30 }, "layer_height_0": { "default_value": 0.2 }, "speed_print": { "default_value": 80 }, - "speed_wall_0": { "default_value": 30 }, - "speed_travel": { "default_value": 150 }, - "brim_line_count": { "default_value": 15 }, - "skin_overlap": { "default_value": 30 }, "prime_tower_size": { "default_value": 8.660254037844387 }, - "bottom_thickness": { "default_value": 0.8 }, "retraction_amount": { "default_value": 3 }, - "speed_topbottom": { "default_value": 80 }, - "material_print_temperature": { "default_value": 230 }, "support_pattern": { "default_value": "grid" }, - "speed_infill": { "default_value": 80 }, "infill_sparse_density": { "default_value": 10 }, - "top_thickness": { "default_value": 0.8 }, "machine_extruder_count": { "default_value": 1 }, "retraction_combing": { "default_value": "off" }, "machine_heated_bed": { "default_value": true }, diff --git a/resources/definitions/makeit_pro_l.def.json b/resources/definitions/makeit_pro_l.def.json index 5d09189de8..d601a5c309 100644 --- a/resources/definitions/makeit_pro_l.def.json +++ b/resources/definitions/makeit_pro_l.def.json @@ -77,27 +77,12 @@ "retraction_amount": { "default_value": 6 }, - "retraction_min_travel": { - "default_value": 1.5 - }, - "speed_travel": { - "default_value": 150 - }, "speed_print": { "default_value": 60 }, "wall_thickness": { "default_value": 1.2 }, - "bottom_thickness": { - "default_value": 0.2 - }, - "speed_layer_0": { - "default_value": 20 - }, - "speed_print_layer_0": { - "default_value": 20 - }, "cool_min_layer_time_fan_speed_max": { "default_value": 5 }, diff --git a/resources/definitions/makeit_pro_m.def.json b/resources/definitions/makeit_pro_m.def.json index 57e2a7dbd4..267646b647 100644 --- a/resources/definitions/makeit_pro_m.def.json +++ b/resources/definitions/makeit_pro_m.def.json @@ -77,27 +77,12 @@ "retraction_amount": { "default_value": 6 }, - "retraction_min_travel": { - "default_value": 1.5 - }, - "speed_travel": { - "default_value": 150 - }, "speed_print": { "default_value": 60 }, "wall_thickness": { "default_value": 1.2 }, - "bottom_thickness": { - "default_value": 0.2 - }, - "speed_layer_0": { - "default_value": 20 - }, - "speed_print_layer_0": { - "default_value": 20 - }, "cool_min_layer_time_fan_speed_max": { "default_value": 5 }, diff --git a/resources/definitions/maker_starter.def.json b/resources/definitions/maker_starter.def.json index 560e53ccb9..96dca118af 100644 --- a/resources/definitions/maker_starter.def.json +++ b/resources/definitions/maker_starter.def.json @@ -53,57 +53,15 @@ "layer_height_0": { "default_value": 0.2 }, - "wall_line_count": { - "default_value": 2 - }, - "top_layers": { - "default_value": 4 - }, - "bottom_layers": { - "default_value": 4 - }, "speed_print": { "default_value": 50 }, - "speed_wall": { - "default_value": 30 - }, - "speed_wall_0": { - "default_value": 30 - }, - "speed_wall_x": { - "default_value": 30 - }, - "speed_topbottom": { - "default_value": 50 - }, - "speed_support": { - "default_value": 50 - }, - "speed_travel": { - "default_value": 120 - }, - "speed_layer_0": { - "default_value": 20 - }, - "skirt_brim_speed": { - "default_value": 15 - }, "speed_slowdown_layers": { "default_value": 4 }, "infill_sparse_density": { "default_value": 20 }, - "cool_fan_speed_min": { - "default_value": 50 - }, - "cool_fan_speed_max": { - "default_value": 100 - }, - "cool_fan_full_layer": { - "default_value": 4 - }, "cool_min_layer_time": { "default_value": 5 }, @@ -122,12 +80,6 @@ "support_z_distance": { "default_value": 0.2 }, - "support_top_distance": { - "default_value": 0.2 - }, - "support_bottom_distance": { - "default_value": 0.24 - }, "support_pattern": { "default_value": "ZigZag" }, @@ -140,24 +92,6 @@ "skirt_brim_minimal_length": { "default_value": 100 }, - "raft_base_line_spacing": { - "default_value": 2 - }, - "raft_base_thickness": { - "default_value": 0.3 - }, - "raft_base_line_width": { - "default_value": 2 - }, - "raft_base_speed": { - "default_value": 15 - }, - "raft_interface_thickness": { - "default_value": 0.24 - }, - "raft_interface_line_width": { - "default_value": 0.6 - }, "raft_airgap": { "default_value": 0.2 }, diff --git a/resources/definitions/makerbotreplicator.def.json b/resources/definitions/makerbotreplicator.def.json index 3b02215e74..24b556e1ee 100644 --- a/resources/definitions/makerbotreplicator.def.json +++ b/resources/definitions/makerbotreplicator.def.json @@ -18,9 +18,7 @@ "overrides": { "prime_tower_size": { "default_value": 10.0 }, "infill_sparse_density": { "default_value": 10 }, - "speed_travel": { "default_value": 150 }, "layer_height": { "default_value": 0.15 }, - "material_print_temperature": { "default_value": 220 }, "machine_extruder_count": { "default_value": 1 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, diff --git a/resources/definitions/malyan_m200.def.json b/resources/definitions/malyan_m200.def.json index 71c94184b2..13ad07ccae 100644 --- a/resources/definitions/malyan_m200.def.json +++ b/resources/definitions/malyan_m200.def.json @@ -30,8 +30,6 @@ "speed_wall_x": { "value": "speed_print" }, "speed_support": { "value": "speed_wall_0" }, "speed_layer_0": { "value": "round(speed_print / 2.0, 2)" }, - "speed_travel": { "default_value": 50 }, - "speed_travel_layer_0": { "default_value": 40 }, "speed_infill": { "value": "speed_print" }, "speed_topbottom": {"value": "speed_print / 2"}, diff --git a/resources/definitions/mankati_fullscale_xt_plus.def.json b/resources/definitions/mankati_fullscale_xt_plus.def.json index 104be7091b..b6fa040750 100644 --- a/resources/definitions/mankati_fullscale_xt_plus.def.json +++ b/resources/definitions/mankati_fullscale_xt_plus.def.json @@ -41,23 +41,15 @@ "layer_height": { "default_value": 0.2 }, "wall_thickness": { "default_value": 0.8 }, "top_bottom_thickness": { "default_value": 0.3 }, - "material_print_temperature": { "default_value": 195 }, - "material_bed_temperature": { "default_value": 60 }, "retraction_enable": { "default_value": true }, "retraction_speed": { "default_value": 50 }, "retraction_amount": { "default_value": 0.8 }, "retraction_hop": { "default_value": 0.075 }, "speed_print": { "default_value": 60 }, - "speed_infill": { "default_value": 100 }, - "speed_topbottom": { "default_value": 15 }, - "speed_travel": { "default_value": 150 }, "speed_layer_0": { - "minimum_value": "0.1", - "default_value": 15.0 + "minimum_value": "0.1" }, - "infill_overlap": { "default_value": 10 }, "cool_fan_enabled": { "default_value": false }, - "cool_fan_speed": { "default_value": 0 }, "skirt_line_count": { "default_value": 3 }, "skirt_gap": { "default_value": 4 }, "skirt_brim_minimal_length": { "default_value": 200 } diff --git a/resources/definitions/ord.def.json b/resources/definitions/ord.def.json index de410b0d58..4a550602f2 100644 --- a/resources/definitions/ord.def.json +++ b/resources/definitions/ord.def.json @@ -19,12 +19,9 @@ }, "overrides": { - "material_bed_temperature": { "default_value": 60 }, "prime_tower_size": { "default_value": 7.0710678118654755 }, "infill_sparse_density": { "default_value": 15 }, - "speed_travel": { "default_value": 150 }, "layer_height": { "default_value": 0.3 }, - "material_print_temperature": { "default_value": 240 }, "machine_extruder_count": { "default_value": 5 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, diff --git a/resources/definitions/printrbot_play.def.json b/resources/definitions/printrbot_play.def.json index b8879e825c..bf52363800 100644 --- a/resources/definitions/printrbot_play.def.json +++ b/resources/definitions/printrbot_play.def.json @@ -29,7 +29,6 @@ "machine_head_with_fans_polygon": { "default_value": [[-32,999],[37,999],[37,-32],[-32,-32]] }, "gantry_height": { "value": "55" }, "speed_print": { "default_value": 50 }, - "speed_travel": { "default_value": 55 }, "machine_max_feedrate_x": {"default_value": 125}, "machine_max_feedrate_y": {"default_value": 125}, "machine_max_feedrate_z": { "default_value": 5 }, diff --git a/resources/definitions/prusa_i3_mk2.def.json b/resources/definitions/prusa_i3_mk2.def.json index ff6f4469e7..5ae541049d 100644 --- a/resources/definitions/prusa_i3_mk2.def.json +++ b/resources/definitions/prusa_i3_mk2.def.json @@ -22,13 +22,10 @@ "machine_height": { "default_value": 200 }, "machine_depth": { "default_value": 210 }, "machine_center_is_zero": { "default_value": false }, - "material_bed_temperature": { "default_value": 55 }, "layer_height": { "default_value": 0.1 }, "layer_height_0": { "default_value": 0.15 }, "retraction_amount": { "default_value": 0.8 }, "retraction_speed": { "default_value": 35 }, - "retraction_retract_speed": { "default_value": 35 }, - "retraction_prime_speed": { "default_value": 35 }, "adhesion_type": { "default_value": "skirt" }, "machine_head_with_fans_polygon": { "default_value": [[-31,31],[34,31],[34,-40],[-31,-40]] }, "gantry_height": { "value": "28" }, diff --git a/resources/definitions/punchtec_connect_xl.def.json b/resources/definitions/punchtec_connect_xl.def.json index 1efdd226fd..b262daa445 100644 --- a/resources/definitions/punchtec_connect_xl.def.json +++ b/resources/definitions/punchtec_connect_xl.def.json @@ -17,15 +17,9 @@ "overrides": { "machine_head_polygon": { "default_value": [[ 0, 0], [ 0, 0], [ 0, 0], [ 0, 0]] }, - "speed_travel": { "default_value": 150 }, "prime_tower_size": { "default_value": 8.660254037844387 }, - "speed_wall_x": { "default_value": 40 }, - "speed_wall_0": { "default_value": 40 }, - "speed_topbottom": { "default_value": 40 }, "layer_height": { "default_value": 0.2 }, - "material_print_temperature": { "default_value": 195 }, "speed_print": { "default_value": 40 }, - "speed_infill": { "default_value": 40 }, "machine_extruder_count": { "default_value": 2 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, diff --git a/resources/definitions/rigid3d.def.json b/resources/definitions/rigid3d.def.json index 43ffd6924a..a66559b393 100644 --- a/resources/definitions/rigid3d.def.json +++ b/resources/definitions/rigid3d.def.json @@ -25,23 +25,13 @@ "skirt_gap": { "default_value": 5.0 }, "cool_min_layer_time": { "default_value": 10 }, "prime_tower_size": { "default_value": 7.745966692414834 }, - "speed_wall_x": { "default_value": 40 }, - "speed_travel": { "default_value": 100 }, - "bottom_thickness": { "default_value": 0.75 }, "layer_height_0": { "default_value": 0.25 }, "support_angle": { "default_value": 45 }, - "material_bed_temperature": { "default_value": 100 }, - "top_thickness": { "default_value": 0.75 }, - "material_print_temperature": { "default_value": 235 }, "retraction_speed": { "default_value": 60.0 }, "wall_thickness": { "default_value": 0.8 }, - "retraction_min_travel": { "default_value": 2 }, - "speed_wall_0": { "default_value": 30 }, "retraction_amount": { "default_value": 1 }, - "speed_topbottom": { "default_value": 30 }, "layer_height": { "default_value": 0.25 }, "speed_print": { "default_value": 40 }, - "speed_infill": { "default_value": 40 }, "machine_extruder_count": { "default_value": 1 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, diff --git a/resources/definitions/rigid3d_3rdgen.def.json b/resources/definitions/rigid3d_3rdgen.def.json index bb3414b75d..b4d0252075 100644 --- a/resources/definitions/rigid3d_3rdgen.def.json +++ b/resources/definitions/rigid3d_3rdgen.def.json @@ -25,20 +25,12 @@ "cool_min_layer_time": { "default_value": 10 }, "prime_tower_size": { "default_value": 7.745966692414834 }, "skirt_gap": { "default_value": 5.0 }, - "speed_travel": { "default_value": 120 }, - "bottom_thickness": { "default_value": 0.75 }, "layer_height_0": { "default_value": 0.25 }, "support_angle": { "default_value": 45 }, - "material_bed_temperature": { "default_value": 100 }, - "retraction_min_travel": { "default_value": 2 }, - "speed_wall_0": { "default_value": 30 }, "retraction_speed": { "default_value": 60.0 }, "wall_thickness": { "default_value": 0.8 }, - "material_print_temperature": { "default_value": 235 }, "retraction_amount": { "default_value": 1 }, - "speed_topbottom": { "default_value": 25 }, "layer_height": { "default_value": 0.25 }, - "top_thickness": { "default_value": 0.75 }, "machine_extruder_count": { "default_value": 1 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, diff --git a/resources/definitions/rigid3d_hobby.def.json b/resources/definitions/rigid3d_hobby.def.json index db48195fe0..f50df0c47d 100644 --- a/resources/definitions/rigid3d_hobby.def.json +++ b/resources/definitions/rigid3d_hobby.def.json @@ -17,25 +17,17 @@ "overrides": { "machine_head_polygon": { "default_value": [[ 16, 30], [ 16, 45], [ 16, 45], [ 16, 30]] }, "prime_tower_size": { "default_value": 8.660254037844387 }, - "speed_travel": { "default_value": 40 }, "skirt_gap": { "default_value": 5.0 }, "cool_min_layer_time": { "default_value": 15 }, "support_pattern": { "default_value": "grid" }, "layer_height_0": { "default_value": 0.25 }, - "speed_wall_x": { "default_value": 30 }, "skirt_line_count": { "default_value": 2 }, "support_angle": { "default_value": 45 }, - "speed_topbottom": { "default_value": 20 }, - "material_print_temperature": { "default_value": 205 }, "retraction_speed": { "default_value": 80 }, "wall_thickness": { "default_value": 0.8 }, - "retraction_min_travel": { "default_value": 2 }, - "speed_wall_0": { "default_value": 20 }, "retraction_amount": { "default_value": 2 }, - "speed_layer_0": { "default_value": 15 }, "layer_height": { "default_value": 0.2 }, "speed_print": { "default_value": 30 }, - "speed_infill": { "default_value": 30 }, "machine_extruder_count": { "default_value": 1 }, "machine_heated_bed": { "default_value": false }, "machine_center_is_zero": { "default_value": false }, diff --git a/resources/definitions/rigid3d_mucit.def.json b/resources/definitions/rigid3d_mucit.def.json index 42cd99a3bd..75853fab8b 100644 --- a/resources/definitions/rigid3d_mucit.def.json +++ b/resources/definitions/rigid3d_mucit.def.json @@ -76,14 +76,9 @@ "default_value": true }, "cool_fan_speed": { - "default_value": 100, "value": "100" }, - "cool_fan_speed_min": { - "default_value": 0 - }, "cool_fan_full_at_height": { - "default_value": 0.5, "value": "0.5" }, "support_z_distance": { diff --git a/resources/definitions/rigid3d_zero.def.json b/resources/definitions/rigid3d_zero.def.json index f55f913a56..64909630d2 100644 --- a/resources/definitions/rigid3d_zero.def.json +++ b/resources/definitions/rigid3d_zero.def.json @@ -24,21 +24,11 @@ "machine_head_polygon": { "default_value": [[ 40, 15], [ 40, 60], [ 30, 60], [ 30, 15]] }, "support_pattern": { "default_value": "grid" }, "cool_min_layer_time": { "default_value": 10 }, - "speed_travel": { "default_value": 80 }, "support_angle": { "default_value": 45 }, - "retraction_min_travel": { "default_value": 2 }, - "speed_wall_0": { "default_value": 20 }, - "speed_layer_0": { "default_value": 15 }, - "speed_infill": { "default_value": 30 }, - "speed_topbottom": { "default_value": 30 }, "prime_tower_size": { "default_value": 7.745966692414834 }, "skirt_line_count": { "default_value": 2 }, - "speed_wall_x": { "default_value": 30 }, - "bottom_thickness": { "default_value": 0.75 }, "layer_height_0": { "default_value": 0.25 }, - "top_thickness": { "default_value": 0.75 }, "wall_thickness": { "default_value": 0.8 }, - "material_print_temperature": { "default_value": 195 }, "retraction_amount": { "default_value": 1.5 }, "skirt_gap": { "default_value": 5.0 }, "layer_height": { "default_value": 0.25 }, diff --git a/resources/definitions/rigid3d_zero2.def.json b/resources/definitions/rigid3d_zero2.def.json index f24c869636..cc922769f7 100644 --- a/resources/definitions/rigid3d_zero2.def.json +++ b/resources/definitions/rigid3d_zero2.def.json @@ -44,9 +44,6 @@ "material_print_temperature": { "value": 235 }, - "material_bed_temperature": { - "default_value": 100 - }, "speed_print": { "default_value": 40 }, @@ -55,7 +52,7 @@ }, "speed_travel": { "value": 100 - }, + }, "support_enable": { "default_value": false }, @@ -90,14 +87,9 @@ "default_value": false }, "cool_fan_speed": { - "default_value": 50, "value": 50 }, - "cool_fan_speed_min": { - "default_value": 0 - }, "cool_fan_full_at_height": { - "default_value": 1.0, "value": 1.0 }, "support_z_distance": { diff --git a/resources/definitions/rigidbot.def.json b/resources/definitions/rigidbot.def.json index c04cd7c5e6..d6fb4f1651 100644 --- a/resources/definitions/rigidbot.def.json +++ b/resources/definitions/rigidbot.def.json @@ -49,37 +49,15 @@ "top_bottom_thickness": { "default_value": 0.3 }, - "material_print_temperature": { - "default_value": 195 - }, - "material_bed_temperature": { - "default_value": 60 - }, "speed_print": { "default_value": 60 }, - "speed_infill": { - "default_value": 100 - }, - "speed_topbottom": { - "default_value": 15 - }, - "speed_travel": { - "default_value": 150 - }, "speed_layer_0": { - "default_value": 15, "minimum_value": "0.1" }, - "infill_overlap": { - "default_value": 10 - }, "cool_fan_enabled": { "default_value": false }, - "cool_fan_speed": { - "default_value": 0 - }, "skirt_line_count": { "default_value": 3 }, diff --git a/resources/definitions/rigidbot_big.def.json b/resources/definitions/rigidbot_big.def.json index c97c6df9f3..9568417acc 100644 --- a/resources/definitions/rigidbot_big.def.json +++ b/resources/definitions/rigidbot_big.def.json @@ -49,37 +49,15 @@ "top_bottom_thickness": { "default_value": 0.3 }, - "material_print_temperature": { - "default_value": 195 - }, - "material_bed_temperature": { - "default_value": 60 - }, "speed_print": { "default_value": 60 }, - "speed_infill": { - "default_value": 100 - }, - "speed_topbottom": { - "default_value": 15 - }, - "speed_travel": { - "default_value": 150 - }, "speed_layer_0": { - "default_value": 15, "minimum_value": "0.1" }, - "infill_overlap": { - "default_value": 10 - }, "cool_fan_enabled": { "default_value": false }, - "cool_fan_speed": { - "default_value": 0 - }, "skirt_line_count": { "default_value": 3 }, diff --git a/resources/definitions/robo_3d_r1.def.json b/resources/definitions/robo_3d_r1.def.json index 8d7698e198..36b8addd27 100644 --- a/resources/definitions/robo_3d_r1.def.json +++ b/resources/definitions/robo_3d_r1.def.json @@ -22,28 +22,16 @@ "default_value": " M104 S0 ;extruder heater off\n M140 S0 ;heated bed heater off (if you have it)\n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning\n" }, "cool_min_layer_time": { "default_value": 7 }, - "speed_topbottom": { "default_value": 40 }, "retraction_speed": { "default_value": 50 }, - "layer_0_z_overlap": { "default_value": 0.2 }, "cool_min_speed": { "default_value": 19 }, - "material_bed_temperature": { "default_value": 60 }, "support_angle": { "default_value": 50 }, - "speed_layer_0": { "default_value": 30 }, - "line_width": { "default_value": 0.4 }, - "speed_infill": { "default_value": 60 }, "prime_tower_size": { "default_value": 8.660254037844387 }, "support_enable": { "default_value": true }, - "cool_fan_full_at_height": { "default_value": 0.1 }, - "bottom_thickness": { "default_value": 1.2 }, "raft_airgap": { "default_value": 0.2 }, "layer_height_0": { "default_value": 0.15 }, - "top_thickness": { "default_value": 1.2 }, - "speed_wall_0": { "default_value": 40 }, - "retraction_min_travel": { "default_value": 5 }, "material_flow": { "default_value": 100 }, "infill_sparse_density": { "default_value": 10 }, "wall_thickness": { "default_value": 1.2 }, - "material_print_temperature": { "default_value": 190 }, "retraction_amount": { "default_value": 3 }, "layer_height": { "default_value": 0.2 }, "speed_print": { "default_value": 40 }, diff --git a/resources/definitions/seemecnc_artemis.def.json b/resources/definitions/seemecnc_artemis.def.json index ec92f528d7..88c1d84b3d 100644 --- a/resources/definitions/seemecnc_artemis.def.json +++ b/resources/definitions/seemecnc_artemis.def.json @@ -27,13 +27,11 @@ "machine_name": { "default_value": "Artemis" }, "machine_shape": { "default_value": "elliptic" }, "machine_width": { "default_value": 290 }, - "relative_extrusion": { "default_value": false }, + "relative_extrusion": { "value": "False" }, "retraction_amount": { "default_value": 3.2 }, "retraction_combing": { "default_value": "off" }, "retraction_hop_enabled": { "default_value": true }, "retraction_hop_only_when_collides": { "default_value": false }, - "retraction_prime_speed": { "default_value": 45 }, - "retraction_retract_speed": { "default_value": 45 }, "retraction_speed": { "default_value": 45 }, "machine_start_gcode": { "default_value": "G28\nG1 Z15.0 F10000\nG92 E0" diff --git a/resources/definitions/seemecnc_v32.def.json b/resources/definitions/seemecnc_v32.def.json index d4316c25d9..0f49410116 100644 --- a/resources/definitions/seemecnc_v32.def.json +++ b/resources/definitions/seemecnc_v32.def.json @@ -27,13 +27,11 @@ "machine_name": { "default_value": "Rostock Max V3.2" }, "machine_shape": { "default_value": "elliptic" }, "machine_width": { "default_value": 265 }, - "relative_extrusion": { "default_value": false }, + "relative_extrusion": { "value": "False" }, "retraction_amount": { "default_value": 3.2 }, "retraction_combing": { "default_value": "off" }, "retraction_hop_enabled": { "default_value": true }, "retraction_hop_only_when_collides": { "default_value": false }, - "retraction_prime_speed": { "default_value": 45 }, - "retraction_retract_speed": { "default_value": 45 }, "retraction_speed": { "default_value": 45 }, "machine_start_gcode": { "default_value": "G28\nG1 Z15.0 F10000\nG92 E0" diff --git a/resources/definitions/strateo3d.def.json b/resources/definitions/strateo3d.def.json index a3710fb9af..4ae8473285 100644 --- a/resources/definitions/strateo3d.def.json +++ b/resources/definitions/strateo3d.def.json @@ -32,7 +32,7 @@ "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, "machine_head_with_fans_polygon": { "default_value": [ [ -76, -51.8 ] , [ 25, -51.8 ] , [ 25, 38.2 ] , [ -76, 38.2 ] ] }, - "gantry_height": { "default_value": 40 }, + "gantry_height": { "value": "40" }, "machine_extruder_count": { "default_value": 2 }, "machine_gcode_flavor": { "default_value": "Marlin" }, "machine_start_gcode": { "default_value": "G28 \nG90 G1 X300 Y210 Z15 F6000 \nG92 E0" }, diff --git a/resources/definitions/structur3d_discov3ry1_complete_um2plus.def.json b/resources/definitions/structur3d_discov3ry1_complete_um2plus.def.json index a7f4b7e549..e4893cacac 100644 --- a/resources/definitions/structur3d_discov3ry1_complete_um2plus.def.json +++ b/resources/definitions/structur3d_discov3ry1_complete_um2plus.def.json @@ -55,9 +55,6 @@ "line_width": { "value": "round(machine_nozzle_size * 0.875, 2)" }, - "speed_layer_0": { - "default_value": 10 - }, "speed_support": { "value": "speed_wall_0" }, diff --git a/resources/definitions/tam.def.json b/resources/definitions/tam.def.json index 67a4bb8eab..211049ca3d 100644 --- a/resources/definitions/tam.def.json +++ b/resources/definitions/tam.def.json @@ -37,7 +37,6 @@ "machine_center_is_zero": { "default_value": false }, "speed_print": { "default_value": 60 }, - "speed_travel": { "default_value": 200 }, "retraction_amount": { "default_value": 0.4 }, "retraction_speed": { "default_value": 35}, diff --git a/resources/definitions/tizyx_evy.def.json b/resources/definitions/tizyx_evy.def.json index f92f679677..57c7337196 100644 --- a/resources/definitions/tizyx_evy.def.json +++ b/resources/definitions/tizyx_evy.def.json @@ -50,13 +50,8 @@ "fill_outline_gaps": { "default_value": true}, "infill_sparse_density": { "default_value": 15}, "retraction_amount": { "default_value": 2.5}, - "retraction_min_travel": { "default_value": 2}, "retraction_speed": { "default_value": 30}, "speed_print": { "default_value": 60}, - "speed_topbottom": { "default_value": 50}, - "speed_wall_0": { "default_value": 40}, - "top_layers": { "default_value": 4}, - "wall_line_count": { "default_value": 2}, "cool_min_layer_time": { "default_value": 11}, "layer_height": { "maximum_value": "(0.8 * min(extruderValues('machine_nozzle_size')))" }, "layer_height_0": { "maximum_value": "(0.8 * min(extruderValues('machine_nozzle_size')))" }, diff --git a/resources/definitions/ubuild-3d_mr_bot_280.def.json b/resources/definitions/ubuild-3d_mr_bot_280.def.json index 060752387b..5157befc10 100644 --- a/resources/definitions/ubuild-3d_mr_bot_280.def.json +++ b/resources/definitions/ubuild-3d_mr_bot_280.def.json @@ -24,12 +24,9 @@ "machine_height": { "default_value": 275 }, "machine_depth": { "default_value": 275 }, "machine_center_is_zero": { "default_value": false }, - "material_bed_temperature": { "default_value": 70 }, "layer_height_0": { "default_value": 0.1 }, "retraction_amount": { "default_value": 2 }, "retraction_speed": { "default_value": 50 }, - "retraction_retract_speed": { "default_value": 50 }, - "retraction_prime_speed": { "default_value": 30 }, "adhesion_type": { "default_value": "skirt" }, "machine_nozzle_heat_up_speed": { "default_value": 2 }, "machine_nozzle_cool_down_speed": { "default_value": 2 }, diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index bb1ab13196..40fbdaf709 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -88,9 +88,6 @@ }, "machine_acceleration": { "default_value": 3000 - }, - "machine_nozzle_temp_enabled": { - "default_value": false } } } diff --git a/resources/definitions/ultimaker2_plus.def.json b/resources/definitions/ultimaker2_plus.def.json index 65ee8f063b..633e50bdba 100644 --- a/resources/definitions/ultimaker2_plus.def.json +++ b/resources/definitions/ultimaker2_plus.def.json @@ -37,9 +37,6 @@ "line_width": { "value": "round(machine_nozzle_size * 0.875, 2)" }, - "speed_layer_0": { - "default_value": 20 - }, "speed_support": { "value": "speed_wall_0" }, diff --git a/resources/definitions/vertex_k8400.def.json b/resources/definitions/vertex_k8400.def.json index 6bba095978..dad50cffe8 100644 --- a/resources/definitions/vertex_k8400.def.json +++ b/resources/definitions/vertex_k8400.def.json @@ -20,12 +20,6 @@ "machine_heated_bed": { "default_value": true }, - "material_bed_temperature": { - "default_value": 0 - }, - "material_bed_temperature_layer_0": { - "default_value": 0 - }, "machine_width": { "default_value": 200 }, diff --git a/resources/definitions/vertex_k8400_dual.def.json b/resources/definitions/vertex_k8400_dual.def.json index 9d014b9cf8..f5c4921cfc 100644 --- a/resources/definitions/vertex_k8400_dual.def.json +++ b/resources/definitions/vertex_k8400_dual.def.json @@ -18,12 +18,6 @@ "machine_heated_bed": { "default_value": true }, - "material_bed_temperature": { - "default_value": 0 - }, - "material_bed_temperature_layer_0": { - "default_value": 0 - }, "machine_width": { "default_value": 223.7 }, diff --git a/resources/definitions/vertex_nano_k8600.def.json b/resources/definitions/vertex_nano_k8600.def.json index 02697a1152..ef9552caf3 100644 --- a/resources/definitions/vertex_nano_k8600.def.json +++ b/resources/definitions/vertex_nano_k8600.def.json @@ -19,12 +19,6 @@ "machine_heated_bed": { "default_value": false }, - "material_bed_temperature": { - "default_value": 0 - }, - "material_bed_temperature_layer_0": { - "default_value": 0 - }, "machine_width": { "default_value": 80 }, diff --git a/resources/definitions/wanhao_d9.def.json b/resources/definitions/wanhao_d9.def.json index 39ad139ff8..ac4d41fa40 100644 --- a/resources/definitions/wanhao_d9.def.json +++ b/resources/definitions/wanhao_d9.def.json @@ -31,8 +31,6 @@ "support_angle": { "default_value": 60 }, "support_enable": { "default_value": true }, "layer_height_0": { "default_value": 0.15 }, - "top_thickness": { "default_value": 0.6 }, - "material_print_temperature": { "default_value": 190 }, "layer_height": { "default_value": 0.2 }, "speed_print": { "default_value": 30 }, "adhesion_type": { "default_value": "raft" }, diff --git a/resources/definitions/zone3d_printer.def.json b/resources/definitions/zone3d_printer.def.json index 5aa015cace..4c72422788 100644 --- a/resources/definitions/zone3d_printer.def.json +++ b/resources/definitions/zone3d_printer.def.json @@ -16,9 +16,7 @@ "overrides": { "prime_tower_size": { "default_value": 10.350983390135314 }, - "material_print_temperature": { "default_value": 260 }, "layer_height": { "default_value": 0.14 }, - "speed_travel": { "default_value": 150 }, "machine_extruder_count": { "default_value": 1 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, From 8cd583ad33940af8b5afbf4c6fde1b01356ac17a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 21 Oct 2019 01:48:01 +0200 Subject: [PATCH 13/18] Only show conical support min width if angle is positive If the angle is 0 or negative, this setting won't have any effect since the support cannot be made wider than it already is using this setting. It can only prevent it from becoming smaller, and it will only become smaller from a positive conical support angle. Discovered during work on the Settings Guide. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 5f43cb0bfd..019f533cf8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6607,7 +6607,7 @@ "minimum_value_warning": "machine_nozzle_size * 3", "maximum_value_warning": "100.0", "type": "float", - "enabled": "support_conical_enabled and support_enable", + "enabled": "support_conical_enabled and support_enable and support_conical_angle > 0", "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": true }, From 5149baf5932f0abb02af040bce1ecd6b0dcde96a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 21 Oct 2019 09:06:04 +0200 Subject: [PATCH 14/18] Fix custom quality fetching CURA-6913 --- cura/Machines/Models/QualityManagementModel.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cura/Machines/Models/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py index 3b503edcf0..d8b0785778 100644 --- a/cura/Machines/Models/QualityManagementModel.py +++ b/cura/Machines/Models/QualityManagementModel.py @@ -345,11 +345,13 @@ class QualityManagementModel(ListModel): # Create quality_changes group items quality_changes_item_list = [] for quality_changes_group in quality_changes_group_list: + # CURA-6913 Note that custom qualities can be based on "not supported", so the quality group can be None. quality_group = quality_group_dict.get(quality_changes_group.quality_type) + quality_type = quality_changes_group.quality_type item = {"name": quality_changes_group.name, "is_read_only": False, "quality_group": quality_group, - "quality_type": quality_group.quality_type, + "quality_type": quality_type, "quality_changes_group": quality_changes_group, "intent_category": quality_changes_group.intent_category, "section_name": catalog.i18nc("@label", "Custom profiles"), From cd0dbb390214e61c844a6e0ef7c9de6255a79047 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 21 Oct 2019 09:22:38 +0200 Subject: [PATCH 15/18] Fix defaultExtruderPosition() usage in fdmprinter CURA-6913 getDefaultValueInExtruder() expects the extruder_position to be an int, but defaultExtruderPosition() returns a str. This will cause the formula evaluation to fail. --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 019f533cf8..ab5a41344a 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4083,7 +4083,7 @@ "description": "The extruder train to use for printing the support. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "value": "defaultExtruderPosition()", + "value": "int(defaultExtruderPosition())", "enabled": "(support_enable or support_tree_enable) and extruders_enabled_count > 1", "settable_per_mesh": false, "settable_per_extruder": false, @@ -5050,7 +5050,7 @@ "description": "The extruder train to use for printing the skirt/brim/raft. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "value": "defaultExtruderPosition()", + "value": "int(defaultExtruderPosition())", "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') != 'none' or resolveOrValue('prime_tower_brim_enable'))", "settable_per_mesh": false, "settable_per_extruder": false From 5602c71ec7f54af0e9cbeb432f54062164710f1b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 21 Oct 2019 09:53:12 +0200 Subject: [PATCH 16/18] Fix material model update and signal recursion CURA-6904 --- cura/Machines/Models/BaseMaterialsModel.py | 38 +++++++++++++------ .../Machines/Models/FavoriteMaterialsModel.py | 4 +- cura/Machines/Models/GenericMaterialsModel.py | 2 +- 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/cura/Machines/Models/BaseMaterialsModel.py b/cura/Machines/Models/BaseMaterialsModel.py index fc2f90f1e4..3ed23a2c9e 100644 --- a/cura/Machines/Models/BaseMaterialsModel.py +++ b/cura/Machines/Models/BaseMaterialsModel.py @@ -1,9 +1,9 @@ # Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Optional, Dict, Set +from typing import Dict, Set -from PyQt5.QtCore import Qt, pyqtSignal, pyqtProperty +from PyQt5.QtCore import Qt, QTimer, pyqtSignal, pyqtProperty from UM.Qt.ListModel import ListModel @@ -38,14 +38,25 @@ class BaseMaterialsModel(ListModel): self._extruder_stack = None self._enabled = True + # CURA-6904 + # Updating the material model requires information from material nodes and containers. We use a timer here to + # make sure that an update function call will not be directly invoked by an event. Because the triggered event + # can be caused in the middle of a XMLMaterial loading, and the material container we try to find may not be + # in the system yet. This will cause an infinite recursion of (1) trying to load a material, (2) trying to + # update the material model, (3) cannot find the material container, load it, (4) repeat #1. + self._update_timer = QTimer() + self._update_timer.setInterval(100) + self._update_timer.setSingleShot(True) + self._update_timer.timeout.connect(self._update) + # Update the stack and the model data when the machine changes self._machine_manager.globalContainerChanged.connect(self._updateExtruderStack) self._updateExtruderStack() # Update this model when switching machines, when adding materials or changing their metadata. - self._machine_manager.activeStackChanged.connect(self._update) + self._machine_manager.activeStackChanged.connect(self._onChanged) ContainerTree.getInstance().materialsChanged.connect(self._materialsListChanged) - self._application.getMaterialManagementModel().favoritesChanged.connect(self._update) + self._application.getMaterialManagementModel().favoritesChanged.connect(self._onChanged) self.addRoleName(Qt.UserRole + 1, "root_material_id") self.addRoleName(Qt.UserRole + 2, "id") @@ -64,14 +75,17 @@ class BaseMaterialsModel(ListModel): self.addRoleName(Qt.UserRole + 15, "container_node") self.addRoleName(Qt.UserRole + 16, "is_favorite") + def _onChanged(self) -> None: + self._update_timer.start() + def _updateExtruderStack(self): global_stack = self._machine_manager.activeMachine if global_stack is None: return if self._extruder_stack is not None: - self._extruder_stack.pyqtContainersChanged.disconnect(self._update) - self._extruder_stack.approximateMaterialDiameterChanged.disconnect(self._update) + self._extruder_stack.pyqtContainersChanged.disconnect(self._onChanged) + self._extruder_stack.approximateMaterialDiameterChanged.disconnect(self._onChanged) try: self._extruder_stack = global_stack.extruderList[self._extruder_position] @@ -79,10 +93,10 @@ class BaseMaterialsModel(ListModel): self._extruder_stack = None if self._extruder_stack is not None: - self._extruder_stack.pyqtContainersChanged.connect(self._update) - self._extruder_stack.approximateMaterialDiameterChanged.connect(self._update) + self._extruder_stack.pyqtContainersChanged.connect(self._onChanged) + self._extruder_stack.approximateMaterialDiameterChanged.connect(self._onChanged) # Force update the model when the extruder stack changes - self._update() + self._onChanged() def setExtruderPosition(self, position: int): if self._extruder_stack is None or self._extruder_position != position: @@ -99,7 +113,7 @@ class BaseMaterialsModel(ListModel): self._enabled = enabled if self._enabled: # ensure the data is there again. - self._update() + self._onChanged() self.enabledChanged.emit() @pyqtProperty(bool, fset = setEnabled, notify = enabledChanged) @@ -119,12 +133,12 @@ class BaseMaterialsModel(ListModel): return if material.variant.machine.container_id != global_stack.definition.getId(): return - self._update() + self._onChanged() ## Triggered when the list of favorite materials is changed. def _favoritesChanged(self, material_base_file: str) -> None: if material_base_file in self._available_materials: - self._update() + self._onChanged() ## This is an abstract method that needs to be implemented by the specific # models themselves. diff --git a/cura/Machines/Models/FavoriteMaterialsModel.py b/cura/Machines/Models/FavoriteMaterialsModel.py index 255ef1dc0a..c5b245e400 100644 --- a/cura/Machines/Models/FavoriteMaterialsModel.py +++ b/cura/Machines/Models/FavoriteMaterialsModel.py @@ -9,14 +9,14 @@ class FavoriteMaterialsModel(BaseMaterialsModel): def __init__(self, parent = None): super().__init__(parent) cura.CuraApplication.CuraApplication.getInstance().getPreferences().preferenceChanged.connect(self._onFavoritesChanged) - self._update() + self._onChanged() ## Triggered when any preference changes, but only handles it when the list # of favourites is changed. def _onFavoritesChanged(self, preference_key: str) -> None: if preference_key != "cura/favorite_materials": return - self._update() + self._onChanged() def _update(self): if not self._canUpdate(): diff --git a/cura/Machines/Models/GenericMaterialsModel.py b/cura/Machines/Models/GenericMaterialsModel.py index 2542a6412a..00adf5636a 100644 --- a/cura/Machines/Models/GenericMaterialsModel.py +++ b/cura/Machines/Models/GenericMaterialsModel.py @@ -7,7 +7,7 @@ class GenericMaterialsModel(BaseMaterialsModel): def __init__(self, parent = None): super().__init__(parent) - self._update() + self._onChanged() def _update(self): if not self._canUpdate(): From 5548c30616e84aa6480ac6f0ed469ba88a759927 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 21 Oct 2019 10:21:48 +0200 Subject: [PATCH 17/18] Catch WinErrors for zeroconf CURA-6855 --- .../UM3NetworkPrinting/src/Network/ZeroConfClient.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py b/plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py index b6416b2bd0..0446af177b 100644 --- a/plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py +++ b/plugins/UM3NetworkPrinting/src/Network/ZeroConfClient.py @@ -36,9 +36,15 @@ class ZeroConfClient: def start(self) -> None: self._service_changed_request_queue = Queue() self._service_changed_request_event = Event() - self._service_changed_request_thread = Thread(target=self._handleOnServiceChangedRequests, daemon=True) + try: + self._zero_conf = Zeroconf() + # CURA-6855 catch WinErrors + except OSError: + Logger.logException("e", "Failed to create zeroconf instance.") + return + + self._service_changed_request_thread = Thread(target = self._handleOnServiceChangedRequests, daemon = True) self._service_changed_request_thread.start() - self._zero_conf = Zeroconf() self._zero_conf_browser = ServiceBrowser(self._zero_conf, self.ZERO_CONF_NAME, [self._queueService]) # Cleanup ZeroConf resources. From b2f9dc612d3fe4a08caafaf9d5942421d9f06d09 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Mon, 21 Oct 2019 10:33:52 +0200 Subject: [PATCH 18/18] Change intent profile descriptions to not trigger pervs and prudes. CURA-6851 --- cura/Machines/Models/IntentCategoryModel.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Machines/Models/IntentCategoryModel.py b/cura/Machines/Models/IntentCategoryModel.py index 8e7cd0fb5f..70165a33f1 100644 --- a/cura/Machines/Models/IntentCategoryModel.py +++ b/cura/Machines/Models/IntentCategoryModel.py @@ -37,12 +37,12 @@ class IntentCategoryModel(ListModel): } _translations["engineering"] = { "name": catalog.i18nc("@label", "Engineering"), - "description": catalog.i18nc("@text", "A profile which is suitable for engineering work") + "description": catalog.i18nc("@text", "Suitable for engineering work") } _translations["smooth"] = { "name": catalog.i18nc("@label", "Smooth"), - "description": catalog.i18nc("@text", "Ohhh yeah. So tender. So smooth. So Perfect.") + "description": catalog.i18nc("@text", "Optimized for a smooth surfaces") } ## Creates a new model for a certain intent category.