From 5b61a3e3b7e5ed7c3490ef2e5b0120a8db95de83 Mon Sep 17 00:00:00 2001 From: Shirley Du Date: Thu, 16 Jan 2025 11:11:15 -0500 Subject: [PATCH] Make acceleration/jerk_enabled control bead modes as well This fits more with the parenting structure --- plugins/MakerbotWriter/MakerbotWriter.py | 57 +++++++++++++----------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/plugins/MakerbotWriter/MakerbotWriter.py b/plugins/MakerbotWriter/MakerbotWriter.py index 9012f48bc1..b50adf450c 100644 --- a/plugins/MakerbotWriter/MakerbotWriter.py +++ b/plugins/MakerbotWriter/MakerbotWriter.py @@ -258,37 +258,42 @@ class MakerbotWriter(MeshWriter): accel_overrides = meta["accel_overrides"] = {} bead_mode_overrides = accel_overrides["bead_mode"] = {} - if global_stack.getProperty('acceleration_enabled', 'value'): + accel_enabled = global_stack.getProperty('acceleration_enabled', 'value') + + if accel_enabled: global_accel_setting = global_stack.getProperty('acceleration_print', 'value') accel_overrides["rate_mm_per_s_sq"] = { "x": global_accel_setting, "y": global_accel_setting } - if global_stack.getProperty('acceleration_travel_enabled', 'value'): - travel_accel_setting = global_stack.getProperty('acceleration_travel', 'value') - bead_mode_overrides['Travel Move'] = { - "rate_mm_per_s_sq": { - "x": travel_accel_setting, - "y": travel_accel_setting - } - } - if global_stack.getProperty('jerk_enabled', 'value'): + if global_stack.getProperty('acceleration_travel_enabled', 'value'): + travel_accel_setting = global_stack.getProperty('acceleration_travel', 'value') + bead_mode_overrides['Travel Move'] = { + "rate_mm_per_s_sq": { + "x": travel_accel_setting, + "y": travel_accel_setting + } + } + + jerk_enabled = global_stack.getProperty('jerk_enabled', 'value') + if jerk_enabled: global_jerk_setting = global_stack.getProperty('jerk_print', 'value') accel_overrides["max_speed_change_mm_per_s"] = { "x": global_jerk_setting, "y": global_jerk_setting } - if global_stack.getProperty('jerk_travel_enabled', 'value'): - travel_jerk_setting = global_stack.getProperty('jerk_travel', 'value') - if 'Travel Move' not in bead_mode_overrides: - bead_mode_overrides['Travel Move' ] = {} - bead_mode_overrides['Travel Move'].update({ - "max_speed_change_mm_per_s": { - "x": travel_jerk_setting, - "y": travel_jerk_setting - } - }) + + if global_stack.getProperty('jerk_travel_enabled', 'value'): + travel_jerk_setting = global_stack.getProperty('jerk_travel', 'value') + if 'Travel Move' not in bead_mode_overrides: + bead_mode_overrides['Travel Move' ] = {} + bead_mode_overrides['Travel Move'].update({ + "max_speed_change_mm_per_s": { + "x": travel_jerk_setting, + "y": travel_jerk_setting + } + }) # Get bead mode settings per extruder @@ -304,20 +309,18 @@ class MakerbotWriter(MeshWriter): } for idx, extruder in enumerate(extruders): for bead_mode_setting, bead_mode_tag in available_bead_modes.items(): - if bead_mode_tag == "": - continue ext_specific_tag = "%s_%s" % (bead_mode_tag, idx) - accel_val = extruder.getProperty('acceleration_%s' % bead_mode_setting, 'value') - jerk_val = extruder.getProperty('jerk_%s' % bead_mode_setting, 'value') - if accel_val != 0 or jerk_val != 0: + if accel_enabled or jerk_enabled: bead_mode_overrides[ext_specific_tag] = {} - if accel_val != 0: + if accel_enabled: + accel_val = extruder.getProperty('acceleration_%s' % bead_mode_setting, 'value') bead_mode_overrides[ext_specific_tag]["rate_mm_per_s_sq"] = { "x": accel_val, "y": accel_val } - if jerk_val != 0: + if jerk_enabled: + jerk_val = extruder.getProperty('jerk_%s' % bead_mode_setting, 'value') bead_mode_overrides[ext_specific_tag][ "max_speed_change_mm_per_s"] = { "x": jerk_val, "y": jerk_val