From ec096a12f6d93c3307362dbf45830a631527ae47 Mon Sep 17 00:00:00 2001
From: "p.kuiper"
Date: Fri, 24 Sep 2021 10:01:15 +0200
Subject: [PATCH] Also add minimal jerk of 20mm/s to S3 and UM3.
---
resources/definitions/ultimaker3.def.json | 10 +++++-----
resources/definitions/ultimaker_s3.def.json | 10 +++++-----
.../ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg | 6 +++---
.../ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg | 6 +++---
.../ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg | 6 +++---
.../ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg | 6 +++---
.../ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg | 6 +++---
.../ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg | 6 +++---
.../ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg | 6 +++---
.../um_s3_aa0.8_PP_Superdraft_Print.inst.cfg | 6 +++---
.../um_s3_aa0.8_PP_Verydraft_Print.inst.cfg | 6 +++---
.../ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg | 6 +++---
.../um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg | 6 +++---
.../um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg | 6 +++---
resources/variants/ultimaker3_aa0.8.inst.cfg | 6 +++---
resources/variants/ultimaker3_bb0.8.inst.cfg | 8 ++++----
resources/variants/ultimaker3_bb04.inst.cfg | 8 ++++----
resources/variants/ultimaker3_extended_aa0.8.inst.cfg | 6 +++---
resources/variants/ultimaker3_extended_bb0.8.inst.cfg | 8 ++++----
resources/variants/ultimaker_s3_aa0.8.inst.cfg | 6 +++---
resources/variants/ultimaker_s3_bb0.8.inst.cfg | 8 ++++----
resources/variants/ultimaker_s3_bb04.inst.cfg | 8 ++++----
resources/variants/ultimaker_s5_bb0.8.inst.cfg | 2 +-
23 files changed, 76 insertions(+), 76 deletions(-)
diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json
index 46ade6d85b..125a4036de 100644
--- a/resources/definitions/ultimaker3.def.json
+++ b/resources/definitions/ultimaker3.def.json
@@ -103,13 +103,13 @@
"initial_layer_line_width_factor": { "value": "120" },
"jerk_enabled": { "value": "True" },
"jerk_layer_0": { "value": "jerk_topbottom" },
- "jerk_prime_tower": { "value": "math.ceil(jerk_print * 15 / 25)" },
+ "jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
"jerk_print": { "value": "25" },
- "jerk_support": { "value": "math.ceil(jerk_print * 15 / 25)" },
+ "jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
"jerk_support_interface": { "value": "jerk_topbottom" },
- "jerk_topbottom": { "value": "math.ceil(jerk_print * 5 / 25)" },
- "jerk_wall": { "value": "math.ceil(jerk_print * 10 / 25)" },
- "jerk_wall_0": { "value": "math.ceil(jerk_wall * 5 / 10)" },
+ "jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" },
+ "jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20" },
+ "jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" },
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json
index 3b61a18120..8ccd50b014 100644
--- a/resources/definitions/ultimaker_s3.def.json
+++ b/resources/definitions/ultimaker_s3.def.json
@@ -95,13 +95,13 @@
"infill_wipe_dist": { "value": "0" },
"jerk_enabled": { "value": "True" },
"jerk_layer_0": { "value": "jerk_topbottom" },
- "jerk_prime_tower": { "value": "math.ceil(jerk_print * 15 / 25)" },
+ "jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
"jerk_print": { "value": "25" },
- "jerk_support": { "value": "math.ceil(jerk_print * 15 / 25)" },
+ "jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
"jerk_support_interface": { "value": "jerk_topbottom" },
- "jerk_topbottom": { "value": "math.ceil(jerk_print * 5 / 25)" },
- "jerk_wall": { "value": "math.ceil(jerk_print * 10 / 25)" },
- "jerk_wall_0": { "value": "math.ceil(jerk_wall * 5 / 10)" },
+ "jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" },
+ "jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20)" },
+ "jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" },
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg
index 6b15dace64..b856efc633 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg
@@ -19,9 +19,9 @@ top_skin_expand_distance = =line_width * 2
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = tetrahedral
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
material_bed_temperature_layer_0 = =material_bed_temperature
material_print_temperature = =default_material_print_temperature - 2
material_print_temperature_layer_0 = =default_material_print_temperature + 2
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg
index 6fdc537ec8..4590fdb285 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg
@@ -19,9 +19,9 @@ top_skin_expand_distance = =line_width * 2
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = tetrahedral
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
material_bed_temperature_layer_0 = =material_bed_temperature
material_print_temperature = =default_material_print_temperature + 2
material_print_temperature_layer_0 = =default_material_print_temperature + 2
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg
index 1bd7f19da9..0ba356cd0f 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg
@@ -19,9 +19,9 @@ top_skin_expand_distance = =line_width * 2
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = tetrahedral
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
layer_height = 0.3
material_bed_temperature_layer_0 = =material_bed_temperature
material_print_temperature_layer_0 = =default_material_print_temperature + 2
diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg
index ee82c4656b..ba50f9126d 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg
@@ -20,9 +20,9 @@ infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = cross_3d
infill_sparse_density = 10
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature
diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg
index 795ab3be41..36e099b279 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg
@@ -20,9 +20,9 @@ infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = cross_3d
infill_sparse_density = 10
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
layer_height = 0.4
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg
index 07cfb23955..42b10e354c 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg
@@ -20,9 +20,9 @@ infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = cross_3d
infill_sparse_density = 10
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
layer_height = 0.3
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg
index f153052075..9db1d9d5f3 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg
@@ -19,9 +19,9 @@ top_skin_expand_distance = =line_width * 2
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = tetrahedral
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
material_bed_temperature_layer_0 = =material_bed_temperature
material_print_temperature = =default_material_print_temperature - 2
material_print_temperature_layer_0 = =default_material_print_temperature + 2
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg
index d80bdf2400..6b3b9150f6 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg
@@ -19,9 +19,9 @@ top_skin_expand_distance = =line_width * 2
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = tetrahedral
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
material_bed_temperature_layer_0 = =material_bed_temperature
material_print_temperature = =default_material_print_temperature + 2
material_print_temperature_layer_0 = =default_material_print_temperature + 2
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg
index 57802d961a..379d0c5095 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg
@@ -19,9 +19,9 @@ top_skin_expand_distance = =line_width * 2
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = tetrahedral
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
material_bed_temperature_layer_0 = =material_bed_temperature
material_print_temperature_layer_0 = =default_material_print_temperature + 2
material_standby_temperature = 100
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg
index fa261a74f4..725adb7fa6 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg
@@ -18,9 +18,9 @@ top_skin_expand_distance = =line_width * 2
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = cross_3d
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg
index 79803399f0..ebc417656d 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg
@@ -19,9 +19,9 @@ infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = cross_3d
infill_sparse_density = 10
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg
index ec5dd72392..8fde49e791 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg
@@ -19,9 +19,9 @@ infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
infill_pattern = cross_3d
infill_sparse_density = 10
-jerk_prime_tower = =math.ceil(jerk_print * 25 / 25)
-jerk_support = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20)
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
material_final_print_temperature = =material_print_temperature
diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg
index 94c5f0238b..fe6aac25ae 100644
--- a/resources/variants/ultimaker3_aa0.8.inst.cfg
+++ b/resources/variants/ultimaker3_aa0.8.inst.cfg
@@ -23,9 +23,9 @@ infill_pattern = triangles
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
-jerk_topbottom = =math.ceil(jerk_print * 25 / 25)
-jerk_wall = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 25 / 25)
+jerk_topbottom = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 25 / 25), 200
layer_height = 0.2
line_width = =machine_nozzle_size
machine_min_cool_heat_time_window = 15
diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg
index 7aecc8e631..426981e0d4 100644
--- a/resources/variants/ultimaker3_bb0.8.inst.cfg
+++ b/resources/variants/ultimaker3_bb0.8.inst.cfg
@@ -25,11 +25,11 @@ infill_overlap = 0
infill_pattern = triangles
infill_wipe_dist = 0
jerk_enabled = True
-jerk_prime_tower = =math.ceil(jerk_print * 2 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20)
jerk_print = 25
-jerk_support = =math.ceil(jerk_print * 15 / 25)
-jerk_support_interface = =math.ceil(jerk_support * 10 / 15)
-jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10)
+jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20)
+jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20)
+jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20)
layer_height = 0.2
machine_min_cool_heat_time_window = 15
machine_nozzle_heat_up_speed = 1.5
diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg
index 7a8b7a9944..ae5394ac4c 100644
--- a/resources/variants/ultimaker3_bb04.inst.cfg
+++ b/resources/variants/ultimaker3_bb04.inst.cfg
@@ -15,10 +15,10 @@ acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000)
acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500)
cool_fan_speed_max = =cool_fan_speed
gradual_support_infill_steps = 2
-jerk_prime_tower = =math.ceil(jerk_print * 2 / 25)
-jerk_support = =math.ceil(jerk_print * 15 / 25)
-jerk_support_interface = =math.ceil(jerk_support * 10 / 15)
-jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10)
+jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20)
+jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20)
+jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20)
machine_nozzle_heat_up_speed = 1.5
machine_nozzle_id = BB 0.4
machine_nozzle_tip_outer_diameter = 1.0
diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg
index 5209ce08c4..f20905a265 100644
--- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg
+++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg
@@ -23,9 +23,9 @@ infill_pattern = triangles
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
-jerk_topbottom = =math.ceil(jerk_print * 25 / 25)
-jerk_wall = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 25 / 25)
+jerk_topbottom = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 25 / 25), 20)
layer_height = 0.2
line_width = =machine_nozzle_size
machine_min_cool_heat_time_window = 15
diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg
index a5fb164591..bf88839ff6 100644
--- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg
+++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg
@@ -25,11 +25,11 @@ infill_overlap = 0
infill_pattern = triangles
infill_wipe_dist = 0
jerk_enabled = True
-jerk_prime_tower = =math.ceil(jerk_print * 2 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20)
jerk_print = 25
-jerk_support = =math.ceil(jerk_print * 15 / 25)
-jerk_support_interface = =math.ceil(jerk_support * 10 / 15)
-jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10)
+jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20)
+jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20)
+jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20)
layer_height = 0.2
machine_min_cool_heat_time_window = 15
machine_nozzle_heat_up_speed = 1.5
diff --git a/resources/variants/ultimaker_s3_aa0.8.inst.cfg b/resources/variants/ultimaker_s3_aa0.8.inst.cfg
index 72adb16dd8..eaed2d531d 100644
--- a/resources/variants/ultimaker_s3_aa0.8.inst.cfg
+++ b/resources/variants/ultimaker_s3_aa0.8.inst.cfg
@@ -23,9 +23,9 @@ infill_pattern = triangles
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
-jerk_topbottom = =math.ceil(jerk_print * 25 / 25)
-jerk_wall = =math.ceil(jerk_print * 25 / 25)
-jerk_wall_0 = =math.ceil(jerk_wall * 25 / 25)
+jerk_topbottom = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall = =max(math.ceil(jerk_print * 25 / 25), 20)
+jerk_wall_0 = =max(math.ceil(jerk_wall * 25 / 25), 20)
layer_height = 0.2
line_width = =machine_nozzle_size
machine_min_cool_heat_time_window = 15
diff --git a/resources/variants/ultimaker_s3_bb0.8.inst.cfg b/resources/variants/ultimaker_s3_bb0.8.inst.cfg
index af100aa1e7..2779a11cce 100644
--- a/resources/variants/ultimaker_s3_bb0.8.inst.cfg
+++ b/resources/variants/ultimaker_s3_bb0.8.inst.cfg
@@ -25,11 +25,11 @@ infill_overlap = 0
infill_pattern = triangles
infill_wipe_dist = 0
jerk_enabled = True
-jerk_prime_tower = =math.ceil(jerk_print * 2 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20)
jerk_print = 25
-jerk_support = =math.ceil(jerk_print * 15 / 25)
-jerk_support_interface = =math.ceil(jerk_support * 10 / 15)
-jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10)
+jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20)
+jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20)
+jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20)
layer_height = 0.2
machine_min_cool_heat_time_window = 15
machine_nozzle_heat_up_speed = 1.5
diff --git a/resources/variants/ultimaker_s3_bb04.inst.cfg b/resources/variants/ultimaker_s3_bb04.inst.cfg
index 064fd004b8..3d59f8de56 100644
--- a/resources/variants/ultimaker_s3_bb04.inst.cfg
+++ b/resources/variants/ultimaker_s3_bb04.inst.cfg
@@ -15,10 +15,10 @@ acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 /
acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 4000)
cool_fan_speed_max = =cool_fan_speed
gradual_support_infill_steps = 2
-jerk_prime_tower = =math.ceil(jerk_print * 2 / 25)
-jerk_support = =math.ceil(jerk_print * 15 / 25)
-jerk_support_interface = =math.ceil(jerk_support * 10 / 15)
-jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10)
+jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20)
+jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20)
+jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20)
+jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20)
machine_nozzle_heat_up_speed = 1.5
machine_nozzle_id = BB 0.4
machine_nozzle_tip_outer_diameter = 1.0
diff --git a/resources/variants/ultimaker_s5_bb0.8.inst.cfg b/resources/variants/ultimaker_s5_bb0.8.inst.cfg
index bc484f53df..23a4bfa48d 100644
--- a/resources/variants/ultimaker_s5_bb0.8.inst.cfg
+++ b/resources/variants/ultimaker_s5_bb0.8.inst.cfg
@@ -25,7 +25,7 @@ infill_overlap = 0
infill_pattern = triangles
infill_wipe_dist = 0
jerk_enabled = True
-jerk_prime_tower = =math.ceil(jerk_print * 2 / 25)
+jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20)
jerk_print = 25
jerk_support = =math.ceil(jerk_print * 15 / 25)
jerk_support_interface = =math.ceil(jerk_support * 10 / 15)