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:
authorJack Ha <jackha@gmail.com>2018-06-11 14:45:52 +0300
committerJack Ha <jackha@gmail.com>2018-06-11 14:45:52 +0300
commit359506874a213693789e0790619cb4cb6860ea50 (patch)
tree765a011a56c4acb30be1d29d34ad74d365824076 /resources/quality
parent310a99fba70b67253af482fa09ad7fe1e59679d3 (diff)
CURA-5342 replace speed setting constants in profiles to formulas; also adds necessary settings for um2p if the setting is also defined in ultimaker2
Diffstat (limited to 'resources/quality')
-rw-r--r--resources/quality/abax_pri3/apri3_pla_fast.inst.cfg2
-rw-r--r--resources/quality/abax_pri3/apri3_pla_high.inst.cfg2
-rw-r--r--resources/quality/abax_pri3/apri3_pla_normal.inst.cfg2
-rw-r--r--resources/quality/abax_pri5/apri5_pla_fast.inst.cfg2
-rw-r--r--resources/quality/abax_pri5/apri5_pla_high.inst.cfg2
-rw-r--r--resources/quality/abax_pri5/apri5_pla_normal.inst.cfg2
-rw-r--r--resources/quality/abax_titan/atitan_pla_fast.inst.cfg2
-rw-r--r--resources/quality/abax_titan/atitan_pla_high.inst.cfg2
-rw-r--r--resources/quality/abax_titan/atitan_pla_normal.inst.cfg2
-rw-r--r--resources/quality/anycubic_i3_mega/anycubic_i3_mega_draft.inst.cfg8
-rw-r--r--resources/quality/anycubic_i3_mega/anycubic_i3_mega_high.inst.cfg8
-rw-r--r--resources/quality/anycubic_i3_mega/anycubic_i3_mega_normal.inst.cfg8
-rw-r--r--resources/quality/deltacomb/deltacomb_nylon_fast.inst.cfg6
-rw-r--r--resources/quality/deltacomb/deltacomb_nylon_high.inst.cfg6
-rw-r--r--resources/quality/deltacomb/deltacomb_nylon_normal.inst.cfg6
-rw-r--r--resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg6
-rw-r--r--resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg6
-rw-r--r--resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg6
-rw-r--r--resources/quality/fast.inst.cfg8
-rw-r--r--resources/quality/high.inst.cfg4
-rw-r--r--resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg8
-rw-r--r--resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg8
-rw-r--r--resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg10
-rw-r--r--resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg10
-rw-r--r--resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg10
-rw-r--r--resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg10
-rw-r--r--resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg10
-rw-r--r--resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg10
-rw-r--r--resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg10
-rw-r--r--resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg10
-rw-r--r--resources/quality/malyan_m200/malyan_m200_global_Draft_Quality.inst.cfg2
-rw-r--r--resources/quality/malyan_m200/malyan_m200_global_Fast_Quality.inst.cfg2
-rw-r--r--resources/quality/malyan_m200/malyan_m200_global_High_Quality.inst.cfg2
-rw-r--r--resources/quality/malyan_m200/malyan_m200_global_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/malyan_m200/malyan_m200_global_SuperDraft_Quality.inst.cfg2
-rw-r--r--resources/quality/malyan_m200/malyan_m200_global_ThickerDraft_Quality.inst.cfg2
-rw-r--r--resources/quality/malyan_m200/malyan_m200_global_Ultra_Quality.inst.cfg2
-rw-r--r--resources/quality/malyan_m200/malyan_m200_global_VeryDraft_Quality.inst.cfg2
-rw-r--r--resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Draft_Quality.inst.cfg2
-rw-r--r--resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Fast_Quality.inst.cfg2
-rw-r--r--resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_High_Quality.inst.cfg2
-rw-r--r--resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_SuperDraft_Quality.inst.cfg2
-rw-r--r--resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_ThickerDraft_Quality.inst.cfg2
-rw-r--r--resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Ultra_Quality.inst.cfg2
-rw-r--r--resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_VeryDraft_Quality.inst.cfg2
-rw-r--r--resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg8
-rw-r--r--resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg8
-rw-r--r--resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg8
-rw-r--r--resources/quality/ultimaker2/um2_fast.inst.cfg8
-rw-r--r--resources/quality/ultimaker2/um2_high.inst.cfg4
-rw-r--r--resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg4
-rw-r--r--resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg6
-rw-r--r--resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg7
-rw-r--r--resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg4
-rw-r--r--resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg6
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg4
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg8
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg8
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg6
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg8
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg6
-rw-r--r--resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg6
-rw-r--r--resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg9
-rw-r--r--resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg8
-rw-r--r--resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg9
-rw-r--r--resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg4
-rw-r--r--resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg9
-rw-r--r--resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg8
-rw-r--r--resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg8
-rw-r--r--resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg6
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg2
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg6
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg4
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg9
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg8
-rw-r--r--resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg4
-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.cfg4
-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/um2p_tpu_0.25_high.inst.cfg9
-rw-r--r--resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg8
-rw-r--r--resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg9
-rw-r--r--resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.25_PC_Normal_Quality.inst.cfg4
-rw-r--r--resources/quality/ultimaker3/um3_aa0.25_PLA_Normal_Quality.inst.cfg6
-rw-r--r--resources/quality/ultimaker3/um3_aa0.25_PP_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_BAM_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_CPE_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_Nylon_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_PLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_PLA_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_TPLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.4_TPLA_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_CPEP_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.25_PC_Normal_Quality.inst.cfg4
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.25_PLA_Normal_Quality.inst.cfg6
-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.4_ABS_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_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_Nylon_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg4
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Fast_Print.inst.cfg4
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PC_High_Quality.inst.cfg4
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Normal_Quality.inst.cfg4
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_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_TPLA_Draft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_High_Quality.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_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_CPEP_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Fast_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Superdraft_Print.inst.cfg2
-rw-r--r--resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Verydraft_Print.inst.cfg2
-rw-r--r--resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg4
-rw-r--r--resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg4
-rw-r--r--resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg4
-rw-r--r--resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg4
-rw-r--r--resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg4
-rw-r--r--resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg4
200 files changed, 404 insertions, 377 deletions
diff --git a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg
index b46e2473af..52a20ac306 100644
--- a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg
+++ b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 80
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 80)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg
index a12d8d1b72..2effe4cfc2 100644
--- a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg
+++ b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg
index 3cea7931aa..8cab45135c 100644
--- a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg
+++ b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg
index ba1de97b89..0d71942031 100644
--- a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg
+++ b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 80
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 80)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg
index d1ea040f93..184c23a331 100644
--- a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg
+++ b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg
index c2bb8d343b..c36b4894b8 100644
--- a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg
+++ b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg
index ec54c373c9..58c41fc68f 100644
--- a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg
+++ b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 80
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 80)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/abax_titan/atitan_pla_high.inst.cfg b/resources/quality/abax_titan/atitan_pla_high.inst.cfg
index f8d016f6d0..3f1336d9e5 100644
--- a/resources/quality/abax_titan/atitan_pla_high.inst.cfg
+++ b/resources/quality/abax_titan/atitan_pla_high.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg
index b25a0ff47e..23a3b06fd3 100644
--- a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg
+++ b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg
@@ -17,6 +17,6 @@ top_bottom_thickness = 0.8
infill_sparse_density = 20
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/anycubic_i3_mega/anycubic_i3_mega_draft.inst.cfg b/resources/quality/anycubic_i3_mega/anycubic_i3_mega_draft.inst.cfg
index ae18246f3f..633133a8d4 100644
--- a/resources/quality/anycubic_i3_mega/anycubic_i3_mega_draft.inst.cfg
+++ b/resources/quality/anycubic_i3_mega/anycubic_i3_mega_draft.inst.cfg
@@ -41,13 +41,13 @@ retraction_speed = 40
skirt_brim_speed = 40
skirt_gap = 5
skirt_line_count = 3
-speed_infill = 60
+speed_infill = =speed_print
speed_print = 60
speed_support = 60
-speed_topbottom = 30
+speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_travel = 100
-speed_wall = 60
-speed_wall_x = 60
+speed_wall = =speed_print
+speed_wall_x = =speed_print
support_angle = 60
support_enable = True
support_interface_enable = True
diff --git a/resources/quality/anycubic_i3_mega/anycubic_i3_mega_high.inst.cfg b/resources/quality/anycubic_i3_mega/anycubic_i3_mega_high.inst.cfg
index bbaa9c63b1..9954be2fac 100644
--- a/resources/quality/anycubic_i3_mega/anycubic_i3_mega_high.inst.cfg
+++ b/resources/quality/anycubic_i3_mega/anycubic_i3_mega_high.inst.cfg
@@ -41,13 +41,13 @@ retraction_speed = 40
skirt_brim_speed = 40
skirt_gap = 5
skirt_line_count = 3
-speed_infill = 50
+speed_infill = =speed_print
speed_print = 50
speed_support = 30
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
speed_travel = 50
-speed_wall = 50
-speed_wall_x = 50
+speed_wall = =speed_print
+speed_wall_x = =speed_print
support_angle = 60
support_enable = True
support_interface_enable = True
diff --git a/resources/quality/anycubic_i3_mega/anycubic_i3_mega_normal.inst.cfg b/resources/quality/anycubic_i3_mega/anycubic_i3_mega_normal.inst.cfg
index d319b09952..8faececc66 100644
--- a/resources/quality/anycubic_i3_mega/anycubic_i3_mega_normal.inst.cfg
+++ b/resources/quality/anycubic_i3_mega/anycubic_i3_mega_normal.inst.cfg
@@ -41,13 +41,13 @@ retraction_speed = 40
skirt_brim_speed = 40
skirt_gap = 5
skirt_line_count = 3
-speed_infill = 50
+speed_infill = =speed_print
speed_print = 50
speed_support = 30
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
speed_travel = 100
-speed_wall = 50
-speed_wall_x = 50
+speed_wall = =speed_print
+speed_wall_x = =speed_print
support_angle = 60
support_enable = True
support_interface_enable = True
diff --git a/resources/quality/deltacomb/deltacomb_nylon_fast.inst.cfg b/resources/quality/deltacomb/deltacomb_nylon_fast.inst.cfg
index e5718fdc95..c224414b23 100644
--- a/resources/quality/deltacomb/deltacomb_nylon_fast.inst.cfg
+++ b/resources/quality/deltacomb/deltacomb_nylon_fast.inst.cfg
@@ -43,11 +43,11 @@ skirt_brim_minimal_length = 75
skirt_gap = 1.5
skirt_line_count = 5
speed_infill = =speed_print
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 40
+speed_topbottom = =math.ceil(speed_print * 40 / 50)
speed_travel = 200
-speed_wall_0 = 40
+speed_wall_0 = =math.ceil(speed_print * 40 / 50)
speed_wall_x = =speed_print
support_angle = 70
support_type = buildplate
diff --git a/resources/quality/deltacomb/deltacomb_nylon_high.inst.cfg b/resources/quality/deltacomb/deltacomb_nylon_high.inst.cfg
index 2b29b49c68..bfbc1d0129 100644
--- a/resources/quality/deltacomb/deltacomb_nylon_high.inst.cfg
+++ b/resources/quality/deltacomb/deltacomb_nylon_high.inst.cfg
@@ -43,11 +43,11 @@ skirt_brim_minimal_length = 75
skirt_gap = 1.5
skirt_line_count = 5
speed_infill = =speed_print
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 40
+speed_topbottom = =math.ceil(speed_print * 40 / 50)
speed_travel = 200
-speed_wall_0 = 40
+speed_wall_0 = =math.ceil(speed_print * 40 / 50)
speed_wall_x = =speed_print
support_angle = 70
support_type = buildplate
diff --git a/resources/quality/deltacomb/deltacomb_nylon_normal.inst.cfg b/resources/quality/deltacomb/deltacomb_nylon_normal.inst.cfg
index 9853831b12..9636906707 100644
--- a/resources/quality/deltacomb/deltacomb_nylon_normal.inst.cfg
+++ b/resources/quality/deltacomb/deltacomb_nylon_normal.inst.cfg
@@ -43,11 +43,11 @@ skirt_brim_minimal_length = 75
skirt_gap = 1.5
skirt_line_count = 5
speed_infill = =speed_print
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 40
+speed_topbottom = =math.ceil(speed_print * 40 / 50)
speed_travel = 200
-speed_wall_0 = 40
+speed_wall_0 = =math.ceil(speed_print * 40 / 50)
speed_wall_x = =speed_print
support_angle = 70
support_type = buildplate
diff --git a/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg
index 88985a7918..010ce182e6 100644
--- a/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg
+++ b/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg
@@ -43,11 +43,11 @@ skirt_brim_minimal_length = 75
skirt_gap = 1.5
skirt_line_count = 5
speed_infill = =speed_print
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 30)
speed_print = 30
-speed_topbottom = 40
+speed_topbottom = =math.ceil(speed_print * 40 / 30)
speed_travel = 200
-speed_wall_0 = 40
+speed_wall_0 = =math.ceil(speed_print * 40 / 30)
speed_wall_x = =speed_print
support_angle = 70
support_type = buildplate
diff --git a/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg
index cef9b6023a..2b7e7d7c24 100644
--- a/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg
+++ b/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg
@@ -43,11 +43,11 @@ skirt_brim_minimal_length = 75
skirt_gap = 1.5
skirt_line_count = 5
speed_infill = =speed_print
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 30)
speed_print = 30
-speed_topbottom = 40
+speed_topbottom = =math.ceil(speed_print * 40 / 30)
speed_travel = 200
-speed_wall_0 = 40
+speed_wall_0 = =math.ceil(speed_print * 40 / 30)
speed_wall_x = =speed_print
support_angle = 70
support_type = buildplate
diff --git a/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg
index 63b2baf019..4a34c7e369 100644
--- a/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg
+++ b/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg
@@ -43,11 +43,11 @@ skirt_brim_minimal_length = 75
skirt_gap = 1.5
skirt_line_count = 5
speed_infill = =speed_print
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 30)
speed_print = 30
-speed_topbottom = 40
+speed_topbottom = =math.ceil(speed_print * 40 / 30)
speed_travel = 200
-speed_wall_0 = 40
+speed_wall_0 = =math.ceil(speed_print * 40 / 30)
speed_wall_x = =speed_print
support_angle = 70
support_type = buildplate
diff --git a/resources/quality/fast.inst.cfg b/resources/quality/fast.inst.cfg
index a725947eba..b77932eb9b 100644
--- a/resources/quality/fast.inst.cfg
+++ b/resources/quality/fast.inst.cfg
@@ -14,8 +14,8 @@ global_quality = True
infill_sparse_density = 10
layer_height = 0.15
cool_min_layer_time = 3
-speed_wall_0 = 40
-speed_wall_x = 80
-speed_infill = 100
+speed_wall_0 = =math.ceil(speed_print * 40 / 60)
+speed_wall_x = =math.ceil(speed_print * 80 / 60)
+speed_infill = =math.ceil(speed_print * 100 / 60)
wall_thickness = 1
-speed_topbottom = 30
+speed_topbottom = =math.ceil(speed_print * 30 / 60)
diff --git a/resources/quality/high.inst.cfg b/resources/quality/high.inst.cfg
index 673ce56f04..ca621a2b9d 100644
--- a/resources/quality/high.inst.cfg
+++ b/resources/quality/high.inst.cfg
@@ -12,5 +12,5 @@ global_quality = True
[values]
layer_height = 0.06
-speed_topbottom = 15
-speed_infill = 80
+speed_topbottom = =math.ceil(speed_print * 15 / 60)
+speed_infill = =math.ceil(speed_print * 80 / 60)
diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg
index 25b6f1155a..4d12c193c0 100644
--- a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg
@@ -43,13 +43,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 25
skirt_line_count = 2
-speed_layer_0 = 14
+speed_layer_0 = =math.ceil(speed_print * 14 / 40)
speed_print = 40
speed_slowdown_layers = 1
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 40)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 40)
+speed_wall_x = =math.ceil(speed_print * 35 / 40)
top_thickness = =top_bottom_thickness
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg
index 2d975b1240..f59bee301a 100644
--- a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg
@@ -43,13 +43,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 25
skirt_line_count = 2
-speed_layer_0 = 14
+speed_layer_0 = =math.ceil(speed_print * 14 / 40)
speed_print = 40
speed_slowdown_layers = 1
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 40)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 40)
+speed_wall_x = =math.ceil(speed_print * 35 / 40)
top_thickness = =top_bottom_thickness
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg
index c510473c3d..f2abdd22a4 100644
--- a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg
@@ -43,13 +43,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 25
skirt_line_count = 2
-speed_layer_0 = 14
+speed_layer_0 = =math.ceil(speed_print * 14 / 40)
speed_print = 40
speed_slowdown_layers = 1
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 40)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 40)
+speed_wall_x = =math.ceil(speed_print * 35 / 40)
top_thickness = =top_bottom_thickness
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg
index 682f850c83..c592252f54 100644
--- a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg
@@ -43,13 +43,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 25
skirt_line_count = 2
-speed_layer_0 = 14
+speed_layer_0 = =math.ceil(speed_print * 14 / 40)
speed_print = 40
speed_slowdown_layers = 1
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 40)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 40)
+speed_wall_x = =math.ceil(speed_print * 35 / 40)
top_thickness = =top_bottom_thickness
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg
index 264878f9d9..98f9a8cf1b 100644
--- a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg
@@ -41,13 +41,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 20
skirt_line_count = 3
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_slowdown_layers = 1
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 45)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 45)
+speed_wall_x = =math.ceil(speed_print * 35 / 45)
top_thickness = 0.8
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg
index 8427144478..fd26acc671 100644
--- a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg
@@ -41,13 +41,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 20
skirt_line_count = 3
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_slowdown_layers = 1
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 45)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 45)
+speed_wall_x = =math.ceil(speed_print * 35 / 45)
top_thickness = 0.8
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg
index 335e62c698..d233e1cd4a 100644
--- a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg
@@ -42,13 +42,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 20
skirt_line_count = 3
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_slowdown_layers = 1
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 45)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 45)
+speed_wall_x = =math.ceil(speed_print * 35 / 45)
top_thickness = 0.8
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg
index bb4f9f0570..4fd76f6b8d 100644
--- a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg
@@ -42,13 +42,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 20
skirt_line_count = 3
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_slowdown_layers = 1
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 45)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 45)
+speed_wall_x = =math.ceil(speed_print * 35 / 45)
top_thickness = 0.8
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg
index 8bb391bdaa..1fa7db1c7a 100644
--- a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg
@@ -41,13 +41,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 20
skirt_line_count = 3
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_slowdown_layers = 1
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 45)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 45)
+speed_wall_x = =math.ceil(speed_print * 35 / 45)
top_thickness = 0.8
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg
index 9e4d8efddc..402d4dda1d 100644
--- a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg
@@ -41,13 +41,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 20
skirt_line_count = 3
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_slowdown_layers = 1
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 45)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 45)
+speed_wall_x = =math.ceil(speed_print * 35 / 45)
top_thickness = 0.8
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg
index aac761463d..de4302e853 100644
--- a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg
@@ -43,13 +43,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 20
skirt_line_count = 3
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_slowdown_layers = 1
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 45)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 45)
+speed_wall_x = =math.ceil(speed_print * 35 / 45)
top_thickness = 0.8
wall_thickness = 0.8
diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg
index 8df712f8ee..28425681fd 100644
--- a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg
+++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg
@@ -43,13 +43,13 @@ skin_no_small_gaps_heuristic = False
skirt_brim_minimal_length = 100
skirt_brim_speed = 20
skirt_line_count = 3
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_slowdown_layers = 1
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 45)
speed_travel = 120
speed_travel_layer_0 = 60
-speed_wall = 25
-speed_wall_x = 35
+speed_wall = =math.ceil(speed_print * 25 / 45)
+speed_wall_x = =math.ceil(speed_print * 35 / 45)
top_thickness = 0.8
wall_thickness = 0.8
diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg
index 38a5208905..c9f38786f8 100644
--- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg
+++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg
@@ -15,11 +15,11 @@ layer_height = 0.35
layer_height_0 = 0.3
speed_print = 70
-speed_infill = 60
-speed_layer_0 = 20
-speed_wall_0 = 30
-speed_wall_x = 50
-speed_topbottom = 30
+speed_infill = =math.ceil(speed_print * 60 / 70)
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
+speed_wall_0 = =math.ceil(speed_print * 30 / 70)
+speed_wall_x = =math.ceil(speed_print * 50 / 70)
+speed_topbottom = =math.ceil(speed_print * 30 / 70)
speed_travel = 120
material_print_temperature = 246
diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg
index 9438ecbfa7..a402bb0990 100644
--- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg
+++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg
@@ -15,11 +15,11 @@ layer_height = 0.06
layer_height_0 = 0.3
speed_print = 40
-speed_infill = 50
-speed_layer_0 = 15
-speed_wall_0 = 20
-speed_wall_x = 40
-speed_topbottom = 20
+speed_infill = =math.ceil(speed_print * 50 / 40)
+speed_layer_0 = =math.ceil(speed_print * 15 / 40)
+speed_wall_0 = =math.ceil(speed_print * 20 / 40)
+speed_wall_x = =speed_print
+speed_topbottom = =math.ceil(speed_print * 20 / 40)
speed_travel = 120
material_print_temperature = 246
diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg
index 16d3367472..0aa0c8ace0 100644
--- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg
+++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg
@@ -15,11 +15,11 @@ layer_height = 0.1
layer_height_0 = 0.3
speed_print = 50
-speed_infill = 60
-speed_layer_0 = 20
-speed_wall_0 = 25
-speed_wall_x = 45
-speed_topbottom = 30
+speed_infill = =math.ceil(speed_print * 60 / 50)
+speed_layer_0 = =math.ceil(speed_print * 20 / 50)
+speed_wall_0 = =math.ceil(speed_print * 25 / 50)
+speed_wall_x = =math.ceil(speed_print * 45 / 50)
+speed_topbottom = =math.ceil(speed_print * 30 / 50)
speed_travel = 120
material_print_temperature = 246
diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg
index d0b15cf47b..8c3d118315 100644
--- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg
+++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg
@@ -15,11 +15,11 @@ layer_height = 0.2
layer_height_0 = 0.3
speed_print = 70
-speed_infill = 60
-speed_layer_0 = 20
-speed_wall_0 = 30
-speed_wall_x = 50
-speed_topbottom = 30
+speed_infill = =math.ceil(speed_print * 60 / 70)
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
+speed_wall_0 = =math.ceil(speed_print * 30 / 70)
+speed_wall_x = =math.ceil(speed_print * 50 / 70)
+speed_topbottom = =math.ceil(speed_print * 30 / 70)
speed_travel = 120
material_print_temperature = 246
diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg
index 2d32a0cc87..a889f34610 100644
--- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg
+++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg
@@ -15,11 +15,11 @@ layer_height = 0.15
layer_height_0 = 0.3
speed_print = 60
-speed_infill = 50
-speed_layer_0 = 15
-speed_wall_0 = 20
-speed_wall_x = 40
-speed_topbottom = 20
+speed_infill = =math.ceil(speed_print * 50 / 60)
+speed_layer_0 = =math.ceil(speed_print * 15 / 60)
+speed_wall_0 = =math.ceil(speed_print * 20 / 60)
+speed_wall_x = =math.ceil(speed_print * 40 / 60)
+speed_topbottom = =math.ceil(speed_print * 20 / 60)
speed_travel = 120
material_print_temperature = 246
diff --git a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg
index 8c0d1cf9ca..78a59d00c2 100644
--- a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg
+++ b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg
@@ -15,11 +15,11 @@ layer_height = 0.06
adhesion_type = skirt
speed_print = 40
-speed_infill = 50
-speed_layer_0 = 15
-speed_wall_0 = 20
-speed_wall_x = 40
-speed_topbottom = 20
+speed_infill = =math.ceil(speed_print * 50 / 40)
+speed_layer_0 = =math.ceil(speed_print * 15 / 40)
+speed_wall_0 = =math.ceil(speed_print * 20 / 40)
+speed_wall_x = =speed_print
+speed_topbottom = =math.ceil(speed_print * 20 / 40)
speed_travel = 120
material_print_temperature = 214
diff --git a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg
index b1e576f162..5ce23ce0d3 100644
--- a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg
+++ b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg
@@ -15,11 +15,11 @@ layer_height = 0.1
adhesion_type = skirt
speed_print = 50
-speed_infill = 60
-speed_layer_0 = 20
-speed_wall_0 = 25
-speed_wall_x = 45
-speed_topbottom = 30
+speed_infill = =math.ceil(speed_print * 60 / 50)
+speed_layer_0 = =math.ceil(speed_print * 20 / 50)
+speed_wall_0 = =math.ceil(speed_print * 25 / 50)
+speed_wall_x = =math.ceil(speed_print * 45 / 50)
+speed_topbottom = =math.ceil(speed_print * 30 / 50)
speed_travel = 120
material_print_temperature = 214
diff --git a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg
index da6d2d89ae..75b7407449 100644
--- a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg
+++ b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg
@@ -15,11 +15,11 @@ layer_height = 0.15
adhesion_type = skirt
speed_print = 60
-speed_infill = 50
-speed_layer_0 = 15
-speed_wall_0 = 20
-speed_wall_x = 40
-speed_topbottom = 20
+speed_infill = =math.ceil(speed_print * 50 / 60)
+speed_layer_0 = =math.ceil(speed_print * 15 / 60)
+speed_wall_0 = =math.ceil(speed_print * 20 / 60)
+speed_wall_x = =math.ceil(speed_print * 40 / 60)
+speed_topbottom = =math.ceil(speed_print * 20 / 60)
speed_travel = 120
material_print_temperature = 214
diff --git a/resources/quality/malyan_m200/malyan_m200_global_Draft_Quality.inst.cfg b/resources/quality/malyan_m200/malyan_m200_global_Draft_Quality.inst.cfg
index 91153f57f7..257f5a9e81 100644
--- a/resources/quality/malyan_m200/malyan_m200_global_Draft_Quality.inst.cfg
+++ b/resources/quality/malyan_m200/malyan_m200_global_Draft_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/malyan_m200/malyan_m200_global_Fast_Quality.inst.cfg b/resources/quality/malyan_m200/malyan_m200_global_Fast_Quality.inst.cfg
index 6b29fc3649..c7d789e4cf 100644
--- a/resources/quality/malyan_m200/malyan_m200_global_Fast_Quality.inst.cfg
+++ b/resources/quality/malyan_m200/malyan_m200_global_Fast_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/malyan_m200/malyan_m200_global_High_Quality.inst.cfg b/resources/quality/malyan_m200/malyan_m200_global_High_Quality.inst.cfg
index c32814152f..f474170e69 100644
--- a/resources/quality/malyan_m200/malyan_m200_global_High_Quality.inst.cfg
+++ b/resources/quality/malyan_m200/malyan_m200_global_High_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/malyan_m200/malyan_m200_global_Normal_Quality.inst.cfg b/resources/quality/malyan_m200/malyan_m200_global_Normal_Quality.inst.cfg
index eb29cfa8a5..b887c3a1f9 100644
--- a/resources/quality/malyan_m200/malyan_m200_global_Normal_Quality.inst.cfg
+++ b/resources/quality/malyan_m200/malyan_m200_global_Normal_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/malyan_m200/malyan_m200_global_SuperDraft_Quality.inst.cfg b/resources/quality/malyan_m200/malyan_m200_global_SuperDraft_Quality.inst.cfg
index 47bd154d90..0182bb2ad9 100644
--- a/resources/quality/malyan_m200/malyan_m200_global_SuperDraft_Quality.inst.cfg
+++ b/resources/quality/malyan_m200/malyan_m200_global_SuperDraft_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/malyan_m200/malyan_m200_global_ThickerDraft_Quality.inst.cfg b/resources/quality/malyan_m200/malyan_m200_global_ThickerDraft_Quality.inst.cfg
index c7b6a0b44d..22fa4e8ada 100644
--- a/resources/quality/malyan_m200/malyan_m200_global_ThickerDraft_Quality.inst.cfg
+++ b/resources/quality/malyan_m200/malyan_m200_global_ThickerDraft_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/malyan_m200/malyan_m200_global_Ultra_Quality.inst.cfg b/resources/quality/malyan_m200/malyan_m200_global_Ultra_Quality.inst.cfg
index f3917e23f7..31edd74bfe 100644
--- a/resources/quality/malyan_m200/malyan_m200_global_Ultra_Quality.inst.cfg
+++ b/resources/quality/malyan_m200/malyan_m200_global_Ultra_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/malyan_m200/malyan_m200_global_VeryDraft_Quality.inst.cfg b/resources/quality/malyan_m200/malyan_m200_global_VeryDraft_Quality.inst.cfg
index 281374a7f1..f6d3119ada 100644
--- a/resources/quality/malyan_m200/malyan_m200_global_VeryDraft_Quality.inst.cfg
+++ b/resources/quality/malyan_m200/malyan_m200_global_VeryDraft_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Draft_Quality.inst.cfg b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Draft_Quality.inst.cfg
index 002784bf21..ca03cca9a6 100644
--- a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Draft_Quality.inst.cfg
+++ b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Draft_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Fast_Quality.inst.cfg b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Fast_Quality.inst.cfg
index 31965ff4ef..32cf802c6f 100644
--- a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Fast_Quality.inst.cfg
+++ b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Fast_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_High_Quality.inst.cfg b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_High_Quality.inst.cfg
index a828a3466f..4913e1c415 100644
--- a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_High_Quality.inst.cfg
+++ b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_High_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Normal_Quality.inst.cfg b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Normal_Quality.inst.cfg
index 560a98eedd..1d14d2d9cf 100644
--- a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Normal_Quality.inst.cfg
+++ b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Normal_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_SuperDraft_Quality.inst.cfg b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_SuperDraft_Quality.inst.cfg
index 32aab452b9..9b6fc58109 100644
--- a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_SuperDraft_Quality.inst.cfg
+++ b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_SuperDraft_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_ThickerDraft_Quality.inst.cfg b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_ThickerDraft_Quality.inst.cfg
index d591899d58..c8494b4600 100644
--- a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_ThickerDraft_Quality.inst.cfg
+++ b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_ThickerDraft_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Ultra_Quality.inst.cfg b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Ultra_Quality.inst.cfg
index 2d1cb39569..25d453a7a1 100644
--- a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Ultra_Quality.inst.cfg
+++ b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_Ultra_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_VeryDraft_Quality.inst.cfg b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_VeryDraft_Quality.inst.cfg
index 41e6553b52..8e583a463d 100644
--- a/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_VeryDraft_Quality.inst.cfg
+++ b/resources/quality/monoprice_select_mini_v2/monoprice_select_mini_v2_global_VeryDraft_Quality.inst.cfg
@@ -18,6 +18,6 @@ top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
cool_min_layer_time = 5
cool_min_speed = 10
diff --git a/resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg b/resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg
index 29de7591bf..b85fc8c95c 100644
--- a/resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg
+++ b/resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg
@@ -14,13 +14,13 @@ brim_width = 4.0
infill_pattern = zigzag
layer_height = 0.3
material_diameter = 1.75
-speed_infill = 50
+speed_infill = =speed_print
speed_print = 50
speed_support = 30
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
speed_travel = 100
-speed_wall = 50
-speed_wall_x = 50
+speed_wall = =speed_print
+speed_wall_x = =speed_print
support_angle = 60
support_enable = True
support_interface_enable = True
diff --git a/resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg b/resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg
index e495d2d74b..9b52da8c0b 100644
--- a/resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg
+++ b/resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg
@@ -14,13 +14,13 @@ brim_width = 4.0
infill_pattern = zigzag
layer_height = 0.1
material_diameter = 1.75
-speed_infill = 50
+speed_infill = =speed_print
speed_print = 50
speed_support = 30
-speed_topbottom = 15
+speed_topbottom = =math.ceil(speed_print * 15 / 50)
speed_travel = 100
-speed_wall = 50
-speed_wall_x = 50
+speed_wall = =speed_print
+speed_wall_x = =speed_print
support_angle = 60
support_enable = True
support_interface_enable = True
diff --git a/resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg b/resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg
index 4df87784ef..a171463fde 100644
--- a/resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg
+++ b/resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg
@@ -14,13 +14,13 @@ brim_width = 4.0
infill_pattern = zigzag
layer_height = 0.2
material_diameter = 1.75
-speed_infill = 60
+speed_infill = =math.ceil(speed_print * 60 / 50)
speed_print = 50
speed_support = 30
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
speed_travel = 100
-speed_wall = 50
-speed_wall_x = 50
+speed_wall = =speed_print
+speed_wall_x = =speed_print
support_angle = 60
support_enable = True
support_interface_enable = True
diff --git a/resources/quality/ultimaker2/um2_fast.inst.cfg b/resources/quality/ultimaker2/um2_fast.inst.cfg
index 99ddb540cc..0534f821e1 100644
--- a/resources/quality/ultimaker2/um2_fast.inst.cfg
+++ b/resources/quality/ultimaker2/um2_fast.inst.cfg
@@ -14,8 +14,8 @@ global_quality = True
infill_sparse_density = 10
layer_height = 0.15
cool_min_layer_time = 3
-speed_wall_0 = 40
-speed_wall_x = 80
-speed_infill = 100
+speed_wall_0 = =math.ceil(speed_print * 40 / 60)
+speed_wall_x = =math.ceil(speed_print * 80 / 60)
+speed_infill = =math.ceil(speed_print * 100 / 60)
wall_thickness = 1
-speed_topbottom = 30
+speed_topbottom = =math.ceil(speed_print * 30 / 60)
diff --git a/resources/quality/ultimaker2/um2_high.inst.cfg b/resources/quality/ultimaker2/um2_high.inst.cfg
index f54700bf70..74e1f2f528 100644
--- a/resources/quality/ultimaker2/um2_high.inst.cfg
+++ b/resources/quality/ultimaker2/um2_high.inst.cfg
@@ -12,5 +12,5 @@ global_quality = True
[values]
layer_height = 0.06
-speed_topbottom = 15
-speed_infill = 80
+speed_topbottom = =math.ceil(speed_print * 15 / 60)
+speed_infill = =math.ceil(speed_print * 80 / 60)
diff --git a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg
index b50de37b47..02396f6820 100644
--- a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg
@@ -18,8 +18,8 @@ infill_sparse_density = 18
layer_height = 0.15
speed_layer_0 = =round(speed_print * 30 / 60)
speed_print = 60
-speed_topbottom = 30
+speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_travel = 150
-speed_wall = 50
+speed_wall = =math.ceil(speed_print * 50 / 60)
top_bottom_thickness = 0.75
wall_thickness = 0.7
diff --git a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg
index 9481e3427a..62816d0ab0 100644
--- a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg
+++ b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg
@@ -18,6 +18,6 @@ infill_sparse_density = 22
layer_height = 0.06
speed_layer_0 = =round(speed_print * 30 / 50)
speed_print = 50
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
top_bottom_thickness = 0.72
wall_thickness = 1.05
diff --git a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg
index 875db4959f..51aa06dc14 100644
--- a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg
@@ -18,6 +18,6 @@ infill_sparse_density = 20
layer_height = 0.1
speed_layer_0 = =round(speed_print * 30 / 50)
speed_print = 50
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 50)
top_bottom_thickness = 0.8
wall_thickness = 1.05
diff --git a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg
index b07b4931ca..f6384421b2 100644
--- a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg
@@ -18,8 +18,8 @@ infill_sparse_density = 20
layer_height = 0.15
speed_layer_0 = =round(speed_print * 30 / 55)
speed_print = 55
-speed_topbottom = 20
-speed_wall = 40
-speed_wall_0 = 25
+speed_topbottom = =math.ceil(speed_print * 20 / 55)
+speed_wall = =math.ceil(speed_print * 40 / 55)
+speed_wall_0 = =math.ceil(speed_print * 25 / 55)
top_bottom_thickness = 1.2
wall_thickness = 1.59
diff --git a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg
index 0e76e53316..314ef8ec68 100644
--- a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg
@@ -18,6 +18,6 @@ infill_sparse_density = 20
layer_height = 0.2
speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40
-speed_wall_0 = 25
+speed_wall_0 = =math.ceil(speed_print * 25 / 40)
top_bottom_thickness = 1.2
wall_thickness = 2.1
diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg
index ded9319b3e..4d7f6eb535 100644
--- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg
@@ -20,8 +20,11 @@ infill_sparse_density = 18
layer_height = 0.15
speed_layer_0 = =round(speed_print * 30 / 55)
speed_print = 55
-speed_topbottom = 30
+speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_travel = 150
-speed_wall = 40
+speed_wall = =math.ceil(speed_print * 40 / 55)
top_bottom_thickness = 0.75
wall_thickness = 0.7
+speed_wall_0 = =math.ceil(speed_print * 40 / 55)
+speed_wall_x = =math.ceil(speed_print * 80 / 55)
+speed_infill = =math.ceil(speed_print * 100 / 55)
diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg
index c94333555c..155d890d78 100644
--- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg
@@ -20,6 +20,8 @@ infill_sparse_density = 22
layer_height = 0.06
speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
-speed_wall = 30
+speed_wall = =math.ceil(speed_print * 30 / 45)
top_bottom_thickness = 0.72
wall_thickness = 1.05
+speed_topbottom = =math.ceil(speed_print * 15 / 45)
+speed_infill = =math.ceil(speed_print * 80 / 45)
diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg
index 6adb9c9caf..da79e75346 100644
--- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg
@@ -20,6 +20,6 @@ infill_sparse_density = 20
layer_height = 0.1
speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
-speed_wall = 30
+speed_wall = =math.ceil(speed_print * 30 / 45)
top_bottom_thickness = 0.8
wall_thickness = 1.05
diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg
index 332608a2f9..0cb3118bfc 100644
--- a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg
@@ -18,7 +18,7 @@ cool_min_layer_time_fan_speed_max = 20
cool_min_speed = 20
infill_sparse_density = 20
layer_height = 0.15
-speed_infill = 55
+speed_infill = =math.ceil(speed_print * 55 / 40)
speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40
top_bottom_thickness = 1.2
diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg
index b9ec279e07..2c3eebc1de 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg
@@ -21,6 +21,10 @@ layer_height = 0.15
speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
speed_travel = 150
-speed_wall = 40
+speed_wall = =math.ceil(speed_print * 40 / 45)
top_bottom_thickness = 0.75
wall_thickness = 0.7
+speed_wall_0 = =math.ceil(speed_print * 40 / 45)
+speed_topbottom = =math.ceil(speed_print * 30 / 45)
+speed_wall_x = =math.ceil(speed_print * 80 / 45)
+speed_infill = =math.ceil(speed_print * 100 / 45)
diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg
index e929d9f545..8facfa298c 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg
@@ -20,6 +20,8 @@ infill_sparse_density = 22
layer_height = 0.06
speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
-speed_wall = 30
+speed_wall = =math.ceil(speed_print * 30 / 45)
top_bottom_thickness = 0.72
wall_thickness = 1.05
+speed_topbottom = =math.ceil(speed_print * 15 / 45)
+speed_infill = =math.ceil(speed_print * 80 / 45)
diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg
index 7637f6440a..e7d78d68c3 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg
@@ -20,6 +20,6 @@ infill_sparse_density = 20
layer_height = 0.1
speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
-speed_wall = 30
+speed_wall = =math.ceil(speed_print * 30 / 45)
top_bottom_thickness = 0.8
wall_thickness = 1.05
diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg
index fe975128a0..0e366a78fb 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg
@@ -29,11 +29,11 @@ raft_interface_line_spacing = 1
raft_interface_line_width = 0.8
raft_margin = 15
raft_surface_line_width = 0.38
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
-speed_topbottom = 20
-speed_wall_0 = 20
-speed_wall_x = 25
+speed_topbottom = =math.ceil(speed_print * 20 / 25)
+speed_wall_0 = =math.ceil(speed_print * 20 / 25)
+speed_wall_x = =speed_print
support_angle = 45
support_enable = True
support_infill_rate = 20
diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg
index e7bb7b3449..4e97629fb2 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg
@@ -29,11 +29,11 @@ raft_interface_line_spacing = 1
raft_interface_line_width = 0.8
raft_margin = 15
raft_surface_line_width = 0.38
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 35)
speed_print = 35
-speed_topbottom = 20
-speed_wall_0 = 20
-speed_wall_x = 30
+speed_topbottom = =math.ceil(speed_print * 20 / 35)
+speed_wall_0 = =math.ceil(speed_print * 20 / 35)
+speed_wall_x = =math.ceil(speed_print * 30 / 35)
support_angle = 45
support_enable = True
support_infill_rate = 20
diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg
index 9751bef5fe..7002367337 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg
@@ -32,10 +32,10 @@ raft_surface_line_width = 0.57
raft_surface_thickness = 0.2
speed_layer_0 = =round(speed_print * 30 / 50)
speed_print = 25
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 25)
speed_travel = 150
-speed_wall_0 = 20
-speed_wall_x = 25
+speed_wall_0 = =math.ceil(speed_print * 20 / 25)
+speed_wall_x = =speed_print
support_angle = 45
support_enable = True
support_infill_rate = 20
diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg
index 203d122de5..b79829e3e3 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg
@@ -30,12 +30,12 @@ raft_interface_line_width = 1.2
raft_margin = 15
raft_surface_line_width = 0.57
raft_surface_thickness = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 35)
speed_print = 35
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 35)
speed_travel = 150
-speed_wall_0 = 30
-speed_wall_x = 35
+speed_wall_0 = =math.ceil(speed_print * 30 / 35)
+speed_wall_x = =speed_print
support_angle = 45
support_enable = True
support_infill_rate = 20
diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg
index b80949a627..32b79e62cc 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg
@@ -30,9 +30,9 @@ raft_surface_line_width = 0.7
raft_surface_thickness = 0.2
speed_layer_0 = =round(speed_print * 30 / 25)
speed_print = 25
-speed_topbottom = 20
-speed_wall_0 = 20
-speed_wall_x = 25
+speed_topbottom = =math.ceil(speed_print * 20 / 25)
+speed_wall_0 = =math.ceil(speed_print * 20 / 25)
+speed_wall_x = =speed_print
support_angle = 45
support_enable = True
support_infill_rate = 20
diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg
index 4f96db3c3b..5ec9db4a02 100644
--- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg
@@ -30,9 +30,9 @@ raft_surface_line_width = 0.7
raft_surface_thickness = 0.2
speed_layer_0 = =round(speed_print * 30 / 30)
speed_print = 30
-speed_topbottom = 20
-speed_wall_0 = 20
-speed_wall_x = 30
+speed_topbottom = =math.ceil(speed_print * 20 / 30)
+speed_wall_0 = =math.ceil(speed_print * 20 / 30)
+speed_wall_x = =speed_print
support_angle = 45
support_enable = True
support_infill_rate = 20
diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg
index d31c23a5c0..b4622b1cdc 100644
--- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg
@@ -28,13 +28,13 @@ raft_interface_line_width = 0.5
raft_margin = 15
raft_surface_line_width = 0.2
retraction_hop_enabled = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 40)
speed_print = 40
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 40)
speed_travel = 150
-speed_wall_0 = 20
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 20 / 40)
+speed_wall_x = =speed_print
support_enable = True
support_infill_rate = 20
support_pattern = lines
@@ -42,3 +42,4 @@ support_xy_distance = 0.6
support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2
wall_thickness = 1
+speed_infill = =math.ceil(speed_print * 80 / 40)
diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg
index 0f9fd57197..6f1eae09c6 100644
--- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg
@@ -28,13 +28,13 @@ raft_interface_line_width = 0.5
raft_margin = 15
raft_surface_line_width = 0.2
retraction_hop_enabled = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 40)
speed_print = 40
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 40)
speed_travel = 150
-speed_wall_0 = 20
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 20 / 40)
+speed_wall_x = =speed_print
support_enable = True
support_infill_rate = 20
support_pattern = lines
diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg
index 0d8371760f..36fe6170af 100644
--- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg
@@ -28,11 +28,11 @@ raft_interface_line_width = 0.8
raft_margin = 15
raft_surface_line_width = 0.5
raft_surface_thickness = 0.15
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 45)
speed_print = 45
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 45)
speed_travel = 150
-speed_wall = 40
+speed_wall = =math.ceil(speed_print * 40 / 45)
support_angle = 45
support_enable = True
support_infill_rate = 25
@@ -41,3 +41,6 @@ support_xy_distance = 0.6
support_z_distance = =layer_height * 2
top_bottom_thickness = 0.75
wall_thickness = 1.06
+speed_wall_0 = =math.ceil(speed_print * 40 / 45)
+speed_wall_x = =math.ceil(speed_print * 80 / 45)
+speed_infill = =math.ceil(speed_print * 100 / 45)
diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg
index 3ac77b3642..7c9c13ad9d 100644
--- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg
@@ -28,10 +28,10 @@ raft_interface_line_width = 0.8
raft_margin = 15
raft_surface_line_width = 0.5
raft_surface_thickness = 0.15
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 45)
speed_print = 45
speed_travel = 150
-speed_wall = 40
+speed_wall = =math.ceil(speed_print * 40 / 45)
support_angle = 45
support_enable = True
support_infill_rate = 25
diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg
index d6332e5688..527a78a6c9 100644
--- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg
@@ -29,13 +29,13 @@ raft_margin = 15
raft_surface_line_width = 0.6
raft_surface_thickness = 0.15
retraction_hop_enabled = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 55)
speed_print = 55
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 55)
speed_travel = 150
-speed_wall_0 = 15
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 15 / 55)
+speed_wall_x = =math.ceil(speed_print * 40 / 55)
support_angle = 45
support_bottom_distance = 0.55
support_enable = True
@@ -46,3 +46,4 @@ support_xy_distance = 0.7
support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2
wall_thickness = 1.2
+speed_infill = =math.ceil(speed_print * 100 / 55)
diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg
index 22250e1147..adaf07c272 100644
--- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg
@@ -29,13 +29,13 @@ raft_margin = 15
raft_surface_line_width = 0.6
raft_surface_thickness = 0.15
retraction_hop_enabled = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 55)
speed_print = 55
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 55)
speed_travel = 150
-speed_wall_0 = 15
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 15 / 55)
+speed_wall_x = =math.ceil(speed_print * 40 / 55)
support_angle = 45
support_enable = True
support_infill_rate = 25
diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg
index 0ba3a33812..cd292e6a2b 100644
--- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg
@@ -28,13 +28,13 @@ raft_margin = 15
raft_surface_line_width = 0.7
raft_surface_thickness = 0.2
retraction_hop_enabled = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 55)
speed_print = 55
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 55)
speed_travel = 150
-speed_wall_0 = 15
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 15 / 55)
+speed_wall_x = =math.ceil(speed_print * 40 / 55)
support_angle = 45
support_bottom_distance = 0.65
support_enable = True
diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg
index 5e0d64ec12..a93243dca5 100644
--- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg
@@ -31,10 +31,10 @@ retraction_hop_enabled = 0.2
speed_layer_0 = =round(speed_print * 30 / 55)
speed_print = 55
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 55)
speed_travel = 150
-speed_wall_0 = 15
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 15 / 55)
+speed_wall_x = =math.ceil(speed_print * 40 / 55)
support_angle = 45
support_bottom_distance = 0.65
support_enable = True
diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg
index d7cafd20a5..4a18f2ac65 100644
--- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg
@@ -36,3 +36,5 @@ support_infill_rate = 20
support_pattern = lines
support_z_distance = 0.19
wall_thickness = 0.88
+speed_topbottom = =math.ceil(speed_print * 15 / 30)
+speed_infill = =math.ceil(speed_print * 80 / 30)
diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg
index aaf4812786..5cf189f8da 100644
--- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg
@@ -29,11 +29,13 @@ raft_interface_line_width = 0.8
raft_margin = 15
speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
-speed_wall_0 = 20
-speed_wall_x = 30
+speed_wall_0 = =math.ceil(speed_print * 20 / 45)
+speed_wall_x = =math.ceil(speed_print * 30 / 45)
support_angle = 45
support_enable = True
support_infill_rate = 20
support_pattern = lines
support_z_distance = 0.19
wall_thickness = 1.2
+speed_topbottom = =math.ceil(speed_print * 30 / 45)
+speed_infill = =math.ceil(speed_print * 100 / 45)
diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg
index a54ce9d946..32b0c37636 100644
--- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg
@@ -29,8 +29,8 @@ raft_interface_line_width = 0.8
raft_margin = 15
speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
-speed_wall_0 = 20
-speed_wall_x = 30
+speed_wall_0 = =math.ceil(speed_print * 20 / 45)
+speed_wall_x = =math.ceil(speed_print * 30 / 45)
support_angle = 45
support_enable = True
support_infill_rate = 20
diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg
index 2d50f96661..09b60aadff 100644
--- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg
@@ -29,12 +29,12 @@ raft_interface_line_width = 1.2
raft_margin = 15
raft_surface_line_width = 0.6
raft_surface_thickness = 0.15
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 45)
speed_print = 45
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 45)
speed_travel = 150
-speed_wall_0 = 30
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 30 / 45)
+speed_wall_x = =math.ceil(speed_print * 40 / 45)
support_angle = 45
support_enable = True
support_infill_rate = 20
@@ -43,3 +43,4 @@ support_pattern = lines
support_z_distance = 0.21
top_bottom_thickness = 0.75
wall_thickness = 1.06
+speed_infill = =math.ceil(speed_print * 100 / 45)
diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg
index a19483c39a..b4b556a720 100644
--- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg
@@ -29,12 +29,12 @@ raft_interface_line_width = 1.2
raft_margin = 15
raft_surface_line_width = 0.6
raft_surface_thickness = 0.15
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 45)
speed_print = 45
-speed_topbottom = 20
+speed_topbottom = =math.ceil(speed_print * 20 / 45)
speed_travel = 150
-speed_wall_0 = 30
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 30 / 45)
+speed_wall_x = =math.ceil(speed_print * 40 / 45)
support_angle = 45
support_enable = True
support_infill_rate = 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 16c4a47340..4a12fe0883 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
@@ -50,7 +50,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.5
retraction_prime_speed = 15
skin_overlap = 10
-speed_layer_0 = 25
+speed_layer_0 = =speed_print
speed_prime_tower = =speed_topbottom
speed_print = 25
speed_support_interface = =speed_topbottom
@@ -69,3 +69,5 @@ travel_avoid_distance = 3
wall_0_inset = 0
wall_line_width_x = =round(line_width * 0.38 / 0.38, 2)
wall_thickness = 0.76
+speed_wall_x = =math.ceil(speed_print * 80 / 25)
+speed_infill = =math.ceil(speed_print * 100 / 25)
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 d318275700..8ceed3cd94 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
@@ -49,7 +49,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.5
retraction_prime_speed = 15
skin_overlap = 10
-speed_layer_0 = 25
+speed_layer_0 = =speed_print
speed_prime_tower = =speed_topbottom
speed_print = 25
speed_support_interface = =speed_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 dd150d903a..d22984afa1 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
@@ -50,7 +50,7 @@ retraction_hop_only_when_collides = True
retraction_prime_speed = 15
skin_overlap = 10
skirt_brim_line_width = 0.6
-speed_layer_0 = 25
+speed_layer_0 = =speed_print
speed_prime_tower = =speed_topbottom
speed_print = 25
speed_support_interface = =speed_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 8cb602b7eb..a8dd425d3d 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
@@ -50,7 +50,7 @@ retraction_hop_only_when_collides = True
retraction_prime_speed = 15
skin_overlap = 10
skirt_brim_line_width = 0.6
-speed_layer_0 = 25
+speed_layer_0 = =speed_print
speed_prime_tower = =speed_topbottom
speed_print = 25
speed_support_interface = =speed_topbottom
@@ -70,3 +70,5 @@ travel_avoid_distance = 3
wall_0_inset = 0
wall_line_width_x = =round(line_width * 0.57 / 0.57, 2)
wall_thickness = 1.14
+speed_wall_x = =math.ceil(speed_print * 80 / 25)
+speed_infill = =math.ceil(speed_print * 100 / 25)
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 3e38caa1ec..aa7f5c27ee 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
@@ -50,7 +50,7 @@ retraction_hop_only_when_collides = True
retraction_prime_speed = 15
skin_overlap = 10
skirt_brim_line_width = 0.8
-speed_layer_0 = 25
+speed_layer_0 = =speed_print
speed_prime_tower = =speed_topbottom
speed_print = 25
speed_support_interface = =speed_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 39408477af..177e86c60d 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
@@ -50,7 +50,7 @@ retraction_hop_only_when_collides = True
retraction_prime_speed = 15
skin_overlap = 10
skirt_brim_line_width = 0.8
-speed_layer_0 = 25
+speed_layer_0 = =speed_print
speed_prime_tower = =speed_topbottom
speed_print = 25
speed_support_interface = =speed_topbottom
diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg
index 3e5f8f8180..559a636445 100644
--- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg
@@ -27,13 +27,13 @@ raft_interface_line_spacing = 1
raft_interface_line_width = 0.2
raft_surface_line_width = 0.2
retraction_hop_enabled = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 40)
speed_print = 40
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 40)
speed_travel = 150
-speed_wall_0 = 15
-speed_wall_x = 38
+speed_wall_0 = =math.ceil(speed_print * 15 / 40)
+speed_wall_x = =math.ceil(speed_print * 38 / 40)
support_angle = 45
support_enable = True
support_infill_rate = 25
@@ -41,3 +41,4 @@ support_xy_distance = 0.6
support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2
wall_thickness = 0.88
+speed_infill = =math.ceil(speed_print * 80 / 40)
diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg
index 84065dbfdf..3a2825685e 100644
--- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg
@@ -24,13 +24,13 @@ raft_base_line_width = 0.8
raft_interface_line_spacing = 1
raft_margin = 12
retraction_hop_enabled = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 40)
speed_print = 40
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 40)
speed_travel = 150
-speed_wall_0 = 20
-speed_wall_x = 35
+speed_wall_0 = =math.ceil(speed_print * 20 / 40)
+speed_wall_x = =math.ceil(speed_print * 35 / 40)
support_angle = 45
support_enable = True
support_infill_rate = 25
diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg
index ec424a6f40..87a429134f 100644
--- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg
+++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg
@@ -29,13 +29,13 @@ raft_interface_line_width = 0.57
raft_margin = 15
raft_surface_line_width = 0.5
retraction_hop_enabled = 0.2
-speed_layer_0 = 30
+speed_layer_0 = =math.ceil(speed_print * 30 / 45)
speed_print = 45
speed_support = 40
-speed_topbottom = 35
+speed_topbottom = =math.ceil(speed_print * 35 / 45)
speed_travel = 150
-speed_wall_0 = 15
-speed_wall_x = 40
+speed_wall_0 = =math.ceil(speed_print * 15 / 45)
+speed_wall_x = =math.ceil(speed_print * 40 / 45)
support_angle = 45
support_enable = True
support_infill_rate = 25
@@ -43,3 +43,4 @@ support_xy_distance = 0.7
support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2
wall_thickness = 1.14
+speed_infill = =math.ceil(speed_print * 100 / 45)
diff --git a/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg
index fabe67cc27..0292bfa6d1 100644
--- a/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg
@@ -16,7 +16,7 @@ prime_tower_purge_volume = 1
prime_tower_size = 12
prime_tower_wall_thickness = 0.9
retraction_extrusion_window = 0.5
-speed_infill = 40
+speed_infill = =math.ceil(speed_print * 40 / 55)
speed_topbottom = =math.ceil(speed_print * 30 / 55)
top_bottom_thickness = 0.8
wall_thickness = 0.92
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 8444d0faef..608bc837c7 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
@@ -38,9 +38,9 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_travel = 250
speed_wall = =math.ceil(speed_print * 40 / 50)
speed_wall_0 = =math.ceil(speed_wall * 25 / 40)
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 14345dc626..b4c557216e 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
@@ -24,11 +24,11 @@ material_initial_print_temperature = =max(-273.15, material_print_temperature -
material_print_temperature = 190
retraction_hop = 0.2
skin_overlap = 5
-speed_layer_0 = 30
+speed_layer_0 = =speed_print
speed_print = 30
speed_travel_layer_0 = 120
-speed_wall = 25
-speed_wall_0 = 20
+speed_wall = =math.ceil(speed_print * 25 / 30)
+speed_wall_0 = =math.ceil(speed_print * 20 / 30)
top_bottom_thickness = 0.72
travel_avoid_distance = 0.4
wall_0_inset = 0.015
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 dd8a906e4c..fefbf55b97 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
@@ -42,7 +42,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 13
speed_equalize_flow_enabled = True
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
speed_travel = 300
speed_travel_layer_0 = 50
diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg
index f7748e3903..d03f8f24c1 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg
@@ -20,7 +20,7 @@ material_final_print_temperature = =material_print_temperature - 10
prime_tower_enable = False
skin_overlap = 20
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 35 / 60)
speed_wall = =math.ceil(speed_print * 45 / 60)
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg
index 50fb12eaa4..ca82990b13 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ material_final_print_temperature = =material_print_temperature - 10
material_standby_temperature = 100
prime_tower_enable = False
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_wall = =math.ceil(speed_print * 40 / 60)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg
index 6215afc9df..35cd06e589 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg
@@ -21,6 +21,6 @@ material_initial_print_temperature = =material_print_temperature - 5
material_final_print_temperature = =material_print_temperature - 10
prime_tower_enable = False
speed_print = 50
-speed_layer_0 = 20
+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)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg
index a7683fb249..fdeafbc86b 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg
@@ -19,6 +19,6 @@ material_final_print_temperature = =material_print_temperature - 10
material_standby_temperature = 100
prime_tower_enable = False
speed_print = 55
-speed_layer_0 = 20
+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)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg
index f9a2bd88a4..d9a241742b 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg
@@ -20,7 +20,7 @@ material_print_temperature = =default_material_print_temperature + 5
# prime_tower_enable: see CURA-4248
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
speed_topbottom = =math.ceil(speed_print * 35 / 70)
speed_wall = =math.ceil(speed_print * 50 / 70)
speed_wall_0 = =math.ceil(speed_wall * 35 / 50)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg
index d181e7e4c9..5d7d6bde25 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg
@@ -19,7 +19,7 @@ machine_nozzle_heat_up_speed = 1.6
# prime_tower_enable: see CURA-4248
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
speed_print = 80
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 80)
speed_topbottom = =math.ceil(speed_print * 30 / 80)
speed_wall = =math.ceil(speed_print * 40 / 80)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg
index 4a8bde54b3..d85bb0cbf6 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg
@@ -20,7 +20,7 @@ machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature - 10
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
skin_overlap = 10
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
support_interface_enable = True
support_interface_density = =min(extruderValues('material_surface_energy'))
support_interface_pattern = ='lines' if support_interface_density < 100 else 'concentric'
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 8f071b18d7..9a1dd89f9c 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
@@ -38,7 +38,7 @@ retraction_hop = 0.2
retraction_hop_enabled = False
retraction_hop_only_when_collides = True
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50
speed_topbottom = =math.ceil(speed_print * 40 / 50)
speed_travel = 250
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 fc6eee65bc..e3c0e9d69a 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
@@ -38,7 +38,7 @@ retraction_hop = 0.2
retraction_hop_enabled = False
retraction_hop_only_when_collides = True
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)
speed_travel = 250
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 3559ed5e67..e3c7dd7941 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
@@ -40,7 +40,7 @@ retraction_hop = 0.2
retraction_hop_enabled = False
retraction_hop_only_when_collides = True
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 40)
speed_print = 40
speed_topbottom = =math.ceil(speed_print * 30 / 35)
speed_travel = 250
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 02a807c7b8..1496ac3c05 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
@@ -39,7 +39,7 @@ retraction_hop = 0.2
retraction_hop_enabled = False
retraction_hop_only_when_collides = True
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 40)
speed_print = 40
speed_topbottom = =math.ceil(speed_print * 30 / 35)
speed_travel = 250
diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg
index 7a54e34f6d..686073542f 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg
@@ -19,7 +19,7 @@ material_standby_temperature = 100
prime_tower_purge_volume = 1
skin_overlap = 20
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 35 / 60)
speed_wall = =math.ceil(speed_print * 45 / 60)
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg
index 94476b33d1..d35ada198c 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg
@@ -19,7 +19,7 @@ material_final_print_temperature = =material_print_temperature - 10
material_standby_temperature = 100
prime_tower_purge_volume = 1
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_wall = =math.ceil(speed_print * 40 / 60)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg
index d8899f1bca..f33425f7c6 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg
@@ -21,6 +21,6 @@ material_final_print_temperature = =material_print_temperature - 10
material_standby_temperature = 100
prime_tower_purge_volume = 1
speed_print = 50
-speed_layer_0 = 20
+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)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg
index 4f144ca92e..650e5a4bef 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg
@@ -19,6 +19,6 @@ material_final_print_temperature = =material_print_temperature - 10
material_standby_temperature = 100
prime_tower_purge_volume = 1
speed_print = 55
-speed_layer_0 = 20
+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)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg
index 91600ed6fa..ab5f60feb5 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg
@@ -29,7 +29,7 @@ raft_jerk = =jerk_layer_0
raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
skin_overlap = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
switch_extruder_prime_speed = 30
switch_extruder_retraction_amount = 30
switch_extruder_retraction_speeds = 40
diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg
index 7db3683333..64508a15ea 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg
@@ -29,7 +29,7 @@ raft_jerk = =jerk_layer_0
raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
skin_overlap = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
switch_extruder_prime_speed = 30
switch_extruder_retraction_amount = 30
switch_extruder_retraction_speeds = 40
diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg
index fd9ffb53b4..85ac422729 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg
@@ -28,7 +28,7 @@ raft_jerk = =jerk_layer_0
raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
skin_overlap = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
switch_extruder_prime_speed = 30
switch_extruder_retraction_amount = 30
switch_extruder_retraction_speeds = 40
diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg
index c8ed69342d..4f6ebbe993 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg
@@ -28,7 +28,7 @@ raft_jerk = =jerk_layer_0
raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
skin_overlap = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
switch_extruder_prime_speed = 30
switch_extruder_retraction_amount = 30
switch_extruder_retraction_speeds = 40
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 2f05384abd..dc72708d9f 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
@@ -48,7 +48,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_travel = 250
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 ef6f5978ad..0a5990d00d 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
@@ -47,7 +47,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_travel = 250
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 cbba3ffddb..51596c0af1 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
@@ -48,7 +48,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_travel = 250
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 ac78470b03..42055f214d 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
@@ -45,7 +45,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_travel = 250
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg
index 735dac3b76..cb44ec8664 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg
@@ -21,7 +21,7 @@ material_print_temperature = =default_material_print_temperature + 5
material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
speed_topbottom = =math.ceil(speed_print * 40 / 70)
speed_wall = =math.ceil(speed_print * 55 / 70)
speed_wall_0 = =math.ceil(speed_wall * 45 / 50)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg
index b69fa30a8b..c22c6b3a11 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg
@@ -20,7 +20,7 @@ machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100
prime_tower_enable = False
speed_print = 80
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 80)
speed_topbottom = =math.ceil(speed_print * 30 / 80)
speed_wall = =math.ceil(speed_print * 40 / 80)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg
index 325d22fe5a..6af3bb1e70 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg
@@ -23,7 +23,7 @@ material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 10
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_wall = =math.ceil(speed_print * 30 / 60)
top_bottom_thickness = 1
diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg
index 910f3cec4b..f0be5bf4ea 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg
@@ -21,6 +21,6 @@ machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 10
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
top_bottom_thickness = 1
wall_thickness = 1
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 4ea3552891..4870a547c6 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
@@ -49,7 +49,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 18
speed_equalize_flow_enabled = True
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
speed_travel = 300
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 bfb0085db4..77d5651cd9 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
@@ -48,7 +48,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 18
speed_equalize_flow_enabled = True
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
speed_travel = 300
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 f3b30b853b..019bf8abda 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
@@ -47,7 +47,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 18
speed_equalize_flow_enabled = True
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
speed_travel = 300
diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg
index 850fbd247b..fbe9e70219 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Draft_Print.inst.cfg
@@ -27,7 +27,7 @@ prime_tower_enable = False
roofing_layer_count = 2
skin_outline_count = 0
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50
speed_roofing = =math.ceil(speed_wall * 20 / 24)
speed_topbottom = =math.ceil(speed_print * 25 / 50)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg
index f61e356a8f..2575a01cdb 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature -10
material_standby_temperature = 100
prime_tower_enable = False
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)
speed_wall = =math.ceil(speed_print * 40 / 45)
diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg
index 0779260c76..5347df099f 100644
--- a/resources/quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.4_TPLA_Normal_Quality.inst.cfg
@@ -23,7 +23,7 @@ material_print_temperature = =default_material_print_temperature - 15
material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 10
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)
speed_wall = =math.ceil(speed_print * 40 / 45)
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 59c650ef0e..51e6c98306 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
@@ -48,7 +48,7 @@ retraction_min_travel = =line_width * 2
retraction_prime_speed = 15
skin_overlap = 5
speed_equalize_flow_enabled = True
-speed_layer_0 = 18
+speed_layer_0 = =math.ceil(speed_print * 18 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
speed_travel = 300
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 f0a889c12e..1e3cb508d7 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
@@ -49,7 +49,7 @@ retraction_min_travel = =line_width * 2
retraction_prime_speed = 15
skin_overlap = 5
speed_equalize_flow_enabled = True
-speed_layer_0 = 18
+speed_layer_0 = =math.ceil(speed_print * 18 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
speed_travel = 300
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 1b6ac261cf..2f113beb47 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
@@ -46,7 +46,7 @@ retraction_min_travel = =line_width * 2
retraction_prime_speed = 15
skin_overlap = 5
speed_equalize_flow_enabled = True
-speed_layer_0 = 18
+speed_layer_0 = =math.ceil(speed_print * 18 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
speed_travel = 300
diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg
index 961e127a57..ed6e35f700 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg
@@ -26,7 +26,7 @@ retraction_combing = off
retraction_hop = 0.1
retraction_hop_enabled = False
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 15
speed_topbottom = =math.ceil(speed_print * 35 / 50)
diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg
index b112bf8f4f..6ce17b25f2 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg
@@ -27,7 +27,7 @@ retraction_combing = off
retraction_hop = 0.1
retraction_hop_enabled = False
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 8
speed_topbottom = =math.ceil(speed_print * 35 / 50)
diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg
index c51ee3a90f..c4b0655e3d 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg
@@ -27,7 +27,7 @@ retraction_combing = off
retraction_hop = 0.1
retraction_hop_enabled = False
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 10
speed_topbottom = =math.ceil(speed_print * 35 / 50)
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg
index fba7e2c824..c6258781e0 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg
@@ -22,7 +22,7 @@ material_standby_temperature = 100
raft_airgap = 0.5
raft_margin = 15
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 15
speed_topbottom = =math.ceil(speed_print * 25 / 50)
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg
index 5838a48fb7..6e272a3c9f 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg
@@ -22,7 +22,7 @@ material_standby_temperature = 100
raft_airgap = 0.5
raft_margin = 15
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 8
speed_topbottom = =math.ceil(speed_print * 25 / 50)
diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg
index 83a331e801..61ab7e29ea 100644
--- a/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg
@@ -23,7 +23,7 @@ material_standby_temperature = 100
raft_airgap = 0.5
raft_margin = 15
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 10
speed_topbottom = =math.ceil(speed_print * 25 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg
index a69053b8ab..f8305eda7c 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_CPE_Normal_Quality.inst.cfg
@@ -15,7 +15,7 @@ variant = AA 0.25
prime_tower_size = 12
prime_tower_wall_thickness = 0.9
retraction_extrusion_window = 0.5
-speed_infill = 40
+speed_infill = =math.ceil(speed_print * 40 / 55)
speed_topbottom = =math.ceil(speed_print * 30 / 55)
top_bottom_thickness = 0.8
wall_thickness = 0.92
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 c188f37d96..bd5e8d08ff 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
@@ -38,9 +38,9 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_wall = =math.ceil(speed_print * 40 / 50)
speed_wall_0 = =math.ceil(speed_wall * 25 / 40)
support_bottom_distance = =support_z_distance
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 f964bba440..6d7c46772c 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
@@ -24,11 +24,11 @@ material_initial_print_temperature = =max(-273.15, material_print_temperature -
material_print_temperature = 190
retraction_hop = 0.2
skin_overlap = 5
-speed_layer_0 = 30
+speed_layer_0 = =speed_print
speed_print = 30
speed_travel_layer_0 = 120
-speed_wall = 25
-speed_wall_0 = 20
+speed_wall = =math.ceil(speed_print * 25 / 30)
+speed_wall_0 = =math.ceil(speed_print * 20 / 30)
top_bottom_thickness = 0.72
travel_avoid_distance = 0.4
wall_0_inset = 0.015
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_PP_Normal_Quality.inst.cfg
index 72c16ebc1d..d4b4691be4 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
@@ -42,7 +42,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 13
speed_equalize_flow_enabled = True
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
speed_travel_layer_0 = 50
speed_wall = =math.ceil(speed_print * 25 / 25)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print.inst.cfg
index b2c44dab01..2cf03fe4c9 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Draft_Print.inst.cfg
@@ -20,7 +20,7 @@ material_final_print_temperature = =material_print_temperature - 20
prime_tower_enable = False
skin_overlap = 20
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 35 / 60)
speed_wall = =math.ceil(speed_print * 45 / 60)
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print.inst.cfg
index 0470956c6d..9b819ad56a 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Fast_Print.inst.cfg
@@ -20,7 +20,7 @@ material_initial_print_temperature = =material_print_temperature - 15
material_final_print_temperature = =material_print_temperature - 20
prime_tower_enable = False
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_wall = =math.ceil(speed_print * 40 / 60)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_High_Quality.inst.cfg
index 497071e01a..3fce280901 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_High_Quality.inst.cfg
@@ -20,7 +20,7 @@ material_initial_print_temperature = =material_print_temperature - 15
material_final_print_temperature = =material_print_temperature - 20
prime_tower_enable = False
speed_print = 50
-speed_layer_0 = 20
+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)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality.inst.cfg
index f080adb06f..3e1836b3b6 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_ABS_Normal_Quality.inst.cfg
@@ -19,7 +19,7 @@ material_initial_print_temperature = =material_print_temperature - 15
material_final_print_temperature = =material_print_temperature - 20
prime_tower_enable = False
speed_print = 55
-speed_layer_0 = 20
+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)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg
index b4652d23dd..f33b562820 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg
@@ -20,7 +20,7 @@ material_print_temperature = =default_material_print_temperature + 5
# prime_tower_enable: see CURA-4248
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
speed_topbottom = =math.ceil(speed_print * 35 / 70)
speed_wall = =math.ceil(speed_print * 50 / 70)
speed_wall_0 = =math.ceil(speed_wall * 35 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg
index bebc993ca3..6ed4df3844 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg
@@ -19,7 +19,7 @@ machine_nozzle_heat_up_speed = 1.6
# prime_tower_enable: see CURA-4248
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
speed_print = 80
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 80)
speed_topbottom = =math.ceil(speed_print * 30 / 80)
speed_wall = =math.ceil(speed_print * 40 / 80)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg
index 40f0c2ab70..764094b897 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg
@@ -21,7 +21,7 @@ material_print_temperature = =default_material_print_temperature - 10
# prime_tower_enable: see CURA-4248
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
skin_overlap = 10
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
support_interface_enable = True
support_interface_density = =min(extruderValues('material_surface_energy'))
support_interface_pattern = ='lines' if support_interface_density < 100 else 'concentric'
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg
index bb5cad456f..aa34425a46 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Draft_Print.inst.cfg
@@ -35,7 +35,7 @@ retraction_hop = 0.2
retraction_hop_enabled = False
retraction_hop_only_when_collides = True
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50
speed_topbottom = =math.ceil(speed_print * 40 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg
index ef3e8d7f4e..5ae2a219ef 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Fast_Print.inst.cfg
@@ -35,7 +35,7 @@ retraction_hop = 0.2
retraction_hop_enabled = False
retraction_hop_only_when_collides = True
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg
index 823a6e0fdf..77b2201627 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_High_Quality.inst.cfg
@@ -37,7 +37,7 @@ retraction_hop = 0.2
retraction_hop_enabled = False
retraction_hop_only_when_collides = True
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 40)
speed_print = 40
speed_topbottom = =math.ceil(speed_print * 30 / 35)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality.inst.cfg
index 05c960e443..3963e53991 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_CPEP_Normal_Quality.inst.cfg
@@ -37,7 +37,7 @@ retraction_hop = 0.2
retraction_hop_enabled = False
retraction_hop_only_when_collides = True
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 40)
speed_print = 40
speed_topbottom = =math.ceil(speed_print * 30 / 35)
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 744b49b03b..3f0ff31ce1 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
@@ -17,7 +17,7 @@ material_initial_print_temperature = =material_print_temperature - 5
material_final_print_temperature = =material_print_temperature - 10
skin_overlap = 20
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 35 / 60)
speed_wall = =math.ceil(speed_print * 45 / 60)
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
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 58757c6dd1..7b4155c1e2 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
@@ -17,7 +17,7 @@ material_print_temperature = =default_material_print_temperature + 5
material_initial_print_temperature = =material_print_temperature - 5
material_final_print_temperature = =material_print_temperature - 10
speed_print = 60
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_wall = =math.ceil(speed_print * 40 / 60)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
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 010ad9114a..01cf298308 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
@@ -19,7 +19,7 @@ material_print_temperature = =default_material_print_temperature - 5
material_initial_print_temperature = =material_print_temperature - 5
material_final_print_temperature = =material_print_temperature - 10
speed_print = 50
-speed_layer_0 = 20
+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)
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 386350212d..bfec569199 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
@@ -17,7 +17,7 @@ machine_nozzle_heat_up_speed = 1.5
material_initial_print_temperature = =material_print_temperature - 5
material_final_print_temperature = =material_print_temperature - 10
speed_print = 55
-speed_layer_0 = 20
+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)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Draft_Print.inst.cfg
index ac23b19285..42c1e4c195 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Draft_Print.inst.cfg
@@ -29,7 +29,7 @@ raft_jerk = =jerk_layer_0
raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
skin_overlap = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
switch_extruder_prime_speed = 30
switch_extruder_retraction_amount = 30
switch_extruder_retraction_speeds = 40
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print.inst.cfg
index 977ba5c309..76a1773bf4 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Fast_Print.inst.cfg
@@ -29,7 +29,7 @@ raft_jerk = =jerk_layer_0
raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
skin_overlap = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
switch_extruder_prime_speed = 30
switch_extruder_retraction_amount = 30
switch_extruder_retraction_speeds = 40
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_High_Quality.inst.cfg
index 7e4ebed906..3d83a83d4e 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_High_Quality.inst.cfg
@@ -28,7 +28,7 @@ raft_jerk = =jerk_layer_0
raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
skin_overlap = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
switch_extruder_prime_speed = 30
switch_extruder_retraction_amount = 30
switch_extruder_retraction_speeds = 40
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality.inst.cfg
index 941561499b..5ec5bed4c5 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_Nylon_Normal_Quality.inst.cfg
@@ -28,7 +28,7 @@ raft_jerk = =jerk_layer_0
raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
skin_overlap = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
switch_extruder_prime_speed = 30
switch_extruder_retraction_amount = 30
switch_extruder_retraction_speeds = 40
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PC_Draft_Print.inst.cfg
index 04db39fc54..14562c3763 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
@@ -47,9 +47,9 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_wall = =math.ceil(speed_print * 40 / 50)
speed_wall_0 = =math.ceil(speed_wall * 25 / 40)
support_bottom_distance = =support_z_distance
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 65fd293954..e331f446f7 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
@@ -46,9 +46,9 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_wall = =math.ceil(speed_print * 40 / 50)
speed_wall_0 = =math.ceil(speed_wall * 25 / 40)
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 d75b918479..afbb374fe2 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
@@ -47,9 +47,9 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_wall = =math.ceil(speed_print * 40 / 50)
speed_wall_0 = =math.ceil(speed_wall * 25 / 40)
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 ccffa0bc7c..969d7fc29c 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
@@ -45,9 +45,9 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 15
skin_overlap = 30
-speed_layer_0 = 25
+speed_layer_0 = =math.ceil(speed_print * 25 / 50)
speed_print = 50
-speed_topbottom = 25
+speed_topbottom = =math.ceil(speed_print * 25 / 50)
speed_wall = =math.ceil(speed_print * 40 / 50)
speed_wall_0 = =math.ceil(speed_wall * 25 / 40)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg
index 8ea92a86d7..909af71245 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Draft_Print.inst.cfg
@@ -20,7 +20,7 @@ material_print_temperature = =default_material_print_temperature + 5
material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
speed_topbottom = =math.ceil(speed_print * 40 / 70)
speed_wall = =math.ceil(speed_print * 55 / 70)
speed_wall_0 = =math.ceil(speed_wall * 45 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print.inst.cfg
index 35a6c51ea4..fea7a76971 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Fast_Print.inst.cfg
@@ -19,7 +19,7 @@ machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100
prime_tower_enable = False
speed_print = 70
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
speed_topbottom = =math.ceil(speed_print * 35 / 70)
speed_wall = =math.ceil(speed_print * 45 / 70)
speed_wall_0 = =math.ceil(speed_wall * 35 / 70)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_High_Quality.inst.cfg
index d739d132a9..d9ef5052e5 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_High_Quality.inst.cfg
@@ -22,7 +22,7 @@ material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 10
speed_print = 50
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_topbottom = =math.ceil(speed_print * 35 / 50)
speed_wall = =math.ceil(speed_print * 35 / 50)
top_bottom_thickness = 1
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality.inst.cfg
index 7c86049fe1..a2eb547b08 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_PLA_Normal_Quality.inst.cfg
@@ -20,7 +20,7 @@ machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 10
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 70)
top_bottom_thickness = 1
wall_thickness = 1
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 e53cd8f7a8..fb806d2a8e 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
@@ -47,7 +47,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 18
speed_equalize_flow_enabled = True
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
speed_travel_layer_0 = 50
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 e9d08feaff..30fe9772ef 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
@@ -47,7 +47,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 18
speed_equalize_flow_enabled = True
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 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 58d9e1639a..7be40498f5 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
@@ -47,7 +47,7 @@ retraction_hop_only_when_collides = True
retraction_min_travel = 0.8
retraction_prime_speed = 18
speed_equalize_flow_enabled = True
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print.inst.cfg
index 8adebb167e..d13e6a8b68 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Draft_Print.inst.cfg
@@ -27,7 +27,7 @@ prime_tower_enable = False
roofing_layer_count = 2
skin_outline_count = 0
skin_overlap = 20
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50
speed_roofing = =math.ceil(speed_wall * 20 / 24)
speed_topbottom = =math.ceil(speed_print * 25 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print.inst.cfg
index 780ad37ab4..b41f7851cf 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Fast_Print.inst.cfg
@@ -21,7 +21,7 @@ machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature -10
material_standby_temperature = 100
prime_tower_enable = False
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)
speed_wall = =math.ceil(speed_print * 40 / 45)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_High_Quality.inst.cfg
index 3bcb7142e9..1c3f1470a2 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_High_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_High_Quality.inst.cfg
@@ -22,7 +22,7 @@ material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 10
speed_print = 45
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_topbottom = =math.ceil(speed_print * 35 / 45)
speed_wall = =math.ceil(speed_print * 40 / 45)
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality.inst.cfg
index b1e7eee3bb..81a952d743 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPLA_Normal_Quality.inst.cfg
@@ -23,7 +23,7 @@ material_print_temperature = =default_material_print_temperature - 15
material_standby_temperature = 100
prime_tower_enable = False
skin_overlap = 10
-speed_layer_0 = 20
+speed_layer_0 = =math.ceil(speed_print * 20 / 45)
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)
speed_wall = =math.ceil(speed_print * 40 / 45)
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 56249427bf..5009b8395f 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
@@ -46,7 +46,7 @@ retraction_min_travel = =line_width * 2
retraction_prime_speed = 15
skin_overlap = 5
speed_equalize_flow_enabled = True
-speed_layer_0 = 18
+speed_layer_0 = =math.ceil(speed_print * 18 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
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 e362ffd25d..64475d822e 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
@@ -46,7 +46,7 @@ retraction_min_travel = =line_width * 2
retraction_prime_speed = 15
skin_overlap = 5
speed_equalize_flow_enabled = True
-speed_layer_0 = 18
+speed_layer_0 = =math.ceil(speed_print * 18 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
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 8ffe0afae6..ac6a62ae5a 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
@@ -45,7 +45,7 @@ retraction_min_travel = =line_width * 2
retraction_prime_speed = 15
skin_overlap = 5
speed_equalize_flow_enabled = True
-speed_layer_0 = 18
+speed_layer_0 = =math.ceil(speed_print * 18 / 25)
speed_print = 25
speed_topbottom = =math.ceil(speed_print * 25 / 25)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Fast_Print.inst.cfg
index 4599155da4..3c1b47bfdb 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Fast_Print.inst.cfg
@@ -26,7 +26,7 @@ retraction_combing = off
retraction_hop = 0.1
retraction_hop_enabled = False
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 15
speed_topbottom = =math.ceil(speed_print * 35 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Superdraft_Print.inst.cfg
index 36654edf61..00ef557151 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Superdraft_Print.inst.cfg
@@ -26,7 +26,7 @@ retraction_combing = off
retraction_hop = 0.1
retraction_hop_enabled = False
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 8
speed_topbottom = =math.ceil(speed_print * 35 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Verydraft_Print.inst.cfg
index 0588f2bf34..86535d5d77 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_CPEP_Verydraft_Print.inst.cfg
@@ -26,7 +26,7 @@ retraction_combing = off
retraction_hop = 0.1
retraction_hop_enabled = False
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 10
speed_topbottom = =math.ceil(speed_print * 35 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Fast_Print.inst.cfg
index fddb41d4b5..2e90b0215f 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Fast_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Fast_Print.inst.cfg
@@ -22,7 +22,7 @@ material_standby_temperature = 100
raft_airgap = 0.5
raft_margin = 15
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 15
speed_topbottom = =math.ceil(speed_print * 25 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Superdraft_Print.inst.cfg
index 9f364651c4..cf1dcfe540 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Superdraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Superdraft_Print.inst.cfg
@@ -21,7 +21,7 @@ material_standby_temperature = 100
raft_airgap = 0.5
raft_margin = 15
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 8
speed_topbottom = =math.ceil(speed_print * 25 / 50)
diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Verydraft_Print.inst.cfg
index d3ee0ed88c..7c77bf1d53 100644
--- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Verydraft_Print.inst.cfg
+++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PC_Verydraft_Print.inst.cfg
@@ -22,7 +22,7 @@ material_standby_temperature = 100
raft_airgap = 0.5
raft_margin = 15
skin_overlap = 0
-speed_layer_0 = 15
+speed_layer_0 = =math.ceil(speed_print * 15 / 50)
speed_print = 50
speed_slowdown_layers = 10
speed_topbottom = =math.ceil(speed_print * 25 / 50)
diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg
index fe1e98747d..cc538076d2 100644
--- a/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg
+++ b/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg
@@ -20,8 +20,8 @@ material_print_temperature_layer_0 = 235
retraction_amount = 1.0
retraction_speed = 15
speed_print = 20
-speed_wall = 20
-speed_wall_x = 20
+speed_wall = =speed_print
+speed_wall_x = =speed_print
adhesion_type = brim
material_flow = 105
raft_airgap = 0.2
diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg
index e0b43cfd95..1791305b92 100644
--- a/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg
+++ b/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg
@@ -20,8 +20,8 @@ material_print_temperature_layer_0 = 235
retraction_amount = 0.2
retraction_speed = 15
speed_print = 15
-speed_wall = 15
-speed_wall_x = 15
+speed_wall = =speed_print
+speed_wall_x = =speed_print
adhesion_type = brim
material_flow = 105
raft_airgap = 0.1
diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg
index 959f65469a..70020f5fde 100644
--- a/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg
+++ b/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg
@@ -20,8 +20,8 @@ material_print_temperature_layer_0 = 235
retraction_amount = 1.0
retraction_speed = 15
speed_print = 20
-speed_wall = 15
-speed_wall_x = 20
+speed_wall = =math.ceil(speed_print * 15 / 20)
+speed_wall_x = =speed_print
adhesion_type = brim
material_flow = 105
raft_airgap = 0.2
diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg
index 14b9d50351..0f36b6cb67 100644
--- a/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg
+++ b/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg
@@ -20,8 +20,8 @@ material_print_temperature_layer_0 = 225
retraction_amount = 1.5
retraction_speed = 20
speed_print = 40
-speed_wall = 40
-speed_wall_x = 40
+speed_wall = =speed_print
+speed_wall_x = =speed_print
adhesion_type = brim
material_flow = 95
raft_airgap = 0.15
diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg
index 25f3aa45de..80ad562b2a 100644
--- a/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg
+++ b/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg
@@ -20,8 +20,8 @@ material_print_temperature_layer_0 = 225
retraction_amount = 0.4
retraction_speed = 20
speed_print = 35
-speed_wall = 18
-speed_wall_x = 25
+speed_wall = =math.ceil(speed_print * 18 / 35)
+speed_wall_x = =math.ceil(speed_print * 25 / 35)
adhesion_type = brim
material_flow = 95
raft_airgap = 0.08
diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg
index 3760781e54..e3b933bc1c 100644
--- a/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg
+++ b/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg
@@ -20,8 +20,8 @@ material_print_temperature_layer_0 = 225
retraction_amount = 1.2
retraction_speed = 20
speed_print = 50
-speed_wall = 22
-speed_wall_x = 33
+speed_wall = =math.ceil(speed_print * 22 / 50)
+speed_wall_x = =math.ceil(speed_print * 33 / 50)
adhesion_type = brim
material_flow = 95
raft_airgap = 0.15