Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRijk van Manen <r.vanmanen@ultimaker.com>2021-11-15 17:29:40 +0300
committerRijk van Manen <r.vanmanen@ultimaker.com>2021-11-15 17:29:40 +0300
commitd3951a1a5932071e1f8f63970ccafaf6ae53702d (patch)
tree7c82ce3ba1c6be3194f4e07e1e4826504cbf6781
parent35550fc1b432806fd84c4d2d2354327373fd2da6 (diff)
change infill pattern to zigzag for >80% infill
This is done for all ultimaker profiles (PP-25).
-rw-r--r--resources/definitions/ultimaker2_plus_connect.def.json2
-rw-r--r--resources/definitions/ultimaker3.def.json2
-rw-r--r--resources/definitions/ultimaker_s3.def.json2
-rw-r--r--resources/definitions/ultimaker_s5.def.json2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.25_PLA_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.25_TPLA_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.25_PLA_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.25_TPLA_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.25_PLA_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.25_TPLA_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg2
-rw-r--r--resources/variants/ultimaker3_aa0.8.inst.cfg2
-rw-r--r--resources/variants/ultimaker3_bb0.8.inst.cfg2
-rw-r--r--resources/variants/ultimaker3_extended_aa0.8.inst.cfg2
-rw-r--r--resources/variants/ultimaker3_extended_bb0.8.inst.cfg2
-rw-r--r--resources/variants/ultimaker_s3_aa0.8.inst.cfg2
-rw-r--r--resources/variants/ultimaker_s3_bb0.8.inst.cfg2
-rw-r--r--resources/variants/ultimaker_s5_aa0.8.inst.cfg2
-rw-r--r--resources/variants/ultimaker_s5_bb0.8.inst.cfg2
124 files changed, 124 insertions, 124 deletions
diff --git a/resources/definitions/ultimaker2_plus_connect.def.json b/resources/definitions/ultimaker2_plus_connect.def.json
index be143516ad..1a4b68cf24 100644
--- a/resources/definitions/ultimaker2_plus_connect.def.json
+++ b/resources/definitions/ultimaker2_plus_connect.def.json
@@ -55,7 +55,7 @@
},
"infill_wipe_dist": { "value": "0" },
"infill_overlap": { "value": "0" },
- "infill_pattern": { "value": "'grid'" },
+ "infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'grid'" },
"speed_infill": { "value": "speed_print" },
"speed_wall_x": { "value": "speed_wall" },
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json
index 310ffba992..d7b834c87c 100644
--- a/resources/definitions/ultimaker3.def.json
+++ b/resources/definitions/ultimaker3.def.json
@@ -99,7 +99,7 @@
"infill_before_walls": { "value": false },
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
"infill_overlap": { "value": "0" },
- "infill_pattern": { "value": "'triangles'" },
+ "infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'triangles'" },
"infill_wipe_dist": { "value": "0" },
"initial_layer_line_width_factor": { "value": "120" },
"jerk_enabled": { "value": "True" },
diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json
index f27240d00a..edc8753a0c 100644
--- a/resources/definitions/ultimaker_s3.def.json
+++ b/resources/definitions/ultimaker_s3.def.json
@@ -92,7 +92,7 @@
"infill_before_walls": { "value": false },
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
"infill_overlap": { "value": "0" },
- "infill_pattern": { "value": "'triangles'" },
+ "infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'triangles'" },
"infill_wipe_dist": { "value": "0" },
"jerk_enabled": { "value": "True" },
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json
index b36e9726b7..93dda19594 100644
--- a/resources/definitions/ultimaker_s5.def.json
+++ b/resources/definitions/ultimaker_s5.def.json
@@ -94,7 +94,7 @@
"infill_before_walls": { "value": false },
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
"infill_overlap": { "value": "0" },
- "infill_pattern": { "value": "'triangles'" },
+ "infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'triangles'" },
"infill_wipe_dist": { "value": "0" },
"jerk_enabled": { "value": "True" },
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg
index a8bb63c2ab..52760e6adf 100644
--- a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.4 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg
index 0511609ec2..8ea3d90be4 100644
--- a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.4 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg
index d52775d452..e7c3ec44fe 100644
--- a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.6 / 0.57, 2)
infill_overlap = 0
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg
index 2a42fefeaf..8487dbeb8d 100644
--- a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.6 / 0.57, 2)
infill_overlap = 0
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg
index b2f50b3980..8a9d640f5f 100644
--- a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.8 / 0.76, 2)
infill_overlap = 0
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg
index 0a60b67f1d..a205ef4220 100644
--- a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.8 / 0.76, 2)
infill_overlap = 0
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg
index bd173b17b1..92d07698d6 100644
--- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_fast.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.4 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg
index 68fd29518f..52d284fc69 100644
--- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.4_normal.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.4 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg
index 69f48eb70a..0aedc524e4 100644
--- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg
+++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_draft.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.6 / 0.57, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg
index d24883f6e6..e03ae48831 100644
--- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.6_fast.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.6 / 0.57, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg
index d3d87041d8..47b1c7a96a 100644
--- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg
+++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_draft.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.8 / 0.76, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg
index 6d14e12f65..14ee58c517 100644
--- a/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg
+++ b/resources/quality/ultimaker2_plus_connect/um2pc_pp_0.8_verydraft.inst.cfg
@@ -28,7 +28,7 @@ cool_min_layer_time_fan_speed_max = 6
cool_min_speed = 20
infill_line_width = =round(line_width * 0.8 / 0.76, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0
jerk_enabled = True
jerk_layer_0 = =jerk_topbottom
diff --git a/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg
index 4c38c6ce2d..e653571745 100644
--- a/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg
@@ -22,7 +22,7 @@ cool_fan_speed_max = 50
cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 5
infill_line_width = =line_width
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.25_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_PLA_Normal_Quality.inst.cfg
index 8b4be8de88..2d95b4cad7 100644
--- a/resources/quality/ultimaker3/um3_aa0.25_PLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.25_PLA_Normal_Quality.inst.cfg
@@ -16,7 +16,7 @@ brim_width = 8
cool_fan_full_at_height = =layer_height_0
cool_min_speed = 10
infill_overlap = 10
-infill_pattern = grid
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
diff --git a/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg
index a858a93a49..c0db3487d9 100644
--- a/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg
@@ -20,7 +20,7 @@ cool_fan_speed_max = 100
cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.25_TPLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_TPLA_Normal_Quality.inst.cfg
index b49d53a6d3..22f33047d6 100644
--- a/resources/quality/ultimaker3/um3_aa0.25_TPLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.25_TPLA_Normal_Quality.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_full_at_height = =layer_height_0
cool_min_speed = 7
infill_line_width = =line_width
infill_overlap = 10
-infill_pattern = grid
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
line_width = =machine_nozzle_size * 0.92
machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4
diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg
index cd91be85b7..9d72338d03 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = 80
cool_min_speed = 5
infill_line_width = =round(line_width * 0.35 / 0.35, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg
index 09ab0ab1de..57e1c3cb40 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = 80
cool_min_speed = 6
infill_line_width = =round(line_width * 0.35 / 0.35, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg
index 82bd8db421..56a18c4218 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = 50
cool_min_speed = 5
infill_line_width = =round(line_width * 0.35 / 0.35, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg
index c523f9efdb..73098a9999 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = 50
cool_min_speed = 7
infill_line_width = =round(line_width * 0.35 / 0.35, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg
index 26427eedb3..8d39d8e95b 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg
@@ -23,7 +23,7 @@ cool_min_speed = 6
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg
index 789934869a..f0686a4991 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg
@@ -22,7 +22,7 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 7
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg
index ff00408972..3674e5a4f1 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg
@@ -23,7 +23,7 @@ cool_min_speed = 8
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg
index 807c10bdae..d98212365f 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg
@@ -22,7 +22,7 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 5
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg
index 4263c724a0..be5c05b20c 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg
index 08baf23e35..05e5ab968a 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg
index 7b5ca69747..e44ec565e9 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg
index 98e057279b..4c1c2a1d9e 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg
index 49344fca20..0dda14dcfc 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg
index 4cf4f1850b..5eded26b9f 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg
index 93c9f8df5f..7607b1d22b 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg
index 225889f905..d3e3c3c873 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
layer_height = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg
index f66d089b13..c7682afc46 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
layer_height = 0.3
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
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 87f432b80a..170475fbce 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
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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 042eb806be..a67f09a60c 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
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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 3a61f887ee..5f35962bc9 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
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg
index cf52b2e02a..dd3b9bc815 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Draft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg
index 808fc736db..7f06130fe4 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Superdraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg
index 696c382650..44c5aabf19 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_TPLA_Verydraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
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 df1f349d7e..d38fb444a5 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
@@ -18,7 +18,7 @@ top_skin_expand_distance = =line_width * 2
gradual_infill_step_height = =4 * layer_height
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
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 7783a639f3..ff544e57c1 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
@@ -18,7 +18,7 @@ top_skin_expand_distance = =line_width * 2
gradual_infill_step_height = =4 * layer_height
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
layer_height = 0.4
machine_nozzle_cool_down_speed = 0.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 fcbbf61e64..5593a38bfe 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
@@ -18,7 +18,7 @@ top_skin_expand_distance = =line_width * 2
gradual_infill_step_height = =4 * layer_height
infill_before_walls = True
infill_line_width = =round(line_width * 0.7 / 0.8, 2)
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
layer_height = 0.3
machine_nozzle_cool_down_speed = 0.5
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg
index 2b0092d3b2..d0f482524c 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_PC_Normal_Quality.inst.cfg
@@ -22,7 +22,7 @@ cool_fan_speed_max = 50
cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 5
infill_line_width = =line_width
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_PLA_Normal_Quality.inst.cfg
index 2a7d248eaf..7ae1b50b67 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.25_PLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_PLA_Normal_Quality.inst.cfg
@@ -16,7 +16,7 @@ brim_width = 8
cool_fan_full_at_height = =layer_height_0
cool_min_speed = 10
infill_overlap = 10
-infill_pattern = grid
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg
index cfb264ceb0..930539badb 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_PP_Normal_Quality.inst.cfg
@@ -20,7 +20,7 @@ cool_fan_speed_max = 100
cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_TPLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_TPLA_Normal_Quality.inst.cfg
index a9e6c0fa62..f4bd10ce98 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.25_TPLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_TPLA_Normal_Quality.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_full_at_height = =layer_height_0
cool_min_speed = 7
infill_line_width = =line_width
infill_overlap = 10
-infill_pattern = grid
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
line_width = =machine_nozzle_size * 0.92
machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Draft_Print.inst.cfg
index 89478af165..1a6ae612ce 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Draft_Print.inst.cfg
@@ -25,5 +25,5 @@ speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
wall_thickness = 1
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 50 / 60)
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Fast_Print.inst.cfg
index 7ccfde616d..f0b55841f3 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Fast_Print.inst.cfg
@@ -23,5 +23,5 @@ 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)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 50 / 60) \ No newline at end of file
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_High_Quality.inst.cfg
index ae02c54b10..fdbe5fb1d6 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_High_Quality.inst.cfg
@@ -24,5 +24,5 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_topbottom = =math.ceil(speed_print * 30 / 50)
speed_wall = =math.ceil(speed_print * 30 / 50)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 40 / 50) \ No newline at end of file
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality.inst.cfg
index a6677b851f..9bffd6f794 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_CPE_Normal_Quality.inst.cfg
@@ -22,5 +22,5 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 55)
speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_wall = =math.ceil(speed_print * 30 / 55)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 45 / 55) \ No newline at end of file
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg
index 29045734a6..a716e42c26 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Draft_Print.inst.cfg
@@ -23,7 +23,7 @@ cool_min_speed = 6
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg
index 6ee4f9c59b..d61e3ee8e7 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Fast_Print.inst.cfg
@@ -22,7 +22,7 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 7
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg
index 8ed8d36bd8..5d9012e706 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_High_Quality.inst.cfg
@@ -23,7 +23,7 @@ cool_min_speed = 8
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg
index 2a2c89227b..9bf47a65bb 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PC_Normal_Quality.inst.cfg
@@ -22,7 +22,7 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 5
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Draft_Print.inst.cfg
index bbaa1e0214..bff77a1390 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Draft_Print.inst.cfg
@@ -25,6 +25,6 @@ speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
wall_thickness = 1
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 50 / 60)
initial_layer_line_width_factor = 100
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print.inst.cfg
index 570ce785b4..ec87609aac 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Fast_Print.inst.cfg
@@ -23,6 +23,6 @@ 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)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 50 / 60)
initial_layer_line_width_factor = 100
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_High_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_High_Quality.inst.cfg
index e67cacb129..2d0597b257 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_High_Quality.inst.cfg
@@ -24,6 +24,6 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_topbottom = =math.ceil(speed_print * 30 / 50)
speed_wall = =math.ceil(speed_print * 30 / 50)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 40 / 50)
initial_layer_line_width_factor = 100
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality.inst.cfg
index ccd26f1ca8..71d942fc6a 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PETG_Normal_Quality.inst.cfg
@@ -23,6 +23,6 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 55)
speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_wall = =math.ceil(speed_print * 30 / 55)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 45 / 55)
initial_layer_line_width_factor = 100
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg
index e68edcb853..0e3d4a8079 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Draft_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg
index 0216190428..78cd09b5a8 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg
index 89c7a6e68f..61f34bc18b 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_PP_Normal_Quality.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg
index 575743f5a8..194a7d41ca 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Draft_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg
index 212e519f97..436b8a32e3 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg
index a665935778..d8ade5a573 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_TPU_Normal_Quality.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
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 04568434bd..f7f965146a 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
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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 fc42b6fbd6..dedc9b8f30 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
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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 b4c6cfdf02..d52ee60a7d 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
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Draft_Print.inst.cfg
index fe4b677b2e..07c7c3544b 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Draft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Superdraft_Print.inst.cfg
index 90587f8f7c..9a8662e261 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Superdraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Verydraft_Print.inst.cfg
index a9d7223dce..276d6e64da 100644
--- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPLA_Verydraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
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 2afe0ec9cb..3497d5340c 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
@@ -17,7 +17,7 @@ cool_min_layer_time_fan_speed_max = 6
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
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 222f356e8b..e552f7ebaa 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
@@ -17,7 +17,7 @@ cool_min_layer_time_fan_speed_max = 6
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
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_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg
index 272e8f50b4..5ec5a2bd67 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
@@ -17,7 +17,7 @@ cool_min_layer_time_fan_speed_max = 6
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Draft_Print.inst.cfg
index 9f1cae9b78..a7c599f881 100644
--- a/resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Draft_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Fast_Print.inst.cfg
index d14ea113c0..5fd28c9a74 100644
--- a/resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_cc0.4_PLA_Fast_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Draft_Print.inst.cfg
index 01588d6cf2..f819110fc2 100644
--- a/resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Draft_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Fast_Print.inst.cfg
index b1f30afa7d..5198080708 100644
--- a/resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s3/um_s3_cc0.6_PLA_Fast_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg
index 8f71892aad..9559e510c3 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg
@@ -22,7 +22,7 @@ cool_fan_speed_max = 50
cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 5
infill_line_width = =line_width
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_PLA_Normal_Quality.inst.cfg
index ac9eb128aa..a8e3f00ad4 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.25_PLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_PLA_Normal_Quality.inst.cfg
@@ -16,7 +16,7 @@ brim_width = 8
cool_fan_full_at_height = =layer_height_0
cool_min_speed = 10
infill_overlap = 10
-infill_pattern = grid
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4
material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg
index ccaed62868..70dadbcd4d 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg
@@ -20,7 +20,7 @@ cool_fan_speed_max = 100
cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_TPLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_TPLA_Normal_Quality.inst.cfg
index be0c317a15..bfc84eec52 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.25_TPLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_TPLA_Normal_Quality.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_full_at_height = =layer_height_0
cool_min_speed = 7
infill_line_width = =line_width
infill_overlap = 10
-infill_pattern = grid
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid'
line_width = =machine_nozzle_size * 0.92
machine_nozzle_cool_down_speed = 0.9
machine_nozzle_heat_up_speed = 1.4
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg
index 1e60a30beb..6c1a3a45af 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Draft_Print.inst.cfg
@@ -27,5 +27,5 @@ top_thickness = =0.8 if infill_sparse_density < 30 and skin_edge_support_thickne
wall_thickness = 1
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 50 / 60)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print.inst.cfg
index 0f310d8c27..71c25958fa 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Fast_Print.inst.cfg
@@ -23,5 +23,5 @@ 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)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 50 / 60) \ No newline at end of file
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_High_Quality.inst.cfg
index 014657c825..9692faac22 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_High_Quality.inst.cfg
@@ -24,5 +24,5 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_topbottom = =math.ceil(speed_print * 30 / 50)
speed_wall = =math.ceil(speed_print * 30 / 50)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 40 / 50) \ No newline at end of file
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality.inst.cfg
index b71b47ec86..5698375c63 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPE_Normal_Quality.inst.cfg
@@ -22,5 +22,5 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 55)
speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_wall = =math.ceil(speed_print * 30 / 55)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 45 / 55) \ No newline at end of file
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg
index 97806ef531..48269d945b 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg
@@ -23,7 +23,7 @@ cool_min_speed = 6
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg
index 561480f18e..13dccbce7f 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg
@@ -22,7 +22,7 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 7
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg
index e7a276d389..c4aad286a8 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg
@@ -23,7 +23,7 @@ cool_min_speed = 8
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
infill_overlap_mm = 0.05
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg
index 53106eee18..235dd1d577 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg
@@ -22,7 +22,7 @@ cool_min_layer_time_fan_speed_max = 5
cool_min_speed = 5
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg
index ea98e39e21..2d39086d6f 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Draft_Print.inst.cfg
@@ -26,6 +26,6 @@ speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
top_thickness = =0.8 if infill_sparse_density < 30 and skin_edge_support_thickness == 0.8 else top_bottom_thickness
wall_thickness = 1
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 50 / 60)
initial_layer_line_width_factor = 100
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print.inst.cfg
index 2d3096f0ae..1b7838985e 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Fast_Print.inst.cfg
@@ -23,6 +23,6 @@ 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)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 50 / 60)
initial_layer_line_width_factor = 100 \ No newline at end of file
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_High_Quality.inst.cfg
index 57ab96540d..aa6c6cb3b1 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_High_Quality.inst.cfg
@@ -24,6 +24,6 @@ speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_topbottom = =math.ceil(speed_print * 30 / 50)
speed_wall = =math.ceil(speed_print * 30 / 50)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 40 / 50)
initial_layer_line_width_factor = 100 \ No newline at end of file
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality.inst.cfg
index a787b64892..28842615cf 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PETG_Normal_Quality.inst.cfg
@@ -22,6 +22,6 @@ speed_print = 55
speed_layer_0 = =math.ceil(speed_print * 20 / 55)
speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_wall = =math.ceil(speed_print * 30 / 55)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
speed_infill = =math.ceil(speed_print * 45 / 55)
initial_layer_line_width_factor = 100
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg
index 9f9dd7c816..1e5dfad31e 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Draft_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg
index cf119cb979..abdbb57f1e 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg
index 6679c8203b..099cdef747 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PP_Normal_Quality.inst.cfg
@@ -21,7 +21,7 @@ cool_min_layer_time_fan_speed_max = 7
cool_min_speed = 2.5
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = tetrahedral
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
infill_wipe_dist = 0.1
jerk_enabled = True
jerk_print = 25
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg
index 3835f33466..79f3a1b769 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg
index 9cab047c77..7bce192f75 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg
index ac2e7dd316..056871cfa9 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg
@@ -21,7 +21,7 @@ cool_min_speed = 4
gradual_infill_step_height = =5 * layer_height
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
infill_overlap = 0
-infill_pattern = cross_3d
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
infill_wipe_dist = 0.1
jerk_enabled = True
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg
index 6fc530d8da..64c94a74bd 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg
index 5a8a47212d..f40280a355 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg
index f1cc5604f3..d2b380fc97 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_min_speed = 17
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'tetrahedral'
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_s5/um_s5_aa0.8_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Draft_Print.inst.cfg
index 92267aadbb..c9a856dde8 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Draft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Superdraft_Print.inst.cfg
index da6c800c57..00367c0b28 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Superdraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Verydraft_Print.inst.cfg
index f5f4ce6fb3..88074eea54 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPLA_Verydraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.75 / 0.75, 2)
-infill_pattern = cubic
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cubic'
layer_height_0 = 0.4
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg
index ffc21e7071..c7ccc9a2a0 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_min_layer_time_fan_speed_max = 6
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
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_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg
index 6ed2dd23e8..3d3bc26a5b 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_min_layer_time_fan_speed_max = 6
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg
index 834230cc59..f6979ef1c7 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg
@@ -17,7 +17,7 @@ cool_min_layer_time_fan_speed_max = 6
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
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'cross_3d'
infill_sparse_density = 10
machine_nozzle_cool_down_speed = 0.5
machine_nozzle_heat_up_speed = 2.5
diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Draft_Print.inst.cfg
index 372d7269ac..82cfff1037 100644
--- a/resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Draft_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Fast_Print.inst.cfg
index 79dc9f11ce..0491fd7613 100644
--- a/resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_cc0.4_PLA_Fast_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg
index c4c675d998..be522d3908 100644
--- a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg
index 997197c788..b2201a159e 100644
--- a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg
@@ -18,7 +18,7 @@ cool_fan_speed_max = =100
cool_min_speed = 2
gradual_infill_step_height = =3 * layer_height
infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
line_width = =machine_nozzle_size * 0.9375
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg
index cb8b95b0fb..41f3694323 100644
--- a/resources/variants/ultimaker3_aa0.8.inst.cfg
+++ b/resources/variants/ultimaker3_aa0.8.inst.cfg
@@ -19,7 +19,7 @@ default_material_print_temperature = 200
infill_before_walls = False
infill_line_width = =round(line_width * 0.6 / 0.7, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg
index 97e16a2afa..42a547f821 100644
--- a/resources/variants/ultimaker3_bb0.8.inst.cfg
+++ b/resources/variants/ultimaker3_bb0.8.inst.cfg
@@ -22,7 +22,7 @@ gradual_support_infill_step_height = 1.6
gradual_support_infill_steps = 2
infill_line_width = =round(line_width * 0.8 / 0.7, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg
index 5a1259fc35..1681abd5ef 100644
--- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg
+++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg
@@ -19,7 +19,7 @@ default_material_print_temperature = 200
infill_before_walls = False
infill_line_width = =round(line_width * 0.6 / 0.7, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg
index bc86c63461..9f124467ee 100644
--- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg
+++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg
@@ -22,7 +22,7 @@ gradual_support_infill_step_height = 1.6
gradual_support_infill_steps = 2
infill_line_width = =round(line_width * 0.8 / 0.7, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/variants/ultimaker_s3_aa0.8.inst.cfg b/resources/variants/ultimaker_s3_aa0.8.inst.cfg
index 7fac331e72..a2796d4a1b 100644
--- a/resources/variants/ultimaker_s3_aa0.8.inst.cfg
+++ b/resources/variants/ultimaker_s3_aa0.8.inst.cfg
@@ -19,7 +19,7 @@ default_material_print_temperature = 200
infill_before_walls = False
infill_line_width = =round(line_width * 0.6 / 0.7, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/variants/ultimaker_s3_bb0.8.inst.cfg b/resources/variants/ultimaker_s3_bb0.8.inst.cfg
index c68b46a6ae..f503cd7499 100644
--- a/resources/variants/ultimaker_s3_bb0.8.inst.cfg
+++ b/resources/variants/ultimaker_s3_bb0.8.inst.cfg
@@ -22,7 +22,7 @@ gradual_support_infill_step_height = 1.6
gradual_support_infill_steps = 2
infill_line_width = =round(line_width * 0.8 / 0.7, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/variants/ultimaker_s5_aa0.8.inst.cfg b/resources/variants/ultimaker_s5_aa0.8.inst.cfg
index 7a6bf3deb5..a3b0e653c7 100644
--- a/resources/variants/ultimaker_s5_aa0.8.inst.cfg
+++ b/resources/variants/ultimaker_s5_aa0.8.inst.cfg
@@ -19,7 +19,7 @@ default_material_print_temperature = 200
infill_before_walls = False
infill_line_width = =round(line_width * 0.6 / 0.7, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25
diff --git a/resources/variants/ultimaker_s5_bb0.8.inst.cfg b/resources/variants/ultimaker_s5_bb0.8.inst.cfg
index 7bb613a2b4..d778da8c84 100644
--- a/resources/variants/ultimaker_s5_bb0.8.inst.cfg
+++ b/resources/variants/ultimaker_s5_bb0.8.inst.cfg
@@ -22,7 +22,7 @@ gradual_support_infill_step_height = 1.6
gradual_support_infill_steps = 2
infill_line_width = =round(line_width * 0.8 / 0.7, 2)
infill_overlap = 0
-infill_pattern = triangles
+infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_wipe_dist = 0
jerk_enabled = True
jerk_print = 25