Make acceleration/jerk_enabled control bead modes as well

This fits more with the parenting structure
This commit is contained in:
Shirley Du 2025-01-16 11:11:15 -05:00
parent e75c6968d9
commit 5b61a3e3b7

View file

@ -258,12 +258,15 @@ class MakerbotWriter(MeshWriter):
accel_overrides = meta["accel_overrides"] = {} accel_overrides = meta["accel_overrides"] = {}
bead_mode_overrides = accel_overrides["bead_mode"] = {} 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') global_accel_setting = global_stack.getProperty('acceleration_print', 'value')
accel_overrides["rate_mm_per_s_sq"] = { accel_overrides["rate_mm_per_s_sq"] = {
"x": global_accel_setting, "x": global_accel_setting,
"y": global_accel_setting "y": global_accel_setting
} }
if global_stack.getProperty('acceleration_travel_enabled', 'value'): if global_stack.getProperty('acceleration_travel_enabled', 'value'):
travel_accel_setting = global_stack.getProperty('acceleration_travel', 'value') travel_accel_setting = global_stack.getProperty('acceleration_travel', 'value')
bead_mode_overrides['Travel Move'] = { bead_mode_overrides['Travel Move'] = {
@ -273,12 +276,14 @@ class MakerbotWriter(MeshWriter):
} }
} }
if global_stack.getProperty('jerk_enabled', 'value'): jerk_enabled = global_stack.getProperty('jerk_enabled', 'value')
if jerk_enabled:
global_jerk_setting = global_stack.getProperty('jerk_print', 'value') global_jerk_setting = global_stack.getProperty('jerk_print', 'value')
accel_overrides["max_speed_change_mm_per_s"] = { accel_overrides["max_speed_change_mm_per_s"] = {
"x": global_jerk_setting, "x": global_jerk_setting,
"y": global_jerk_setting "y": global_jerk_setting
} }
if global_stack.getProperty('jerk_travel_enabled', 'value'): if global_stack.getProperty('jerk_travel_enabled', 'value'):
travel_jerk_setting = global_stack.getProperty('jerk_travel', 'value') travel_jerk_setting = global_stack.getProperty('jerk_travel', 'value')
if 'Travel Move' not in bead_mode_overrides: if 'Travel Move' not in bead_mode_overrides:
@ -304,20 +309,18 @@ class MakerbotWriter(MeshWriter):
} }
for idx, extruder in enumerate(extruders): for idx, extruder in enumerate(extruders):
for bead_mode_setting, bead_mode_tag in available_bead_modes.items(): 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) ext_specific_tag = "%s_%s" % (bead_mode_tag, idx)
accel_val = extruder.getProperty('acceleration_%s' % bead_mode_setting, 'value') if accel_enabled or jerk_enabled:
jerk_val = extruder.getProperty('jerk_%s' % bead_mode_setting, 'value')
if accel_val != 0 or jerk_val != 0:
bead_mode_overrides[ext_specific_tag] = {} 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"] = { bead_mode_overrides[ext_specific_tag]["rate_mm_per_s_sq"] = {
"x": accel_val, "x": accel_val,
"y": 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"] = { bead_mode_overrides[ext_specific_tag][ "max_speed_change_mm_per_s"] = {
"x": jerk_val, "x": jerk_val,
"y": jerk_val "y": jerk_val