diff --git a/cura/PrinterOutput/FormatMaps.py b/cura/PrinterOutput/FormatMaps.py
index 3bb6263a28..1974f4c08c 100644
--- a/cura/PrinterOutput/FormatMaps.py
+++ b/cura/PrinterOutput/FormatMaps.py
@@ -25,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/packaging/AppImage/cura.desktop.jinja b/packaging/AppImage/cura.desktop.jinja
index 1230d4ff5c..dc6cddcc03 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/PostProcessingPlugin/scripts/SearchAndReplace.py b/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py
index dabc6b725a..db062f4084 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 @@ class SearchAndReplace(Script):
{
"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"))
- for layer_number, layer in enumerate(data):
- data[layer_number] = re.sub(search_regex, replace_string, layer) #Replace all.
+ # 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
- return data
\ No newline at end of file
+ # Get the start and end indexes within the data
+ if not enable_layer_search:
+ if ignore_start:
+ start_index = 2
+ else:
+ start_index = 1
+
+ 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/resources/definitions/ultimaker_method.def.json b/resources/definitions/ultimaker_method.def.json
index 5e78c3f630..d2813ea8a3 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_s8.def.json b/resources/definitions/ultimaker_s8.def.json
new file mode 100644
index 0000000000..c1b7bac66c
--- /dev/null
+++ b/resources/definitions/ultimaker_s8.def.json
@@ -0,0 +1,406 @@
+{
+ "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_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_skirt_brim":
+ {
+ "maximum_value_warning": 300,
+ "value": "speed_layer_0"
+ },
+ "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_density": { "value": "15 if support_structure == 'tree' else 20" },
+ "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 f746417e70..bcd3e3891b 100644
--- a/resources/definitions/ultimaker_sketch.def.json
+++ b/resources/definitions/ultimaker_sketch.def.json
@@ -58,7 +58,9 @@
"ultimaker_rapidrinse",
"ultimaker_sr30",
"ultimaker_petg",
- "ultimaker_pva"
+ "ultimaker_pva",
+ "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 885db85057..0043b17be2 100644
--- a/resources/definitions/ultimaker_sketch_sprint.def.json
+++ b/resources/definitions/ultimaker_sketch_sprint.def.json
@@ -53,7 +53,9 @@
"ultimaker_pva",
"ultimaker_rapidrinse",
"ultimaker_sr30",
- "ultimaker_petg"
+ "ultimaker_petg",
+ "ultimaker_pc-abs",
+ "ultimaker_pc-abs-fr"
],
"has_machine_quality": true,
"has_materials": 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 0000000000..cd2c34d16f
--- /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 0000000000..7bab64fa67
--- /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 789a48e887..c03e28936b 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 c22d887766..f209c98fee 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 486c282934..f4a9cf478e 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 cb37c296a4..cda59e4b23 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 c35f819d7d..5cef95e7a4 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 0000000000..d2a4488a73
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 0000000000..62554df3da
--- /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 0000000000..9ba6b62e09
--- /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 0000000000..219381b237
--- /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 0000000000..9acf025ee7
--- /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 0000000000..4ea4831a43
--- /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 0000000000..486c1ad508
--- /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_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 0000000000..5dd610ba77
--- /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 0000000000..57e1072c16
--- /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_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 0000000000..2e11986e66
--- /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 0000000000..fac9316dcf
--- /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-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 0000000000..656156ce4d
--- /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 0000000000..39aba071c9
--- /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_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 0000000000..b1a70679de
--- /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 0000000000..ac0f34ef58
--- /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_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 0000000000..64199ae86f
--- /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 0000000000..59f7930e89
--- /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-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 0000000000..2c8d67e0f0
--- /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 0000000000..164f7c7575
--- /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_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 0000000000..2d373348d5
--- /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 0000000000..ae8ac6f893
--- /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 0000000000..049616558d
--- /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 0000000000..688a5d8f51
--- /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 0000000000..20615ef3d5
--- /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 0000000000..3eb147fe6b
--- /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 0000000000..4dbf74ddd0
--- /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 0000000000..44f110ae84
--- /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 0000000000..681718eea1
--- /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 0000000000..5288105305
--- /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 0000000000..9b14738ac4
--- /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 0000000000..515499980f
--- /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 0000000000..8bd73cb155
--- /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 0000000000..3f6edcec64
--- /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/qml/Menus/ConfigurationMenu/ConfigurationItem.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml
index f76e1c6ef7..f822dad933 100644
--- a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml
+++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml
@@ -166,8 +166,8 @@ Button
}
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 %2 to check which cores this printer-type supports w.r.t. new slices.");
- return draftResult.arg(mismatchedCores).arg("" + catalog.i18nc("@label","WEBSITE") + " ")
+ 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:
@@ -199,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);
+ }
}
}
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 0000000000..08eeaa8583
--- /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 0000000000..f7f929efe0
--- /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 0000000000..cadc8d2db8
--- /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-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 0000000000..5c58684f3d
--- /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 0000000000..72864b1f7e
--- /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-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 0000000000..7e624a2771
--- /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 0000000000..13e42a1006
--- /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_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 0000000000..47db7bee53
--- /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 0000000000..6bba6de819
--- /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-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 0000000000..a072415f8f
--- /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 0000000000..272c94e581
--- /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-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 0000000000..2bb4fae463
--- /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 0000000000..53498a3408
--- /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_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 0000000000..ef9005a45f
--- /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 0000000000..3b5a15e0ec
--- /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 0000000000..ee2493352d
--- /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 0000000000..1fc2f2c8d9
--- /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 0000000000..9b628d1cbb
--- /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 0000000000..4331ec48f4
--- /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 0000000000..0e439932b4
--- /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 0000000000..33c4b43330
--- /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 0000000000..ccc625a05d
--- /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 0000000000..2698357d08
--- /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 0000000000..b6013b8316
--- /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 0000000000..e9c3b1fb98
--- /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 0000000000..817dcb00f4
--- /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 0000000000..faefa8932d
--- /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 0000000000..31da96735d
--- /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 0000000000..bc7e0a4548
--- /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 0000000000..b21e40a210
--- /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 0000000000..aab9405379
--- /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 0000000000..2dabc84da0
--- /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 0000000000..faca26af70
--- /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 0000000000..11018f2d0d
--- /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 0000000000..04288783c0
--- /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 0000000000..b46377615c
--- /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 0000000000..aeee8fce19
--- /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 0000000000..527d67fe42
--- /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 0000000000..1d02c32213
--- /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 0000000000..f7b6ee2dd3
--- /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 0000000000..6c5d6eb0ee
--- /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 0000000000..26b5eb23b0
--- /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 0000000000..8a5c2a9bc8
--- /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 0000000000..97fa321038
--- /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 0000000000..7caa0deaf3
--- /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 0000000000..b104169fb0
--- /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 0000000000..4729b267c1
--- /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/variants/ultimaker_s8_aa_plus04.inst.cfg b/resources/variants/ultimaker_s8_aa_plus04.inst.cfg
new file mode 100644
index 0000000000..59e1f8963d
--- /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 0000000000..ba5ca090b6
--- /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 0000000000..caefbaf370
--- /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 0000000000..e71b18b81d
--- /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
+