Improved A1 mini multi-color printing

CURA-12074
This commit is contained in:
Erwan MATHIEU 2025-04-09 15:29:40 +02:00
parent 931dc13432
commit 7789c86c52
5 changed files with 14 additions and 8 deletions

View File

@ -124,10 +124,16 @@
"machine_use_extruder_offset_to_offset_coords": { "value": false },
"machine_width": { "value": 180 },
"material_diameter": { "value": 1.75 },
"material_flush_purge_length":
{
"default_value": 100,
"enabled": true
},
"material_flush_purge_speed": { "default_value": 500 },
"max_skin_angle_for_expansion": { "value": 45 },
"meshfix_maximum_resolution": { "value": 0.4 },
"min_infill_area": { "default_value": 10 },
"switch_extruder_retraction_amount": { "value": 5 },
"optimize_wall_printing_order": { "value": false },
"prime_tower_min_volume": { "default_value": 100 },
"relative_extrusion": { "value": true },

View File

@ -11,8 +11,8 @@
{
"extruder_nr": { "default_value": 0 },
"machine_extruder_change_duration": { "default_value": 29 },
"machine_extruder_end_code": { "default_value": ";===== A1mini extruder end {extruder_nr} begin =====\nG392 S0\nM1007 S0\nM204 S9000\n\nG1 Z{machine_height + 3.0} F1200\nG1 Y90 F9000\nG1 X180 F18000\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if material_print_temperature > 142, extruder_nr}\nM104 S{material_print_temperature, extruder_nr}\n{endif}\n\n\nM620.11 S1 I{extruder_nr} E-{switch_extruder_retraction_amount, extruder_nr} F1200\nM400\n\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A0 F{material_flush_purge_speed}\nM620.11 S1 I{extruder_nr} E{switch_extruder_retraction_amount, extruder_nr} F{material_flush_purge_speed}\n\nM628 S1\nG92 E0\nG1 E{switch_extruder_retraction_amount, extruder_nr} F{material_flush_purge_speed}\nM400\nM629 S1\n;===== A1mini extruder end {extruder_nr} finish =====\n" },
"machine_extruder_start_code": { "default_value": ";===== A1mini extruder start {extruder_nr} begin =====\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A1 F{material_flush_purge_speed} L{prime_tower_min_volume/(line_width*layer_height)} H{machine_nozzle_size} T{material_print_temperature, extruder_nr}\n\nM400\nG92 E0\nM628 S0\n\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{material_print_temperature, extruder_nr}\nM106 P1 S60\nG1 E{(prime_tower_min_volume/(line_width*layer_height)) / 4.0} F{min(extruderValues('material_flush_purge_speed'))} ; do not need pulsatile flushing for start part\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{min(extruderValues('material_flush_purge_speed'))}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\nM400\nM1002 set_filament_type:{material_type, extruder_nr}\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\nM629\n\nM400\nM106 P1 S60\nG1 E5 F{material_flush_purge_speed, extruder_nr} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-{retraction_amount * 2} F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{machine_height + 3.0} F3000\nM106 P1 S0\n\nM622.1 S0\n\nM621 S{extruder_nr}A\nG392 S0\n\nM1007 S1\n;===== A1mini extruder start {extruder_nr} finish =====\n" },
"machine_extruder_end_code": { "default_value": ";===== A1mini extruder end {extruder_nr} begin =====\nG392 S0\nM1007 S0\nM204 S9000\n\nG1 Z{machine_height + 3.0} F1200\nG1 Y90 F9000\nG1 X180 F18000\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if material_print_temperature > 142, extruder_nr}\nM104 S{material_print_temperature, extruder_nr}\n{endif}\n\n\nM620.11 S1 I{extruder_nr} E-18 F1200\nM400\n\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A0 F{material_flush_purge_speed}\nM620.11 S1 I{extruder_nr} E18 F{material_flush_purge_speed}\n\nM628 S1\nG92 E0\nG1 E18 F{material_flush_purge_speed}\nM400\nM629 S1\n;===== A1mini extruder end {extruder_nr} finish =====\n" },
"machine_extruder_start_code": { "default_value": ";===== A1mini extruder start {extruder_nr} begin =====\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A1 F{material_flush_purge_speed} L{prime_tower_min_volume/(line_width*layer_height)} H{machine_nozzle_size} T{material_print_temperature, extruder_nr}\n\nM400\nG92 E0\nM628 S0\n\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{material_print_temperature, extruder_nr}\nM106 P1 S60\nG1 E{material_flush_purge_length / 4.0} F{min(extruderValues('material_flush_purge_speed'))} ; do not need pulsatile flushing for start part\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{min(extruderValues('material_flush_purge_speed'))}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\nM400\nM1002 set_filament_type:{material_type, extruder_nr}\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\nM629\n\nM400\nM106 P1 S60\nG1 E5 F{material_flush_purge_speed, extruder_nr} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-{retraction_amount * 2} F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{machine_height + 3.0} F3000\nM106 P1 S0\n\nM622.1 S0\n\nM621 S{extruder_nr}A\nG392 S0\n\nM1007 S1\n;===== A1mini extruder start {extruder_nr} finish =====\n" },
"material_diameter": { "default_value": 1.75 },
"switch_extruder_retraction_amount": { "default_value": 18 }
}

View File

@ -11,8 +11,8 @@
{
"extruder_nr": { "default_value": 1 },
"machine_extruder_change_duration": { "default_value": 29 },
"machine_extruder_end_code": { "default_value": ";===== A1mini extruder end {extruder_nr} begin =====\nG392 S0\nM1007 S0\nM204 S9000\n\nG1 Z{machine_height + 3.0} F1200\nG1 Y90 F9000\nG1 X180 F18000\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if material_print_temperature > 142, extruder_nr}\nM104 S{material_print_temperature, extruder_nr}\n{endif}\n\n\nM620.11 S1 I{extruder_nr} E-{switch_extruder_retraction_amount, extruder_nr} F1200\nM400\n\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A0 F{material_flush_purge_speed}\nM620.11 S1 I{extruder_nr} E{switch_extruder_retraction_amount, extruder_nr} F{material_flush_purge_speed}\n\nM628 S1\nG92 E0\nG1 E{switch_extruder_retraction_amount, extruder_nr} F{material_flush_purge_speed}\nM400\nM629 S1\n;===== A1mini extruder end {extruder_nr} finish =====\n" },
"machine_extruder_start_code": { "default_value": ";===== A1mini extruder start {extruder_nr} begin =====\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A1 F{material_flush_purge_speed} L{prime_tower_min_volume/(line_width*layer_height)} H{machine_nozzle_size} T{material_print_temperature, extruder_nr}\n\nM400\nG92 E0\nM628 S0\n\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{material_print_temperature, extruder_nr}\nM106 P1 S60\nG1 E{(prime_tower_min_volume/(line_width*layer_height)) / 4.0} F{min(extruderValues('material_flush_purge_speed'))} ; do not need pulsatile flushing for start part\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{min(extruderValues('material_flush_purge_speed'))}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\nM400\nM1002 set_filament_type:{material_type, extruder_nr}\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\nM629\n\nM400\nM106 P1 S60\nG1 E5 F{material_flush_purge_speed, extruder_nr} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-{retraction_amount * 2} F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{machine_height + 3.0} F3000\nM106 P1 S0\n\nM622.1 S0\n\nM621 S{extruder_nr}A\nG392 S0\n\nM1007 S1\n;===== A1mini extruder start {extruder_nr} finish =====\n" },
"machine_extruder_end_code": { "default_value": ";===== A1mini extruder end {extruder_nr} begin =====\nG392 S0\nM1007 S0\nM204 S9000\n\nG1 Z{machine_height + 3.0} F1200\nG1 Y90 F9000\nG1 X180 F18000\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if material_print_temperature > 142, extruder_nr}\nM104 S{material_print_temperature, extruder_nr}\n{endif}\n\n\nM620.11 S1 I{extruder_nr} E-18 F1200\nM400\n\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A0 F{material_flush_purge_speed}\nM620.11 S1 I{extruder_nr} E18 F{material_flush_purge_speed}\n\nM628 S1\nG92 E0\nG1 E18 F{material_flush_purge_speed}\nM400\nM629 S1\n;===== A1mini extruder end {extruder_nr} finish =====\n" },
"machine_extruder_start_code": { "default_value": ";===== A1mini extruder start {extruder_nr} begin =====\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A1 F{material_flush_purge_speed} L{prime_tower_min_volume/(line_width*layer_height)} H{machine_nozzle_size} T{material_print_temperature, extruder_nr}\n\nM400\nG92 E0\nM628 S0\n\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{material_print_temperature, extruder_nr}\nM106 P1 S60\nG1 E{material_flush_purge_length / 4.0} F{min(extruderValues('material_flush_purge_speed'))} ; do not need pulsatile flushing for start part\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{min(extruderValues('material_flush_purge_speed'))}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\nM400\nM1002 set_filament_type:{material_type, extruder_nr}\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\nM629\n\nM400\nM106 P1 S60\nG1 E5 F{material_flush_purge_speed, extruder_nr} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-{retraction_amount * 2} F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{machine_height + 3.0} F3000\nM106 P1 S0\n\nM622.1 S0\n\nM621 S{extruder_nr}A\nG392 S0\n\nM1007 S1\n;===== A1mini extruder start {extruder_nr} finish =====\n" },
"material_diameter": { "default_value": 1.75 },
"switch_extruder_retraction_amount": { "default_value": 18 }
}

View File

@ -11,8 +11,8 @@
{
"extruder_nr": { "default_value": 2 },
"machine_extruder_change_duration": { "default_value": 29 },
"machine_extruder_end_code": { "default_value": ";===== A1mini extruder end {extruder_nr} begin =====\nG392 S0\nM1007 S0\nM204 S9000\n\nG1 Z{machine_height + 3.0} F1200\nG1 Y90 F9000\nG1 X180 F18000\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if material_print_temperature > 142, extruder_nr}\nM104 S{material_print_temperature, extruder_nr}\n{endif}\n\n\nM620.11 S1 I{extruder_nr} E-{switch_extruder_retraction_amount, extruder_nr} F1200\nM400\n\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A0 F{material_flush_purge_speed}\nM620.11 S1 I{extruder_nr} E{switch_extruder_retraction_amount, extruder_nr} F{material_flush_purge_speed}\n\nM628 S1\nG92 E0\nG1 E{switch_extruder_retraction_amount, extruder_nr} F{material_flush_purge_speed}\nM400\nM629 S1\n;===== A1mini extruder end {extruder_nr} finish =====\n" },
"machine_extruder_start_code": { "default_value": ";===== A1mini extruder start {extruder_nr} begin =====\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A1 F{material_flush_purge_speed} L{prime_tower_min_volume/(line_width*layer_height)} H{machine_nozzle_size} T{material_print_temperature, extruder_nr}\n\nM400\nG92 E0\nM628 S0\n\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{material_print_temperature, extruder_nr}\nM106 P1 S60\nG1 E{(prime_tower_min_volume/(line_width*layer_height)) / 4.0} F{min(extruderValues('material_flush_purge_speed'))} ; do not need pulsatile flushing for start part\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{min(extruderValues('material_flush_purge_speed'))}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\nM400\nM1002 set_filament_type:{material_type, extruder_nr}\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\nM629\n\nM400\nM106 P1 S60\nG1 E5 F{material_flush_purge_speed, extruder_nr} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-{retraction_amount * 2} F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{machine_height + 3.0} F3000\nM106 P1 S0\n\nM622.1 S0\n\nM621 S{extruder_nr}A\nG392 S0\n\nM1007 S1\n;===== A1mini extruder start {extruder_nr} finish =====\n" },
"machine_extruder_end_code": { "default_value": ";===== A1mini extruder end {extruder_nr} begin =====\nG392 S0\nM1007 S0\nM204 S9000\n\nG1 Z{machine_height + 3.0} F1200\nG1 Y90 F9000\nG1 X180 F18000\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if material_print_temperature > 142, extruder_nr}\nM104 S{material_print_temperature, extruder_nr}\n{endif}\n\n\nM620.11 S1 I{extruder_nr} E-18 F1200\nM400\n\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A0 F{material_flush_purge_speed}\nM620.11 S1 I{extruder_nr} E18 F{material_flush_purge_speed}\n\nM628 S1\nG92 E0\nG1 E18 F{material_flush_purge_speed}\nM400\nM629 S1\n;===== A1mini extruder end {extruder_nr} finish =====\n" },
"machine_extruder_start_code": { "default_value": ";===== A1mini extruder start {extruder_nr} begin =====\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A1 F{material_flush_purge_speed} L{prime_tower_min_volume/(line_width*layer_height)} H{machine_nozzle_size} T{material_print_temperature, extruder_nr}\n\nM400\nG92 E0\nM628 S0\n\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{material_print_temperature, extruder_nr}\nM106 P1 S60\nG1 E{material_flush_purge_length / 4.0} F{min(extruderValues('material_flush_purge_speed'))} ; do not need pulsatile flushing for start part\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{min(extruderValues('material_flush_purge_speed'))}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\nM400\nM1002 set_filament_type:{material_type, extruder_nr}\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\nM629\n\nM400\nM106 P1 S60\nG1 E5 F{material_flush_purge_speed, extruder_nr} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-{retraction_amount * 2} F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{machine_height + 3.0} F3000\nM106 P1 S0\n\nM622.1 S0\n\nM621 S{extruder_nr}A\nG392 S0\n\nM1007 S1\n;===== A1mini extruder start {extruder_nr} finish =====\n" },
"material_diameter": { "default_value": 1.75 },
"switch_extruder_retraction_amount": { "default_value": 18 }
}

View File

@ -11,8 +11,8 @@
{
"extruder_nr": { "default_value": 3 },
"machine_extruder_change_duration": { "default_value": 29 },
"machine_extruder_end_code": { "default_value": ";===== A1mini extruder end {extruder_nr} begin =====\nG392 S0\nM1007 S0\nM204 S9000\n\nG1 Z{machine_height + 3.0} F1200\nG1 Y90 F9000\nG1 X180 F18000\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if material_print_temperature > 142, extruder_nr}\nM104 S{material_print_temperature, extruder_nr}\n{endif}\n\n\nM620.11 S1 I{extruder_nr} E-{switch_extruder_retraction_amount, extruder_nr} F1200\nM400\n\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A0 F{material_flush_purge_speed}\nM620.11 S1 I{extruder_nr} E{switch_extruder_retraction_amount, extruder_nr} F{material_flush_purge_speed}\n\nM628 S1\nG92 E0\nG1 E{switch_extruder_retraction_amount, extruder_nr} F{material_flush_purge_speed}\nM400\nM629 S1\n;===== A1mini extruder end {extruder_nr} finish =====\n" },
"machine_extruder_start_code": { "default_value": ";===== A1mini extruder start {extruder_nr} begin =====\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A1 F{material_flush_purge_speed} L{prime_tower_min_volume/(line_width*layer_height)} H{machine_nozzle_size} T{material_print_temperature, extruder_nr}\n\nM400\nG92 E0\nM628 S0\n\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{material_print_temperature, extruder_nr}\nM106 P1 S60\nG1 E{(prime_tower_min_volume/(line_width*layer_height)) / 4.0} F{min(extruderValues('material_flush_purge_speed'))} ; do not need pulsatile flushing for start part\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{min(extruderValues('material_flush_purge_speed'))}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\nM400\nM1002 set_filament_type:{material_type, extruder_nr}\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{((prime_tower_min_volume/(line_width*layer_height)) / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\nM629\n\nM400\nM106 P1 S60\nG1 E5 F{material_flush_purge_speed, extruder_nr} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-{retraction_amount * 2} F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{machine_height + 3.0} F3000\nM106 P1 S0\n\nM622.1 S0\n\nM621 S{extruder_nr}A\nG392 S0\n\nM1007 S1\n;===== A1mini extruder start {extruder_nr} finish =====\n" },
"machine_extruder_end_code": { "default_value": ";===== A1mini extruder end {extruder_nr} begin =====\nG392 S0\nM1007 S0\nM204 S9000\n\nG1 Z{machine_height + 3.0} F1200\nG1 Y90 F9000\nG1 X180 F18000\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if material_print_temperature > 142, extruder_nr}\nM104 S{material_print_temperature, extruder_nr}\n{endif}\n\n\nM620.11 S1 I{extruder_nr} E-18 F1200\nM400\n\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A0 F{material_flush_purge_speed}\nM620.11 S1 I{extruder_nr} E18 F{material_flush_purge_speed}\n\nM628 S1\nG92 E0\nG1 E18 F{material_flush_purge_speed}\nM400\nM629 S1\n;===== A1mini extruder end {extruder_nr} finish =====\n" },
"machine_extruder_start_code": { "default_value": ";===== A1mini extruder start {extruder_nr} begin =====\nM620.1 E F{material_flush_purge_speed} T{material_print_temperature, extruder_nr}\nM620.10 A1 F{material_flush_purge_speed} L{prime_tower_min_volume/(line_width*layer_height)} H{machine_nozzle_size} T{material_print_temperature, extruder_nr}\n\nM400\nG92 E0\nM628 S0\n\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{material_print_temperature, extruder_nr}\nM106 P1 S60\nG1 E{material_flush_purge_length / 4.0} F{min(extruderValues('material_flush_purge_speed'))} ; do not need pulsatile flushing for start part\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{min(extruderValues('material_flush_purge_speed'))}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.23} F{material_flush_purge_speed, extruder_nr}\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\nM400\nM1002 set_filament_type:{material_type, extruder_nr}\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n\nM106 P1 S60\n; FLUSH_START\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\nG1 E{(material_flush_purge_length / 4.0) * 0.18} F{material_flush_purge_speed, extruder_nr}\nG1 E{(material_flush_purge_length / 4.0) * 0.02} F50\n; FLUSH_END\nG1 E-{retraction_amount * 2} F1800\nG1 E{retraction_amount * 2} F300\n\nM629\n\nM400\nM106 P1 S60\nG1 E5 F{material_flush_purge_speed, extruder_nr} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-{retraction_amount * 2} F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{machine_height + 3.0} F3000\nM106 P1 S0\n\nM622.1 S0\n\nM621 S{extruder_nr}A\nG392 S0\n\nM1007 S1\n;===== A1mini extruder start {extruder_nr} finish =====\n" },
"material_diameter": { "default_value": 1.75 },
"switch_extruder_retraction_amount": { "default_value": 18 }
}