diff --git a/UltiMaker-Cura.spec.jinja b/UltiMaker-Cura.spec.jinja
index d618ca3309c..6d06ab7ff96 100644
--- a/UltiMaker-Cura.spec.jinja
+++ b/UltiMaker-Cura.spec.jinja
@@ -75,7 +75,7 @@ app = BUNDLE(
coll,
name='{{ display_name }}.app',
icon={{ icon }},
- bundle_identifier={{ osx_bundle_identifier }} + "_" + '{{ display_name }}'.replace(" ", "_") + "_" {{ short_version }},
+ bundle_identifier={{ osx_bundle_identifier }} + "_" + '{{ display_name }}'.replace(" ", "_"),
version={{ version }},
info_plist={
'CFBundleDisplayName': '{{ display_name }}',
diff --git a/conandata.yml b/conandata.yml
index 6bec3ee231e..59c31636793 100644
--- a/conandata.yml
+++ b/conandata.yml
@@ -5,9 +5,9 @@ requirements:
- "curaengine/5.10.0-alpha.0@ultimaker/testing"
- "cura_binary_data/5.10.0-alpha.0@ultimaker/testing"
- "fdm_materials/5.10.0-alpha.0@ultimaker/testing"
- - "dulcificum/0.2.1@ultimaker/stable"
- - "pysavitar/5.4.0-alpha.0@ultimaker/stable"
- - "pynest2d/5.4.0-alpha.0@ultimaker/stable"
+ - "dulcificum/5.10.0@ultimaker/stable"
+ - "pysavitar/5.10.0@ultimaker/stable"
+ - "pynest2d/5.10.0@ultimaker/stable"
requirements_internal:
- "fdm_materials/5.10.0-alpha.0@internal/testing"
- "cura_private_data/5.10.0-alpha.0@internal/testing"
diff --git a/conanfile.py b/conanfile.py
index 01e2ffb579c..3a71d8bca28 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -27,7 +27,6 @@ class CuraConan(ConanFile):
generators = "VirtualPythonEnv"
tool_requires = "gettext/0.22.5"
- # FIXME: Remove specific branch once merged to main
python_requires = "translationextractor/[>=2.2.0]@ultimaker/stable"
options = {
diff --git a/cura/PrinterOutput/FormatMaps.py b/cura/PrinterOutput/FormatMaps.py
index 3a03da71fdf..1974f4c08c5 100644
--- a/cura/PrinterOutput/FormatMaps.py
+++ b/cura/PrinterOutput/FormatMaps.py
@@ -13,7 +13,9 @@ class FormatMaps:
"fire_e": "ultimaker_method",
"lava_f": "ultimaker_methodx",
"magma_10": "ultimaker_methodxl",
- "sketch": "ultimaker_sketch"
+ "sketch": "ultimaker_sketch",
+ "sketch_large": "ultimaker_sketch_large",
+ "sketch_sprint": "ultimaker_sketch_sprint"
}
# A map from the extruder-name in their native file-formats to the internal name we use.
@@ -23,7 +25,10 @@ class FormatMaps:
"mk14_c": "1C",
"mk14": "1A",
"mk14_s": "2A",
- "mk14_e": "LABS"
+ "mk14_e": "LABS",
+ "sketch_extruder": "0.4mm",
+ "sketch_l_extruder": "0.4mm",
+ "sketch_sprint_extruder": "0.4mm",
}
# A map from the material-name in their native file-formats to some info, including the internal name we use.
diff --git a/cura/PrinterOutput/Models/PrinterConfigurationModel.py b/cura/PrinterOutput/Models/PrinterConfigurationModel.py
index 85c69abcd3d..d42be47b41d 100644
--- a/cura/PrinterOutput/Models/PrinterConfigurationModel.py
+++ b/cura/PrinterOutput/Models/PrinterConfigurationModel.py
@@ -1,9 +1,12 @@
-# Copyright (c) 2018 Ultimaker B.V.
+# Copyright (c) 2025 UltiMaker
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt6.QtCore import pyqtProperty, QObject, pyqtSignal
from typing import List
+from UM.Settings.ContainerRegistry import ContainerRegistry
+from UM.Settings.DefinitionContainer import DefinitionContainer
+
MYPY = False
if MYPY:
from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel
@@ -68,6 +71,15 @@ def hasAnyMaterialLoaded(self) -> bool:
return True
return False
+ @pyqtProperty("QStringList", constant=True)
+ def validCoresForPrinterType(self) -> List[str]:
+ printers = ContainerRegistry.getInstance().findContainersMetadata(
+ ignore_case=True, type="machine", name=self._printer_type, container_type=DefinitionContainer)
+ id = printers[0]["id"] if len(printers) > 0 and "id" in printers[0] else ""
+ definitions = ContainerRegistry.getInstance().findContainersMetadata(
+ ignore_case=True, type="variant", definition=id+"*")
+ return [x["name"] for x in definitions]
+
def __str__(self):
message_chunks = []
message_chunks.append("Printer type: " + self._printer_type)
diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py
index 3ce83d27e30..3181016f69f 100755
--- a/cura/Settings/ExtruderManager.py
+++ b/cura/Settings/ExtruderManager.py
@@ -257,6 +257,7 @@ def getUsedExtruderStacks(self) -> List["ExtruderStack"]:
limit_to_extruder_feature_list = ["wall_0_extruder_nr",
"wall_x_extruder_nr",
"roofing_extruder_nr",
+ "flooring_extruder_nr",
"top_bottom_extruder_nr",
"infill_extruder_nr",
]
diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py
index 82b52d3dde5..4c16061074f 100755
--- a/cura/Settings/MachineManager.py
+++ b/cura/Settings/MachineManager.py
@@ -1678,7 +1678,7 @@ def activeQualityDisplayNameMap(self) -> ActiveQuality:
intent_category = self.activeIntentCategory,
intent_name = IntentCategoryModel.translation(self.activeIntentCategory, "name", self.activeIntentCategory.title()),
custom_profile = self.activeQualityOrQualityChangesName if global_stack.qualityChanges is not empty_quality_changes_container else None,
- layer_height = self.activeQualityLayerHeight if self.isActiveQualitySupported else None,
+ layer_height = float("{:.2f}".format(self.activeQualityLayerHeight)) if self.isActiveQualitySupported else None,
is_experimental = self.isActiveQualityExperimental and self.isActiveQualitySupported
)
diff --git a/packaging/AppImage/cura.desktop.jinja b/packaging/AppImage/cura.desktop.jinja
index 1230d4ff5cc..dc6cddcc039 100644
--- a/packaging/AppImage/cura.desktop.jinja
+++ b/packaging/AppImage/cura.desktop.jinja
@@ -5,11 +5,11 @@ GenericName=3D Printing Software
GenericName[de]=3D-Druck-Software
GenericName[nl]=3D-Print Software
Comment=Cura converts 3D models into paths for a 3D printer. It prepares your print for maximum accuracy, minimum printing time and good reliability with many extra features that make your print come out great.
-Exec=UltiMaker-Cura %F
+Exec=UltiMaker-Cura %U
Icon=cura-icon
Terminal=false
Type=Application
-MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;image/bmp;image/gif;image/jpeg;image/png;text/x-gcode;application/x-amf;application/x-ply;application/x-ctm;model/vnd.collada+xml;model/gltf-binary;model/gltf+json;model/vnd.collada+xml+zip;
+MimeType=model/stl;application/vnd.ms-3mfdocument;model/3mf;application/prs.wavefront-obj;image/bmp;image/gif;image/jpeg;image/png;text/x-gcode;application/x-amf;application/x-ply;application/x-ctm;model/vnd.collada+xml;model/gltf-binary;model/gltf+json;model/vnd.collada+xml+zip;x-scheme-handler/cura;
Categories=Graphics;
Keywords=3D;Printing;
X-AppImage-Version={{ cura_version }}
diff --git a/plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml b/plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml
index c2238d2205c..d40efbee8a6 100644
--- a/plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml
+++ b/plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml
@@ -214,7 +214,7 @@ Item
settingStoreIndex: propertyStoreIndex
- labelText: catalog.i18nc("@label", "Y min")
+ labelText: catalog.i18nc("@label", "Y min ( '-' towards back)")
labelFont: base.labelFont
labelWidth: base.labelWidth
controlWidth: base.controlWidth
@@ -254,7 +254,7 @@ Item
settingKey: "machine_head_with_fans_polygon"
settingStoreIndex: propertyStoreIndex
- labelText: catalog.i18nc("@label", "Y max")
+ labelText: catalog.i18nc("@label", "Y max ( '+' towards front)")
labelFont: base.labelFont
labelWidth: base.labelWidth
controlWidth: base.controlWidth
diff --git a/plugins/MakerbotWriter/MakerbotWriter.py b/plugins/MakerbotWriter/MakerbotWriter.py
index 5c655dc8cc3..e4c2d2cbd13 100644
--- a/plugins/MakerbotWriter/MakerbotWriter.py
+++ b/plugins/MakerbotWriter/MakerbotWriter.py
@@ -46,6 +46,13 @@ def __init__(self) -> None:
suffixes=["makerbot"]
)
)
+ MimeTypeDatabase.addMimeType(
+ MimeType(
+ name="application/x-makerbot-replicator_plus",
+ comment="Makerbot Toolpath Package",
+ suffixes=["makerbot"]
+ )
+ )
_PNG_FORMAT = [
{"prefix": "isometric_thumbnail", "width": 120, "height": 120},
@@ -114,6 +121,8 @@ def write(self, stream: BufferedIOBase, nodes: List[SceneNode], mode=MeshWriter.
filename, filedata = "print.gcode", gcode_text_io.getvalue()
case "application/x-makerbot":
filename, filedata = "print.jsontoolpath", du.gcode_2_miracle_jtp(gcode_text_io.getvalue())
+ case "application/x-makerbot-replicator_plus":
+ filename, filedata = "print.jsontoolpath", du.gcode_2_miracle_jtp(gcode_text_io.getvalue(), nb_extruders=1)
case _:
raise Exception("Unsupported Mime type")
@@ -249,11 +258,87 @@ def _getMeta(self, root_nodes: List[SceneNode]) -> Tuple[Dict[str, any], str]:
meta["preferences"] = dict()
bounds = application.getBuildVolume().getBoundingBox()
+ intent = CuraApplication.getInstance().getIntentManager().currentIntentCategory
meta["preferences"]["instance0"] = {
"machineBounds": [bounds.right, bounds.front, bounds.left, bounds.back] if bounds is not None else None,
- "printMode": CuraApplication.getInstance().getIntentManager().currentIntentCategory,
+ "printMode": intent
}
+ if file_format == "application/x-makerbot":
+ accel_overrides = meta["accel_overrides"] = {}
+ if intent in ['highspeed', 'highspeedsolid']:
+ accel_overrides['do_input_shaping'] = True
+ accel_overrides['do_corner_rounding'] = True
+ bead_mode_overrides = accel_overrides["bead_mode"] = {}
+
+ accel_enabled = global_stack.getProperty('acceleration_enabled', 'value')
+
+ if accel_enabled:
+ global_accel_setting = global_stack.getProperty('acceleration_print', 'value')
+ accel_overrides["rate_mm_per_s_sq"] = {
+ "x": global_accel_setting,
+ "y": global_accel_setting
+ }
+
+ if global_stack.getProperty('acceleration_travel_enabled', 'value'):
+ travel_accel_setting = global_stack.getProperty('acceleration_travel', 'value')
+ bead_mode_overrides['Travel Move'] = {
+ "rate_mm_per_s_sq": {
+ "x": travel_accel_setting,
+ "y": travel_accel_setting
+ }
+ }
+
+ jerk_enabled = global_stack.getProperty('jerk_enabled', 'value')
+ if jerk_enabled:
+ global_jerk_setting = global_stack.getProperty('jerk_print', 'value')
+ accel_overrides["max_speed_change_mm_per_s"] = {
+ "x": global_jerk_setting,
+ "y": global_jerk_setting
+ }
+
+ if global_stack.getProperty('jerk_travel_enabled', 'value'):
+ travel_jerk_setting = global_stack.getProperty('jerk_travel', 'value')
+ if 'Travel Move' not in bead_mode_overrides:
+ bead_mode_overrides['Travel Move' ] = {}
+ bead_mode_overrides['Travel Move'].update({
+ "max_speed_change_mm_per_s": {
+ "x": travel_jerk_setting,
+ "y": travel_jerk_setting
+ }
+ })
+
+
+ # Get bead mode settings per extruder
+ available_bead_modes = {
+ "infill": "FILL",
+ "prime_tower": "PRIME_TOWER",
+ "roofing": "TOP_SURFACE",
+ "support_infill": "SUPPORT",
+ "support_interface": "SUPPORT_INTERFACE",
+ "wall_0": "WALL_OUTER",
+ "wall_x": "WALL_INNER",
+ "skirt_brim": "SKIRT"
+ }
+ for idx, extruder in enumerate(extruders):
+ for bead_mode_setting, bead_mode_tag in available_bead_modes.items():
+ ext_specific_tag = "%s_%s" % (bead_mode_tag, idx)
+ if accel_enabled or jerk_enabled:
+ bead_mode_overrides[ext_specific_tag] = {}
+
+ if accel_enabled:
+ accel_val = extruder.getProperty('acceleration_%s' % bead_mode_setting, 'value')
+ bead_mode_overrides[ext_specific_tag]["rate_mm_per_s_sq"] = {
+ "x": accel_val,
+ "y": accel_val
+ }
+ if jerk_enabled:
+ jerk_val = extruder.getProperty('jerk_%s' % bead_mode_setting, 'value')
+ bead_mode_overrides[ext_specific_tag][ "max_speed_change_mm_per_s"] = {
+ "x": jerk_val,
+ "y": jerk_val
+ }
+
meta["miracle_config"] = {"gaggles": {"instance0": {}}}
version_info = dict()
diff --git a/plugins/MakerbotWriter/__init__.py b/plugins/MakerbotWriter/__init__.py
index 60f232fbc01..bd766add8e3 100644
--- a/plugins/MakerbotWriter/__init__.py
+++ b/plugins/MakerbotWriter/__init__.py
@@ -25,6 +25,12 @@ def getMetaData():
"description": catalog.i18nc("@item:inlistbox", "Makerbot Sketch Printfile"),
"mime_type": "application/x-makerbot-sketch",
"mode": MakerbotWriter.MakerbotWriter.OutputMode.BinaryMode,
+ },
+ {
+ "extension": file_extension,
+ "description": catalog.i18nc("@item:inlistbox", "Makerbot Replicator+ Printfile"),
+ "mime_type": "application/x-makerbot-replicator_plus",
+ "mode": MakerbotWriter.MakerbotWriter.OutputMode.BinaryMode,
}
]
},
diff --git a/plugins/PostProcessingPlugin/Script.py b/plugins/PostProcessingPlugin/Script.py
index be661e08894..bdd57a06e00 100644
--- a/plugins/PostProcessingPlugin/Script.py
+++ b/plugins/PostProcessingPlugin/Script.py
@@ -122,7 +122,7 @@ def getValue(self, line: str, key: str, default = None) -> Any:
if not key in line or (';' in line and line.find(key) > line.find(';')):
return default
sub_part = line[line.find(key) + 1:]
- m = re.search('^-?[0-9]+\.?[0-9]*', sub_part)
+ m = re.search(r'^-?[0-9]+\.?[0-9]*', sub_part)
if m is None:
return default
try:
diff --git a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py
index f502678317a..43df7669623 100644
--- a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py
+++ b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py
@@ -338,7 +338,7 @@ def execute(self, data: List[str]) -> List[str]:
nbr_negative_layers += 1
#Track the latest printing temperature in order to resume at the correct temperature.
- if re.match("T(\d*)", line):
+ if re.match(r"T(\d*)", line):
current_t = self.getValue(line, "T")
m = self.getValue(line, "M")
if m is not None and (m == 104 or m == 109) and self.getValue(line, "S") is not None:
diff --git a/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py b/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py
index dabc6b725ab..db062f4084f 100644
--- a/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py
+++ b/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py
@@ -1,20 +1,20 @@
# Copyright (c) 2017 Ghostkeeper
# The PostProcessingPlugin is released under the terms of the LGPLv3 or higher.
+# Altered by GregValiant (Greg Foresi) February, 2025.
+# Added option for "first instance only"
+# Added option for a layer search with a Start Layer and an End layer.
+# Added 'Ignore StartUp G-code' and 'Ignore Ending G-code' options
-import re # To perform the search and replace.
-
+import re
from ..Script import Script
-
+from UM.Application import Application
class SearchAndReplace(Script):
- """Performs a search-and-replace on all g-code.
-
- Due to technical limitations, the search can't cross the border between
- layers.
+ """Performs a search-and-replace on the g-code.
"""
def getSettingDataString(self):
- return """{
+ return r"""{
"name": "Search and Replace",
"key": "SearchAndReplace",
"metadata": {},
@@ -23,37 +23,145 @@ def getSettingDataString(self):
{
"search":
{
- "label": "Search",
- "description": "All occurrences of this text will get replaced by the replacement text.",
+ "label": "Search for:",
+ "description": "All occurrences of this text (within the search range) will be replaced by the 'Replace with' string. The search string is 'Case Sensitive' and 'Layer' is not the same as 'layer'.",
"type": "str",
"default_value": ""
},
"replace":
{
- "label": "Replace",
- "description": "The search text will get replaced by this text.",
+ "label": "Replace with:",
+ "description": "The 'Search For' text will get replaced by this text. For MultiLine insertions use the newline character '\\n' as the delimiter. If your Search term ends with a '\\n' remember to add '\\n' to the end of this Replace term.",
"type": "str",
"default_value": ""
},
"is_regex":
{
"label": "Use Regular Expressions",
- "description": "When enabled, the search text will be interpreted as a regular expression.",
+ "description": "When disabled the search string is treated as a simple text string. When enabled, the search text will be interpreted as a Python regular expression.",
"type": "bool",
"default_value": false
+ },
+ "enable_layer_search":
+ {
+ "label": "Enable search within a Layer Range:",
+ "description": "When enabled, You can choose a Start and End layer for the search. When 'Layer Search' is enabled the StartUp and Ending gcodes are always ignored.",
+ "type": "bool",
+ "default_value": false,
+ "enabled": true
+ },
+ "search_start":
+ {
+ "label": "Start S&R at Layer:",
+ "description": "Use the Cura Preview layer numbering.",
+ "type": "int",
+ "default_value": 1,
+ "minimum_value": 1,
+ "enabled": "enable_layer_search"
+ },
+ "search_end":
+ {
+ "label": "Stop S&R at end of Layer:",
+ "description": "Use the Cura Preview layer numbering. The replacements will conclude at the end of this layer. If the End Layer is equal to the Start Layer then only that single layer is searched.",
+ "type": "int",
+ "default_value": 2,
+ "minimum_value": 1,
+ "enabled": "enable_layer_search"
+ },
+ "first_instance_only":
+ {
+ "label": "Replace first instance only:",
+ "description": "When enabled only the first instance is replaced.",
+ "type": "bool",
+ "default_value": false,
+ "enabled": true
+ },
+ "ignore_start":
+ {
+ "label": "Ignore StartUp G-code:",
+ "description": "When enabled the StartUp Gcode is unaffected. The StartUp Gcode is everything from ';generated with Cura...' to ';LAYER_COUNT:' inclusive.",
+ "type": "bool",
+ "default_value": true,
+ "enabled": "not enable_layer_search"
+ },
+ "ignore_end":
+ {
+ "label": "Ignore Ending G-code:",
+ "description": "When enabled the Ending Gcode is unaffected.",
+ "type": "bool",
+ "default_value": true,
+ "enabled": "not enable_layer_search"
}
}
}"""
def execute(self, data):
+ global_stack = Application.getInstance().getGlobalContainerStack()
+ extruder = global_stack.extruderList
+ retract_enabled = bool(extruder[0].getProperty("retraction_enable", "value"))
search_string = self.getSettingValueByKey("search")
- if not self.getSettingValueByKey("is_regex"):
- search_string = re.escape(search_string) #Need to search for the actual string, not as a regex.
- search_regex = re.compile(search_string)
-
replace_string = self.getSettingValueByKey("replace")
+ is_regex = self.getSettingValueByKey("is_regex")
+ enable_layer_search = self.getSettingValueByKey("enable_layer_search")
+ start_layer = self.getSettingValueByKey("search_start")
+ end_layer = self.getSettingValueByKey("search_end")
+ ignore_start = self.getSettingValueByKey("ignore_start")
+ ignore_end = self.getSettingValueByKey("ignore_end")
+ if enable_layer_search:
+ ignore_start = True
+ ignore_end = True
+ first_instance_only = bool(self.getSettingValueByKey("first_instance_only"))
+
+ # Account for missing layer numbers when a raft is used
+ start_index = 1
+ end_index = len(data) - 1
+ data_list = [0,1]
+ layer_list = [-1,0]
+ lay_num = 1
+ for index, layer in enumerate(data):
+ if re.search(r";LAYER:(-?\d+)", layer):
+ data_list.append(index)
+ layer_list.append(lay_num)
+ lay_num += 1
- for layer_number, layer in enumerate(data):
- data[layer_number] = re.sub(search_regex, replace_string, layer) #Replace all.
+ # Get the start and end indexes within the data
+ if not enable_layer_search:
+ if ignore_start:
+ start_index = 2
+ else:
+ start_index = 1
- return data
\ No newline at end of file
+ if ignore_end:
+ end_index = data_list[len(data_list) - 1]
+ else:
+ # Account for the extra data item when retraction is enabled
+ end_index = data_list[len(data_list) - 1] + (2 if retract_enabled else 1)
+
+ elif enable_layer_search:
+ for index, num in enumerate(layer_list):
+ if num == start_layer:
+ start_index = data_list[index]
+ if num == end_layer:
+ end_index = data_list[index]
+
+ # Make replacements
+ replace_one = False
+ if not is_regex:
+ search_string = re.escape(search_string)
+ search_regex = re.compile(search_string)
+ for num in range(start_index, end_index + 1, 1):
+ layer = data[num]
+ # First_instance only
+ if first_instance_only:
+ if re.search(search_regex, layer) and replace_one == False:
+ data[num] = re.sub(search_regex, replace_string, data[num], 1)
+ replace_one = True
+ break
+ # All instances
+ else:
+ if end_index > start_index:
+ data[num] = re.sub(search_regex, replace_string, layer)
+ elif end_index == start_index:
+ layer = data[start_index]
+ data[start_index] = re.sub(search_regex, replace_string, layer)
+ return data
diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py
index 4ca83772f29..090355a3c05 100644
--- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py
+++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py
@@ -331,7 +331,7 @@ def isMethod(self) -> bool:
return False
[printer, *_] = self._printers
- return printer.type in ("MakerBot Method X", "MakerBot Method XL", "MakerBot Sketch")
+ return printer.type in ("MakerBot Method", "MakerBot Method X", "MakerBot Method XL", "MakerBot Sketch", "MakerBot Sketch Large", "MakerBot Sketch Sprint")
@pyqtProperty(bool, notify=_cloudClusterPrintersChanged)
def supportsPrintJobActions(self) -> bool:
diff --git a/plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json b/plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json
index 9d0db2a30d3..6b99f740620 100644
--- a/plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json
+++ b/plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json
@@ -3,5 +3,7 @@
"ultimaker_methodx": "MakerBot Method X",
"ultimaker_methodxl": "MakerBot Method XL",
"ultimaker_factor4": "Ultimaker Factor 4",
- "ultimaker_sketch": "MakerBot Sketch"
+ "ultimaker_sketch": "MakerBot Sketch",
+ "ultimaker_sketch_large": "MakerBot Sketch Large",
+ "ultimaker_sketch_sprint": "MakerBot Sketch Sprint"
}
diff --git a/plugins/UM3NetworkPrinting/src/ExportFileJob.py b/plugins/UM3NetworkPrinting/src/ExportFileJob.py
index ac3da657190..1ab493c7478 100644
--- a/plugins/UM3NetworkPrinting/src/ExportFileJob.py
+++ b/plugins/UM3NetworkPrinting/src/ExportFileJob.py
@@ -28,7 +28,7 @@ def __init__(self, file_handler: Optional[FileHandler], nodes: List[SceneNode],
# Determine the filename.
job_name = CuraApplication.getInstance().getPrintInformation().jobName
- job_name = re.sub("[^\w\-. ()]", "-", job_name)
+ job_name = re.sub(r"[^\w\-. ()]", "-", job_name)
extension = self._mesh_format_handler.preferred_format.get("extension", "")
self.setFileName("{}.{}".format(job_name, extension))
diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py
index 85b98e532b6..18d9466eb5c 100644
--- a/plugins/USBPrinting/USBPrinterOutputDevice.py
+++ b/plugins/USBPrinting/USBPrinterOutputDevice.py
@@ -97,6 +97,8 @@ def __init__(self, serial_port: str, baud_rate: Optional[int] = None) -> None:
CuraApplication.getInstance().getOnExitCallbackManager().addCallback(self._checkActivePrintingUponAppExit)
+ CuraApplication.getInstance().getPreferences().addPreference("usb_printing/enabled", False)
+
# This is a callback function that checks if there is any printing in progress via USB when the application tries
# to exit. If so, it will show a confirmation before
def _checkActivePrintingUponAppExit(self) -> None:
@@ -144,6 +146,8 @@ def requestWrite(self, nodes: List["SceneNode"], file_name: Optional[str] = None
CuraApplication.getInstance().getController().setActiveStage("MonitorStage")
+ CuraApplication.getInstance().getPreferences().setValue("usb_printing/enabled", True)
+
#Find the g-code to print.
gcode_textio = StringIO()
gcode_writer = cast(MeshWriter, PluginRegistry.getInstance().getPluginObject("GCodeWriter"))
diff --git a/plugins/VersionUpgrade/VersionUpgrade59to510/VersionUpgrade59to510.py b/plugins/VersionUpgrade/VersionUpgrade59to510/VersionUpgrade59to510.py
new file mode 100644
index 00000000000..70190b6e7ff
--- /dev/null
+++ b/plugins/VersionUpgrade/VersionUpgrade59to510/VersionUpgrade59to510.py
@@ -0,0 +1,68 @@
+import configparser
+import io
+from typing import Dict, Tuple, List
+
+from UM.VersionUpgrade import VersionUpgrade
+
+_RENAMED_SETTINGS = {
+ "wall_overhang_speed_factor": "wall_overhang_speed_factors"
+} # type: Dict[str, str]
+
+_NEW_SETTING_VERSION = "25"
+
+
+class VersionUpgrade59to510(VersionUpgrade):
+ def upgradePreferences(self, serialized: str, filename: str):
+ parser = configparser.ConfigParser(interpolation = None)
+ parser.read_string(serialized)
+
+ # Fix 'renamed'(ish) settings for visibility
+ if "visible_settings" in parser["general"]:
+ all_setting_keys = parser["general"]["visible_settings"].strip().split(";")
+ if all_setting_keys:
+ for idx, key in enumerate(all_setting_keys):
+ if key in _RENAMED_SETTINGS:
+ all_setting_keys[idx] = _RENAMED_SETTINGS[key]
+ parser["general"]["visible_settings"] = ";".join(all_setting_keys)
+
+ # Update version number.
+ parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION
+
+ result = io.StringIO()
+ parser.write(result)
+ return [filename], [result.getvalue()]
+
+ def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
+ parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ())
+ parser.read_string(serialized)
+
+ # Update version number.
+ parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION
+
+ if "values" in parser:
+ for old_name, new_name in _RENAMED_SETTINGS.items():
+ if old_name in parser["values"]:
+ parser["values"][new_name] = parser["values"][old_name]
+ del parser["values"][old_name]
+ if "wall_overhang_speed_factors" in parser["values"]:
+ old_value = float(parser["values"]["wall_overhang_speed_factors"])
+ new_value = [max(1, int(round(old_value)))]
+ parser["values"]["wall_overhang_speed_factor"] = str(new_value)
+
+ result = io.StringIO()
+ parser.write(result)
+ return [filename], [result.getvalue()]
+
+ def upgradeStack(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
+ parser = configparser.ConfigParser(interpolation = None)
+ parser.read_string(serialized)
+
+ # Update version number.
+ if "metadata" not in parser:
+ parser["metadata"] = {}
+
+ parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION
+
+ result = io.StringIO()
+ parser.write(result)
+ return [filename], [result.getvalue()]
diff --git a/plugins/VersionUpgrade/VersionUpgrade59to510/__init__.py b/plugins/VersionUpgrade/VersionUpgrade59to510/__init__.py
new file mode 100644
index 00000000000..4c2b2622b1b
--- /dev/null
+++ b/plugins/VersionUpgrade/VersionUpgrade59to510/__init__.py
@@ -0,0 +1,60 @@
+# Copyright (c) 2024 UltiMaker
+# Cura is released under the terms of the LGPLv3 or higher.
+
+from typing import Any, Dict, TYPE_CHECKING
+
+from . import VersionUpgrade59to510
+
+if TYPE_CHECKING:
+ from UM.Application import Application
+
+upgrade = VersionUpgrade59to510.VersionUpgrade59to510()
+
+def getMetaData() -> Dict[str, Any]:
+ return {
+ "version_upgrade": {
+ # From To Upgrade function
+ ("preferences", 7000024): ("preferences", 7000025, upgrade.upgradePreferences),
+ ("machine_stack", 6000024): ("machine_stack", 6000025, upgrade.upgradeStack),
+ ("extruder_train", 6000024): ("extruder_train", 6000025, upgrade.upgradeStack),
+ ("definition_changes", 4000024): ("definition_changes", 4000025, upgrade.upgradeInstanceContainer),
+ ("quality_changes", 4000024): ("quality_changes", 4000025, upgrade.upgradeInstanceContainer),
+ ("quality", 4000024): ("quality", 4000025, upgrade.upgradeInstanceContainer),
+ ("user", 4000024): ("user", 4000025, upgrade.upgradeInstanceContainer),
+ ("intent", 4000024): ("intent", 4000025, upgrade.upgradeInstanceContainer),
+ },
+ "sources": {
+ "preferences": {
+ "get_version": upgrade.getCfgVersion,
+ "location": {"."}
+ },
+ "machine_stack": {
+ "get_version": upgrade.getCfgVersion,
+ "location": {"./machine_instances"}
+ },
+ "extruder_train": {
+ "get_version": upgrade.getCfgVersion,
+ "location": {"./extruders"}
+ },
+ "definition_changes": {
+ "get_version": upgrade.getCfgVersion,
+ "location": {"./definition_changes"}
+ },
+ "quality_changes": {
+ "get_version": upgrade.getCfgVersion,
+ "location": {"./quality_changes"}
+ },
+ "quality": {
+ "get_version": upgrade.getCfgVersion,
+ "location": {"./quality"}
+ },
+ "user": {
+ "get_version": upgrade.getCfgVersion,
+ "location": {"./user"}
+ }
+ }
+ }
+
+
+def register(app: "Application") -> Dict[str, Any]:
+ return {"version_upgrade": upgrade}
diff --git a/plugins/VersionUpgrade/VersionUpgrade59to510/plugin.json b/plugins/VersionUpgrade/VersionUpgrade59to510/plugin.json
new file mode 100644
index 00000000000..f06d6b31610
--- /dev/null
+++ b/plugins/VersionUpgrade/VersionUpgrade59to510/plugin.json
@@ -0,0 +1,8 @@
+{
+ "name": "Version Upgrade 5.9 to 5.10",
+ "author": "Ultimaker B.V.",
+ "version": "1.0.0",
+ "description": "Upgrades configurations from Cura 5.9 to Cura 5.10",
+ "api": 8,
+ "i18n-catalog": "cura"
+}
diff --git a/resources/definitions/ankermake_m5.def.json b/resources/definitions/ankermake_m5.def.json
index 4a70851e33a..a4bc967108c 100644
--- a/resources/definitions/ankermake_m5.def.json
+++ b/resources/definitions/ankermake_m5.def.json
@@ -120,7 +120,12 @@
"support_z_distance": { "value": "layer_height * 2" },
"top_bottom_thickness": { "value": "layer_height * 4" },
"wall_overhang_angle": { "value": 55 },
- "wall_overhang_speed_factor": { "value": 55 },
+ "wall_overhang_speed_factors":
+ {
+ "value": [
+ 55
+ ]
+ },
"zig_zaggify_infill": { "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'lines'" }
}
}
\ No newline at end of file
diff --git a/resources/definitions/ankermake_m5c.def.json b/resources/definitions/ankermake_m5c.def.json
index 131bd6bd7a8..3e1d7db0a93 100644
--- a/resources/definitions/ankermake_m5c.def.json
+++ b/resources/definitions/ankermake_m5c.def.json
@@ -238,7 +238,12 @@
"wall_extruder_nr": { "value": -1 },
"wall_line_width_0": { "value": 0.44 },
"wall_overhang_angle": { "value": 45 },
- "wall_overhang_speed_factor": { "value": 40 },
+ "wall_overhang_speed_factors":
+ {
+ "value": [
+ 40
+ ]
+ },
"wall_thickness": { "value": 0.84 },
"wall_x_extruder_nr": { "value": -1 },
"zig_zaggify_infill": { "value": true }
diff --git a/resources/definitions/atmat_signal_pro_base.def.json b/resources/definitions/atmat_signal_pro_base.def.json
index cd59e1c1691..01ecc1bdfec 100644
--- a/resources/definitions/atmat_signal_pro_base.def.json
+++ b/resources/definitions/atmat_signal_pro_base.def.json
@@ -167,7 +167,12 @@
"travel_avoid_supports": { "value": "True" },
"wall_line_width": { "value": "machine_nozzle_size" },
"wall_overhang_angle": { "value": "75" },
- "wall_overhang_speed_factor": { "value": "50" },
+ "wall_overhang_speed_factors":
+ {
+ "value": [
+ 50
+ ]
+ },
"zig_zaggify_infill": { "value": "True" }
}
}
\ No newline at end of file
diff --git a/resources/definitions/blocks_base.def.json b/resources/definitions/blocks_base.def.json
index fde5f912da1..64e4213d5f0 100644
--- a/resources/definitions/blocks_base.def.json
+++ b/resources/definitions/blocks_base.def.json
@@ -107,7 +107,7 @@
"travel_retract_before_outer_wall": { "value": true },
"wall_0_wipe_dist": { "value": 0.0 },
"wall_overhang_angle": { "default_value": 75 },
- "wall_overhang_speed_factor": { "default_value": 50 },
+ "wall_overhang_speed_factors": { "default_value": "[50]" },
"wall_thickness": { "value": "line_width * 2" },
"z_seam_corner": { "value": "'z_seam_corner_weighted'" },
"z_seam_type": { "value": "'back'" }
diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json
index 8471c59f828..038d2de2f4d 100644
--- a/resources/definitions/fdmprinter.def.json
+++ b/resources/definitions/fdmprinter.def.json
@@ -384,6 +384,7 @@
"RepRap (RepRap)": "RepRap",
"UltiGCode": "Ultimaker 2",
"Griffin": "Griffin",
+ "Cheetah": "Griffin+Cheetah",
"Makerbot": "Makerbot",
"BFB": "Bits from Bytes",
"MACH3": "Mach3",
@@ -461,7 +462,7 @@
"machine_head_with_fans_polygon":
{
"label": "Machine Head & Fan Polygon",
- "description": "The shape of the print head. These are coordinates relative to the position of the print head, which is usually the position of its first extruder. The dimensions left and in front of the print head must be negative coordinates.",
+ "description": "The dimensions of the print head used to determine 'Safe Model Distance' when printing 'One at a Time'. These numbers relate to the centerline of the first extruder nozzle. Left of the nozzle is 'X Min' and must be negative. Rear of the nozzle is 'Y Min' and must be negative. X Max (right) and Y Max (front) are positive numbers. Gantry height is the dimension from the build plate to the X gantry beam.",
"type": "polygon",
"default_value": [
[-20, 10],
@@ -1544,6 +1545,90 @@
}
}
},
+ "flooring_extruder_nr":
+ {
+ "label": "Bottom Surface Skin Extruder",
+ "description": "The extruder train used for printing the bottom most skin. This is used in multi-extrusion.",
+ "type": "optional_extruder",
+ "default_value": "-1",
+ "value": "top_bottom_extruder_nr",
+ "settable_per_mesh": false,
+ "settable_per_extruder": false,
+ "settable_per_meshgroup": true,
+ "settable_globally": true,
+ "enabled": "extruders_enabled_count > 1 and max(extruderValues('flooring_layer_count')) > 0 and max(extruderValues('bottom_layers')) > 0"
+ },
+ "flooring_layer_count":
+ {
+ "label": "Bottom Surface Skin Layers",
+ "description": "The number of bottom most skin layers. Usually only one bottom most layer is sufficient to generate higher quality bottom surfaces.",
+ "default_value": 0,
+ "minimum_value": "0",
+ "maximum_value_warning": "bottom_layers - 1",
+ "type": "int",
+ "maximum_value": "999999",
+ "value": "0",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true,
+ "enabled": "bottom_layers > 0",
+ "children":
+ {
+ "flooring_line_width":
+ {
+ "label": "Bottom Surface Skin Line Width",
+ "description": "Width of a single line of the areas at the bottom of the print.",
+ "unit": "mm",
+ "minimum_value": "0.001",
+ "minimum_value_warning": "0.1 + 0.4 * machine_nozzle_size",
+ "maximum_value_warning": "2 * machine_nozzle_size",
+ "default_value": 0.4,
+ "type": "float",
+ "value": "skin_line_width",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true,
+ "enabled": "flooring_layer_count > 0 and bottom_layers > 0"
+ },
+ "flooring_pattern":
+ {
+ "label": "Bottom Surface Skin Pattern",
+ "description": "The pattern of the bottom most layers.",
+ "type": "enum",
+ "options":
+ {
+ "lines": "Lines",
+ "concentric": "Concentric",
+ "zigzag": "Zig Zag"
+ },
+ "default_value": "lines",
+ "value": "top_bottom_pattern",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true,
+ "enabled": "flooring_layer_count > 0 and bottom_layers > 0"
+ },
+ "flooring_monotonic":
+ {
+ "label": "Monotonic Bottom Surface Order",
+ "description": "Print bottom surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes flat surfaces look more consistent.",
+ "type": "bool",
+ "value": true,
+ "default_value": true,
+ "enabled": "flooring_layer_count > 0 and bottom_layers > 0 and flooring_pattern != 'concentric'",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true
+ },
+ "flooring_angles":
+ {
+ "label": "Bottom Surface Skin Line Directions",
+ "description": "A list of integer line directions to use when the bottom surface skin layers use the lines or zig zag pattern. Elements from the list are used sequentially as the layers progress and when the end of the list is reached, it starts at the beginning again. The list items are separated by commas and the whole list is contained in square brackets. Default is an empty list which means use the traditional default angles (45 and 135 degrees).",
+ "type": "[int]",
+ "default_value": "[ ]",
+ "value": "skin_angles",
+ "enabled": "flooring_pattern != 'concentric' and flooring_layer_count > 0 and bottom_layers > 0",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true
+ }
+ }
+ },
"top_bottom_extruder_nr":
{
"label": "Top/Bottom Extruder",
@@ -2952,6 +3037,34 @@
"maximum_value_warning": "150",
"limit_to_extruder": "wall_x_extruder_nr",
"settable_per_mesh": true
+ },
+ "wall_0_material_flow_flooring":
+ {
+ "label": "Bottom Surface Outer Wall Flow",
+ "description": "Flow compensation on the bottom surface outermost wall line.",
+ "unit": "%",
+ "type": "float",
+ "default_value": 100,
+ "value": "wall_0_material_flow",
+ "minimum_value": "0.0001",
+ "minimum_value_warning": "50",
+ "maximum_value_warning": "150",
+ "limit_to_extruder": "wall_0_extruder_nr",
+ "settable_per_mesh": true
+ },
+ "wall_x_material_flow_flooring":
+ {
+ "label": "Bottom Surface Inner Wall(s) Flow",
+ "description": "Flow compensation on bottom surface wall lines for all wall lines except the outermost one.",
+ "unit": "%",
+ "type": "float",
+ "default_value": 100,
+ "value": "wall_x_material_flow",
+ "minimum_value": "0.0001",
+ "minimum_value_warning": "50",
+ "maximum_value_warning": "150",
+ "limit_to_extruder": "wall_x_extruder_nr",
+ "settable_per_mesh": true
}
}
},
@@ -2985,6 +3098,21 @@
"settable_per_mesh": true,
"enabled": "roofing_layer_count > 0 and top_layers > 0"
},
+ "flooring_material_flow":
+ {
+ "label": "Bottom Surface Skin Flow",
+ "description": "Flow compensation on lines of the areas at the bottom of the print.",
+ "unit": "%",
+ "type": "float",
+ "default_value": 100,
+ "value": "skin_material_flow",
+ "minimum_value": "0.0001",
+ "minimum_value_warning": "50",
+ "maximum_value_warning": "150",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true,
+ "enabled": "flooring_layer_count > 0 and bottom_layers > 0"
+ },
"infill_material_flow":
{
"label": "Infill Flow",
@@ -3231,6 +3359,19 @@
"minimum_value": 0.01,
"settable_per_mesh": false,
"settable_per_extruder": true
+ },
+ "material_pressure_advance_factor":
+ {
+ "enabled": false,
+ "label": "Pressure advance factor",
+ "description": "Tuning factor for pressure advance, which is meant to synchronize extrusion with motion",
+ "default_value": 0.05,
+ "maximum_value_warning": 1.0,
+ "minimum_value": 0,
+ "type": "float",
+ "settable_per_mesh": false,
+ "settable_per_extruder": true,
+ "settable_per_meshgroup": false
}
}
},
@@ -3339,6 +3480,34 @@
"value": "speed_wall_x",
"limit_to_extruder": "wall_x_extruder_nr",
"settable_per_mesh": true
+ },
+ "speed_wall_0_flooring":
+ {
+ "label": "Bottom Surface Outer Wall Speed",
+ "description": "The speed at which the bottom surface outermost wall is printed.",
+ "unit": "mm/s",
+ "type": "float",
+ "minimum_value": "0.1",
+ "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
+ "maximum_value_warning": "150",
+ "default_value": 30,
+ "value": "speed_wall_0",
+ "limit_to_extruder": "wall_0_extruder_nr",
+ "settable_per_mesh": true
+ },
+ "speed_wall_x_flooring":
+ {
+ "label": "Bottom Surface Inner Wall Speed",
+ "description": "The speed at which the bottom surface inner walls are printed.",
+ "unit": "mm/s",
+ "type": "float",
+ "minimum_value": "0.1",
+ "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
+ "maximum_value_warning": "150",
+ "default_value": 60,
+ "value": "speed_wall_x",
+ "limit_to_extruder": "wall_x_extruder_nr",
+ "settable_per_mesh": true
}
}
},
@@ -3357,6 +3526,21 @@
"settable_per_mesh": true,
"enabled": "roofing_layer_count > 0 and top_layers > 0"
},
+ "speed_flooring":
+ {
+ "label": "Bottom Surface Skin Speed",
+ "description": "The speed at which bottom surface skin layers are printed.",
+ "unit": "mm/s",
+ "type": "float",
+ "minimum_value": "0.1",
+ "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
+ "maximum_value_warning": "150",
+ "default_value": 25,
+ "value": "speed_topbottom",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true,
+ "enabled": "flooring_layer_count > 0 and bottom_layers > 0"
+ },
"speed_topbottom":
{
"label": "Top/Bottom Speed",
@@ -3712,6 +3896,36 @@
"enabled": "resolveOrValue('acceleration_enabled')",
"limit_to_extruder": "wall_x_extruder_nr",
"settable_per_mesh": true
+ },
+ "acceleration_wall_0_flooring":
+ {
+ "label": "Bottom Surface Outer Wall Acceleration",
+ "description": "The acceleration with which the bottom surface outermost walls are printed.",
+ "unit": "mm/s\u00b2",
+ "type": "float",
+ "minimum_value": "0.1",
+ "minimum_value_warning": "100",
+ "maximum_value_warning": "10000",
+ "default_value": 3000,
+ "value": "acceleration_wall_0",
+ "enabled": "resolveOrValue('acceleration_enabled')",
+ "limit_to_extruder": "wall_0_extruder_nr",
+ "settable_per_mesh": true
+ },
+ "acceleration_wall_x_flooring":
+ {
+ "label": "Bottom Surface Inner Wall Acceleration",
+ "description": "The acceleration with which the bottom surface inner walls are printed.",
+ "unit": "mm/s\u00b2",
+ "type": "float",
+ "minimum_value": "0.1",
+ "minimum_value_warning": "100",
+ "maximum_value_warning": "10000",
+ "default_value": 3000,
+ "value": "acceleration_wall_x",
+ "enabled": "resolveOrValue('acceleration_enabled')",
+ "limit_to_extruder": "wall_x_extruder_nr",
+ "settable_per_mesh": true
}
}
},
@@ -3730,6 +3944,21 @@
"limit_to_extruder": "roofing_extruder_nr",
"settable_per_mesh": true
},
+ "acceleration_flooring":
+ {
+ "label": "Bottom Surface Skin Acceleration",
+ "description": "The acceleration with which bottom surface skin layers are printed.",
+ "unit": "mm/s\u00b2",
+ "type": "float",
+ "minimum_value": "0.1",
+ "minimum_value_warning": "100",
+ "maximum_value_warning": "10000",
+ "default_value": 3000,
+ "value": "acceleration_topbottom",
+ "enabled": "resolveOrValue('acceleration_enabled') and flooring_layer_count > 0 and bottom_layers > 0",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true
+ },
"acceleration_topbottom":
{
"label": "Top/Bottom Acceleration",
@@ -4039,6 +4268,34 @@
"enabled": "resolveOrValue('jerk_enabled')",
"limit_to_extruder": "wall_x_extruder_nr",
"settable_per_mesh": true
+ },
+ "jerk_wall_0_flooring":
+ {
+ "label": "Bottom Surface Outer Wall Jerk",
+ "description": "The maximum instantaneous velocity change with which the bottom surface outermost walls are printed.",
+ "unit": "mm/s",
+ "type": "float",
+ "minimum_value": "0",
+ "maximum_value_warning": "50",
+ "default_value": 20,
+ "value": "jerk_wall_0",
+ "enabled": "resolveOrValue('jerk_enabled')",
+ "limit_to_extruder": "wall_0_extruder_nr",
+ "settable_per_mesh": true
+ },
+ "jerk_wall_x_flooring":
+ {
+ "label": "Bottom Surface Inner Wall Jerk",
+ "description": "The maximum instantaneous velocity change with which the bottom surface inner walls are printed.",
+ "unit": "mm/s",
+ "type": "float",
+ "minimum_value": "0",
+ "maximum_value_warning": "50",
+ "default_value": 20,
+ "value": "jerk_wall_x",
+ "enabled": "resolveOrValue('jerk_enabled')",
+ "limit_to_extruder": "wall_x_extruder_nr",
+ "settable_per_mesh": true
}
}
},
@@ -4056,6 +4313,20 @@
"limit_to_extruder": "roofing_extruder_nr",
"settable_per_mesh": true
},
+ "jerk_flooring":
+ {
+ "label": "Bottom Surface Skin Jerk",
+ "description": "The maximum instantaneous velocity change with which bottom surface skin layers are printed.",
+ "unit": "mm/s",
+ "type": "float",
+ "minimum_value": "0",
+ "maximum_value_warning": "50",
+ "default_value": 20,
+ "value": "jerk_topbottom",
+ "enabled": "resolveOrValue('jerk_enabled') and flooring_layer_count > 0 and bottom_layers > 0",
+ "limit_to_extruder": "flooring_extruder_nr",
+ "settable_per_mesh": true
+ },
"jerk_topbottom":
{
"label": "Top/Bottom Jerk",
@@ -4714,6 +4985,31 @@
"settable_per_mesh": false,
"settable_per_extruder": true
},
+ "cool_min_layer_time_overhang":
+ {
+ "label": "Minimum Layer Time with Overhang",
+ "description": "The minimum time spent in a layer that contains overhanging extrusions. This forces the printer to slow down, to at least spend the time set here in one layer. This allows the printed material to cool down properly before printing the next layer. Layers may still take shorter than the minimal layer time if Lift Head is disabled and if the Minimum Speed would otherwise be violated.",
+ "unit": "s",
+ "type": "float",
+ "default_value": 5,
+ "value": "cool_min_layer_time",
+ "minimum_value": "0",
+ "maximum_value_warning": "600",
+ "settable_per_mesh": false,
+ "settable_per_extruder": true
+ },
+ "cool_min_layer_time_overhang_min_segment_length":
+ {
+ "label": "Minimum Overhang Segment Length",
+ "description": "When trying to apply the minimum layer time specific for overhanging layers, it will be applied only if at least one consecutive overhanging extrusion move is longer than this value.",
+ "unit": "mm",
+ "type": "float",
+ "default_value": 5,
+ "minimum_value": "0",
+ "maximum_value_warning": "500",
+ "settable_per_mesh": false,
+ "settable_per_extruder": true
+ },
"cool_min_speed":
{
"label": "Minimum Speed",
@@ -7500,6 +7796,88 @@
"enabled": "retraction_enable and extruders_enabled_count > 1",
"settable_per_mesh": false,
"settable_per_extruder": true
+ },
+ "interlocking_enable":
+ {
+ "label": "Generate Interlocking Structure",
+ "description": "At the locations where models touch, generate an interlocking beam structure. This improves the adhesion between models, especially models printed in different materials.",
+ "type": "bool",
+ "enabled": "extruders_enabled_count > 1",
+ "default_value": false,
+ "resolve": "(extruders_enabled_count > 1) and any(extruderValues('interlocking_enable'))",
+ "settable_per_mesh": false,
+ "settable_per_extruder": false
+ },
+ "interlocking_beam_width":
+ {
+ "label": "Interlocking Beam Width",
+ "description": "The width of the interlocking structure beams.",
+ "type": "float",
+ "unit": "mm",
+ "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
+ "default_value": 0.8,
+ "value": "2 * wall_line_width_0",
+ "minimum_value": "min_odd_wall_line_width",
+ "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)",
+ "maximum_value_warning": "max(extruderValues('wall_line_width_0')) * 6",
+ "settable_per_mesh": true,
+ "settable_per_extruder": true
+ },
+ "interlocking_orientation":
+ {
+ "label": "Interlocking Structure Orientation",
+ "description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.",
+ "unit": "\u00b0",
+ "type": "float",
+ "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
+ "default_value": 22.5,
+ "minimum_value": "0",
+ "maximum_value": "360",
+ "resolve": "min(extruderValues('interlocking_orientation'))",
+ "settable_per_mesh": false,
+ "settable_per_extruder": false
+ },
+ "interlocking_beam_layer_count":
+ {
+ "label": "Interlocking Beam Layer Count",
+ "description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.",
+ "type": "int",
+ "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
+ "default_value": 2,
+ "minimum_value": "1",
+ "maximum_value_warning": "50",
+ "resolve": "max(extruderValues('interlocking_beam_layer_count'))",
+ "settable_per_mesh": false,
+ "settable_per_extruder": false
+ },
+ "interlocking_depth":
+ {
+ "label": "Interlocking Depth",
+ "description": "The distance from the boundary between models to generate interlocking structure, measured in cells. Too few cells will result in poor adhesion.",
+ "type": "int",
+ "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
+ "default_value": 2,
+ "minimum_value": "1",
+ "maximum_value": "10",
+ "maximum_value_warning": "5",
+ "resolve": "max(extruderValues('interlocking_depth'))",
+ "settable_per_mesh": false,
+ "settable_per_extruder": false
+ },
+ "interlocking_boundary_avoidance":
+ {
+ "label": "Interlocking Boundary Avoidance",
+ "description": "The distance from the outside of a model where interlocking structures will not be generated, measured in cells.",
+ "type": "int",
+ "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
+ "default_value": 2,
+ "minimum_value": "0",
+ "minimum_value_warning": "resolveOrValue('interlocking_depth')",
+ "maximum_value": "10",
+ "maximum_value_warning": "5",
+ "resolve": "max(extruderValues('interlocking_boundary_avoidance'))",
+ "settable_per_mesh": false,
+ "settable_per_extruder": false
}
}
},
@@ -7922,88 +8300,6 @@
"settable_per_mesh": true,
"settable_per_extruder": false
},
- "interlocking_enable":
- {
- "label": "Generate Interlocking Structure",
- "description": "At the locations where models touch, generate an interlocking beam structure. This improves the adhesion between models, especially models printed in different materials.",
- "type": "bool",
- "enabled": "extruders_enabled_count > 1",
- "default_value": false,
- "resolve": "(extruders_enabled_count > 1) and any(extruderValues('interlocking_enable'))",
- "settable_per_mesh": false,
- "settable_per_extruder": false
- },
- "interlocking_beam_width":
- {
- "label": "Interlocking Beam Width",
- "description": "The width of the interlocking structure beams.",
- "type": "float",
- "unit": "mm",
- "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
- "default_value": 0.8,
- "value": "2 * wall_line_width_0",
- "minimum_value": "min_odd_wall_line_width",
- "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)",
- "maximum_value_warning": "max(extruderValues('wall_line_width_0')) * 6",
- "settable_per_mesh": true,
- "settable_per_extruder": true
- },
- "interlocking_orientation":
- {
- "label": "Interlocking Structure Orientation",
- "description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.",
- "unit": "\u00b0",
- "type": "float",
- "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
- "default_value": 22.5,
- "minimum_value": "0",
- "maximum_value": "360",
- "resolve": "min(extruderValues('interlocking_orientation'))",
- "settable_per_mesh": false,
- "settable_per_extruder": false
- },
- "interlocking_beam_layer_count":
- {
- "label": "Interlocking Beam Layer Count",
- "description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.",
- "type": "int",
- "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
- "default_value": 2,
- "minimum_value": "1",
- "maximum_value_warning": "50",
- "resolve": "max(extruderValues('interlocking_beam_layer_count'))",
- "settable_per_mesh": false,
- "settable_per_extruder": false
- },
- "interlocking_depth":
- {
- "label": "Interlocking Depth",
- "description": "The distance from the boundary between models to generate interlocking structure, measured in cells. Too few cells will result in poor adhesion.",
- "type": "int",
- "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
- "default_value": 2,
- "minimum_value": "1",
- "maximum_value": "10",
- "maximum_value_warning": "5",
- "resolve": "max(extruderValues('interlocking_depth'))",
- "settable_per_mesh": false,
- "settable_per_extruder": false
- },
- "interlocking_boundary_avoidance":
- {
- "label": "Interlocking Boundary Avoidance",
- "description": "The distance from the outside of a model where interlocking structures will not be generated, measured in cells.",
- "type": "int",
- "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
- "default_value": 2,
- "minimum_value": "0",
- "minimum_value_warning": "resolveOrValue('interlocking_depth')",
- "maximum_value": "10",
- "maximum_value_warning": "5",
- "resolve": "max(extruderValues('interlocking_boundary_avoidance'))",
- "settable_per_mesh": false,
- "settable_per_extruder": false
- },
"support_skip_some_zags":
{
"label": "Break Up Support In Chunks",
@@ -8416,15 +8712,13 @@
"value": "support_angle",
"settable_per_mesh": true
},
- "wall_overhang_speed_factor":
+ "wall_overhang_speed_factors":
{
- "label": "Overhanging Wall Speed",
- "description": "Overhanging walls will be printed at this percentage of their normal print speed.",
+ "label": "Overhanging Wall Speeds",
+ "description": "Overhanging walls will be printed at a percentage of their normal print speed. You can specify multiple values, so that even more overhanging walls will be printed even slower, e.g. by setting [75, 50, 25]",
"unit": "%",
- "type": "float",
- "default_value": 100,
- "minimum_value": "0.001",
- "minimum_value_warning": "25",
+ "type": "[int]",
+ "default_value": "[100]",
"settable_per_mesh": true
},
"bridge_settings_enabled":
diff --git a/resources/definitions/gutenberg_base.def.json b/resources/definitions/gutenberg_base.def.json
index f0329bef6de..335718c21af 100644
--- a/resources/definitions/gutenberg_base.def.json
+++ b/resources/definitions/gutenberg_base.def.json
@@ -109,7 +109,12 @@
"travel_avoid_other_parts": { "default_value": false },
"wall_line_width": { "value": "machine_nozzle_size" },
"wall_overhang_angle": { "default_value": 75 },
- "wall_overhang_speed_factor": { "default_value": 50 },
+ "wall_overhang_speed_factors":
+ {
+ "default_value": [
+ 50
+ ]
+ },
"zig_zaggify_infill": { "value": true }
}
}
\ No newline at end of file
diff --git a/resources/definitions/lotmaxx_sc60.def.json b/resources/definitions/lotmaxx_sc60.def.json
index f4ce358be1e..f283e564423 100644
--- a/resources/definitions/lotmaxx_sc60.def.json
+++ b/resources/definitions/lotmaxx_sc60.def.json
@@ -61,7 +61,12 @@
"support_pattern": { "default_value": "lines" },
"switch_extruder_retraction_amount": { "value": 100 },
"switch_extruder_retraction_speeds": { "value": 60 },
- "wall_overhang_speed_factor": { "value": 50 },
+ "wall_overhang_speed_factors":
+ {
+ "value": [
+ 50
+ ]
+ },
"z_seam_corner": { "default_value": "z_seam_corner_any" },
"z_seam_relative": { "value": true },
"z_seam_type": { "default_value": "sharpest_corner" },
diff --git a/resources/definitions/snakeoil_standard_base.def.json b/resources/definitions/snakeoil_standard_base.def.json
index 700edf3d352..16bec696367 100644
--- a/resources/definitions/snakeoil_standard_base.def.json
+++ b/resources/definitions/snakeoil_standard_base.def.json
@@ -109,7 +109,12 @@
"travel_avoid_other_parts": { "default_value": false },
"wall_line_width": { "value": "machine_nozzle_size" },
"wall_overhang_angle": { "default_value": 75 },
- "wall_overhang_speed_factor": { "default_value": 50 },
+ "wall_overhang_speed_factors":
+ {
+ "default_value": [
+ 50
+ ]
+ },
"zig_zaggify_infill": { "value": true }
}
}
\ No newline at end of file
diff --git a/resources/definitions/sovol_base_bowden.def.json b/resources/definitions/sovol_base_bowden.def.json
index 670b24fffc2..0f389a25f83 100644
--- a/resources/definitions/sovol_base_bowden.def.json
+++ b/resources/definitions/sovol_base_bowden.def.json
@@ -10,6 +10,6 @@
"overrides":
{
"retraction_amount": { "default_value": 5 },
- "retraction_speed": { "value": "machine_max_feedrate_e" }
+ "retraction_speed": { "value": "resolveOrValue('machine_max_feedrate_e')" }
}
}
\ No newline at end of file
diff --git a/resources/definitions/ultimaker_method.def.json b/resources/definitions/ultimaker_method.def.json
index 5e78c3f6308..d2813ea8a3e 100644
--- a/resources/definitions/ultimaker_method.def.json
+++ b/resources/definitions/ultimaker_method.def.json
@@ -59,6 +59,8 @@
"zyyx_pro_",
"octofiber_",
"fiberlogy_",
+ "ultimaker_pc-abs",
+ "ultimaker_pc-abs-fr",
"ultimaker_metallic_pla_175"
],
"has_machine_materials": true,
diff --git a/resources/definitions/ultimaker_method_base.def.json b/resources/definitions/ultimaker_method_base.def.json
index 1e5eb952ed0..c7dfac8aefa 100644
--- a/resources/definitions/ultimaker_method_base.def.json
+++ b/resources/definitions/ultimaker_method_base.def.json
@@ -33,12 +33,14 @@
{
"acceleration_enabled":
{
- "enabled": false,
+ "enabled": true,
"value": true
},
"acceleration_infill":
{
- "enabled": false,
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
"value": "acceleration_print"
},
"acceleration_layer_0":
@@ -48,12 +50,18 @@
},
"acceleration_prime_tower":
{
- "enabled": false,
+ "enabled": "acceleration_enabled and prime_tower_enable and extruders_enabled_count > 1",
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
"value": "acceleration_print"
},
"acceleration_print":
{
- "enabled": false,
+ "enabled": "acceleration_enabled",
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
"value": 800
},
"acceleration_print_layer_0":
@@ -63,33 +71,49 @@
},
"acceleration_roofing":
{
- "enabled": false,
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
"value": "acceleration_print"
},
+ "acceleration_skirt_brim":
+ {
+ "enabled": "acceleration_enabled and (adhesion_type == 'skirt' or adhesion_type == 'brim')",
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
+ "value": 800
+ },
"acceleration_support":
{
- "enabled": false,
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
"value": "acceleration_print"
},
"acceleration_support_bottom":
{
"enabled": false,
- "value": "acceleration_print"
+ "value": "acceleration_support_interface"
},
"acceleration_support_infill":
{
- "enabled": false,
- "value": "acceleration_print"
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
+ "value": "acceleration_support"
},
"acceleration_support_interface":
{
- "enabled": false,
- "value": "acceleration_print"
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
+ "value": "acceleration_support"
},
"acceleration_support_roof":
{
"enabled": false,
- "value": "acceleration_print"
+ "value": "acceleration_support_interface"
},
"acceleration_topbottom":
{
@@ -98,7 +122,10 @@
},
"acceleration_travel":
{
- "enabled": false,
+ "enabled": "acceleration_enabled",
+ "maximum_value": 5000,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
"value": 5000
},
"acceleration_travel_enabled":
@@ -113,28 +140,37 @@
},
"acceleration_wall":
{
- "enabled": false,
+ "enabled": "acceleration_enabled",
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
"value": "acceleration_print"
},
"acceleration_wall_0":
{
- "enabled": false,
- "value": "acceleration_print"
+ "enabled": "acceleration_enabled",
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
+ "value": "acceleration_wall"
},
"acceleration_wall_0_roofing":
{
"enabled": false,
- "value": "acceleration_print"
+ "value": "acceleration_wall"
},
"acceleration_wall_x":
{
- "enabled": false,
- "value": "acceleration_print"
+ "enabled": "acceleration_enabled",
+ "maximum_value": 3500,
+ "minimum_value": 200,
+ "minimum_value_warning": 750,
+ "value": "acceleration_wall"
},
"acceleration_wall_x_roofing":
{
"enabled": false,
- "value": "acceleration_print"
+ "value": "acceleration_wall"
},
"adhesion_extruder_nr":
{
@@ -203,12 +239,15 @@
"inset_direction": { "value": "'inside_out'" },
"jerk_enabled":
{
- "enabled": false,
+ "enabled": true,
"value": true
},
"jerk_infill":
{
- "enabled": false,
+ "enabled": "jerk_enabled",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
"value": "jerk_print"
},
"jerk_layer_0":
@@ -218,13 +257,19 @@
},
"jerk_prime_tower":
{
- "enabled": false,
+ "enabled": "jerk_enabled and prime_tower_enable and extruders_enabled_count > 1",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
"value": "jerk_print"
},
"jerk_print":
{
- "enabled": false,
- "value": 6.25
+ "enabled": "jerk_enabled",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
+ "value": 12.5
},
"jerk_print_layer_0":
{
@@ -233,33 +278,50 @@
},
"jerk_roofing":
{
- "enabled": false,
+ "enabled": "jerk_enabled",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
"value": "jerk_print"
},
+ "jerk_skirt_brim":
+ {
+ "enabled": "jerk_enabled and (adhesion_type == 'brim' or adhesion_type == 'skirt')",
+ "value": 12.5
+ },
"jerk_support":
{
- "enabled": false,
+ "enabled": "jerk_enabled and support_enable",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
"value": "jerk_print"
},
"jerk_support_bottom":
{
"enabled": false,
- "value": "jerk_print"
+ "value": "jerk_support_interface"
},
"jerk_support_infill":
{
- "enabled": false,
- "value": "jerk_print"
+ "enabled": "jerk_enabled and support_enable",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
+ "value": "jerk_support"
},
"jerk_support_interface":
{
- "enabled": false,
- "value": "jerk_print"
+ "enabled": "jerk_enabled and support_enable",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
+ "value": "jerk_support"
},
"jerk_support_roof":
{
"enabled": false,
- "value": "jerk_print"
+ "value": "jerk_support_interface"
},
"jerk_topbottom":
{
@@ -268,8 +330,11 @@
},
"jerk_travel":
{
- "enabled": false,
- "value": "jerk_print"
+ "enabled": "jerk_enabled",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
+ "value": 12.5
},
"jerk_travel_enabled":
{
@@ -283,12 +348,18 @@
},
"jerk_wall":
{
- "enabled": false,
+ "enabled": "jerk_enabled",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
"value": "jerk_print"
},
"jerk_wall_0":
{
- "enabled": false,
+ "enabled": "jerk_enabled",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
"value": "jerk_print"
},
"jerk_wall_0_roofing":
@@ -298,7 +369,10 @@
},
"jerk_wall_x":
{
- "enabled": false,
+ "enabled": "jerk_enabled",
+ "maximum_value": 35,
+ "minimum_value": 5,
+ "minimum_value_warning": 12,
"value": "jerk_print"
},
"jerk_wall_x_roofing":
@@ -517,16 +591,86 @@
"skirt_height": { "value": 3 },
"small_skin_width": { "value": 4 },
"speed_equalize_flow_width_factor": { "value": 0 },
- "speed_prime_tower": { "value": "speed_topbottom" },
- "speed_print": { "value": 50 },
- "speed_roofing": { "value": "speed_wall_0" },
- "speed_support": { "value": "speed_wall" },
- "speed_support_interface": { "value": "speed_topbottom" },
- "speed_topbottom": { "value": "speed_wall" },
+ "speed_infill":
+ {
+ "maximum_value": 350,
+ "maximum_value_warning": 325
+ },
+ "speed_prime_tower":
+ {
+ "maximum_value": 250,
+ "maximum_value_warning": 200,
+ "value": "speed_topbottom"
+ },
+ "speed_print":
+ {
+ "maximum_value": 350,
+ "maximum_value_warning": 325,
+ "value": 50
+ },
+ "speed_roofing":
+ {
+ "maximum_value": 300,
+ "maximum_value_warning": 275,
+ "value": "speed_wall_0"
+ },
+ "speed_support":
+ {
+ "maximum_value": 350,
+ "maximum_value_warning": 325,
+ "value": "speed_wall"
+ },
+ "speed_support_infill":
+ {
+ "maximum_value": 350,
+ "maximum_value_warning": 325
+ },
+ "speed_support_interface":
+ {
+ "maximum_value": 260,
+ "maximum_value_warning": 255,
+ "value": "speed_topbottom"
+ },
+ "speed_support_roof":
+ {
+ "maximum_value": 260,
+ "maximum_value_warning": 255
+ },
+ "speed_topbottom":
+ {
+ "maximum_value": 260,
+ "maximum_value_warning": 255,
+ "value": "speed_wall"
+ },
"speed_travel": { "value": 250 },
- "speed_wall": { "value": "speed_print * 40/50" },
- "speed_wall_0": { "value": "speed_wall * 30/40" },
- "speed_wall_x": { "value": "speed_wall" },
+ "speed_wall":
+ {
+ "maximum_value": 260,
+ "maximum_value_warning": 255,
+ "value": "speed_print * 40/50"
+ },
+ "speed_wall_0":
+ {
+ "maximum_value": 260,
+ "maximum_value_warning": 255,
+ "value": "speed_wall * 30/40"
+ },
+ "speed_wall_0_roofing":
+ {
+ "maximum_value": 260,
+ "maximum_value_warning": 255
+ },
+ "speed_wall_x":
+ {
+ "maximum_value": 260,
+ "maximum_value_warning": 255,
+ "value": "speed_wall"
+ },
+ "speed_wall_x_roofing":
+ {
+ "maximum_value": 260,
+ "maximum_value_warning": 255
+ },
"support_angle": { "value": 40 },
"support_bottom_height": { "value": "2*support_infill_sparse_thickness" },
"support_bottom_line_width":
diff --git a/resources/definitions/ultimaker_s8.def.json b/resources/definitions/ultimaker_s8.def.json
new file mode 100644
index 00000000000..da040a0e137
--- /dev/null
+++ b/resources/definitions/ultimaker_s8.def.json
@@ -0,0 +1,405 @@
+{
+ "version": 2,
+ "name": "Ultimaker S8",
+ "inherits": "ultimaker_s7",
+ "metadata":
+ {
+ "visible": true,
+ "author": "Ultimaker",
+ "manufacturer": "Ultimaker B.V.",
+ "file_formats": "application/x-ufp;text/x-gcode",
+ "platform": "ultimaker_s7_platform.obj",
+ "bom_numbers": [
+ 10600
+ ],
+ "firmware_update_info":
+ {
+ "check_urls": [ "https://software.ultimaker.com/releases/firmware/10600/stable/um-update.swu.version" ],
+ "id": 10600,
+ "update_url": "https://ultimaker.com/firmware?utm_source=cura&utm_medium=software&utm_campaign=fw-update"
+ },
+ "first_start_actions": [ "DiscoverUM3Action" ],
+ "has_machine_quality": true,
+ "has_materials": true,
+ "has_variants": true,
+ "machine_extruder_trains":
+ {
+ "0": "ultimaker_s8_extruder_left",
+ "1": "ultimaker_s8_extruder_right"
+ },
+ "nozzle_offsetting_for_disallowed_areas": false,
+ "platform_offset": [
+ 0,
+ 0,
+ 0
+ ],
+ "platform_texture": "UltimakerS8backplate.png",
+ "preferred_material": "ultimaker_pla_blue",
+ "preferred_quality_type": "draft",
+ "preferred_variant_name": "AA+ 0.4",
+ "quality_definition": "ultimaker_s8",
+ "supported_actions": [ "DiscoverUM3Action" ],
+ "supports_material_export": true,
+ "supports_network_connection": true,
+ "supports_usb_connection": false,
+ "variants_name": "Print Core",
+ "variants_name_has_translation": true,
+ "weight": -2
+ },
+ "overrides":
+ {
+ "acceleration_infill": { "value": "acceleration_print" },
+ "acceleration_layer_0": { "value": 2000 },
+ "acceleration_prime_tower": { "value": "acceleration_print" },
+ "acceleration_print": { "value": 20000 },
+ "acceleration_print_layer_0": { "value": "acceleration_layer_0" },
+ "acceleration_roofing": { "value": "acceleration_wall_0" },
+ "acceleration_skirt_brim": { "value": "acceleration_layer_0" },
+ "acceleration_support": { "value": "acceleration_print" },
+ "acceleration_support_bottom": { "value": "acceleration_support_interface" },
+ "acceleration_support_infill": { "value": "acceleration_support" },
+ "acceleration_support_interface": { "value": "acceleration_support" },
+ "acceleration_support_roof": { "value": "acceleration_support_interface" },
+ "acceleration_topbottom": { "value": "acceleration_print" },
+ "acceleration_travel": { "value": 10000 },
+ "acceleration_travel_enabled": { "value": true },
+ "acceleration_travel_layer_0": { "value": "acceleration_layer_0" },
+ "acceleration_wall": { "value": "acceleration_print/8" },
+ "acceleration_wall_0": { "value": "acceleration_wall" },
+ "acceleration_wall_0_roofing": { "value": "acceleration_wall_0" },
+ "acceleration_wall_x": { "value": "acceleration_print" },
+ "acceleration_wall_x_roofing": { "value": "acceleration_wall" },
+ "adhesion_type": { "value": "'skirt'" },
+ "bottom_thickness": { "value": "3*layer_height if top_layers==4 else top_bottom_thickness" },
+ "bridge_skin_material_flow": { "value": 200 },
+ "bridge_skin_speed":
+ {
+ "unit": "mm/s",
+ "value": "bridge_wall_speed"
+ },
+ "bridge_sparse_infill_max_density": { "value": 50 },
+ "bridge_wall_material_flow": { "value": "bridge_skin_material_flow" },
+ "bridge_wall_min_length": { "value": 10 },
+ "bridge_wall_speed":
+ {
+ "unit": "mm/s",
+ "value": 50
+ },
+ "cool_min_layer_time": { "value": 5 },
+ "cool_min_layer_time_overhang": { "value": 9 },
+ "cool_min_layer_time_overhang_min_segment_length": { "value": 2 },
+ "cool_min_speed": { "value": 6 },
+ "cool_min_temperature": { "value": "material_print_temperature-15" },
+ "default_material_print_temperature": { "maximum_value_warning": 320 },
+ "extra_infill_lines_to_support_skins": { "value": "'walls_and_lines'" },
+ "gradual_flow_enabled": { "value": false },
+ "hole_xy_offset": { "value": 0.075 },
+ "infill_overlap": { "value": 10 },
+ "infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'grid'" },
+ "infill_sparse_density": { "value": 15 },
+ "infill_wall_line_count": { "value": "1 if infill_sparse_density > 80 else 0" },
+ "initial_bottom_layers": { "value": 2 },
+ "jerk_infill":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_print"
+ },
+ "jerk_layer_0":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_print/2"
+ },
+ "jerk_prime_tower":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_print"
+ },
+ "jerk_print":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "10000"
+ },
+ "jerk_print_layer_0":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_layer_0"
+ },
+ "jerk_roofing":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_wall_0"
+ },
+ "jerk_skirt_brim":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_layer_0"
+ },
+ "jerk_support":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_print"
+ },
+ "jerk_support_bottom":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_support_interface"
+ },
+ "jerk_support_infill":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_support"
+ },
+ "jerk_support_interface":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_support"
+ },
+ "jerk_support_roof":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_support_interface"
+ },
+ "jerk_topbottom":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_print"
+ },
+ "jerk_travel":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": 10000
+ },
+ "jerk_travel_enabled": { "value": true },
+ "jerk_travel_layer_0":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_travel"
+ },
+ "jerk_wall":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_print/5"
+ },
+ "jerk_wall_0":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_wall"
+ },
+ "jerk_wall_0_roofing":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_wall_0"
+ },
+ "jerk_wall_x":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_print"
+ },
+ "jerk_wall_x_roofing":
+ {
+ "maximum_value_warning": "machine_max_jerk_xy / 2",
+ "unit": "m/s\u00b3",
+ "value": "jerk_wall_0"
+ },
+ "machine_gcode_flavor": { "default_value": "Cheetah" },
+ "machine_max_feedrate_x": { "default_value": 500 },
+ "machine_max_feedrate_y": { "default_value": 500 },
+ "machine_max_jerk_e":
+ {
+ "default_value": 20000,
+ "unit": "m/s\u00b3",
+ "value": "20000 if machine_gcode_flavor == 'Cheetah' else 100"
+ },
+ "machine_max_jerk_xy":
+ {
+ "default_value": 1000000,
+ "unit": "m/s\u00b3",
+ "value": "1000000 if machine_gcode_flavor == 'Cheetah' else 500"
+ },
+ "machine_max_jerk_z":
+ {
+ "default_value": 20000,
+ "unit": "m/s\u00b3",
+ "value": "20000 if machine_gcode_flavor == 'Cheetah' else 100"
+ },
+ "machine_name": { "default_value": "Ultimaker S8" },
+ "machine_nozzle_cool_down_speed": { "default_value": 1.3 },
+ "machine_nozzle_heat_up_speed": { "default_value": 0.6 },
+ "machine_start_gcode": { "default_value": "M213 U0.1 ;undercut 0.1mm" },
+ "material_extrusion_cool_down_speed": { "value": 0 },
+ "material_final_print_temperature": { "value": "material_print_temperature - 5" },
+ "material_initial_print_temperature": { "value": "material_print_temperature - 5" },
+ "material_pressure_advance_factor":
+ {
+ "enabled": true,
+ "value": 0.5
+ },
+ "material_print_temperature_layer_0": { "maximum_value_warning": 320 },
+ "max_flow_acceleration": { "value": 8.0 },
+ "max_skin_angle_for_expansion": { "value": 45 },
+ "meshfix_maximum_resolution": { "value": 0.4 },
+ "min_infill_area": { "default_value": 10 },
+ "optimize_wall_printing_order": { "value": false },
+ "prime_tower_brim_enable": { "value": true },
+ "prime_tower_min_volume": { "value": 10 },
+ "retraction_amount": { "value": 6.5 },
+ "retraction_combing_avoid_distance": { "value": 1.2 },
+ "retraction_combing_max_distance": { "value": 100 },
+ "retraction_hop": { "value": 0.2 },
+ "retraction_hop_after_extruder_switch_height": { "value": 2 },
+ "retraction_hop_enabled": { "value": true },
+ "retraction_min_travel": { "value": "5 if support_enable and support_structure=='tree' else line_width * 2" },
+ "retraction_prime_speed": { "value": 15 },
+ "skin_edge_support_thickness": { "value": 0 },
+ "skin_material_flow": { "value": 95 },
+ "skin_overlap": { "value": 0 },
+ "skin_preshrink": { "value": 0 },
+ "skirt_brim_speed":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_layer_0"
+ },
+ "skirt_line_count": { "value": 5 },
+ "small_skin_on_surface": { "value": false },
+ "small_skin_width": { "value": 4 },
+ "speed_infill":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_print"
+ },
+ "speed_ironing":
+ {
+ "maximum_value_warning": 300,
+ "value": 20
+ },
+ "speed_layer_0":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_wall"
+ },
+ "speed_prime_tower":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_wall"
+ },
+ "speed_print":
+ {
+ "maximum_value_warning": 300,
+ "value": 150
+ },
+ "speed_print_layer_0":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_layer_0"
+ },
+ "speed_roofing":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_wall"
+ },
+ "speed_support":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_wall_0"
+ },
+ "speed_support_bottom":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_support_interface"
+ },
+ "speed_support_infill":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_support"
+ },
+ "speed_support_interface":
+ {
+ "maximum_value_warning": 300,
+ "value": 50
+ },
+ "speed_support_roof":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_support_interface"
+ },
+ "speed_topbottom":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_print"
+ },
+ "speed_travel":
+ {
+ "maximum_value": 500,
+ "value": 500
+ },
+ "speed_travel_layer_0":
+ {
+ "maximum_value": 500,
+ "value": 150
+ },
+ "speed_wall":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_print*2/3"
+ },
+ "speed_wall_0":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_wall"
+ },
+ "speed_wall_0_roofing":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_wall"
+ },
+ "speed_wall_x":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_print"
+ },
+ "speed_wall_x_roofing":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_wall"
+ },
+ "support_brim_line_count": { "value": 5 },
+ "support_infill_rate": { "value": "80 if gradual_support_infill_steps != 0 else 15" },
+ "support_interface_enable": { "value": true },
+ "support_pattern": { "value": "'gyroid' if support_structure == 'tree' else 'lines'" },
+ "support_structure": { "value": "'normal'" },
+ "support_z_distance": { "value": "0.4*material_shrinkage_percentage_z/100.0" },
+ "top_bottom_thickness": { "value": "round(4*layer_height, 2)" },
+ "travel_avoid_other_parts": { "value": false },
+ "wall_0_acceleration": { "value": 1000 },
+ "wall_0_deceleration": { "value": 1000 },
+ "wall_0_end_speed_ratio": { "value": 100 },
+ "wall_0_speed_split_distance": { "value": 0.2 },
+ "wall_0_start_speed_ratio": { "value": 100 },
+ "wall_0_wipe_dist": { "value": 0 },
+ "wall_material_flow": { "value": 95 },
+ "wall_overhang_angle": { "value": 45 },
+ "wall_x_material_flow": { "value": 100 },
+ "z_seam_corner": { "value": "'z_seam_corner_weighted'" },
+ "z_seam_position": { "value": "'backright'" },
+ "z_seam_type": { "value": "'sharpest_corner'" }
+ }
+}
\ No newline at end of file
diff --git a/resources/definitions/ultimaker_sketch.def.json b/resources/definitions/ultimaker_sketch.def.json
index 2f96b52397f..bcd3e3891b4 100644
--- a/resources/definitions/ultimaker_sketch.def.json
+++ b/resources/definitions/ultimaker_sketch.def.json
@@ -52,7 +52,6 @@
"ultimaker_rapidrinse",
"ultimaker_sr30",
"ultimaker_petg",
- "ultimaker_metallic_pla",
"basf_",
"jabil_",
"polymaker_",
@@ -60,7 +59,8 @@
"ultimaker_sr30",
"ultimaker_petg",
"ultimaker_pva",
- "ultimaker_metallic_pla"
+ "ultimaker_pc-abs",
+ "ultimaker_pc-abs-fr"
],
"has_machine_quality": true,
"has_materials": true,
diff --git a/resources/definitions/ultimaker_sketch_sprint.def.json b/resources/definitions/ultimaker_sketch_sprint.def.json
index cde655e70f6..0043b17be2a 100644
--- a/resources/definitions/ultimaker_sketch_sprint.def.json
+++ b/resources/definitions/ultimaker_sketch_sprint.def.json
@@ -54,7 +54,8 @@
"ultimaker_rapidrinse",
"ultimaker_sr30",
"ultimaker_petg",
- "ultimaker_metallic_pla"
+ "ultimaker_pc-abs",
+ "ultimaker_pc-abs-fr"
],
"has_machine_quality": true,
"has_materials": true,
@@ -130,7 +131,7 @@
]
},
"infill_before_walls": { "value": false },
- "infill_line_width": { "value": 0.45 },
+ "infill_line_width": { "value": "0.45 if layer_height == 0.2 else 0.4" },
"infill_overlap": { "value": 10 },
"infill_pattern": { "value": "'lines'" },
"infill_sparse_density": { "value": 15 },
@@ -380,10 +381,12 @@
"wall_0_wipe_dist": { "value": 0.2 },
"wall_line_width_x": { "value": 0.58 },
"wall_overhang_angle": { "value": 35 },
- "wall_overhang_speed_factor":
+ "wall_overhang_speed_factors":
{
"minimum_value_warning": 15,
- "value": 17.5
+ "value": [
+ 18
+ ]
},
"wall_thickness": { "value": 1 },
"wall_x_material_flow_layer_0": { "value": "material_flow" },
diff --git a/resources/definitions/voron2_base.def.json b/resources/definitions/voron2_base.def.json
index 0c2ba090956..f38fccbb0e7 100644
--- a/resources/definitions/voron2_base.def.json
+++ b/resources/definitions/voron2_base.def.json
@@ -115,7 +115,12 @@
"speed_z_hop": { "value": "max(10, machine_max_feedrate_z / 2)" },
"top_bottom_thickness": { "value": "wall_thickness" },
"wall_overhang_angle": { "default_value": 75 },
- "wall_overhang_speed_factor": { "default_value": 50 },
+ "wall_overhang_speed_factors":
+ {
+ "default_value": [
+ 50
+ ]
+ },
"wall_thickness": { "value": "wall_line_width_0 + wall_line_width_x" },
"xy_offset_layer_0": { "value": "xy_offset - 0.1" },
"z_seam_corner": { "value": "'z_seam_corner_weighted'" },
diff --git a/resources/definitions/vzbot_base.def.json b/resources/definitions/vzbot_base.def.json
index 4efdbc2f66b..a447f1acdbb 100644
--- a/resources/definitions/vzbot_base.def.json
+++ b/resources/definitions/vzbot_base.def.json
@@ -195,7 +195,12 @@
"travel_avoid_other_parts": { "default_value": false },
"wall_line_width": { "value": "machine_nozzle_size" },
"wall_overhang_angle": { "default_value": 75 },
- "wall_overhang_speed_factor": { "default_value": 50 },
+ "wall_overhang_speed_factors":
+ {
+ "default_value": [
+ 50
+ ]
+ },
"xy_offset_layer_0": { "value": -0.3 },
"z_seam_type": { "value": "'back'" },
"zig_zaggify_infill": { "value": true }
diff --git a/resources/extruders/ultimaker_s8_extruder_left.def.json b/resources/extruders/ultimaker_s8_extruder_left.def.json
new file mode 100644
index 00000000000..cd2c34d16f8
--- /dev/null
+++ b/resources/extruders/ultimaker_s8_extruder_left.def.json
@@ -0,0 +1,31 @@
+{
+ "version": 2,
+ "name": "Extruder 1",
+ "inherits": "fdmextruder",
+ "metadata":
+ {
+ "machine": "ultimaker_s8",
+ "position": "0"
+ },
+ "overrides":
+ {
+ "extruder_nr":
+ {
+ "default_value": 0,
+ "maximum_value": "1"
+ },
+ "extruder_prime_pos_x": { "default_value": -3 },
+ "extruder_prime_pos_y": { "default_value": 6 },
+ "extruder_prime_pos_z": { "default_value": 2 },
+ "machine_extruder_end_pos_abs": { "default_value": true },
+ "machine_extruder_end_pos_x": { "default_value": 330 },
+ "machine_extruder_end_pos_y": { "default_value": 237 },
+ "machine_extruder_start_code": { "value": "\"M214 K{material_pressure_advance_factor} R0.04\"" },
+ "machine_extruder_start_pos_abs": { "default_value": true },
+ "machine_extruder_start_pos_x": { "default_value": 330 },
+ "machine_extruder_start_pos_y": { "default_value": 237 },
+ "machine_nozzle_head_distance": { "default_value": 2.7 },
+ "machine_nozzle_offset_x": { "default_value": 0 },
+ "machine_nozzle_offset_y": { "default_value": 0 }
+ }
+}
\ No newline at end of file
diff --git a/resources/extruders/ultimaker_s8_extruder_right.def.json b/resources/extruders/ultimaker_s8_extruder_right.def.json
new file mode 100644
index 00000000000..7bab64fa676
--- /dev/null
+++ b/resources/extruders/ultimaker_s8_extruder_right.def.json
@@ -0,0 +1,31 @@
+{
+ "version": 2,
+ "name": "Extruder 2",
+ "inherits": "fdmextruder",
+ "metadata":
+ {
+ "machine": "ultimaker_s8",
+ "position": "1"
+ },
+ "overrides":
+ {
+ "extruder_nr":
+ {
+ "default_value": 1,
+ "maximum_value": "1"
+ },
+ "extruder_prime_pos_x": { "default_value": 333 },
+ "extruder_prime_pos_y": { "default_value": 6 },
+ "extruder_prime_pos_z": { "default_value": 2 },
+ "machine_extruder_end_pos_abs": { "default_value": true },
+ "machine_extruder_end_pos_x": { "default_value": 330 },
+ "machine_extruder_end_pos_y": { "default_value": 219 },
+ "machine_extruder_start_code": { "value": "\"M214 K{material_pressure_advance_factor} R0.04\"" },
+ "machine_extruder_start_pos_abs": { "default_value": true },
+ "machine_extruder_start_pos_x": { "default_value": 330 },
+ "machine_extruder_start_pos_y": { "default_value": 219 },
+ "machine_nozzle_head_distance": { "default_value": 4.2 },
+ "machine_nozzle_offset_x": { "default_value": 22 },
+ "machine_nozzle_offset_y": { "default_value": 0 }
+ }
+}
\ No newline at end of file
diff --git a/resources/images/Ultimaker2PlusConnectbackplate.png b/resources/images/Ultimaker2PlusConnectbackplate.png
index 789a48e8874..c03e28936bb 100644
Binary files a/resources/images/Ultimaker2PlusConnectbackplate.png and b/resources/images/Ultimaker2PlusConnectbackplate.png differ
diff --git a/resources/images/UltimakerFactor4Backplate.png b/resources/images/UltimakerFactor4Backplate.png
index c22d8877666..f209c98feea 100644
Binary files a/resources/images/UltimakerFactor4Backplate.png and b/resources/images/UltimakerFactor4Backplate.png differ
diff --git a/resources/images/UltimakerS3backplate.png b/resources/images/UltimakerS3backplate.png
index 486c2829341..f4a9cf478ef 100644
Binary files a/resources/images/UltimakerS3backplate.png and b/resources/images/UltimakerS3backplate.png differ
diff --git a/resources/images/UltimakerS5backplate.png b/resources/images/UltimakerS5backplate.png
index cb37c296a43..cda59e4b23a 100644
Binary files a/resources/images/UltimakerS5backplate.png and b/resources/images/UltimakerS5backplate.png differ
diff --git a/resources/images/UltimakerS7backplate.png b/resources/images/UltimakerS7backplate.png
index c35f819d7da..5cef95e7a45 100644
Binary files a/resources/images/UltimakerS7backplate.png and b/resources/images/UltimakerS7backplate.png differ
diff --git a/resources/images/UltimakerS8backplate.png b/resources/images/UltimakerS8backplate.png
new file mode 100644
index 00000000000..d2a4488a739
Binary files /dev/null and b/resources/images/UltimakerS8backplate.png differ
diff --git a/resources/intent/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..62554df3da0
--- /dev/null
+++ b/resources/intent/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_factor4
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC 0.4
+
+[values]
+jerk_print = 30
+speed_print = 80
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm_strong.inst.cfg b/resources/intent/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm_strong.inst.cfg
new file mode 100644
index 00000000000..9ba6b62e09f
--- /dev/null
+++ b/resources/intent/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm_strong.inst.cfg
@@ -0,0 +1,19 @@
+[general]
+definition = ultimaker_factor4
+name = Strong
+version = 4
+
+[metadata]
+intent_category = strong
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC 0.4
+
+[values]
+jerk_print = 30
+material_print_temperature = =default_material_print_temperature + 20
+speed_print = 80
+wall_thickness = =line_width * 4
+
diff --git a/resources/intent/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..219381b2376
--- /dev/null
+++ b/resources/intent/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_factor4
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC 0.6
+
+[values]
+jerk_print = 30
+speed_print = 80
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm_strong.inst.cfg b/resources/intent/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm_strong.inst.cfg
new file mode 100644
index 00000000000..9acf025ee74
--- /dev/null
+++ b/resources/intent/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm_strong.inst.cfg
@@ -0,0 +1,19 @@
+[general]
+definition = ultimaker_factor4
+name = Strong
+version = 4
+
+[metadata]
+intent_category = strong
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC 0.6
+
+[values]
+jerk_print = 30
+material_print_temperature = =default_material_print_temperature + 20
+speed_print = 80
+wall_thickness = =line_width * 4
+
diff --git a/resources/intent/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..4ea4831a43f
--- /dev/null
+++ b/resources/intent/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_factor4
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = HT 0.6
+
+[values]
+jerk_print = 30
+speed_print = 70
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm_strong.inst.cfg b/resources/intent/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm_strong.inst.cfg
new file mode 100644
index 00000000000..486c1ad5089
--- /dev/null
+++ b/resources/intent/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm_strong.inst.cfg
@@ -0,0 +1,19 @@
+[general]
+definition = ultimaker_factor4
+name = Strong
+version = 4
+
+[metadata]
+intent_category = strong
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = HT 0.6
+
+[values]
+jerk_print = 30
+material_print_temperature = =default_material_print_temperature + 20
+speed_print = 80
+wall_thickness = =line_width * 4
+
diff --git a/resources/intent/ultimaker_method/um_method_1a_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_method/um_method_1a_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..ceaea619711
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_1a_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_method
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_method/um_method_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_method/um_method_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..999bd8f446f
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_method
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_method/um_method_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_method/um_method_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..db28bfbbd22
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_method
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_method/um_method_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_method/um_method_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..e4b7059065f
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_method
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_method/um_method_1c_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_method/um_method_1c_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..615b8cebfc0
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_1c_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_method
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_method/um_method_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_method/um_method_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..58982006e05
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_method
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_method/um_method_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_method/um_method_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..99e29b4e0e4
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_method
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_method/um_method_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_method/um_method_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..d49e6b2c4bb
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_method
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_method/um_method_labs_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_method/um_method_labs_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..f4cb207725f
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_labs_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_method
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_method/um_method_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_method/um_method_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..ebff117f699
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_method
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_method/um_method_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_method/um_method_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..006364cdf8b
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_method
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_method/um_method_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_method/um_method_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..9245975b334
--- /dev/null
+++ b/resources/intent/ultimaker_method/um_method_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_method
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1a_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1a_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..62cad2a4490
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1a_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..5dc61a3bf7f
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..992bf53bec6
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..dc598e393e0
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..f09c0b7d1d7
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,32 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_pattern = zigzag
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..d5f3e29bdb9
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,38 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-pc-abs-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-pc-abs-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..5dd610ba776
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-pc-abs-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodx
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-pc-abs-fr-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..57e1072c161
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodx
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..f4aff3e626d
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..66f6e78e709
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..d8289c74abb
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..86be9fe49f1
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..865ccb543b2
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,32 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1XA
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_pattern = zigzag
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..a3c157c6796
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,38 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1XA
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1xa_um-pc-abs-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-pc-abs-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..2e11986e669
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-pc-abs-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodx
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1XA
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_1xa_um-pc-abs-fr-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..fac9316dcf8
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_1xa_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodx
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1XA
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..aee7cf21095
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,32 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_pattern = zigzag
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..69f53b486be
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,38 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-pc-abs-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-pc-abs-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..656156ce4d1
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-pc-abs-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodx
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-pc-abs-fr-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..39aba071c9b
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodx
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..65d9f0bedba
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..0a4839f8270
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..80163868287
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodx/um_methodx_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodx/um_methodx_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..fc7227a9390
--- /dev/null
+++ b/resources/intent/ultimaker_methodx/um_methodx_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,41 @@
+[general]
+definition = ultimaker_methodx
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 47
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..4443aa67f9d
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..9bf79fb9144
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,42 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 45
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+material_bed_temperature = 45
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..95d648294f1
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..3960405bceb
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1a_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,42 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1A
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 45
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+material_bed_temperature = 45
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..6b4f8c3d1b9
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,32 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_pattern = zigzag
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..8d5dfa70e3a
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,38 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..b1a70679de7
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodxl
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-fr-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..ac0f34ef58e
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodxl
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..0f76d6c8d17
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..e62cbbd6181
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,42 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 45
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+material_bed_temperature = 45
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..3162a1886fc
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..2464d9871a3
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1c_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,42 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1C
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 45
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+material_bed_temperature = 45
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..8cfde623e58
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,32 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1XA
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_pattern = zigzag
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..00340b79486
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,38 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1XA
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..64199ae86fc
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodxl
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1XA
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-fr-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..59f7930e89c
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodxl
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 1XA
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..4cdcdcfcbae
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,32 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_pattern = zigzag
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..320409a90c6
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,38 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_absr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+cool_min_temperature = 245.0
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+speed_layer_0 = 55
+speed_print = 300
+speed_support = 100
+speed_support_interface = 75
+speed_travel = 500
+speed_travel_layer_0 = 250
+speed_wall_0 = 40
+support_pattern = zigzag
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..2c8d67e0f0d
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodxl
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-fr-175_0.2mm_solid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
new file mode 100644
index 00000000000..164f7c75750
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-fr-175_0.2mm_solid.inst.cfg
@@ -0,0 +1,22 @@
+[general]
+definition = ultimaker_methodxl
+name = Solid
+version = 4
+
+[metadata]
+intent_category = solid
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+bottom_thickness = =top_bottom_thickness
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..b8f3f3ac37c
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..75e5ba97435
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,42 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 45
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+material_bed_temperature = 45
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg
new file mode 100644
index 00000000000..b0a5c2c531f
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-tough-pla-175_0.2mm_highspeed.inst.cfg
@@ -0,0 +1,34 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed
+version = 4
+
+[metadata]
+intent_category = highspeed
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bridge_wall_speed = 300
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_pattern = zigzag
+jerk_print = 35
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+
diff --git a/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
new file mode 100644
index 00000000000..e4d9f81a0ff
--- /dev/null
+++ b/resources/intent/ultimaker_methodxl/um_methodxl_labs_um-tough-pla-175_0.2mm_highspeedsolid.inst.cfg
@@ -0,0 +1,42 @@
+[general]
+definition = ultimaker_methodxl
+name = High Speed Solid
+version = 4
+
+[metadata]
+intent_category = highspeedsolid
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = LABS
+
+[values]
+acceleration_print = 3500
+bottom_thickness = =top_bottom_thickness
+bridge_wall_speed = 300
+build_volume_temperature = 45
+cool_fan_enabled = True
+cool_fan_speed = 100
+cool_min_layer_time = 3
+infill_angles = [45,135]
+infill_material_flow = 97
+infill_pattern = zigzag
+infill_sparse_density = 99
+jerk_print = 35
+material_bed_temperature = 45
+speed_infill = 240.0
+speed_layer_0 = 55
+speed_print = 300
+speed_travel = 500
+speed_travel_layer_0 = 350.0
+speed_wall_0 = 45
+support_interface_line_width = 0.42
+support_line_width = 0.47
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_line_width = 0.42
+top_bottom_thickness = =layer_height * 2
+top_thickness = =top_bottom_thickness
+
diff --git a/resources/intent/ultimaker_s3/um_s3_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s3/um_s3_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..2d373348d5e
--- /dev/null
+++ b/resources/intent/ultimaker_s3/um_s3_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg
@@ -0,0 +1,24 @@
+[general]
+definition = ultimaker_s3
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC 0.4
+
+[values]
+jerk_print = 30
+speed_infill = =speed_print
+speed_print = 30
+speed_topbottom = =speed_print
+speed_wall = =speed_print
+speed_wall_0 = =speed_wall
+speed_wall_x = =speed_wall
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s3/um_s3_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s3/um_s3_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..ae8ac6f8936
--- /dev/null
+++ b/resources/intent/ultimaker_s3/um_s3_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg
@@ -0,0 +1,24 @@
+[general]
+definition = ultimaker_s3
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC 0.6
+
+[values]
+jerk_print = 30
+speed_infill = =speed_print
+speed_print = 30
+speed_topbottom = =speed_print
+speed_wall = =speed_print
+speed_wall_0 = =speed_wall
+speed_wall_x = =speed_wall
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s5/um_s5_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s5/um_s5_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..049616558df
--- /dev/null
+++ b/resources/intent/ultimaker_s5/um_s5_cc0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg
@@ -0,0 +1,24 @@
+[general]
+definition = ultimaker_s5
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC 0.4
+
+[values]
+jerk_print = 30
+speed_infill = =speed_print
+speed_print = 30
+speed_topbottom = =speed_print
+speed_wall = =speed_print
+speed_wall_0 = =speed_wall
+speed_wall_x = =speed_wall
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s5/um_s5_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s5/um_s5_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..688a5d8f517
--- /dev/null
+++ b/resources/intent/ultimaker_s5/um_s5_cc0.6_nylon-cf-slide_0.2mm_engineering.inst.cfg
@@ -0,0 +1,24 @@
+[general]
+definition = ultimaker_s5
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC 0.6
+
+[values]
+jerk_print = 30
+speed_infill = =speed_print
+speed_print = 30
+speed_topbottom = =speed_print
+speed_wall = =speed_print
+speed_wall_0 = =speed_wall
+speed_wall_x = =speed_wall
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_abs_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_abs_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..20615ef3d5a
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_abs_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_abs
+quality_type = draft
+setting_version = 24
+type = intent
+variant = AA+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_cpe_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_cpe_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..3eb147fe6b0
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_cpe_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_cpe
+quality_type = draft
+setting_version = 24
+type = intent
+variant = AA+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_nylon_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_nylon_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..4dbf74ddd04
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_nylon_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon
+quality_type = draft
+setting_version = 24
+type = intent
+variant = AA+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_petg_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_petg_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..44f110ae845
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_petg_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_petg
+quality_type = draft
+setting_version = 24
+type = intent
+variant = AA+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..681718eea1d
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_pla
+quality_type = draft
+setting_version = 24
+type = intent
+variant = AA+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..52881053059
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_tough_pla
+quality_type = draft
+setting_version = 24
+type = intent
+variant = AA+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_cpe-plus_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_cpe-plus_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..9b14738ac41
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_cpe-plus_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_cpe_plus
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..515499980fd
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_nylon-cf-slide_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_pc_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_pc_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..8bd73cb1550
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_pc_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_pc
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_petcf_0.2mm_engineering.inst.cfg b/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_petcf_0.2mm_engineering.inst.cfg
new file mode 100644
index 00000000000..3f6edcec64b
--- /dev/null
+++ b/resources/intent/ultimaker_s8/um_s8_cc_plus_0.4_petcf_0.2mm_engineering.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s8
+name = Accurate
+version = 4
+
+[metadata]
+intent_category = engineering
+material = generic_petcf
+quality_type = draft
+setting_version = 24
+type = intent
+variant = CC+ 0.4
+
+[values]
+infill_sparse_density = 20
+top_bottom_thickness = =wall_thickness
+wall_thickness = =line_width * 3
+
diff --git a/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.27mm_draft.inst.cfg b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.27mm_draft.inst.cfg
new file mode 100644
index 00000000000..de49fa0e2c1
--- /dev/null
+++ b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.27mm_draft.inst.cfg
@@ -0,0 +1,54 @@
+[general]
+definition = ultimaker_sketch_sprint
+name = Draft
+version = 4
+
+[metadata]
+intent_category = draft
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = imperial
+setting_version = 24
+type = intent
+variant = 0.4mm
+
+[values]
+acceleration_layer_0 = 5000
+acceleration_print = 20000
+acceleration_roofing = 5000
+acceleration_topbottom = 10000
+acceleration_travel_layer_0 = 5000
+acceleration_wall_0 = 5000.0
+acceleration_wall_0_roofing = 5000
+acceleration_wall_x = 10000
+acceleration_wall_x_roofing = 5000
+cool_fan_full_at_height = 0.54
+cool_min_layer_time = 2
+cool_min_speed = 50
+cool_min_temperature = 220
+infill_angles = [135]
+infill_line_width = 0.4
+infill_overlap = 25
+infill_pattern = zigzag
+infill_wipe_dist = 0.05
+initial_layer_line_width_factor = 125
+line_width = 0.4
+material_final_print_temperature = 225
+material_initial_print_temperature = 225
+material_print_temperature = 225
+retraction_hop_enabled = True
+seam_overhang_angle = 25
+speed_layer_0 = 70
+speed_print = 270
+speed_roofing = 215
+speed_support_bottom = 100
+speed_support_interface = 215
+speed_topbottom = 215
+speed_wall = 215
+speed_wall_x = 270
+speed_wall_x_roofing = 270
+support_line_width = 0.35
+wall_line_width_x = 0.4
+wall_overhang_angle = 25
+wall_overhang_speed_factors = [15]
+
diff --git a/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.2mm_visual.inst.cfg b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.2mm_visual.inst.cfg
new file mode 100644
index 00000000000..6a81905545a
--- /dev/null
+++ b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.2mm_visual.inst.cfg
@@ -0,0 +1,42 @@
+[general]
+definition = ultimaker_sketch_sprint
+name = Visual
+version = 4
+
+[metadata]
+intent_category = visual
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 0.4mm
+
+[values]
+acceleration_roofing = 1500
+acceleration_wall_0_roofing = 1500
+acceleration_wall_x_roofing = 1500
+cool_min_temperature = 220.0
+hole_xy_offset = 0.2
+hole_xy_offset_max_diameter = 3
+inset_direction = inside_out
+line_width = 0.4
+material_final_print_temperature = =material_print_temperature
+material_initial_print_temperature = =material_print_temperature
+material_print_temperature = 220
+min_bead_width = 0.34
+min_wall_line_width = 0.34
+roofing_line_width = 0.35
+roofing_monotonic = False
+roofing_pattern = lines
+skin_monotonic = False
+skin_outline_count = 0
+skin_overlap = 25
+small_feature_max_length = 25
+small_feature_speed_factor = 40
+small_hole_max_size = 4.5
+small_skin_width = 4
+speed_roofing = 100
+wall_line_width_x = 0.4
+z_seam_type = back
+
diff --git a/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.27mm_draft.inst.cfg b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.27mm_draft.inst.cfg
new file mode 100644
index 00000000000..5c7c5de0ef7
--- /dev/null
+++ b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.27mm_draft.inst.cfg
@@ -0,0 +1,54 @@
+[general]
+definition = ultimaker_sketch_sprint
+name = Draft
+version = 4
+
+[metadata]
+intent_category = draft
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = imperial
+setting_version = 24
+type = intent
+variant = 0.4mm
+
+[values]
+acceleration_layer_0 = 5000
+acceleration_print = 20000
+acceleration_roofing = 5000
+acceleration_topbottom = 10000
+acceleration_travel_layer_0 = 5000
+acceleration_wall_0 = 5000.0
+acceleration_wall_0_roofing = 5000
+acceleration_wall_x = 10000
+acceleration_wall_x_roofing = 5000
+cool_fan_full_at_height = 0.54
+cool_min_layer_time = 2
+cool_min_speed = 50
+cool_min_temperature = 220
+infill_angles = [135]
+infill_line_width = 0.4
+infill_overlap = 25
+infill_pattern = zigzag
+infill_wipe_dist = 0.05
+initial_layer_line_width_factor = 125
+line_width = 0.4
+material_final_print_temperature = 225
+material_initial_print_temperature = 225
+material_print_temperature = 225
+retraction_hop_enabled = True
+seam_overhang_angle = 25
+speed_layer_0 = 70
+speed_print = 270
+speed_roofing = 215
+speed_support_bottom = 100
+speed_support_interface = 215
+speed_topbottom = 215
+speed_wall = 215
+speed_wall_x = 270
+speed_wall_x_roofing = 270
+support_line_width = 0.35
+wall_line_width_x = 0.4
+wall_overhang_angle = 25
+wall_overhang_speed_factors = [15]
+
diff --git a/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.2mm_visual.inst.cfg b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.2mm_visual.inst.cfg
new file mode 100644
index 00000000000..1635985b89f
--- /dev/null
+++ b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.2mm_visual.inst.cfg
@@ -0,0 +1,42 @@
+[general]
+definition = ultimaker_sketch_sprint
+name = Visual
+version = 4
+
+[metadata]
+intent_category = visual
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = draft
+setting_version = 24
+type = intent
+variant = 0.4mm
+
+[values]
+acceleration_roofing = 1500
+acceleration_wall_0_roofing = 1500
+acceleration_wall_x_roofing = 1500
+cool_min_temperature = 220.0
+hole_xy_offset = 0.2
+hole_xy_offset_max_diameter = 3
+inset_direction = inside_out
+line_width = 0.4
+material_final_print_temperature = =material_print_temperature
+material_initial_print_temperature = =material_print_temperature
+material_print_temperature = 220
+min_bead_width = 0.34
+min_wall_line_width = 0.34
+roofing_line_width = 0.35
+roofing_monotonic = False
+roofing_pattern = lines
+skin_monotonic = False
+skin_outline_count = 0
+skin_overlap = 25
+small_feature_max_length = 25
+small_feature_speed_factor = 40
+small_hole_max_size = 4.5
+small_skin_width = 4
+speed_roofing = 100
+wall_line_width_x = 0.4
+z_seam_type = back
+
diff --git a/resources/qml/ActionPanel/OutputProcessWidget.qml b/resources/qml/ActionPanel/OutputProcessWidget.qml
index 1303dc20a26..c609cd6ca51 100644
--- a/resources/qml/ActionPanel/OutputProcessWidget.qml
+++ b/resources/qml/ActionPanel/OutputProcessWidget.qml
@@ -10,7 +10,7 @@ import Cura 1.0 as Cura
// This element contains all the elements the user needs to visualize the data
-// that is gather after the slicing process, such as printint time, material usage, ...
+// that is gather after the slicing process, such as printing time, material usage, ...
// There are also two buttons: one to previsualize the output layers, and the other to
// select what to do with it (such as print over network, save to file, ...)
Column
diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml
index bcbb6d76799..f822dad933a 100644
--- a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml
+++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml
@@ -1,4 +1,4 @@
-// Copyright (c) 2018 Ultimaker B.V.
+// Copyright (c) 2025 UltiMaker
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
@@ -12,7 +12,7 @@ Button
id: configurationItem
property var configuration: null
- hoverEnabled: isValidMaterial
+ hoverEnabled: isValidMaterial && isValidCore
property bool isValidMaterial:
{
@@ -25,7 +25,6 @@ Button
for (var index in extruderConfigurations)
{
var name = extruderConfigurations[index].material ? extruderConfigurations[index].material.name : ""
-
if (name == "" || name == "Unknown")
{
return false
@@ -34,6 +33,25 @@ Button
return true
}
+ property bool isValidCore:
+ {
+ if (configuration === null)
+ {
+ return false
+ }
+ var extruderConfigurations = configuration.extruderConfigurations
+ var coresList = configuration.validCoresForPrinterType
+ for (var index in extruderConfigurations)
+ {
+ var name = extruderConfigurations[index].hotendID ? extruderConfigurations[index].hotendID : ""
+ if (name != "" && ! coresList.includes(name))
+ {
+ return false
+ }
+ }
+ return true
+ }
+
background: Rectangle
{
color: parent.hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button")
@@ -60,7 +78,7 @@ Button
right: parent.right
rightMargin: UM.Theme.getSize("wide_margin").width
}
- height: childrenRect.height
+ height: unknownMaterial.visible ? unknownMaterial.height : (repeater.count > 0 ? repeater.itemAt(0).height : 0)
spacing: UM.Theme.getSize("default_margin").width
Repeater
@@ -72,21 +90,20 @@ Button
{
width: Math.round(parent.width / (configuration !== null ? configuration.extruderConfigurations.length : 1))
printCoreConfiguration: modelData
- visible: configurationItem.isValidMaterial
+ visible: configurationItem.isValidMaterial && configurationItem.isValidCore
}
}
- // Unknown material
+ // Unknown material or core ('variant')
Item
{
id: unknownMaterial
- height: unknownMaterialMessage.height + UM.Theme.getSize("thin_margin").width / 2
+ height: unknownMaterialMessage.height
width: parent.width
anchors.top: parent.top
- anchors.topMargin: UM.Theme.getSize("thin_margin").width / 2
- visible: !configurationItem.isValidMaterial
+ visible: ! (configurationItem.isValidMaterial && configurationItem.isValidCore)
UM.ColorImage
{
@@ -102,13 +119,9 @@ Button
UM.Label
{
id: unknownMaterialMessage
- text:
- {
- if (configuration === null)
- {
- return ""
- }
+ function whenUnknownMaterial()
+ {
var extruderConfigurations = configuration.extruderConfigurations
var unknownMaterials = []
for (var index in extruderConfigurations)
@@ -135,9 +148,47 @@ Button
unknownMaterials = "" + unknownMaterials + ""
var draftResult = catalog.i18nc("@label", "This configuration is not available because %1 is not recognized. Please visit %2 to download the correct material profile.");
- var result = draftResult.arg(unknownMaterials).arg("" + catalog.i18nc("@label","Marketplace") + " ")
+ return draftResult.arg(unknownMaterials).arg("" + catalog.i18nc("@label","Marketplace") + " ")
+ }
- return result
+ function whenMismatchedCore()
+ {
+ var extruderConfigurations = configuration.extruderConfigurations
+ var coresList = configuration.validCoresForPrinterType
+ var mismatchedCores = []
+ for (var index in extruderConfigurations)
+ {
+ var name = extruderConfigurations[index].hotendID ? extruderConfigurations[index].hotendID : ""
+ if (name != "" && ! coresList.includes(name))
+ {
+ mismatchedCores.push(name)
+ }
+ }
+
+ mismatchedCores = "" + mismatchedCores + ""
+ var draftResult = catalog.i18nc("@label", "This configuration is not available because there is a mismatch or other problem with core-type %1. Please visit the support page to check which cores this printer-type supports w.r.t. new slices.");
+ return draftResult.arg(mismatchedCores).arg("https://support.ultimaker.com/s/article/1667411313529")
+ }
+
+ text:
+ {
+ if (configuration === null)
+ {
+ return ""
+ }
+
+ var extruderConfigurations = configuration.extruderConfigurations
+ var perExtruder = []
+ for (var index in extruderConfigurations)
+ {
+ var matName = extruderConfigurations[index].material ? extruderConfigurations[index].material.name : ""
+ var coreName = extruderConfigurations[index].hotendID ? extruderConfigurations[index].hotendID : ""
+ perExtruder.push(` [${coreName}/${matName}]`)
+ }
+
+ var configsStr = "" + perExtruder + ""
+ var warnStr = isValidMaterial ? whenMismatchedCore() : whenUnknownMaterial()
+ return configsStr + "
" + warnStr
}
width: extruderRow.width
@@ -148,9 +199,16 @@ Button
wrapMode: Text.WordWrap
- onLinkActivated:
+ onLinkActivated: (link) =>
{
- Cura.Actions.browsePackages.trigger()
+ if(link.trim().length === 0)
+ {
+ Cura.Actions.browsePackages.trigger();
+ }
+ else
+ {
+ Qt.openUrlExternally(link);
+ }
}
}
@@ -225,7 +283,7 @@ Button
onClicked:
{
- if(isValidMaterial)
+ if (isValidMaterial && isValidCore)
{
toggleContent()
Cura.MachineManager.applyRemoteConfiguration(configuration)
diff --git a/resources/qml/Menus/RecentFilesMenu.qml b/resources/qml/Menus/RecentFilesMenu.qml
index 19ff6812198..93fddd0bf69 100644
--- a/resources/qml/Menus/RecentFilesMenu.qml
+++ b/resources/qml/Menus/RecentFilesMenu.qml
@@ -2,7 +2,7 @@
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2
-import QtQuick.Controls 2.1
+import QtQuick.Controls 2.15
import UM 1.3 as UM
import Cura 1.0 as Cura
@@ -30,6 +30,6 @@ Cura.Menu
onTriggered: CuraApplication.readLocalFile(modelData)
}
onObjectAdded: (index, object) => menu.insertItem(index, object)
- onObjectRemoved: (object) => menu.removeItem(object)
+ onObjectRemoved: (index, object) => menu.removeItem(object)
}
}
diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml
index a686fca8e54..62cab53a78d 100644
--- a/resources/qml/Preferences/GeneralPage.qml
+++ b/resources/qml/Preferences/GeneralPage.qml
@@ -669,12 +669,12 @@ UM.PreferencesPage
{
width: childrenRect.width
height: childrenRect.height
- text: catalog.i18nc("@info:tooltip", "Should the Y axis of the translate toolhandle be flipped?")
+ text: catalog.i18nc("@info:tooltip", "Should the Y axis of the translate toolhandle be flipped? This will only affect model's Y coordinate, all other settings such as machine Printhead settings are unaffected and still behave as before.")
UM.CheckBox
{
id: flipToolhandleYCheckbox
- text: catalog.i18nc("@option:check", "Flip toolhandle Y axis")
+ text: catalog.i18nc("@option:check", "Flip model's toolhandle Y axis (restart required)")
checked: boolCheck(UM.Preferences.getValue("tool/flip_y_axis_tool_handle"))
onCheckedChanged: UM.Preferences.setValue("tool/flip_y_axis_tool_handle", checked)
}
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml
index 254ba477bf7..c1b36676c79 100644
--- a/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml
@@ -57,7 +57,9 @@ RecommendedSettingSection
settingName: "support_structure"
propertyRemoveUnusedValue: false
updateAllExtruders: false
- defaultExtruderIndex: supportExtruderProvider.properties.value
+ defaultExtruderIndex: supportExtruderProvider.properties.value != undefined ?
+ supportExtruderProvider.properties.value :
+ Cura.ExtruderManager.activeExtruderIndex
}
},
RecommendedSettingItem
@@ -92,7 +94,9 @@ RecommendedSettingSection
width: parent.width
settingName: "support_type"
updateAllExtruders: true
- defaultExtruderIndex: supportExtruderProvider.properties.value
+ defaultExtruderIndex: supportExtruderProvider.properties.value != undefined ?
+ supportExtruderProvider.properties.value :
+ Cura.ExtruderManager.activeExtruderIndex
}
}
]
diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml
index 1d8ad654e31..f46c59ff618 100644
--- a/resources/qml/Settings/SettingItem.qml
+++ b/resources/qml/Settings/SettingItem.qml
@@ -13,7 +13,7 @@ import "."
Item
{
id: base
- height: enabled ? UM.Theme.getSize("section").height + UM.Theme.getSize("narrow_margin").height : 0
+ height: enabled ? Math.max(UM.Theme.getSize("section").height, label.height) + UM.Theme.getSize("narrow_margin").height : 0
anchors.left: parent.left
anchors.right: parent.right
diff --git a/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg b/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg
index 50ed6266a08..d058a2d219c 100644
--- a/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg
+++ b/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg
@@ -115,7 +115,7 @@ travel_avoid_other_parts = True
travel_avoid_supports = True
travel_retract_before_outer_wall = False
wall_overhang_angle = 35.0
-wall_overhang_speed_factor = 60.0
+wall_overhang_speed_factors = [60]
wall_thickness = =line_width*2
z_seam_corner = z_seam_corner_inner
z_seam_position = backright
diff --git a/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.15mm.inst.cfg b/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.15mm.inst.cfg
index ac9f6dfdfbf..fc53fad7a9a 100644
--- a/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.15mm.inst.cfg
+++ b/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.15mm.inst.cfg
@@ -13,7 +13,7 @@ weight = -1
[values]
brim_replaces_support = False
-build_volume_temperature = =50 if extruders_enabled_count > 1 else 35
+build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
gradual_flow_discretisation_step_size = 0.1
gradual_flow_enabled = True
diff --git a/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.1mm.inst.cfg b/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.1mm.inst.cfg
index 98963265742..efc90a9b972 100644
--- a/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.1mm.inst.cfg
+++ b/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.1mm.inst.cfg
@@ -13,7 +13,7 @@ weight = 0
[values]
brim_replaces_support = False
-build_volume_temperature = =50 if extruders_enabled_count > 1 else 35
+build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
gradual_flow_discretisation_step_size = 0.1
gradual_flow_enabled = True
diff --git a/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.2mm.inst.cfg b/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.2mm.inst.cfg
index 14da349fa44..dd45df01a2b 100644
--- a/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.2mm.inst.cfg
@@ -13,7 +13,7 @@ weight = -2
[values]
brim_replaces_support = False
-build_volume_temperature = =50 if extruders_enabled_count > 1 else 35
+build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
gradual_flow_discretisation_step_size = 0.1
gradual_flow_enabled = True
diff --git a/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.3mm.inst.cfg b/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.3mm.inst.cfg
index 9f1a9ace9f7..fd90f1d5a25 100644
--- a/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.3mm.inst.cfg
+++ b/resources/quality/ultimaker_factor4/um_f4_aa0.4_bam_0.3mm.inst.cfg
@@ -13,7 +13,7 @@ weight = -3
[values]
brim_replaces_support = False
-build_volume_temperature = =50 if extruders_enabled_count > 1 else 35
+build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
gradual_flow_discretisation_step_size = 0.1
gradual_flow_enabled = True
diff --git a/resources/quality/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm.inst.cfg b/resources/quality/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm.inst.cfg
new file mode 100644
index 00000000000..08eeaa85832
--- /dev/null
+++ b/resources/quality/ultimaker_factor4/um_f4_cc0.4_nylon-cf-slide_0.2mm.inst.cfg
@@ -0,0 +1,20 @@
+[general]
+definition = ultimaker_factor4
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC 0.4
+weight = -2
+
+[values]
+gradual_flow_discretisation_step_size = 0.1
+gradual_flow_enabled = True
+inset_direction = outside_in
+max_flow_acceleration = 1
+skin_material_flow = =material_flow * 0.965
+
diff --git a/resources/quality/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm.inst.cfg b/resources/quality/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm.inst.cfg
new file mode 100644
index 00000000000..f7f929efe07
--- /dev/null
+++ b/resources/quality/ultimaker_factor4/um_f4_cc0.6_nylon-cf-slide_0.2mm.inst.cfg
@@ -0,0 +1,20 @@
+[general]
+definition = ultimaker_factor4
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC 0.6
+weight = -2
+
+[values]
+gradual_flow_discretisation_step_size = 0.1
+gradual_flow_enabled = True
+inset_direction = outside_in
+max_flow_acceleration = 1
+skin_material_flow = =material_flow * 0.965
+
diff --git a/resources/quality/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm.inst.cfg b/resources/quality/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm.inst.cfg
new file mode 100644
index 00000000000..cadc8d2db86
--- /dev/null
+++ b/resources/quality/ultimaker_factor4/um_f4_ht0.6_nylon-cf-slide_0.2mm.inst.cfg
@@ -0,0 +1,20 @@
+[general]
+definition = ultimaker_factor4
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = quality
+variant = HT 0.6
+weight = -2
+
+[values]
+gradual_flow_discretisation_step_size = 0.1
+gradual_flow_enabled = True
+inset_direction = outside_in
+max_flow_acceleration = 1
+skin_material_flow = =material_flow * 0.965
+
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg
index 4f5ae8282da..cf7eab6e73e 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg
@@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-abscf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-abscf-175_0.2mm.inst.cfg
index 0ff8f110910..f0eafdde7ed 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_1c_um-abscf-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-abscf-175_0.2mm.inst.cfg
@@ -52,5 +52,5 @@ support_xy_distance = 0.3
support_xy_distance_overhang = 0.25
support_z_distance = 0.15
wall_overhang_angle = 30
-wall_overhang_speed_factor = 50
+wall_overhang_speed_factors = [50]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm.inst.cfg
index ff1861c6956..057ae522edd 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm.inst.cfg
@@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg
index fe6c6fa10c4..7e03bcd23ca 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-pc-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-pc-abs-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..5c58684f3de
--- /dev/null
+++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-pc-abs-175_0.2mm.inst.cfg
@@ -0,0 +1,66 @@
+[general]
+definition = ultimaker_methodx
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 1C
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_base_thickness = =0.6 if extruder_nr == support_extruder_nr else 0.8
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 5/6
+speed_support_bottom = 25
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_width = 0.6
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-pc-abs-fr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-pc-abs-fr-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..72864b1f7e0
--- /dev/null
+++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-pc-abs-fr-175_0.2mm.inst.cfg
@@ -0,0 +1,67 @@
+[general]
+definition = ultimaker_methodx
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 1C
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_base_thickness = =0.6 if extruder_nr == support_extruder_nr else 0.8
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 1/2
+speed_support_bottom = =speed_support * 1/4
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_distance = =support_line_distance
+support_bottom_line_width = 0.8
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-abs-175_0.2mm.inst.cfg
index 45e11f5e9d8..f2a60264b19 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-abs-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-abs-175_0.2mm.inst.cfg
@@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm.inst.cfg
index 18b44fda57a..e87533888b1 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm.inst.cfg
@@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg
index 774b8fb2a8c..1ad566527fe 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-pc-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-pc-abs-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..7e624a27716
--- /dev/null
+++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-pc-abs-175_0.2mm.inst.cfg
@@ -0,0 +1,66 @@
+[general]
+definition = ultimaker_methodx
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 1XA
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_base_thickness = =0.6 if extruder_nr == support_extruder_nr else 0.8
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 5/6
+speed_support_bottom = 25
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_width = 0.6
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-pc-abs-fr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-pc-abs-fr-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..13e42a10062
--- /dev/null
+++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-pc-abs-fr-175_0.2mm.inst.cfg
@@ -0,0 +1,67 @@
+[general]
+definition = ultimaker_methodx
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 1XA
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_base_thickness = =0.6 if extruder_nr == support_extruder_nr else 0.8
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 1/2
+speed_support_bottom = =speed_support * 1/4
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_distance = =support_line_distance
+support_bottom_line_width = 0.8
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg
index e9d09c2c34c..795235c75e3 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg
@@ -54,5 +54,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.22
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-abs-175_0.2mm.inst.cfg
index a5f7d05d6ed..c4ab6ee1155 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_labs_um-abs-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-abs-175_0.2mm.inst.cfg
@@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-abscf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-abscf-175_0.2mm.inst.cfg
index 56e2126cb2e..25dbd1868aa 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_labs_um-abscf-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-abscf-175_0.2mm.inst.cfg
@@ -52,5 +52,5 @@ support_xy_distance = 0.3
support_xy_distance_overhang = 0.25
support_z_distance = 0.15
wall_overhang_angle = 30
-wall_overhang_speed_factor = 50
+wall_overhang_speed_factors = [50]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm.inst.cfg
index 7447dc5085d..8b19d722d4e 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm.inst.cfg
@@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg
index d2f64e3b656..c19ff979bfd 100644
--- a/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-pc-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-pc-abs-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..47db7bee538
--- /dev/null
+++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-pc-abs-175_0.2mm.inst.cfg
@@ -0,0 +1,66 @@
+[general]
+definition = ultimaker_methodx
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = LABS
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_base_thickness = =0.6 if extruder_nr == support_extruder_nr else 0.8
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 5/6
+speed_support_bottom = 25
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_width = 0.6
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-pc-abs-fr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-pc-abs-fr-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..6bba6de8191
--- /dev/null
+++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-pc-abs-fr-175_0.2mm.inst.cfg
@@ -0,0 +1,67 @@
+[general]
+definition = ultimaker_methodx
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = LABS
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_base_thickness = =0.6 if extruder_nr == support_extruder_nr else 0.8
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 1/2
+speed_support_bottom = =speed_support * 1/4
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_distance = =support_line_distance
+support_bottom_line_width = 0.8
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abs-175_0.2mm.inst.cfg
index caf364adc90..fe70d6d0c62 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abs-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abs-175_0.2mm.inst.cfg
@@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg
index e4a889749a3..d4d053df9f9 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg
@@ -54,5 +54,5 @@ support_xy_distance = 0.3
support_xy_distance_overhang = 0.25
support_z_distance = 0.15
wall_overhang_angle = 30
-wall_overhang_speed_factor = 50
+wall_overhang_speed_factors = [50]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg
index a08dd10302e..29b3de7eac4 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg
index 420a7192352..a3b23179cb7 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..a072415f8f5
--- /dev/null
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-175_0.2mm.inst.cfg
@@ -0,0 +1,65 @@
+[general]
+definition = ultimaker_methodxl
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 1C
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 5/6
+speed_support_bottom = 25
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_width = 0.6
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-fr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-fr-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..272c94e5816
--- /dev/null
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-pc-abs-fr-175_0.2mm.inst.cfg
@@ -0,0 +1,66 @@
+[general]
+definition = ultimaker_methodxl
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 1C
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 1/2
+speed_support_bottom = =speed_support * 1/4
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_distance = =support_line_distance
+support_bottom_line_width = 0.8
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg
index 39b7d69230b..e31448572eb 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg
@@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg
index 84086e1856d..3596d120959 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg
index 155696925f4..5d3c07cde91 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..2bb4fae463b
--- /dev/null
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-175_0.2mm.inst.cfg
@@ -0,0 +1,65 @@
+[general]
+definition = ultimaker_methodxl
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 1XA
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 5/6
+speed_support_bottom = 25
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_width = 0.6
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-fr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-fr-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..53498a34080
--- /dev/null
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-pc-abs-fr-175_0.2mm.inst.cfg
@@ -0,0 +1,66 @@
+[general]
+definition = ultimaker_methodxl
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 1XA
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 1/2
+speed_support_bottom = =speed_support * 1/4
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_distance = =support_line_distance
+support_bottom_line_width = 0.8
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg
index a075d5ffe60..29433f83875 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg
@@ -54,5 +54,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.22
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abs-175_0.2mm.inst.cfg
index 3309bb6660e..627ff55215f 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abs-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abs-175_0.2mm.inst.cfg
@@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg
index 6596cdd4df9..71bcca17c01 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg
@@ -54,5 +54,5 @@ support_xy_distance = 0.3
support_xy_distance_overhang = 0.25
support_z_distance = 0.15
wall_overhang_angle = 30
-wall_overhang_speed_factor = 50
+wall_overhang_speed_factors = [50]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg
index e7a46cdcee2..fa7a1b5e56b 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg
index 972840dde0c..d9f9ba645e0 100644
--- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg
@@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
-wall_overhang_speed_factor = 40
+wall_overhang_speed_factors = [40]
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..ef9005a45f2
--- /dev/null
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-175_0.2mm.inst.cfg
@@ -0,0 +1,65 @@
+[general]
+definition = ultimaker_methodxl
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = LABS
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 5/6
+speed_support_bottom = 25
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_width = 0.6
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-fr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-fr-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..3b5a15e0ec2
--- /dev/null
+++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-pc-abs-fr-175_0.2mm.inst.cfg
@@ -0,0 +1,66 @@
+[general]
+definition = ultimaker_methodxl
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_pc-abs-fr_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = LABS
+weight = -2
+
+[values]
+cool_fan_enabled = =extruder_nr == support_extruder_nr
+cool_fan_speed_0 = 0
+cool_fan_speed_max = 80
+cool_min_layer_time = 10
+cool_min_layer_time_fan_speed_max = 8
+cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
+cool_min_temperature = 250
+infill_sparse_density = 15
+material_final_print_temperature = =material_print_temperature - 5
+material_initial_print_temperature = =material_print_temperature - 5
+raft_airgap = =0.1 if extruder_nr == support_extruder_nr else 0
+raft_base_infill_overlap = 20
+raft_surface_speed = =speed_print * 3/4 if extruder_nr == support_extruder_nr else 50
+skin_overlap = 10
+speed_layer_0 = =speed_print * 7/24
+speed_prime_tower = =speed_print * 1/4
+speed_print = 120.0
+speed_roofing = =speed_print * 13/24
+speed_support = =speed_print * 1/2
+speed_support_bottom = =speed_support * 1/4
+speed_support_interface = =speed_print * 15/24
+speed_topbottom = =speed_print * 11/24
+speed_wall = =speed_print * 5/24
+speed_wall_0 = =speed_print * 1/6
+support_angle = 50
+support_bottom_angles = [135]
+support_bottom_density = 15
+support_bottom_distance = 0.1
+support_bottom_enable = True
+support_bottom_line_distance = =support_line_distance
+support_bottom_line_width = 0.8
+support_bottom_stair_step_height = 0
+support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
+support_infill_rate = 15.0
+support_interface_density = 85
+support_interface_enable = True
+support_interface_pattern = zigzag
+support_line_width = 0.3
+support_material_flow = 100
+support_pattern = zigzag
+support_roof_density = 85
+support_roof_wall_count = 1
+support_supported_skin_fan_speed = 60.0
+support_top_distance = =support_z_distance
+support_xy_distance = 0.35
+support_xy_distance_overhang = 0.25
+support_xy_overrides_z = xy_overrides_z
+support_z_distance = 0.203
+top_skin_expand_distance = 2.4
+wall_overhang_angle = 30
+wall_overhang_speed_factor = 40
+
diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_nylon-cf-slide_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_nylon-cf-slide_0.2mm.inst.cfg
new file mode 100644
index 00000000000..ee2493352d8
--- /dev/null
+++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_nylon-cf-slide_0.2mm.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s3
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC 0.4
+weight = -2
+
+[values]
+support_bottom_distance = =support_z_distance / 2
+support_top_distance = =support_z_distance
+support_z_distance = =layer_height * 2
+
diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_nylon-cf-slide_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_nylon-cf-slide_0.2mm.inst.cfg
new file mode 100644
index 00000000000..1fc2f2c8d96
--- /dev/null
+++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_nylon-cf-slide_0.2mm.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s3
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC 0.6
+weight = -2
+
+[values]
+support_bottom_distance = =support_z_distance / 2
+support_top_distance = =support_z_distance
+support_z_distance = =layer_height * 2
+
diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_nylon-cf-slide_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_nylon-cf-slide_0.2mm.inst.cfg
new file mode 100644
index 00000000000..9b628d1cbb8
--- /dev/null
+++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_nylon-cf-slide_0.2mm.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s5
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC 0.4
+weight = -2
+
+[values]
+support_bottom_distance = =support_z_distance / 2
+support_top_distance = =support_z_distance
+support_z_distance = =layer_height * 2
+
diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_nylon-cf-slide_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_nylon-cf-slide_0.2mm.inst.cfg
new file mode 100644
index 00000000000..4331ec48f49
--- /dev/null
+++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_nylon-cf-slide_0.2mm.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+definition = ultimaker_s5
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC 0.6
+weight = -2
+
+[values]
+support_bottom_distance = =support_z_distance / 2
+support_top_distance = =support_z_distance
+support_z_distance = =layer_height * 2
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_abs_0.2mm.inst.cfg
new file mode 100644
index 00000000000..0e439932b41
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_abs_0.2mm.inst.cfg
@@ -0,0 +1,21 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_abs
+quality_type = draft
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = -2
+
+[values]
+cool_min_layer_time = 4
+cool_min_layer_time_fan_speed_max = 9
+cool_min_temperature = =material_print_temperature - 10
+material_print_temperature = =default_material_print_temperature + 5
+retraction_prime_speed = 15
+support_structure = tree
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_cpe_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_cpe_0.2mm.inst.cfg
new file mode 100644
index 00000000000..33c4b43330c
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_cpe_0.2mm.inst.cfg
@@ -0,0 +1,20 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_cpe
+quality_type = draft
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = -2
+
+[values]
+infill_overlap = 20
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'gyroid'
+speed_print = 100
+speed_wall_0 = =speed_print
+support_interface_enable = True
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_nylon_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_nylon_0.2mm.inst.cfg
new file mode 100644
index 00000000000..ccc625a05dc
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_nylon_0.2mm.inst.cfg
@@ -0,0 +1,20 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon
+quality_type = draft
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = -2
+
+[values]
+cool_min_layer_time = 6
+cool_min_layer_time_fan_speed_max = 11
+material_print_temperature = =default_material_print_temperature + 5
+raft_airgap = 0.4
+retraction_prime_speed = 15
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_petg_0.2mm.inst.cfg
new file mode 100644
index 00000000000..2698357d081
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_petg_0.2mm.inst.cfg
@@ -0,0 +1,17 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_petg
+quality_type = draft
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = -2
+
+[values]
+cool_min_layer_time = 4
+material_print_temperature = =default_material_print_temperature + 5
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.1mm.inst.cfg
new file mode 100644
index 00000000000..b6013b83167
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.1mm.inst.cfg
@@ -0,0 +1,17 @@
+[general]
+definition = ultimaker_s8
+name = Fine
+version = 4
+
+[metadata]
+material = generic_pla
+quality_type = normal
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = 0
+
+[values]
+retraction_prime_speed = =retraction_speed
+support_structure = tree
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.2mm.inst.cfg
new file mode 100644
index 00000000000..e9c3b1fb984
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pla_0.2mm.inst.cfg
@@ -0,0 +1,17 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_pla
+quality_type = draft
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = -2
+
+[values]
+retraction_prime_speed = =retraction_speed
+support_structure = tree
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pp_0.2mm.inst.cfg
new file mode 100644
index 00000000000..817dcb00f4d
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_pp_0.2mm.inst.cfg
@@ -0,0 +1,45 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_pp
+quality_type = draft
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = -2
+
+[values]
+brim_width = 20
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
+infill_wipe_dist = 0.1
+machine_min_cool_heat_time_window = 15
+machine_nozzle_cool_down_speed = 0.85
+machine_nozzle_heat_up_speed = 1.5
+material_final_print_temperature = =material_print_temperature - 10
+material_initial_print_temperature = =material_print_temperature - 10
+material_print_temperature = =default_material_print_temperature + 8
+multiple_mesh_overlap = 0
+prime_tower_enable = False
+prime_tower_size = 16
+prime_tower_wipe_enabled = True
+retraction_count_max = 15
+retraction_extra_prime_amount = 0.8
+retraction_hop = 2
+retraction_hop_only_when_collides = True
+speed_print = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 25)
+speed_wall = =math.ceil(speed_print * 25 / 25)
+speed_wall_0 = =math.ceil(speed_wall * 25 / 25)
+support_angle = 50
+support_bottom_distance = =support_z_distance
+support_interface_enable = True
+support_top_distance = =support_z_distance
+support_z_distance = 0.3
+switch_extruder_prime_speed = 15
+switch_extruder_retraction_amount = 20
+switch_extruder_retraction_speeds = 35
+wall_0_inset = 0
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.1mm.inst.cfg
new file mode 100644
index 00000000000..faefa8932db
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.1mm.inst.cfg
@@ -0,0 +1,17 @@
+[general]
+definition = ultimaker_s8
+name = Fine
+version = 4
+
+[metadata]
+material = generic_tough_pla
+quality_type = normal
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = 0
+
+[values]
+retraction_prime_speed = =retraction_speed
+support_structure = tree
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.2mm.inst.cfg
new file mode 100644
index 00000000000..31da96735d4
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tough-pla_0.2mm.inst.cfg
@@ -0,0 +1,17 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_tough_pla
+quality_type = draft
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = -2
+
+[values]
+retraction_prime_speed = =retraction_speed
+support_structure = tree
+
diff --git a/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tpu_0.2mm.inst.cfg
new file mode 100644
index 00000000000..bc7e0a4548a
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_aa_plus_0.4_tpu_0.2mm.inst.cfg
@@ -0,0 +1,53 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_tpu
+quality_type = draft
+setting_version = 24
+type = quality
+variant = AA+ 0.4
+weight = -2
+
+[values]
+bridge_skin_material_flow = 200
+bridge_skin_speed = =bridge_wall_speed
+bridge_sparse_infill_max_density = 50
+bridge_wall_material_flow = =bridge_skin_material_flow
+bridge_wall_speed = 10
+brim_width = 8.75
+gradual_infill_step_height = =5 * layer_height
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
+infill_sparse_density = 10
+infill_wipe_dist = 0.1
+machine_min_cool_heat_time_window = 15
+machine_nozzle_cool_down_speed = 0.5
+machine_nozzle_heat_up_speed = 2.5
+material_final_print_temperature = =material_print_temperature - 10
+material_flow = 106
+material_initial_print_temperature = =material_print_temperature - 10
+multiple_mesh_overlap = 0
+prime_tower_wipe_enabled = True
+retraction_count_max = 15
+retraction_extra_prime_amount = 0.8
+retraction_hop_only_when_collides = True
+retraction_prime_speed = 15
+skin_line_width = =round(line_width / 0.8, 2)
+speed_print = 30
+speed_topbottom = =math.ceil(speed_print * 0.8)
+speed_wall = =math.ceil(speed_print * 25 / 25)
+speed_wall_0 = =math.ceil(speed_wall * 25 / 25)
+support_angle = 50
+support_bottom_distance = =support_z_distance
+support_interface_enable = True
+support_top_distance = =support_z_distance
+support_z_distance = =math.ceil(0.3/layer_height)*layer_height
+switch_extruder_prime_speed = 15
+switch_extruder_retraction_amount = 20
+switch_extruder_retraction_speeds = 35
+top_bottom_thickness = =layer_height * 6
+travel_avoid_distance = 1.5
+wall_0_inset = 0
+
diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.15mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.15mm.inst.cfg
new file mode 100644
index 00000000000..b21e40a2100
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.15mm.inst.cfg
@@ -0,0 +1,32 @@
+[general]
+definition = ultimaker_s8
+name = Normal
+version = 4
+
+[metadata]
+material = generic_bam
+quality_type = fast
+setting_version = 24
+type = quality
+variant = BB 0.4
+weight = -1
+
+[values]
+brim_replaces_support = False
+build_volume_temperature = =50 if extruders_enabled_count > 1 else 24
+default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
+machine_nozzle_cool_down_speed = 0.75
+machine_nozzle_heat_up_speed = 1.6
+prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
+speed_print = 80
+speed_topbottom = =math.ceil(speed_print * 30 / 80)
+speed_wall = =math.ceil(speed_print * 40 / 80)
+speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
+support_angle = 45
+support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
+support_infill_sparse_thickness = =2 * layer_height
+support_interface_density = =min(extruderValues('material_surface_energy'))
+support_interface_enable = True
+support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height
+top_bottom_thickness = 1
+
diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.1mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.1mm.inst.cfg
new file mode 100644
index 00000000000..aab94053791
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.1mm.inst.cfg
@@ -0,0 +1,28 @@
+[general]
+definition = ultimaker_s8
+name = Fine
+version = 4
+
+[metadata]
+material = generic_bam
+quality_type = normal
+setting_version = 24
+type = quality
+variant = BB 0.4
+weight = 0
+
+[values]
+brim_replaces_support = False
+build_volume_temperature = =50 if extruders_enabled_count > 1 else 24
+default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
+machine_nozzle_cool_down_speed = 0.75
+machine_nozzle_heat_up_speed = 1.6
+prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
+support_angle = 45
+support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
+support_infill_sparse_thickness = =2 * layer_height
+support_interface_density = =min(extruderValues('material_surface_energy'))
+support_interface_enable = True
+support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 1) * layer_height
+top_bottom_thickness = 1
+
diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.2mm.inst.cfg
new file mode 100644
index 00000000000..2dabc84da08
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.2mm.inst.cfg
@@ -0,0 +1,31 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_bam
+quality_type = draft
+setting_version = 24
+type = quality
+variant = BB 0.4
+weight = -2
+
+[values]
+brim_replaces_support = False
+build_volume_temperature = =50 if extruders_enabled_count > 1 else 24
+default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
+machine_nozzle_cool_down_speed = 0.75
+machine_nozzle_heat_up_speed = 1.6
+material_print_temperature = =default_material_print_temperature + 5
+prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
+speed_topbottom = =math.ceil(speed_print * 35 / 70)
+speed_wall = =math.ceil(speed_print * 50 / 70)
+speed_wall_0 = =math.ceil(speed_wall * 35 / 50)
+support_angle = 45
+support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
+support_interface_density = =min(extruderValues('material_surface_energy'))
+support_interface_enable = True
+support_top_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
+top_bottom_thickness = 1
+
diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.3mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.3mm.inst.cfg
new file mode 100644
index 00000000000..faca26af709
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_bam_0.3mm.inst.cfg
@@ -0,0 +1,31 @@
+[general]
+definition = ultimaker_s8
+name = Extra Fast
+version = 4
+
+[metadata]
+material = generic_bam
+quality_type = verydraft
+setting_version = 24
+type = quality
+variant = BB 0.4
+weight = -3
+
+[values]
+brim_replaces_support = False
+build_volume_temperature = =50 if extruders_enabled_count > 1 else 24
+default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
+machine_nozzle_cool_down_speed = 0.75
+machine_nozzle_heat_up_speed = 1.6
+material_print_temperature = =default_material_print_temperature + 5
+prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
+speed_topbottom = =math.ceil(speed_print * 35 / 70)
+speed_wall = =math.ceil(speed_print * 50 / 70)
+speed_wall_0 = =math.ceil(speed_wall * 35 / 50)
+support_angle = 45
+support_bottom_distance = 0.3
+support_interface_density = =min(extruderValues('material_surface_energy'))
+support_interface_enable = True
+support_top_distance = 0.3
+top_bottom_thickness = 1
+
diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.15mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.15mm.inst.cfg
new file mode 100644
index 00000000000..11018f2d0db
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.15mm.inst.cfg
@@ -0,0 +1,29 @@
+[general]
+definition = ultimaker_s8
+name = Normal
+version = 4
+
+[metadata]
+material = generic_pva
+quality_type = fast
+setting_version = 24
+type = quality
+variant = BB 0.4
+weight = -1
+
+[values]
+acceleration_prime_tower = 1500
+brim_replaces_support = False
+build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
+cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
+default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
+initial_layer_line_width_factor = 150
+minimum_support_area = 4
+retraction_count_max = 5
+skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
+speed_prime_tower = 25
+speed_support = 50
+support_infill_sparse_thickness = =2 * layer_height
+support_interface_enable = True
+support_z_distance = 0
+
diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.1mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.1mm.inst.cfg
new file mode 100644
index 00000000000..04288783c0d
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.1mm.inst.cfg
@@ -0,0 +1,30 @@
+[general]
+definition = ultimaker_s8
+name = Fine
+version = 4
+
+[metadata]
+material = generic_pva
+quality_type = normal
+setting_version = 24
+type = quality
+variant = BB 0.4
+weight = 0
+
+[values]
+acceleration_prime_tower = 1500
+brim_replaces_support = False
+build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
+cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
+default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
+initial_layer_line_width_factor = 150
+material_print_temperature = =default_material_print_temperature - 5
+minimum_support_area = 4
+retraction_count_max = 5
+skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
+speed_prime_tower = 25
+speed_support = 50
+support_infill_sparse_thickness = =2 * layer_height
+support_interface_enable = True
+support_z_distance = 0
+
diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.2mm.inst.cfg
new file mode 100644
index 00000000000..b46377615c1
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.2mm.inst.cfg
@@ -0,0 +1,29 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_pva
+quality_type = draft
+setting_version = 24
+type = quality
+variant = BB 0.4
+weight = -2
+
+[values]
+acceleration_prime_tower = 1500
+brim_replaces_support = False
+build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
+cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
+default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
+initial_layer_line_width_factor = 150
+material_print_temperature = =default_material_print_temperature + 5
+minimum_support_area = 4
+retraction_count_max = 5
+skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
+speed_prime_tower = 25
+speed_support = 50
+support_interface_enable = True
+support_z_distance = 0
+
diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.3mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.3mm.inst.cfg
new file mode 100644
index 00000000000..aeee8fce19f
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.3mm.inst.cfg
@@ -0,0 +1,30 @@
+[general]
+definition = ultimaker_s8
+name = Extra Fast
+version = 4
+
+[metadata]
+material = generic_pva
+quality_type = verydraft
+setting_version = 24
+type = quality
+variant = BB 0.4
+weight = -3
+
+[values]
+acceleration_prime_tower = 1500
+brim_replaces_support = False
+build_volume_temperature = =70 if extruders_enabled_count > 1 else 35
+cool_fan_enabled = =not (support_enable and (extruder_nr == support_infill_extruder_nr))
+default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
+initial_layer_line_width_factor = 150
+material_print_temperature = =default_material_print_temperature - 5
+minimum_support_area = 4
+retraction_count_max = 5
+skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width))
+speed_prime_tower = 25
+speed_support = 50
+support_infill_sparse_thickness = 0.3
+support_interface_enable = True
+support_z_distance = 0
+
diff --git a/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_cpe-plus_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_cpe-plus_0.2mm.inst.cfg
new file mode 100644
index 00000000000..527d67fe42f
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_cpe-plus_0.2mm.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_cpe_plus
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC+ 0.4
+weight = -2
+
+[values]
+
diff --git a/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_nylon-cf-slide_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_nylon-cf-slide_0.2mm.inst.cfg
new file mode 100644
index 00000000000..1d02c32213a
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_nylon-cf-slide_0.2mm.inst.cfg
@@ -0,0 +1,16 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_nylon-cf-slide
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC+ 0.4
+weight = -2
+
+[values]
+cool_min_layer_time_fan_speed_max = 11
+
diff --git a/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_pc_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_pc_0.2mm.inst.cfg
new file mode 100644
index 00000000000..f7b6ee2dd36
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_pc_0.2mm.inst.cfg
@@ -0,0 +1,19 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_pc
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC+ 0.4
+weight = -2
+
+[values]
+cool_min_layer_time = 6
+cool_min_layer_time_fan_speed_max = 12
+retraction_amount = 8
+retraction_prime_speed = 15
+
diff --git a/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_petcf_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_petcf_0.2mm.inst.cfg
new file mode 100644
index 00000000000..6c5d6eb0ee8
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_cc_plus_0.4_petcf_0.2mm.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+material = generic_petcf
+quality_type = draft
+setting_version = 24
+type = quality
+variant = CC+ 0.4
+weight = -2
+
+[values]
+
diff --git a/resources/quality/ultimaker_s8/um_s8_global_Draft_Quality.inst.cfg b/resources/quality/ultimaker_s8/um_s8_global_Draft_Quality.inst.cfg
new file mode 100644
index 00000000000..26b5eb23b08
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_global_Draft_Quality.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_s8
+name = Fast
+version = 4
+
+[metadata]
+global_quality = True
+quality_type = draft
+setting_version = 24
+type = quality
+weight = -2
+
+[values]
+layer_height = =round(0.2 * material_shrinkage_percentage_z / 100, 5)
+
diff --git a/resources/quality/ultimaker_s8/um_s8_global_Fast_Quality.inst.cfg b/resources/quality/ultimaker_s8/um_s8_global_Fast_Quality.inst.cfg
new file mode 100644
index 00000000000..8a5c2a9bc8b
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_global_Fast_Quality.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_s8
+name = Normal
+version = 4
+
+[metadata]
+global_quality = True
+quality_type = fast
+setting_version = 24
+type = quality
+weight = -1
+
+[values]
+layer_height = =round(0.15 * material_shrinkage_percentage_z / 100, 5)
+
diff --git a/resources/quality/ultimaker_s8/um_s8_global_High_Quality.inst.cfg b/resources/quality/ultimaker_s8/um_s8_global_High_Quality.inst.cfg
new file mode 100644
index 00000000000..97fa321038f
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_global_High_Quality.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_s8
+name = Extra Fine
+version = 4
+
+[metadata]
+global_quality = True
+quality_type = high
+setting_version = 24
+type = quality
+weight = 1
+
+[values]
+layer_height = =round(0.06 * material_shrinkage_percentage_z / 100, 5)
+
diff --git a/resources/quality/ultimaker_s8/um_s8_global_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s8/um_s8_global_Normal_Quality.inst.cfg
new file mode 100644
index 00000000000..7caa0deaf38
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_global_Normal_Quality.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_s8
+name = Fine
+version = 4
+
+[metadata]
+global_quality = True
+quality_type = normal
+setting_version = 24
+type = quality
+weight = 0
+
+[values]
+layer_height = =round(0.1 * material_shrinkage_percentage_z / 100, 5)
+
diff --git a/resources/quality/ultimaker_s8/um_s8_global_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker_s8/um_s8_global_Superdraft_Quality.inst.cfg
new file mode 100644
index 00000000000..b104169fb06
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_global_Superdraft_Quality.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_s8
+name = Sprint
+version = 4
+
+[metadata]
+global_quality = True
+quality_type = superdraft
+setting_version = 24
+type = quality
+weight = -4
+
+[values]
+layer_height = =round(0.4 * material_shrinkage_percentage_z / 100, 5)
+
diff --git a/resources/quality/ultimaker_s8/um_s8_global_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker_s8/um_s8_global_Verydraft_Quality.inst.cfg
new file mode 100644
index 00000000000..4729b267c14
--- /dev/null
+++ b/resources/quality/ultimaker_s8/um_s8_global_Verydraft_Quality.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_s8
+name = Extra Fast
+version = 4
+
+[metadata]
+global_quality = True
+quality_type = verydraft
+setting_version = 24
+type = quality
+weight = -3
+
+[values]
+layer_height = =round(0.3 * material_shrinkage_percentage_z / 100, 5)
+
diff --git a/resources/quality/ultimaker_sketch/um_sketch_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg b/resources/quality/ultimaker_sketch/um_sketch_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..7e3fa34166e
--- /dev/null
+++ b/resources/quality/ultimaker_sketch/um_sketch_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_sketch
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_metallic_pla_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 0.4mm
+weight = -2
+
+[values]
+
diff --git a/resources/quality/ultimaker_sketch_large/um_sketch_large_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg b/resources/quality/ultimaker_sketch_large/um_sketch_large_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..b9ea5d2aecb
--- /dev/null
+++ b/resources/quality/ultimaker_sketch_large/um_sketch_large_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_sketch_large
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_metallic_pla_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 0.4mm
+weight = -2
+
+[values]
+
diff --git a/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg b/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg
new file mode 100644
index 00000000000..6cad373043a
--- /dev/null
+++ b/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-metallic-pla-175_0.2mm.inst.cfg
@@ -0,0 +1,28 @@
+[general]
+definition = ultimaker_sketch_sprint
+name = Fast
+version = 4
+
+[metadata]
+material = ultimaker_metallic_pla_175
+quality_type = draft
+setting_version = 24
+type = quality
+variant = 0.4mm
+weight = -2
+
+[values]
+cool_min_temperature = 230
+infill_angles = [45,45,45,45,45,135,135,135,135,135]
+material_final_print_temperature = 230
+material_initial_print_temperature = 230
+speed_print = 125
+speed_roofing = 100
+speed_support_bottom = 100
+speed_support_interface = 125
+speed_topbottom = 100
+speed_wall = 75
+speed_wall_x = 100
+support_material_flow = 92
+wall_overhang_speed_factors = [23]
+
diff --git a/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.27mm.inst.cfg b/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.27mm.inst.cfg
new file mode 100644
index 00000000000..f084bc17916
--- /dev/null
+++ b/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.27mm.inst.cfg
@@ -0,0 +1,16 @@
+[general]
+definition = ultimaker_sketch_sprint
+name = Extra Fast - Experimental
+version = 4
+
+[metadata]
+is_experimental = True
+material = ultimaker_pla_175
+quality_type = imperial
+setting_version = 24
+type = quality
+variant = 0.4mm
+weight = -3
+
+[values]
+
diff --git a/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.27mm.inst.cfg b/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.27mm.inst.cfg
new file mode 100644
index 00000000000..1d7584fd7ad
--- /dev/null
+++ b/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.27mm.inst.cfg
@@ -0,0 +1,23 @@
+[general]
+definition = ultimaker_sketch_sprint
+name = Extra Fast - Experimental
+version = 4
+
+[metadata]
+is_experimental = True
+material = ultimaker_tough_pla_175
+quality_type = imperial
+setting_version = 24
+type = quality
+variant = 0.4mm
+weight = -3
+
+[values]
+acceleration_layer_0 = 200
+acceleration_travel_layer_0 = =acceleration_layer_0
+speed_layer_0 = 30
+speed_slowdown_layers = 4
+speed_travel_layer_0 = 150
+wall_0_material_flow_layer_0 = =material_flow * 1.03
+wall_x_material_flow_layer_0 = =material_flow * 0.95
+
diff --git a/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_global_Imperial_Quality.inst.cfg b/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_global_Imperial_Quality.inst.cfg
new file mode 100644
index 00000000000..bef8501e675
--- /dev/null
+++ b/resources/quality/ultimaker_sketch_sprint/um_sketch_sprint_global_Imperial_Quality.inst.cfg
@@ -0,0 +1,15 @@
+[general]
+definition = ultimaker_sketch_sprint
+name = Extra Fast
+version = 4
+
+[metadata]
+global_quality = True
+quality_type = imperial
+setting_version = 24
+type = quality
+weight = -2
+
+[values]
+layer_height = 0.27
+
diff --git a/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_fast.inst.cfg b/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_fast.inst.cfg
index 4360f05c8e3..768c094e4d1 100644
--- a/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_fast.inst.cfg
+++ b/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_fast.inst.cfg
@@ -4,7 +4,6 @@ name = Fast
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = fast06
setting_version = 24
diff --git a/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_fine.inst.cfg b/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_fine.inst.cfg
index 7a17e6ba92c..cf24648bc5e 100644
--- a/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_fine.inst.cfg
+++ b/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_fine.inst.cfg
@@ -4,7 +4,6 @@ name = Fine
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = fine06
setting_version = 24
diff --git a/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_normal.inst.cfg b/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_normal.inst.cfg
index 83d4dab8c53..988e3ac7b88 100644
--- a/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_normal.inst.cfg
+++ b/resources/quality/zyyx_pro/carbon06/flex/zyyx_pro_06_flex_normal.inst.cfg
@@ -4,7 +4,6 @@ name = Normal
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = normal06
setting_version = 24
diff --git a/resources/quality/zyyx_pro/carbon12/flex/zyyx_pro_12_flex_normal.inst.cfg b/resources/quality/zyyx_pro/carbon12/flex/zyyx_pro_12_flex_normal.inst.cfg
index baf56e216e6..d71c247e8c5 100644
--- a/resources/quality/zyyx_pro/carbon12/flex/zyyx_pro_12_flex_normal.inst.cfg
+++ b/resources/quality/zyyx_pro/carbon12/flex/zyyx_pro_12_flex_normal.inst.cfg
@@ -4,7 +4,6 @@ name = Normal
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = normal12
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_fast.inst.cfg b/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_fast.inst.cfg
index 1b6e95f546a..684035be6ec 100644
--- a/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_fast.inst.cfg
+++ b/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_fast.inst.cfg
@@ -4,7 +4,6 @@ name = Fast
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = fast02
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_fine.inst.cfg b/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_fine.inst.cfg
index 1d1713a08eb..093f725d011 100644
--- a/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_fine.inst.cfg
+++ b/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_fine.inst.cfg
@@ -4,7 +4,6 @@ name = Fine
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = fine02
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_normal.inst.cfg b/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_normal.inst.cfg
index 797637a25d0..5bbe4bd9f08 100644
--- a/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_normal.inst.cfg
+++ b/resources/quality/zyyx_pro/multi02/flex/zyyx_pro_02_flex_normal.inst.cfg
@@ -4,7 +4,6 @@ name = Normal
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = normal02
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_fast.inst.cfg b/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_fast.inst.cfg
index e49678a86cc..730dbd6d112 100644
--- a/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_fast.inst.cfg
+++ b/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_fast.inst.cfg
@@ -4,7 +4,6 @@ name = Fast
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = fast04
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_fine.inst.cfg b/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_fine.inst.cfg
index 09dd668f783..6b4a1b0628d 100644
--- a/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_fine.inst.cfg
+++ b/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_fine.inst.cfg
@@ -4,7 +4,6 @@ name = Fine
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = fine04
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_normal.inst.cfg b/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_normal.inst.cfg
index 9aa604ca2b7..800c57b89a0 100644
--- a/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_normal.inst.cfg
+++ b/resources/quality/zyyx_pro/multi04/flex/zyyx_pro_04_flex_normal.inst.cfg
@@ -4,7 +4,6 @@ name = Normal
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = normal04
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_fast.inst.cfg b/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_fast.inst.cfg
index 908f0691408..0b1d0dc5e97 100644
--- a/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_fast.inst.cfg
+++ b/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_fast.inst.cfg
@@ -4,7 +4,6 @@ name = Fast
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = fast08
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_fine.inst.cfg b/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_fine.inst.cfg
index f6456e0768d..a15da586889 100644
--- a/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_fine.inst.cfg
+++ b/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_fine.inst.cfg
@@ -4,7 +4,6 @@ name = Fine
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = fine08
setting_version = 24
diff --git a/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_normal.inst.cfg b/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_normal.inst.cfg
index d5eddb7e796..02f63b70000 100644
--- a/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_normal.inst.cfg
+++ b/resources/quality/zyyx_pro/multi08/flex/zyyx_pro_08_flex_normal.inst.cfg
@@ -4,7 +4,6 @@ name = Normal
version = 4
[metadata]
-global_quality = True
material = generic_tpu_175
quality_type = normal08
setting_version = 24
diff --git a/resources/setting_visibility/advanced.cfg b/resources/setting_visibility/advanced.cfg
index 93c3dc91efd..8585a05eeca 100644
--- a/resources/setting_visibility/advanced.cfg
+++ b/resources/setting_visibility/advanced.cfg
@@ -133,6 +133,7 @@ prime_tower_mode
prime_tower_position_x
prime_tower_position_y
prime_tower_brim_enable
+interlocking_enable
[meshfix]
@@ -144,7 +145,6 @@ magic_spiralize
smooth_spiralized_contours
[experimental]
-interlocking_enable
conical_overhang_enabled
support_conical_enabled
adaptive_layer_height_enabled
diff --git a/resources/setting_visibility/basic.cfg b/resources/setting_visibility/basic.cfg
index 0193eb26ba7..6c6124ab673 100644
--- a/resources/setting_visibility/basic.cfg
+++ b/resources/setting_visibility/basic.cfg
@@ -56,6 +56,7 @@ adhesion_extruder_nr
prime_tower_enable
prime_tower_position_x
prime_tower_position_y
+interlocking_enable
[meshfix]
diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg
index b13618e5c16..c8935896b6a 100644
--- a/resources/setting_visibility/expert.cfg
+++ b/resources/setting_visibility/expert.cfg
@@ -248,6 +248,7 @@ cool_fan_speed_0
cool_fan_full_at_height
cool_fan_full_layer
cool_min_layer_time
+cool_min_layer_time_overhang
cool_min_speed
cool_lift_head
cool_during_extruder_switch
@@ -378,6 +379,12 @@ prime_tower_min_shell_thickness
ooze_shield_enabled
ooze_shield_angle
ooze_shield_dist
+interlocking_enable
+interlocking_beam_width
+interlocking_orientation
+interlocking_beam_layer_count
+interlocking_dept
+interlocking_boundary_avoidance
[meshfix]
meshfix_union_all
@@ -428,12 +435,6 @@ roofing_monotonic
roofing_angles
infill_enable_travel_optimization
material_flow_temp_graph
-interlocking_enable
-interlocking_beam_width
-interlocking_orientation
-interlocking_beam_layer_count
-interlocking_dept
-interlocking_boundary_avoidance
support_skip_some_zags
support_skip_zag_per_mm
support_zag_skip_count
diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json
index 160799be6e9..1ae316f96c1 100644
--- a/resources/themes/cura-light/theme.json
+++ b/resources/themes/cura-light/theme.json
@@ -567,7 +567,7 @@
"section_icon_column": [2.5, 2.5],
"setting": [25.0, 1.8],
- "setting_control": [11.0, 2.0],
+ "setting_control": [9.0, 2.0],
"setting_control_radius": [0.15, 0.15],
"setting_control_depth_margin": [1.4, 0.0],
"setting_unit_margin": [0.5, 0.5],
diff --git a/resources/variants/ultimaker_s8_aa_plus04.inst.cfg b/resources/variants/ultimaker_s8_aa_plus04.inst.cfg
new file mode 100644
index 00000000000..59e1f8963d4
--- /dev/null
+++ b/resources/variants/ultimaker_s8_aa_plus04.inst.cfg
@@ -0,0 +1,17 @@
+[general]
+definition = ultimaker_s8
+name = AA+ 0.4
+version = 4
+
+[metadata]
+hardware_type = nozzle
+setting_version = 24
+type = variant
+
+[values]
+machine_nozzle_cool_down_speed = 0.9
+machine_nozzle_id = AA+ 0.4
+machine_nozzle_size = 0.4
+machine_nozzle_tip_outer_diameter = 1.2
+retraction_prime_speed = =retraction_speed
+
diff --git a/resources/variants/ultimaker_s8_bb04.inst.cfg b/resources/variants/ultimaker_s8_bb04.inst.cfg
new file mode 100644
index 00000000000..ba5ca090b67
--- /dev/null
+++ b/resources/variants/ultimaker_s8_bb04.inst.cfg
@@ -0,0 +1,19 @@
+[general]
+definition = ultimaker_s8
+name = BB 0.4
+version = 4
+
+[metadata]
+hardware_type = nozzle
+setting_version = 24
+type = variant
+
+[values]
+machine_nozzle_heat_up_speed = 1.5
+machine_nozzle_id = BB 0.4
+machine_nozzle_tip_outer_diameter = 1.0
+retraction_amount = 4.5
+support_bottom_height = =layer_height * 2
+support_interface_enable = True
+switch_extruder_retraction_amount = 12
+
diff --git a/resources/variants/ultimaker_s8_cc_plus04.inst.cfg b/resources/variants/ultimaker_s8_cc_plus04.inst.cfg
new file mode 100644
index 00000000000..caefbaf3701
--- /dev/null
+++ b/resources/variants/ultimaker_s8_cc_plus04.inst.cfg
@@ -0,0 +1,17 @@
+[general]
+definition = ultimaker_s8
+name = CC+ 0.4
+version = 4
+
+[metadata]
+hardware_type = nozzle
+setting_version = 24
+type = variant
+
+[values]
+machine_nozzle_cool_down_speed = 0.9
+machine_nozzle_id = CC+ 0.4
+machine_nozzle_size = 0.4
+machine_nozzle_tip_outer_diameter = 1.2
+retraction_prime_speed = =retraction_speed
+
diff --git a/resources/variants/ultimaker_s8_dd04.inst.cfg b/resources/variants/ultimaker_s8_dd04.inst.cfg
new file mode 100644
index 00000000000..e71b18b81d3
--- /dev/null
+++ b/resources/variants/ultimaker_s8_dd04.inst.cfg
@@ -0,0 +1,17 @@
+[general]
+definition = ultimaker_s8
+name = DD 0.4
+version = 4
+
+[metadata]
+hardware_type = nozzle
+setting_version = 24
+type = variant
+
+[values]
+machine_nozzle_cool_down_speed = 0.9
+machine_nozzle_id = DD 0.4
+machine_nozzle_size = 0.4
+machine_nozzle_tip_outer_diameter = 1.2
+retraction_prime_speed = =retraction_speed
+
diff --git a/scripts/extract_changelog.py b/scripts/extract_changelog.py
index a1a0b251f0b..934b963e0a9 100644
--- a/scripts/extract_changelog.py
+++ b/scripts/extract_changelog.py
@@ -13,7 +13,7 @@
args.version = args.version[:-2]
start_token = f"[{args.version}]"
- pattern_stop_log = "\[\d+(\.\d+){1,2}\]"
+ pattern_stop_log = r"\[\d+(\.\d+){1,2}\]"
log_line = False
first_chapter = True