From b9a6efb332e09565681f658a88c0186e1bd8a73d Mon Sep 17 00:00:00 2001 From: Jordon Brooks <16258926+Jordonbc@users.noreply.github.com> Date: Tue, 23 May 2023 03:35:43 +0100 Subject: [PATCH 01/16] Added Kobra Plus printer profiles --- .../definitions/anycubic_kobra_plus.def.json | 30 +++++++++++++++++++ .../anycubic_kobra_plus_extruder_0.def.json | 16 ++++++++++ .../anycubic_kobra_plus_pla.inst.cfg | 27 +++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 resources/definitions/anycubic_kobra_plus.def.json create mode 100644 resources/extruders/anycubic_kobra_plus_extruder_0.def.json create mode 100644 resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg diff --git a/resources/definitions/anycubic_kobra_plus.def.json b/resources/definitions/anycubic_kobra_plus.def.json new file mode 100644 index 0000000000..5d41a5ef33 --- /dev/null +++ b/resources/definitions/anycubic_kobra_plus.def.json @@ -0,0 +1,30 @@ +{ + "version": 2, + "name": "Anycubic Kobra Plus", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "Jordon Brooks", + "manufacturer": "Anycubic", + "file_formats": "text/x-gcode", + "has_machine_quality": true, + "has_materials": true, + "machine_extruder_trains": { "0": "anycubic_kobra_plus_extruder_0" }, + "preferred_material": "generic_pla", + "preferred_quality_type": "pla", + "quality_definition": "anycubic_kobra_plus" + }, + "overrides": + { + "machine_depth": { "default_value": 302 }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_heated_bed": { "default_value": true }, + "machine_height": { "default_value": 352 }, + "machine_name": { "default_value": "Anycubic Kobra Plus" }, + "machine_start_gcode": { "default_value": "G28 ;Home\nG1 Z15.0 F6000 ;Move the platform down 15mm\n;Prime the extruder\nG92 E0\nM355 S1; Turn LED on\n; Add Custom purge lines\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X1.0 Y30 Z0.3 F5000.0 ; Move to start position\nG1 X1.0 Y100.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X1.3 Y100.0 Z0.3 F5000.0 ; Move to side a little\nG1 X1.3 Y30 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 E-2 F500 ; Retract a little \nG1 X50 F500 ; wipe away from the filament line\nG1 X100 F9000 ; Quickly wipe away from the filament line\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\n; End custom purge lines" }, + "machine_end_gcode": { "default_value": "M104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84\nM355 S0; led off" }, + "machine_width": { "default_value": 302 } + } +} + diff --git a/resources/extruders/anycubic_kobra_plus_extruder_0.def.json b/resources/extruders/anycubic_kobra_plus_extruder_0.def.json new file mode 100644 index 0000000000..51a6c351bc --- /dev/null +++ b/resources/extruders/anycubic_kobra_plus_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": + { + "machine": "anycubic_kobra_plus", + "position": "0" + }, + "overrides": + { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} \ No newline at end of file diff --git a/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg new file mode 100644 index 0000000000..a2565e0dc7 --- /dev/null +++ b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg @@ -0,0 +1,27 @@ +[general] +definition = anycubic_kobra_plus +name = Normal +version = 4 + +[metadata] +global_quality = True +quality_type = pla +setting_version = 21 +type = quality +weight = 0 + +[values] +layer_height = 0.2 +layer_height_0 = 0.2 +infill_pattern = cubic +retraction_hop = 0.1 +retraction_combing = off +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +speed_print = 80 +speed_infill = 40 +speed_wall_x = 60 +speed_layer_0 = 20 +wall_thickness = 1.2 +material_print_temperature = 195 +material_final_print_temperature = 195 \ No newline at end of file From d3c88eb7a6a9bed2d16a504eed0bad435bee112f Mon Sep 17 00:00:00 2001 From: Jordon Brooks <16258926+Jordonbc@users.noreply.github.com> Date: Tue, 23 May 2023 11:20:14 +0100 Subject: [PATCH 02/16] Update anycubic_kobra_plus_pla.inst.cfg Changed setting_version to 22 --- .../anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg index a2565e0dc7..02bd9edb5e 100644 --- a/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg +++ b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg @@ -6,7 +6,7 @@ version = 4 [metadata] global_quality = True quality_type = pla -setting_version = 21 +setting_version = 22 type = quality weight = 0 @@ -24,4 +24,4 @@ speed_wall_x = 60 speed_layer_0 = 20 wall_thickness = 1.2 material_print_temperature = 195 -material_final_print_temperature = 195 \ No newline at end of file +material_final_print_temperature = 195 From 076db20aaf7b09711ab10accdd8f2250267a83a0 Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Mon, 10 Jul 2023 20:52:06 +0200 Subject: [PATCH 03/16] Enable support interface for the AA0.25 and AA0.4 nozzles for all materials. Default interface distance is 0.3mm (rounded to layerheights) and 0.4mm for CPE+ Relates to: PP-10 --- .../quality/ultimaker_s3/um_s3_aa0.25_abs_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.25_cpe_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.25_petg_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.25_pla_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg | 4 ++++ .../ultimaker_s3/um_s3_aa0.25_tough-pla_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg | 4 ++++ .../ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg | 5 ++++- .../ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg | 5 ++++- .../ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg | 5 ++++- .../ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg | 5 ++++- .../quality/ultimaker_s3/um_s3_aa0.4_cpe_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_cpe_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_cpe_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_cpe_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_nylon_0.06mm.inst.cfg | 5 ++++- .../quality/ultimaker_s3/um_s3_aa0.4_nylon_0.15mm.inst.cfg | 5 ++++- .../quality/ultimaker_s3/um_s3_aa0.4_nylon_0.1mm.inst.cfg | 5 ++++- .../quality/ultimaker_s3/um_s3_aa0.4_nylon_0.2mm.inst.cfg | 5 ++++- .../quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_petg_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_petg_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_petg_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_petg_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg | 4 ++++ .../ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg | 4 ++++ .../ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg | 4 ++++ .../ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg | 4 ++++ .../ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg | 4 ++++ .../ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s3/um_s3_cc0.4_petcf_0.15mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s3/um_s3_cc0.4_petcf_0.2mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s3/um_s3_cc0.6_petcf_0.15mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s3/um_s3_cc0.6_petcf_0.2mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s3/um_s3_cc0.6_petcf_0.3mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s5/um_s5_aa0.25_abs_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.25_cpe_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg | 6 +++++- .../quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.25_petg_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.25_pla_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg | 4 ++++ .../ultimaker_s5/um_s5_aa0.25_tough-pla_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg | 4 ++++ .../ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg | 5 ++++- .../ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg | 5 ++++- .../ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg | 5 ++++- .../ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg | 5 ++++- .../quality/ultimaker_s5/um_s5_aa0.4_cpe_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_cpe_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_cpe_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_cpe_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_nylon_0.06mm.inst.cfg | 5 ++++- .../quality/ultimaker_s5/um_s5_aa0.4_nylon_0.15mm.inst.cfg | 5 ++++- .../quality/ultimaker_s5/um_s5_aa0.4_nylon_0.1mm.inst.cfg | 5 ++++- .../quality/ultimaker_s5/um_s5_aa0.4_nylon_0.2mm.inst.cfg | 5 ++++- .../quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_petg_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_petg_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_petg_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_petg_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg | 4 ++++ .../ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg | 4 ++++ .../ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg | 4 ++++ .../ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg | 4 ++++ .../ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg | 4 ++++ .../ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg | 4 ++++ .../quality/ultimaker_s5/um_s5_cc0.4_petcf_0.15mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s5/um_s5_cc0.4_petcf_0.2mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s5/um_s5_cc0.6_petcf_0.15mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s5/um_s5_cc0.6_petcf_0.2mm.inst.cfg | 7 ++++--- .../quality/ultimaker_s5/um_s5_cc0.6_petcf_0.3mm.inst.cfg | 7 ++++--- 106 files changed, 425 insertions(+), 47 deletions(-) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_abs_0.1mm.inst.cfg index 6bc57b7a6e..3a88801570 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_abs_0.1mm.inst.cfg @@ -13,4 +13,8 @@ weight = 0 [values] speed_topbottom = =math.ceil(speed_print * 30 / 55) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_cpe_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_cpe_0.1mm.inst.cfg index 2cba4bb788..cd74f2688f 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_cpe_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_cpe_0.1mm.inst.cfg @@ -14,5 +14,9 @@ weight = 0 [values] speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) +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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg index 3d765aaa1e..a148563d97 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg @@ -20,6 +20,10 @@ retraction_min_travel = 5 speed_print = 70 speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70) +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg index 3e97141c64..7a15e94478 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg @@ -29,7 +29,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_petg_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_petg_0.1mm.inst.cfg index ffaf1dd591..d2695b0eaf 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_petg_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_petg_0.1mm.inst.cfg @@ -15,5 +15,9 @@ weight = 0 material_print_temperature = =default_material_print_temperature - 5 speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) +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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_pla_0.1mm.inst.cfg index 95d624cf99..1b40b93f91 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_pla_0.1mm.inst.cfg @@ -21,6 +21,10 @@ retraction_hop = 0.2 speed_print = 30 speed_wall = =math.ceil(speed_print * 25 / 30) speed_wall_0 = =math.ceil(speed_print * 20 / 30) +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 top_bottom_thickness = 0.72 travel_avoid_distance = 0.4 wall_0_inset = 0.015 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg index 90ac201992..75cea75e5b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg @@ -34,6 +34,10 @@ speed_print = 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 = =math.ceil(0.3/layer_height)*layer_height switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_tough-pla_0.1mm.inst.cfg index 90a389ea0b..03daa33819 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_tough-pla_0.1mm.inst.cfg @@ -21,6 +21,10 @@ speed_print = 30 speed_topbottom = =math.ceil(speed_print * 20 / 30) speed_wall = =math.ceil(speed_print * 25 / 30) speed_wall_0 = =math.ceil(speed_print * 20 / 30) +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 top_bottom_thickness = 0.72 wall_0_inset = 0.015 wall_0_wipe_dist = 0.25 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg index ad57f4d87d..f6969a31a3 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.06mm.inst.cfg @@ -22,4 +22,8 @@ speed_infill = =math.ceil(speed_print * 40 / 50) speed_print = 50 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg index 075c1fd4aa..6d5e7148c4 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.15mm.inst.cfg @@ -23,4 +23,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg index 5c2bb0f6f4..852c8580d7 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.1mm.inst.cfg @@ -22,4 +22,8 @@ speed_infill = =math.ceil(speed_print * 40 / 55) speed_print = 55 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg index 6d68564281..df95d49c12 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_abs_0.2mm.inst.cfg @@ -23,4 +23,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg index fe501993d4..baa0b0c36d 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.06mm.inst.cfg @@ -28,6 +28,9 @@ speed_print = 40 speed_topbottom = =math.ceil(speed_print * 30 / 35) speed_wall = =math.ceil(speed_print * 35 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 35) -support_z_distance = =layer_height +support_bottom_distance = =support_z_distance +support_interface_enable = True +support_top_distance = =support_z_distance +support_z_distance = =math.ceil(0.4/layer_height)*layer_height wall_0_inset = 0 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg index f9c44650c2..f53c0f5aeb 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.15mm.inst.cfg @@ -26,6 +26,9 @@ speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 45 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) -support_z_distance = =layer_height +support_bottom_distance = =support_z_distance +support_interface_enable = True +support_top_distance = =support_z_distance +support_z_distance = =math.ceil(0.4/layer_height)*layer_height wall_0_inset = 0 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg index d7b82b4a1c..967d3ccd44 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.1mm.inst.cfg @@ -28,6 +28,9 @@ speed_print = 40 speed_topbottom = =math.ceil(speed_print * 30 / 35) speed_wall = =math.ceil(speed_print * 35 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 35) -support_z_distance = =layer_height +support_bottom_distance = =support_z_distance +support_interface_enable = True +support_top_distance = =support_z_distance +support_z_distance = =math.ceil(0.4/layer_height)*layer_height wall_0_inset = 0 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg index 76a248a749..de0053edf9 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe-plus_0.2mm.inst.cfg @@ -26,6 +26,9 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 40 / 50) speed_wall = =math.ceil(speed_print * 50 / 50) speed_wall_0 = =math.ceil(speed_wall * 40 / 50) -support_z_distance = =layer_height +support_bottom_distance = =support_z_distance +support_interface_enable = True +support_top_distance = =support_z_distance +support_z_distance = =math.ceil(0.4/layer_height)*layer_height wall_0_inset = 0 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.06mm.inst.cfg index 8a399bd637..7a13861023 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.06mm.inst.cfg @@ -21,4 +21,8 @@ speed_infill = =math.ceil(speed_print * 40 / 50) speed_print = 50 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.15mm.inst.cfg index e6f19344df..60a9e47834 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.15mm.inst.cfg @@ -20,4 +20,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.1mm.inst.cfg index 730f7cd2f3..422258c09c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.1mm.inst.cfg @@ -20,4 +20,8 @@ speed_infill = =math.ceil(speed_print * 45 / 55) speed_print = 55 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.2mm.inst.cfg index da5699d463..1764954dd5 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_cpe_0.2mm.inst.cfg @@ -20,4 +20,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.06mm.inst.cfg index 39f3fd8686..f6be35a2ec 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.06mm.inst.cfg @@ -14,7 +14,10 @@ weight = 1 [values] ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_prime_speed = =retraction_speed +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.15mm.inst.cfg index b834ac75bb..874bcc66f0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.15mm.inst.cfg @@ -15,7 +15,10 @@ weight = -1 material_print_temperature = =default_material_print_temperature + 5 ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_prime_speed = =retraction_speed +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.1mm.inst.cfg index ea8f7837a2..89c3b6f361 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.1mm.inst.cfg @@ -14,7 +14,10 @@ weight = 0 [values] ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_prime_speed = =retraction_speed +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.2mm.inst.cfg index 88b89d7a47..662aa9fb66 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_nylon_0.2mm.inst.cfg @@ -15,7 +15,10 @@ weight = -2 material_print_temperature = =default_material_print_temperature + 10 ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_prime_speed = =retraction_speed +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg index 046b9f6ce2..4e217f5cca 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg @@ -31,7 +31,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg index c1d488bf5f..b5ec910404 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg @@ -31,7 +31,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg index d2a3b67d4c..ff2159e522 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg @@ -30,7 +30,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg index c95009797d..a524c5c040 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg @@ -31,7 +31,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.06mm.inst.cfg index fdbdb811c1..adc4670e8d 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.06mm.inst.cfg @@ -20,4 +20,8 @@ speed_infill = =math.ceil(speed_print * 40 / 50) speed_print = 50 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.15mm.inst.cfg index d71148e5ce..3967838a12 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.15mm.inst.cfg @@ -19,4 +19,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.1mm.inst.cfg index 69f6059c00..7829f46334 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.1mm.inst.cfg @@ -20,4 +20,8 @@ speed_infill = =math.ceil(speed_print * 45 / 55) speed_print = 55 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.2mm.inst.cfg index 5291946ccd..db079b04c9 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_petg_0.2mm.inst.cfg @@ -19,4 +19,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg index 6de3ad3edb..4b8f9f433b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.06mm.inst.cfg @@ -21,5 +21,9 @@ retraction_prime_speed = =retraction_speed speed_print = 50 speed_topbottom = =math.ceil(speed_print * 35 / 50) speed_wall = =math.ceil(speed_print * 35 / 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 top_bottom_thickness = 1 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg index f076447401..5581284de4 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.15mm.inst.cfg @@ -21,5 +21,9 @@ speed_print = 70 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 45 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 70) +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 top_bottom_thickness = 1 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg index 40b7c5b843..30af138465 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.1mm.inst.cfg @@ -17,5 +17,9 @@ machine_nozzle_heat_up_speed = 1.6 prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed +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 top_bottom_thickness = 1 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg index 8452bce4a9..e5dc960d98 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.2mm.inst.cfg @@ -24,5 +24,9 @@ retraction_prime_speed = =retraction_speed speed_topbottom = =math.ceil(speed_print * 40 / 70) speed_wall = =math.ceil(speed_print * 55 / 70) speed_wall_0 = =math.ceil(speed_wall * 45 / 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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg index 98990f6fe0..719adc820b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pla_0.3mm.inst.cfg @@ -27,6 +27,10 @@ raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 speed_wall = 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 top_bottom_thickness = 0.9 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg index b2cbff9177..70d53dd331 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg @@ -35,6 +35,10 @@ 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 = =math.ceil(0.3/layer_height)*layer_height switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg index 309f646559..009039d972 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg @@ -35,6 +35,10 @@ 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 = =math.ceil(0.3/layer_height)*layer_height switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg index 234ec47e8f..9c2870b661 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg @@ -35,6 +35,10 @@ 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 = =math.ceil(0.3/layer_height)*layer_height switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg index 6268da9a9f..e091136b32 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.06mm.inst.cfg @@ -21,5 +21,9 @@ speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg index d94df8b8f3..450c82a0c2 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.15mm.inst.cfg @@ -21,5 +21,9 @@ speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg index cd358539bb..fa25ccb171 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.1mm.inst.cfg @@ -21,5 +21,9 @@ speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg index a0d698a327..fd3574f313 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.2mm.inst.cfg @@ -22,5 +22,9 @@ speed_roofing = =math.ceil(speed_wall * 20 / 24) speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 36 / 50) speed_wall_0 = =math.ceil(speed_print * 26 / 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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg index e9e0c2fc7f..cbf086000e 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tough-pla_0.3mm.inst.cfg @@ -27,6 +27,10 @@ raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 speed_wall = 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 top_bottom_thickness = 1.2 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg index 18aaeb6470..c6e9fc00d1 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg @@ -36,6 +36,10 @@ 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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg index e8e7410cd5..043aa880ad 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg @@ -35,6 +35,10 @@ 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 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg index e24ab778b5..0c8d7eb429 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg @@ -36,6 +36,10 @@ 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 diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_petcf_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_petcf_0.15mm.inst.cfg index 3dff641b42..fd25f84ca5 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.4_petcf_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_petcf_0.15mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_petcf_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_petcf_0.2mm.inst.cfg index f9d1cb1295..ea26d6b146 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.4_petcf_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_petcf_0.2mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.15mm.inst.cfg index 864e913a9c..b49ee3061e 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.15mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.2mm.inst.cfg index 138b118073..db82d6e40e 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.2mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.3mm.inst.cfg index 6f899afbbf..8e94df9387 100644 --- a/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_petcf_0.3mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_abs_0.1mm.inst.cfg index ae9144728a..08053a4f6d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_abs_0.1mm.inst.cfg @@ -13,4 +13,8 @@ weight = 0 [values] speed_topbottom = =math.ceil(speed_print * 30 / 55) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_cpe_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_cpe_0.1mm.inst.cfg index ba519667d0..ca39f8dc7a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_cpe_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_cpe_0.1mm.inst.cfg @@ -14,5 +14,9 @@ weight = 0 [values] speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) +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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg index 710701b22a..009628fd2e 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg @@ -15,11 +15,15 @@ weight = 0 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 ooze_shield_angle = 40 -raft_airgap = 0.15 +raft_airgap = 0.4 retraction_min_travel = 5 speed_print = 70 speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70) +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg index f5a34415b4..eeffba5b98 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg @@ -29,7 +29,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_petg_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_petg_0.1mm.inst.cfg index 7b41e45d1c..374ef26315 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_petg_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_petg_0.1mm.inst.cfg @@ -15,5 +15,9 @@ weight = 0 material_print_temperature = =default_material_print_temperature - 5 speed_infill = =math.ceil(speed_print * 40 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55) +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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_pla_0.1mm.inst.cfg index 199995e5a1..2b99c9acce 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_pla_0.1mm.inst.cfg @@ -21,6 +21,10 @@ retraction_hop = 0.2 speed_print = 30 speed_wall = =math.ceil(speed_print * 25 / 30) speed_wall_0 = =math.ceil(speed_print * 20 / 30) +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 top_bottom_thickness = 0.72 travel_avoid_distance = 0.4 wall_0_inset = 0.015 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg index 4b9d902b31..d38c036bcd 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg @@ -34,6 +34,10 @@ speed_print = 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 = =math.ceil(0.3/layer_height)*layer_height switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_tough-pla_0.1mm.inst.cfg index 81d1d1f735..4f02a053b4 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_tough-pla_0.1mm.inst.cfg @@ -21,6 +21,10 @@ speed_print = 30 speed_topbottom = =math.ceil(speed_print * 20 / 30) speed_wall = =math.ceil(speed_print * 25 / 30) speed_wall_0 = =math.ceil(speed_print * 20 / 30) +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 top_bottom_thickness = 0.72 wall_0_inset = 0.015 wall_0_wipe_dist = 0.25 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg index 8ecbf19956..7694e37ba3 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.06mm.inst.cfg @@ -22,4 +22,8 @@ speed_infill = =math.ceil(speed_print * 40 / 50) speed_print = 50 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg index f576b20987..c27a4a1b57 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.15mm.inst.cfg @@ -23,4 +23,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg index 65e2cb0361..f19345a0fe 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.1mm.inst.cfg @@ -22,4 +22,8 @@ speed_infill = =math.ceil(speed_print * 40 / 55) speed_print = 55 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg index 337054f0de..03f67f9924 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_abs_0.2mm.inst.cfg @@ -23,4 +23,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg index e95804af3a..72e6ead239 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.06mm.inst.cfg @@ -28,6 +28,9 @@ speed_print = 40 speed_topbottom = =math.ceil(speed_print * 30 / 35) speed_wall = =math.ceil(speed_print * 35 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 35) -support_z_distance = =layer_height +support_bottom_distance = =support_z_distance +support_interface_enable = True +support_top_distance = =support_z_distance +support_z_distance = =math.ceil(0.4/layer_height)*layer_height wall_0_inset = 0 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg index ac1e50fd49..1a4e89f783 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.15mm.inst.cfg @@ -26,6 +26,9 @@ speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 45 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) -support_z_distance = =layer_height +support_bottom_distance = =support_z_distance +support_interface_enable = True +support_top_distance = =support_z_distance +support_z_distance = =math.ceil(0.4/layer_height)*layer_height wall_0_inset = 0 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg index 77ccf92459..6c2e7b2f94 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.1mm.inst.cfg @@ -28,6 +28,9 @@ speed_print = 40 speed_topbottom = =math.ceil(speed_print * 30 / 35) speed_wall = =math.ceil(speed_print * 35 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 35) -support_z_distance = =layer_height +support_bottom_distance = =support_z_distance +support_interface_enable = True +support_top_distance = =support_z_distance +support_z_distance = =math.ceil(0.4/layer_height)*layer_height wall_0_inset = 0 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg index dde22bbd42..b2182320fd 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe-plus_0.2mm.inst.cfg @@ -26,6 +26,9 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 40 / 50) speed_wall = =math.ceil(speed_print * 50 / 50) speed_wall_0 = =math.ceil(speed_wall * 40 / 50) -support_z_distance = =layer_height +support_bottom_distance = =support_z_distance +support_interface_enable = True +support_top_distance = =support_z_distance +support_z_distance = =math.ceil(0.4/layer_height)*layer_height wall_0_inset = 0 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.06mm.inst.cfg index 5e96ec7e28..ab7fc5ef9b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.06mm.inst.cfg @@ -21,4 +21,8 @@ speed_infill = =math.ceil(speed_print * 40 / 50) speed_print = 50 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.15mm.inst.cfg index ec4cef925d..7c27d79d2d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.15mm.inst.cfg @@ -20,4 +20,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.1mm.inst.cfg index 2928127314..20c036907a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.1mm.inst.cfg @@ -20,4 +20,8 @@ speed_infill = =math.ceil(speed_print * 45 / 55) speed_print = 55 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.2mm.inst.cfg index af34967c61..b1094daf5a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_cpe_0.2mm.inst.cfg @@ -20,4 +20,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.06mm.inst.cfg index e243e33749..0abeb14221 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.06mm.inst.cfg @@ -14,7 +14,10 @@ weight = 1 [values] ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_prime_speed = =retraction_speed +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.15mm.inst.cfg index 8833881fdf..94536f1904 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.15mm.inst.cfg @@ -15,7 +15,10 @@ weight = -1 material_print_temperature = =default_material_print_temperature + 5 ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_prime_speed = =retraction_speed +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.1mm.inst.cfg index 70f76a5266..f07d801dc0 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.1mm.inst.cfg @@ -14,7 +14,10 @@ weight = 0 [values] ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_prime_speed = =retraction_speed +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.2mm.inst.cfg index 0f7b604b15..005ccf6e59 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_nylon_0.2mm.inst.cfg @@ -15,7 +15,10 @@ weight = -2 material_print_temperature = =default_material_print_temperature + 10 ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_prime_speed = =retraction_speed +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 = 30 switch_extruder_retraction_amount = 30 switch_extruder_retraction_speeds = 40 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg index c19de26c93..a2e3bd792b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg @@ -31,7 +31,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg index b21da5f2e4..9ef073b635 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg @@ -31,7 +31,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg index c99934288e..e118f0db8a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg @@ -30,7 +30,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg index 7eedf33df9..4351a289b9 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg @@ -31,7 +31,11 @@ speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance support_interface_density = 87.5 +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.06mm.inst.cfg index 8bebbf4113..6fe817fba1 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.06mm.inst.cfg @@ -20,4 +20,8 @@ speed_infill = =math.ceil(speed_print * 40 / 50) speed_print = 50 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.15mm.inst.cfg index ce957c1a50..060e9b3540 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.15mm.inst.cfg @@ -19,4 +19,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.1mm.inst.cfg index 4bba37dd01..1e04aad8ce 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.1mm.inst.cfg @@ -20,4 +20,8 @@ speed_infill = =math.ceil(speed_print * 45 / 55) speed_print = 55 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.2mm.inst.cfg index 6b7f2fba1a..aaf279f115 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_petg_0.2mm.inst.cfg @@ -19,4 +19,8 @@ speed_print = 60 speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg index 5facf88970..f34549bc78 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.06mm.inst.cfg @@ -21,5 +21,9 @@ retraction_prime_speed = =retraction_speed speed_print = 50 speed_topbottom = =math.ceil(speed_print * 35 / 50) speed_wall = =math.ceil(speed_print * 35 / 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 top_bottom_thickness = 1 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg index 262fa01441..4a9e914b99 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.15mm.inst.cfg @@ -21,5 +21,9 @@ speed_print = 70 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 45 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 70) +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 top_bottom_thickness = 1 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg index b05f4fdd62..dc73f13bb5 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.1mm.inst.cfg @@ -17,5 +17,9 @@ machine_nozzle_heat_up_speed = 1.6 prime_tower_enable = False raft_airgap = 0.25 retraction_prime_speed = =retraction_speed +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 top_bottom_thickness = 1 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg index aea145b1f9..ead512bb50 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.2mm.inst.cfg @@ -24,5 +24,9 @@ retraction_prime_speed = =retraction_speed speed_topbottom = =math.ceil(speed_print * 40 / 70) speed_wall = =math.ceil(speed_print * 55 / 70) speed_wall_0 = =math.ceil(speed_wall * 45 / 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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg index 31d2b31017..c6641e7a08 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pla_0.3mm.inst.cfg @@ -27,6 +27,10 @@ raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 speed_wall = 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 top_bottom_thickness = 0.9 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg index 318a14834f..9712132da9 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg @@ -35,6 +35,10 @@ 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 = =math.ceil(0.3/layer_height)*layer_height switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg index 1527a11fd0..79a0f11262 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg @@ -35,6 +35,10 @@ 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 = =math.ceil(0.3/layer_height)*layer_height switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg index 356fa2d4cb..70207475dc 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg @@ -35,6 +35,10 @@ 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 = =math.ceil(0.3/layer_height)*layer_height switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg index 5f63f533f7..f3e17318b6 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.06mm.inst.cfg @@ -21,5 +21,9 @@ speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg index bf64c24170..6a3ec605ad 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.15mm.inst.cfg @@ -21,5 +21,9 @@ speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg index 977232f4d4..9e3a3586f3 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.1mm.inst.cfg @@ -21,5 +21,9 @@ speed_print = 45 speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg index 8e904a41a5..506ed71f9a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.2mm.inst.cfg @@ -22,5 +22,9 @@ speed_roofing = =math.ceil(speed_wall * 20 / 24) speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 36 / 50) speed_wall_0 = =math.ceil(speed_print * 26 / 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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg index 0ac60ad5a2..5590368369 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tough-pla_0.3mm.inst.cfg @@ -27,6 +27,10 @@ raft_airgap = 0.25 retraction_prime_speed = =retraction_speed speed_print = 50 speed_wall = 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 top_bottom_thickness = 1.2 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg index b641bdbe13..281d99afb1 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg @@ -36,6 +36,10 @@ 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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg index 9a4f7c61fd..450b9adeb4 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg @@ -35,6 +35,10 @@ 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 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg index 3461b45736..21fbcff466 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg @@ -36,6 +36,10 @@ 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 diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_petcf_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_petcf_0.15mm.inst.cfg index 4921b87434..88ee346758 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.4_petcf_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_petcf_0.15mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_petcf_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_petcf_0.2mm.inst.cfg index 2dde7772b6..00f9ef51ff 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.4_petcf_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_petcf_0.2mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 0.8 diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.15mm.inst.cfg index df11fcf377..c9a6a2bafe 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.15mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.2mm.inst.cfg index 759f3ed41d..7abb9e4018 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.2mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.3mm.inst.cfg index f18c0e018e..e0c6719bde 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_petcf_0.3mm.inst.cfg @@ -22,8 +22,9 @@ speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall speed_wall_x = =speed_wall -support_bottom_distance = =support_z_distance / 2 -support_top_distance = =support_z_distance / 2 -support_z_distance = =layer_height * 2 +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 top_bottom_thickness = 1.2 From f07faac4223d3d15d36b486e1fce18a84ea55fb0 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Fri, 4 Aug 2023 13:24:06 +0200 Subject: [PATCH 04/16] Add copy, paste, cut functionality CURA-7913 --- cura/CuraActions.py | 70 +++++++++++++++++++++++++++-- resources/qml/Actions.qml | 33 +++++++++++++- resources/qml/Menus/ContextMenu.qml | 2 + 3 files changed, 101 insertions(+), 4 deletions(-) diff --git a/cura/CuraActions.py b/cura/CuraActions.py index 193803325f..aef26c7082 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -1,15 +1,20 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2023 UltiMaker # Cura is released under the terms of the LGPLv3 or higher. -from PyQt6.QtCore import QObject, QUrl -from PyQt6.QtGui import QDesktopServices from typing import List, cast +from PyQt6.QtCore import QObject, QUrl, QMimeData +from PyQt6.QtGui import QDesktopServices +from PyQt6.QtWidgets import QApplication + +import pySavitar as Savitar + from UM.Event import CallFunctionEvent from UM.FlameProfiler import pyqtSlot from UM.Math.Vector import Vector from UM.Scene.Selection import Selection from UM.Scene.Iterator.BreadthFirstIterator import BreadthFirstIterator +from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Operations.GroupedOperation import GroupedOperation from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation from UM.Operations.TranslateOperation import TranslateOperation @@ -19,6 +24,7 @@ from cura.Operations.SetParentOperation import SetParentOperation from cura.MultiplyObjectsJob import MultiplyObjectsJob from cura.Settings.SetObjectExtruderOperation import SetObjectExtruderOperation from cura.Settings.ExtruderManager import ExtruderManager +from cura.Arranging.Nest2DArrange import createGroupOperationForArrange from cura.Operations.SetBuildPlateNumberOperation import SetBuildPlateNumberOperation @@ -181,5 +187,63 @@ class CuraActions(QObject): Selection.clear() + @pyqtSlot() + def cut(self) -> None: + self.copy() + self.deleteSelection() + + @pyqtSlot() + def copy(self) -> None: + # Convert all selected objects to a Savitar scene + savitar_scene = Savitar.Scene() + mesh_writer = cura.CuraApplication.CuraApplication.getInstance().getMeshFileHandler().getWriter("3MFWriter") + for scene_node in Selection.getAllSelectedObjects(): + savitar_node = mesh_writer._convertUMNodeToSavitarNode(scene_node) + savitar_scene.addSceneNode(savitar_node) + + # Convert the scene to a string + parser = Savitar.ThreeMFParser() + scene_string = parser.sceneToString(savitar_scene) + + # Copy the scene to the clipboard + QApplication.clipboard().setText(scene_string) + + @pyqtSlot() + def paste(self) -> None: + application = cura.CuraApplication.CuraApplication.getInstance() + + # Parse the scene from the clipboard + scene_string = QApplication.clipboard().text() + parser = Savitar.ThreeMFParser() + scene = parser.parse(scene_string) + + # Convert the scene to scene nodes + nodes = [] + mesh_reader = application.getMeshFileHandler().getReaderForFile(".3mf") + for savitar_node in scene.getSceneNodes(): + scene_node = mesh_reader._convertSavitarNodeToUMNode(savitar_node, "file_name") + if scene_node is None: + continue + nodes.append(scene_node) + + # Find all fixed nodes, these are the nodes that should be avoided when arranging + fixed_nodes = [] + root = application.getController().getScene().getRoot() + for node in DepthFirstIterator(root): + # Only count sliceable objects + if node.callDecoration("isSliceable"): + fixed_nodes.append(node) + # Add the new nodes to the scene, and arrange them + group_operation, not_fit_count = createGroupOperationForArrange(nodes, application.getBuildVolume(), + fixed_nodes, factor=10000, + add_new_nodes_in_scene=True) + group_operation.push() + + # deselect currently selected nodes, and select the new nodes + for node in Selection.getAllSelectedObjects(): + Selection.remove(node) + for node in nodes: + Selection.add(node) + def _openUrl(self, url: QUrl) -> None: QDesktopServices.openUrl(url) diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 6cd75b51ac..9cd72026b2 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2022 UltiMaker +// Copyright (c) 2023 UltiMaker // Cura is released under the terms of the LGPLv3 or higher. pragma Singleton @@ -71,6 +71,10 @@ Item property alias browsePackages: browsePackagesAction + property alias paste: pasteAction + property alias copy: copyAction + property alias cut: cutAction + UM.I18nCatalog{id: catalog; name: "cura"} @@ -309,6 +313,33 @@ Item onTriggered: CuraActions.centerSelection() } + Action + { + id: copyAction + text: catalog.i18nc("@action:inmenu menubar:edit", "Copy to clipboard") + onTriggered: CuraActions.copy() + enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection + shortcut: StandardKey.Copy + } + + Action + { + id: pasteAction + text: catalog.i18nc("@action:inmenu menubar:edit", "Paste from clipboard") + onTriggered: CuraActions.paste() + enabled: UM.Controller.toolsEnabled + shortcut: StandardKey.Paste + } + + Action + { + id: cutAction + text: catalog.i18nc("@action:inmenu menubar:edit", "Cut") + onTriggered: CuraActions.cut() + enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection + shortcut: StandardKey.Cut + } + Action { id: multiplySelectionAction diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml index f7029939cd..d85703451f 100644 --- a/resources/qml/Menus/ContextMenu.qml +++ b/resources/qml/Menus/ContextMenu.qml @@ -19,6 +19,8 @@ Cura.Menu // Selection-related actions. Cura.MenuItem { action: Cura.Actions.centerSelection; } Cura.MenuItem { action: Cura.Actions.deleteSelection; } + Cura.MenuItem { action: Cura.Actions.copy; } + Cura.MenuItem { action: Cura.Actions.paste; } Cura.MenuItem { action: Cura.Actions.multiplySelection; } // Extruder selection - only visible if there is more than 1 extruder From 476f92bd1c3d1812e40a252a30fad283aa3e1dc6 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Mon, 7 Aug 2023 12:40:05 +0200 Subject: [PATCH 05/16] Brim distance is not "settable_per_mesh" A new feature request needed to make this work. CURA-10770 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index d1c532a32d..fca9e69310 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5921,7 +5921,7 @@ "maximum_value_warning": "skirt_brim_line_width", "enabled": "resolveOrValue('adhesion_type') == 'brim'", "limit_to_extruder": "skirt_brim_extruder_nr", - "settable_per_mesh": true, + "settable_per_mesh": false, "settable_per_extruder": true }, "brim_replaces_support": From f8b3fb3d67890b5ee3d2aeac945c9ff136cf62bf Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Mon, 7 Aug 2023 13:41:01 +0200 Subject: [PATCH 06/16] Move parse/write responsibility of copy/paste to 3MFWriter/3MFReader CURA-7913 --- cura/CuraActions.py | 27 ++++++--------------------- plugins/3MFReader/ThreeMFReader.py | 29 +++++++++++++++++++++++------ plugins/3MFWriter/ThreeMFWriter.py | 26 +++++++++++++++++++------- 3 files changed, 48 insertions(+), 34 deletions(-) diff --git a/cura/CuraActions.py b/cura/CuraActions.py index aef26c7082..338c18a6b9 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -7,8 +7,6 @@ from PyQt6.QtCore import QObject, QUrl, QMimeData from PyQt6.QtGui import QDesktopServices from PyQt6.QtWidgets import QApplication -import pySavitar as Savitar - from UM.Event import CallFunctionEvent from UM.FlameProfiler import pyqtSlot from UM.Math.Vector import Vector @@ -194,18 +192,13 @@ class CuraActions(QObject): @pyqtSlot() def copy(self) -> None: - # Convert all selected objects to a Savitar scene - savitar_scene = Savitar.Scene() mesh_writer = cura.CuraApplication.CuraApplication.getInstance().getMeshFileHandler().getWriter("3MFWriter") - for scene_node in Selection.getAllSelectedObjects(): - savitar_node = mesh_writer._convertUMNodeToSavitarNode(scene_node) - savitar_scene.addSceneNode(savitar_node) - # Convert the scene to a string - parser = Savitar.ThreeMFParser() - scene_string = parser.sceneToString(savitar_scene) - - # Copy the scene to the clipboard + # Get the selected nodes + selected_objects = Selection.getAllSelectedObjects() + # Serialize the nodes to a string + scene_string = mesh_writer.sceneNodesToString(selected_objects) + # Put the string on the clipboard QApplication.clipboard().setText(scene_string) @pyqtSlot() @@ -214,17 +207,9 @@ class CuraActions(QObject): # Parse the scene from the clipboard scene_string = QApplication.clipboard().text() - parser = Savitar.ThreeMFParser() - scene = parser.parse(scene_string) - # Convert the scene to scene nodes - nodes = [] mesh_reader = application.getMeshFileHandler().getReaderForFile(".3mf") - for savitar_node in scene.getSceneNodes(): - scene_node = mesh_reader._convertSavitarNodeToUMNode(savitar_node, "file_name") - if scene_node is None: - continue - nodes.append(scene_node) + nodes = mesh_reader.stringToSceneNodes(scene_string) # Find all fixed nodes, these are the nodes that should be avoided when arranging fixed_nodes = [] diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index e8b6a54e46..e06e9dcf4e 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -56,7 +56,8 @@ class ThreeMFReader(MeshReader): def emptyFileHintSet(self) -> bool: return self._empty_project - def _createMatrixFromTransformationString(self, transformation: str) -> Matrix: + @staticmethod + def _createMatrixFromTransformationString(transformation: str) -> Matrix: if transformation == "": return Matrix() @@ -90,7 +91,8 @@ class ThreeMFReader(MeshReader): return temp_mat - def _convertSavitarNodeToUMNode(self, savitar_node: Savitar.SceneNode, file_name: str = "") -> Optional[SceneNode]: + @staticmethod + def _convertSavitarNodeToUMNode(savitar_node: Savitar.SceneNode, file_name: str = "") -> Optional[SceneNode]: """Convenience function that converts a SceneNode object (as obtained from libSavitar) to a scene node. :returns: Scene node. @@ -119,7 +121,7 @@ class ThreeMFReader(MeshReader): pass um_node.setName(node_name) um_node.setId(node_id) - transformation = self._createMatrixFromTransformationString(savitar_node.getTransformation()) + transformation = ThreeMFReader._createMatrixFromTransformationString(savitar_node.getTransformation()) um_node.setTransformation(transformation) mesh_builder = MeshBuilder() @@ -138,7 +140,7 @@ class ThreeMFReader(MeshReader): um_node.setMeshData(mesh_data) for child in savitar_node.getChildren(): - child_node = self._convertSavitarNodeToUMNode(child) + child_node = ThreeMFReader._convertSavitarNodeToUMNode(child) if child_node: um_node.addChild(child_node) @@ -214,7 +216,7 @@ class ThreeMFReader(MeshReader): CuraApplication.getInstance().getController().getScene().setMetaDataEntry(key, value) for node in scene_3mf.getSceneNodes(): - um_node = self._convertSavitarNodeToUMNode(node, file_name) + um_node = ThreeMFReader._convertSavitarNodeToUMNode(node, file_name) if um_node is None: continue @@ -300,8 +302,23 @@ class ThreeMFReader(MeshReader): if unit is None: unit = "millimeter" elif unit not in conversion_to_mm: - Logger.log("w", "Unrecognised unit {unit} used. Assuming mm instead.".format(unit = unit)) + Logger.log("w", "Unrecognised unit {unit} used. Assuming mm instead.".format(unit=unit)) unit = "millimeter" scale = conversion_to_mm[unit] return Vector(scale, scale, scale) + + @staticmethod + def stringToSceneNodes(scene_string: str) -> List[SceneNode]: + parser = Savitar.ThreeMFParser() + scene = parser.parse(scene_string) + + # Convert the scene to scene nodes + nodes = [] + for savitar_node in scene.getSceneNodes(): + scene_node = ThreeMFReader._convertSavitarNodeToUMNode(savitar_node, "file_name") + if scene_node is None: + continue + nodes.append(scene_node) + + return nodes diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 57c667145e..3f6fef7201 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -55,11 +55,12 @@ class ThreeMFWriter(MeshWriter): "cura": "http://software.ultimaker.com/xml/cura/3mf/2015/10" } - self._unit_matrix_string = self._convertMatrixToString(Matrix()) + self._unit_matrix_string = ThreeMFWriter._convertMatrixToString(Matrix()) self._archive: Optional[zipfile.ZipFile] = None self._store_archive = False - def _convertMatrixToString(self, matrix): + @staticmethod + def _convertMatrixToString(matrix): result = "" result += str(matrix._data[0, 0]) + " " result += str(matrix._data[1, 0]) + " " @@ -83,7 +84,8 @@ class ThreeMFWriter(MeshWriter): """ self._store_archive = store_archive - def _convertUMNodeToSavitarNode(self, um_node, transformation = Matrix()): + @staticmethod + def _convertUMNodeToSavitarNode(um_node, transformation=Matrix()): """Convenience function that converts an Uranium SceneNode object to a SavitarSceneNode :returns: Uranium Scene node. @@ -100,7 +102,7 @@ class ThreeMFWriter(MeshWriter): node_matrix = um_node.getLocalTransformation() - matrix_string = self._convertMatrixToString(node_matrix.preMultiply(transformation)) + matrix_string = ThreeMFWriter._convertMatrixToString(node_matrix.preMultiply(transformation)) savitar_node.setTransformation(matrix_string) mesh_data = um_node.getMeshData() @@ -133,7 +135,7 @@ class ThreeMFWriter(MeshWriter): # only save the nodes on the active build plate if child_node.callDecoration("getBuildPlateNumber") != active_build_plate_nr: continue - savitar_child_node = self._convertUMNodeToSavitarNode(child_node) + savitar_child_node = ThreeMFWriter._convertUMNodeToSavitarNode(child_node) if savitar_child_node is not None: savitar_node.addChild(savitar_child_node) @@ -221,7 +223,7 @@ class ThreeMFWriter(MeshWriter): for node in nodes: if node == root_node: for root_child in node.getChildren(): - savitar_node = self._convertUMNodeToSavitarNode(root_child, transformation_matrix) + savitar_node = ThreeMFWriter._convertUMNodeToSavitarNode(root_child, transformation_matrix) if savitar_node: savitar_scene.addSceneNode(savitar_node) else: @@ -303,9 +305,19 @@ class ThreeMFWriter(MeshWriter): Logger.log("w", "Can't create snapshot when renderer not initialized.") return None try: - snapshot = Snapshot.snapshot(width = 300, height = 300) + snapshot = Snapshot.snapshot(width=300, height=300) except: Logger.logException("w", "Failed to create snapshot image") return None return snapshot + + @staticmethod + def sceneNodesToString(scene_nodes: [SceneNode]) -> str: + savitar_scene = Savitar.Scene() + for scene_node in scene_nodes: + savitar_node = ThreeMFWriter._convertUMNodeToSavitarNode(scene_node) + savitar_scene.addSceneNode(savitar_node) + parser = Savitar.ThreeMFParser() + scene_string = parser.sceneToString(savitar_scene) + return scene_string From c393d915d7e85e7437846475d416ead9c3455c0d Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 8 Aug 2023 12:17:08 +0200 Subject: [PATCH 07/16] Disable copy paste when either 3mf reader or writer is disabled CURA-7913 --- cura/CuraActions.py | 8 +++++++- resources/qml/Actions.qml | 13 +++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/cura/CuraActions.py b/cura/CuraActions.py index 338c18a6b9..2f62944caa 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -193,6 +193,9 @@ class CuraActions(QObject): @pyqtSlot() def copy(self) -> None: mesh_writer = cura.CuraApplication.CuraApplication.getInstance().getMeshFileHandler().getWriter("3MFWriter") + if not mesh_writer: + Logger.log("e", "No 3MF writer found, unable to copy.") + return # Get the selected nodes selected_objects = Selection.getAllSelectedObjects() @@ -204,11 +207,14 @@ class CuraActions(QObject): @pyqtSlot() def paste(self) -> None: application = cura.CuraApplication.CuraApplication.getInstance() + mesh_reader = application.getMeshFileHandler().getReaderForFile(".3mf") + if not mesh_reader: + Logger.log("e", "No 3MF reader found, unable to paste.") + return # Parse the scene from the clipboard scene_string = QApplication.clipboard().text() - mesh_reader = application.getMeshFileHandler().getReaderForFile(".3mf") nodes = mesh_reader.stringToSceneNodes(scene_string) # Find all fixed nodes, these are the nodes that should be avoided when arranging diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 9cd72026b2..3b75c7699e 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -6,7 +6,7 @@ pragma Singleton import QtQuick 2.10 import QtQuick.Controls 2.4 import UM 1.1 as UM -import Cura 1.0 as Cura +import Cura 1.5 as Cura Item { @@ -75,6 +75,11 @@ Item property alias copy: copyAction property alias cut: cutAction + readonly property bool copy_paste_enabled: { + const all_enabled_packages = CuraApplication.getPackageManager().allEnabledPackages; + return all_enabled_packages.includes("3MFReader") && all_enabled_packages.includes("3MFWriter"); + } + UM.I18nCatalog{id: catalog; name: "cura"} @@ -318,7 +323,7 @@ Item id: copyAction text: catalog.i18nc("@action:inmenu menubar:edit", "Copy to clipboard") onTriggered: CuraActions.copy() - enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection + enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection && copy_paste_enabled shortcut: StandardKey.Copy } @@ -327,7 +332,7 @@ Item id: pasteAction text: catalog.i18nc("@action:inmenu menubar:edit", "Paste from clipboard") onTriggered: CuraActions.paste() - enabled: UM.Controller.toolsEnabled + enabled: UM.Controller.toolsEnabled && copy_paste_enabled shortcut: StandardKey.Paste } @@ -336,7 +341,7 @@ Item id: cutAction text: catalog.i18nc("@action:inmenu menubar:edit", "Cut") onTriggered: CuraActions.cut() - enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection + enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection && copy_paste_enabled shortcut: StandardKey.Cut } From 511f05c392648c93c1840fac3b47b5dd70706558 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 8 Aug 2023 12:26:44 +0200 Subject: [PATCH 08/16] Don't arrange in paste when no objects were present in the clipboard CURA-7913 --- cura/CuraActions.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cura/CuraActions.py b/cura/CuraActions.py index 2f62944caa..6c2d3f4cb8 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -217,6 +217,10 @@ class CuraActions(QObject): nodes = mesh_reader.stringToSceneNodes(scene_string) + if not nodes: + # Nothing to paste + return + # Find all fixed nodes, these are the nodes that should be avoided when arranging fixed_nodes = [] root = application.getController().getScene().getRoot() From fd97dd5d0c7303fc455581cb08dd406f77cd868a Mon Sep 17 00:00:00 2001 From: jellespijker Date: Tue, 8 Aug 2023 11:25:29 +0000 Subject: [PATCH 09/16] Applied printer-linter format --- resources/definitions/anycubic_kobra_plus.def.json | 5 ++--- .../anycubic_kobra_plus_pla.inst.cfg | 13 +++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/definitions/anycubic_kobra_plus.def.json b/resources/definitions/anycubic_kobra_plus.def.json index 5d41a5ef33..85b2ac15a9 100644 --- a/resources/definitions/anycubic_kobra_plus.def.json +++ b/resources/definitions/anycubic_kobra_plus.def.json @@ -18,13 +18,12 @@ "overrides": { "machine_depth": { "default_value": 302 }, + "machine_end_gcode": { "default_value": "M104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84\nM355 S0; led off" }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_heated_bed": { "default_value": true }, "machine_height": { "default_value": 352 }, "machine_name": { "default_value": "Anycubic Kobra Plus" }, "machine_start_gcode": { "default_value": "G28 ;Home\nG1 Z15.0 F6000 ;Move the platform down 15mm\n;Prime the extruder\nG92 E0\nM355 S1; Turn LED on\n; Add Custom purge lines\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X1.0 Y30 Z0.3 F5000.0 ; Move to start position\nG1 X1.0 Y100.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X1.3 Y100.0 Z0.3 F5000.0 ; Move to side a little\nG1 X1.3 Y30 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 E-2 F500 ; Retract a little \nG1 X50 F500 ; wipe away from the filament line\nG1 X100 F9000 ; Quickly wipe away from the filament line\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\n; End custom purge lines" }, - "machine_end_gcode": { "default_value": "M104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84\nM355 S0; led off" }, "machine_width": { "default_value": 302 } } -} - +} \ No newline at end of file diff --git a/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg index 02bd9edb5e..4a3a5817cf 100644 --- a/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg +++ b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg @@ -11,17 +11,18 @@ type = quality weight = 0 [values] +infill_pattern = cubic layer_height = 0.2 layer_height_0 = 0.2 -infill_pattern = cubic -retraction_hop = 0.1 +material_final_print_temperature = 195 +material_print_temperature = 195 retraction_combing = off +retraction_hop = 0.1 retraction_hop_enabled = True retraction_hop_only_when_collides = True -speed_print = 80 speed_infill = 40 -speed_wall_x = 60 speed_layer_0 = 20 +speed_print = 80 +speed_wall_x = 60 wall_thickness = 1.2 -material_print_temperature = 195 -material_final_print_temperature = 195 + From 63bc3cc996f7275330a9afb920b5e268e3f4773a Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 8 Aug 2023 13:29:10 +0200 Subject: [PATCH 10/16] Renamed pla quality to normal Contributes CURA-10885 --- resources/definitions/anycubic_kobra_plus.def.json | 2 +- ...ra_plus_pla.inst.cfg => anycubic_kobra_plus_normal.inst.cfg} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename resources/quality/anycubic_kobra_plus/{anycubic_kobra_plus_pla.inst.cfg => anycubic_kobra_plus_normal.inst.cfg} (95%) diff --git a/resources/definitions/anycubic_kobra_plus.def.json b/resources/definitions/anycubic_kobra_plus.def.json index 85b2ac15a9..944398711f 100644 --- a/resources/definitions/anycubic_kobra_plus.def.json +++ b/resources/definitions/anycubic_kobra_plus.def.json @@ -12,7 +12,7 @@ "has_materials": true, "machine_extruder_trains": { "0": "anycubic_kobra_plus_extruder_0" }, "preferred_material": "generic_pla", - "preferred_quality_type": "pla", + "preferred_quality_type": "normal", "quality_definition": "anycubic_kobra_plus" }, "overrides": diff --git a/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_normal.inst.cfg similarity index 95% rename from resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg rename to resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_normal.inst.cfg index 4a3a5817cf..47983fe3b1 100644 --- a/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_pla.inst.cfg +++ b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_normal.inst.cfg @@ -5,7 +5,7 @@ version = 4 [metadata] global_quality = True -quality_type = pla +quality_type = normal setting_version = 22 type = quality weight = 0 From 64a77440daee0a53341f8e8a532684051dba02b0 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Tue, 8 Aug 2023 13:40:51 +0200 Subject: [PATCH 11/16] from deploy field. CURA-10770 --- conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index d4f365c7a4..7a4e8174f9 100644 --- a/conanfile.py +++ b/conanfile.py @@ -473,7 +473,7 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV icon_path = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.resdirs[2], self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"), entitlements_file = entitlements_file if self.settings.os == "Macos" else "None") - self._generate_about_versions(os.path.join(self.source_folder, "resources", "qml", "Dialogs")) + self._generate_about_versions(os.path.join(self._site_packages, "resources", "qml", "Dialogs")) def package(self): copy(self, "cura_app.py", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.bindirs[0])) From f2a1830ad99c7d5ccadac37e795dfe618481f6bb Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Tue, 8 Aug 2023 15:05:53 +0200 Subject: [PATCH 12/16] testing for build CURA-10770 --- conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index 7a4e8174f9..77cecf1134 100644 --- a/conanfile.py +++ b/conanfile.py @@ -466,6 +466,7 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV save(self, os.path.join(self._script_dir, f"activate_github_actions_version_env{ext}"), activate_github_actions_version_env) self._generate_cura_version(os.path.join(self._site_packages, "cura")) + self._generate_about_versions(str(self._share_dir.joinpath("cura", "resources", "qml", "Dialogs"))) entitlements_file = "'{}'".format(Path(self.cpp_info.res_paths[2], "MacOS", "cura.entitlements")) self._generate_pyinstaller_spec(location = self._base_dir, @@ -473,7 +474,6 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV icon_path = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.resdirs[2], self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"), entitlements_file = entitlements_file if self.settings.os == "Macos" else "None") - self._generate_about_versions(os.path.join(self._site_packages, "resources", "qml", "Dialogs")) def package(self): copy(self, "cura_app.py", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.bindirs[0])) From 415d2481d359a7f62bd6a67e316fbb1657d3b56c Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Wed, 9 Aug 2023 23:44:01 +0200 Subject: [PATCH 13/16] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c40ead2baa..94187fdff8 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ [![Badge Test]][Test]    [![Badge Conan]][Conan]    - +[![Badge Downloads]][Downloads]

@@ -84,6 +84,7 @@ [Badge Conan]: https://img.shields.io/github/workflow/status/Ultimaker/Cura/conan-package?style=for-the-badge&logoColor=white&labelColor=6185aa&color=4c6987&logo=Conan&label=Conan%20Package [Badge Test]: https://img.shields.io/github/workflow/status/Ultimaker/Cura/unit-test?style=for-the-badge&logoColor=white&labelColor=4a999d&color=346c6e&logo=Codacy&label=Unit%20Test [Badge Size]: https://img.shields.io/github/repo-size/ultimaker/cura?style=for-the-badge&logoColor=white&labelColor=715a97&color=584674&logo=GoogleAnalytics +[Badge Downloads]: https://img.shields.io/github/downloads-pre/Ultimaker/Cura/latest/total?style=for-the-badge From 298f00ebdeb545ea93d56001c962b5eb8a26f1ab Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Wed, 9 Aug 2023 23:45:44 +0200 Subject: [PATCH 14/16] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 94187fdff8..3ab44b88e3 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ [![Badge Test]][Test]    [![Badge Conan]][Conan]    -[![Badge Downloads]][Downloads] +[![Badge Downloads]]

From 8eb7866694e0286f1f42885cf33ecf0eb75b2dd9 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Wed, 9 Aug 2023 23:46:01 +0200 Subject: [PATCH 15/16] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ab44b88e3..eb04799339 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ [![Badge Test]][Test]    [![Badge Conan]][Conan]    -[![Badge Downloads]] +![Badge Downloads]

From dead016ed991eb7508a18bd3f97a303e34270103 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Thu, 10 Aug 2023 05:56:24 +0200 Subject: [PATCH 16/16] Add error messages to BackendPlugin and enhance exception handling Exception handling in BackendPlugin has been improved by adding user-friendly error messages for various exceptions. Errors during backend plugin start or stop will now trigger a message to the user, providing more context about the cause of the failure. This makes it easier for users to understand and resolve possible issues. In addition, the EngineBackend stop function has been modified to forcibly stop all running backend plugins instead of allowing multiple plugins to run simultaneously. --- cura/BackendPlugin.py | 32 +++++++++++++++---- .../CuraEngineBackend/CuraEngineBackend.py | 2 +- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/cura/BackendPlugin.py b/cura/BackendPlugin.py index be48aa50d2..a92e4fe405 100644 --- a/cura/BackendPlugin.py +++ b/cura/BackendPlugin.py @@ -4,6 +4,7 @@ import subprocess from typing import Optional, List from UM.Logger import Logger +from UM.Message import Message from UM.Settings.AdditionalSettingDefinitionAppender import AdditionalSettingDefinitionsAppender @@ -57,13 +58,25 @@ class BackendPlugin(AdditionalSettingDefinitionsAppender): self._is_running = True return True except PermissionError: - Logger.log("e", f"Couldn't start backend_plugin [{self._plugin_id}]: No permission to execute process.") + Logger.log("e", f"Couldn't start EnginePlugin: {self._plugin_id} No permission to execute process.") + self._showMessage(self.catalog.i18nc("@info:plugin_failed", + f"Couldn't start EnginePlugin: {self._plugin_id}\nNo permission to execute process."), + message_type = Message.MessageType.ERROR) except FileNotFoundError: - Logger.logException("e", f"Unable to find backend_plugin executable [{self._plugin_id}]") + Logger.logException("e", f"Unable to find local EnginePlugin server executable for: {self._plugin_id}") + self._showMessage(self.catalog.i18nc("@info:plugin_failed", + f"Unable to find local EnginePlugin server executable for: {self._plugin_id}"), + message_type = Message.MessageType.ERROR) except BlockingIOError: - Logger.logException("e", f"Couldn't start backend_plugin [{self._plugin_id}]: Resource is temporarily unavailable") + Logger.logException("e", f"Couldn't start EnginePlugin: {self._plugin_id} Resource is temporarily unavailable") + self._showMessage(self.catalog.i18nc("@info:plugin_failed", + f"Couldn't start EnginePlugin: {self._plugin_id}\nResource is temporarily unavailable"), + message_type = Message.MessageType.ERROR) except OSError as e: - Logger.logException("e", f"Couldn't start backend_plugin [{self._plugin_id}]: Operating system is blocking it (antivirus?)") + Logger.logException("e", f"Couldn't start EnginePlugin {self._plugin_id} Operating system is blocking it (antivirus?)") + self._showMessage(self.catalog.i18nc("@info:plugin_failed", + f"Couldn't start EnginePlugin: {self._plugin_id}\nOperating system is blocking it (antivirus?)"), + message_type = Message.MessageType.ERROR) return False def stop(self) -> bool: @@ -75,8 +88,15 @@ class BackendPlugin(AdditionalSettingDefinitionsAppender): self._process.terminate() return_code = self._process.wait() self._is_running = False - Logger.log("d", f"Backend_plugin [{self._plugin_id}] was killed. Received return code {return_code}") + Logger.log("d", f"EnginePlugin: {self._plugin_id} was killed. Received return code {return_code}") return True except PermissionError: - Logger.log("e", "Unable to kill running engine. Access is denied.") + Logger.log("e", f"Unable to kill running EnginePlugin: {self._plugin_id} Access is denied.") + self._showMessage(self.catalog.i18nc("@info:plugin_failed", + f"Unable to kill running EnginePlugin: {self._plugin_id}\nAccess is denied."), + message_type = Message.MessageType.ERROR) return False + + def _showMessage(self, message: str, message_type: Message.MessageType = Message.MessageType.ERROR) -> None: + Message(message, title=self.catalog.i18nc("@info:title", "EnginePlugin"), message_type = message_type).show() + diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index ef073e6865..2577d227cc 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -203,7 +203,7 @@ class CuraEngineBackend(QObject, Backend): backend_plugins = CuraApplication.getInstance().getBackendPlugins() for backend_plugin in backend_plugins: if backend_plugin.isRunning(): - continue + backend_plugin.stop() # Set the port to prevent plugins from using the same one. backend_plugin.setPort(self._last_backend_plugin_port) self._last_backend_plugin_port += 1