From 54fde10c55c6bb15b07733cfa114571fa206e9ee Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Tue, 12 Dec 2023 13:37:48 +0100 Subject: [PATCH] Updated binary g-code settings. --- resources/profiles/PrusaResearch.idx | 9 + resources/profiles/PrusaResearch.ini | 471 +++++++++++++++------------ 2 files changed, 269 insertions(+), 211 deletions(-) diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx index 560a04e5a8..a643f83c16 100644 --- a/resources/profiles/PrusaResearch.idx +++ b/resources/profiles/PrusaResearch.idx @@ -1,4 +1,9 @@ min_slic3r_version = 2.7.0-beta1 +1.11.7 Updated binary g-code settings for PrusaSlicer 2.7.1. Binary g-code is not used by default in PrusaSlicer 2.7.0. +1.11.6 Updated FW version notification (XL/MINI/MK4/MK3.9). Updated print profiles for 0.25mm nozzle (XLIS/MK4IS/MK3.9). +1.11.5 Updated printer names and resources for XL/MINI Input Shaper (final firmware 5.1.0 was released). +1.11.4 Added filament profile for Prusament rPLA. Updated start g-code for XL Multi-Tool. +1.11.3 Updated support material settings (XL 0.6). Added new print profiles for MK4/MK3.9 IS 0.6. Updated start g-code (XL/MK4). Updated selected filament profiles. Updated FW version notification for MINI IS and XL IS (5.1.0-BETA). Decreased first layer speed for Prusa MINI IS. 1.11.2 Bumped up version for 2.7.0-rc1. Added Prusament Resin Model Neutral Beige. 1.11.2-beta0 Bumped up version for beta. Updated start/end g-code for Prusa MINI Input Shaper. min_slic3r_version = 2.7.0-alpha2 @@ -21,6 +26,10 @@ min_slic3r_version = 2.6.2-alpha0 1.11.0-alpha1 Updated ramming parameters. Updated start-gcode for XL Multi-Tool. Updated output filename format. 1.11.0-alpha0 Binary g-code, arc fitting, QOI/PNG thumbnails, 90degree XL tower, XL specific filament variants. min_slic3r_version = 2.6.1-rc2 +1.10.9 Updated FW version notification (XL/MINI/MK4/MK3.9). Updated print profiles for 0.25mm nozzle (XLIS/MK4IS/MK3.9). +1.10.8 Updated printer names and resources for XL/MINI Input Shaper (final firmware 5.1.0 was released). +1.10.7 Added filament profile for Prusament rPLA. Updated start g-code for XL Multi-Tool. +1.10.6 Enabled toolchange ramming for PLA. Added new print profiles for MK4/MK3.9 IS 0.6. Updated support material settings (0.6 nozzle). Updated FW version notification for MINI IS and XL IS. Added Prusament Resin Model Neutral Beige. 1.10.5 Updated FW version notification (MK2.5/MK3/MK3.9/MK4 family). Updated start/end g-code for Prusa MINI Input Shaper (Alpha). 1.10.4 Reduced nozzle temperature in selected filament profiles (Prusa XL 0.6mm nozzle). 1.10.3 Added additional printer checks for Prusa XL Input Shaper (Alpha). diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index 4c72b664ce..890f42c1fa 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -5,7 +5,7 @@ name = Prusa Research # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 1.11.2 +config_version = 1.11.7 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaResearch/ changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -22,7 +22,7 @@ family = MK4 bed_model = mk4_bed.stl bed_texture = mk4.svg thumbnail = MK4IS_thumbnail_v2.png -default_materials = Prusament PLA @PGIS; Prusament PLA Blend @PGIS; Prusament PETG @PGIS; Generic PLA @PGIS; Prusa PLA @PGIS; Prusa PETG @PGIS; Generic ASA @MK4; Generic PETG @PGIS; Prusa PLA @PGIS; Generic PLA Silk @PGIS +default_materials = Prusament PLA @PGIS; Prusament rPLA @PG; Prusament PLA Blend @PGIS; Prusament PETG @PGIS; Generic PLA @PGIS; Prusa PLA @PGIS; Prusa PETG @PGIS; Generic ASA @MK4; Generic PETG @PGIS; Prusa PLA @PGIS; Generic PLA Silk @PGIS [printer_model:MK4] name = Original Prusa MK4 @@ -31,7 +31,7 @@ technology = FFF family = MK4 bed_model = mk4_bed.stl bed_texture = mk4.svg -default_materials = Generic PLA @PG; Generic ABS @MK4; Generic PETG @PG; Prusament PLA @PG; Prusament PETG @PG; Prusament ASA @MK4; Prusament PC Blend @MK4; Prusament PC Blend Carbon Fiber @MK4; Prusament PVB @PG; Prusament PA11 Carbon Fiber @PG +default_materials = Generic PLA @PG; Generic ABS @MK4; Generic PETG @PG; Prusament PLA @PG; Prusament rPLA @PG; Prusament PETG @PG; Prusament ASA @MK4; Prusament PC Blend @MK4; Prusament PC Blend Carbon Fiber @MK4; Prusament PVB @PG; Prusament PA11 Carbon Fiber @PG [printer_model:MK3.9] name = Original Prusa MK3.9 Input Shaper @@ -41,7 +41,17 @@ family = MK3.9 bed_model = mk4_bed.stl bed_texture = mk39.svg thumbnail = MK39IS_thumbnail.png -default_materials = Prusament PLA @PGIS; Prusament PLA Blend @PGIS; Prusament PETG @PGIS; Generic PLA @PGIS; Prusa PLA @PGIS; Prusa PETG @PGIS; Generic ASA @MK4; Generic PETG @PGIS; Prusa PLA @PGIS; Generic PLA Silk @PGIS +default_materials = Prusament PLA @PGIS; Prusament rPLA @PG; Prusament PLA Blend @PGIS; Prusament PETG @PGIS; Generic PLA @PGIS; Prusa PLA @PGIS; Prusa PETG @PGIS; Generic ASA @MK4; Generic PETG @PGIS; Prusa PLA @PGIS; Generic PLA Silk @PGIS + +[printer_model:MINIIS] +name = Original Prusa MINI && MINI+ Input Shaper +variants = 0.4; 0.25; 0.6; 0.8 +technology = FFF +family = MINI +bed_model = mini_bed.stl +bed_texture = mini.svg +thumbnail = MINIIS_thumbnail.png +default_materials = Generic PLA @MINIIS; Generic ABS @MINIIS; Generic PETG @MINIIS; Prusament PLA @MINIIS; Prusament rPLA; Prusament PETG @MINIIS; Prusament ASA @MINIIS [printer_model:MINI] name = Original Prusa MINI && MINI+ @@ -50,17 +60,7 @@ technology = FFF family = MINI bed_model = mini_bed.stl bed_texture = mini.svg -default_materials = Generic PLA; Generic ABS @MINI; Generic PETG @MINI; Prusament PLA; Prusament PETG @MINI; Prusament ASA @MINI; Prusament PC Blend @MINI; Prusament PC Blend Carbon Fiber @MINI; Prusament PVB - -[printer_model:MINIIS] -name = Original Prusa MINI && MINI+ Input Shaper (Alpha) -variants = 0.4; 0.25; 0.6; 0.8 -technology = FFF -family = MINI -bed_model = mini_bed.stl -bed_texture = miniIS.svg -thumbnail = MINIIS_ALPHA_thumbnail.png -default_materials = Generic PLA @MINIIS; Generic ABS @MINIIS; Generic PETG @MINIIS; Prusament PLA @MINIIS; Prusament PETG @MINIIS; Prusament ASA @MINIIS +default_materials = Generic PLA; Generic ABS @MINI; Generic PETG @MINI; Prusament PLA; Prusament rPLA; Prusament PETG @MINI; Prusament ASA @MINI; Prusament PC Blend @MINI; Prusament PC Blend Carbon Fiber @MINI; Prusament PVB [printer_model:MK3S] name = Original Prusa i3 MK3S && MK3S+ @@ -69,7 +69,7 @@ technology = FFF family = MK3 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament rPLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber [printer_model:MK3] name = Original Prusa i3 MK3 @@ -78,7 +78,7 @@ technology = FFF family = MK3 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament rPLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber [printer_model:MK3SMMU3] name = Original Prusa i3 MK3S && MK3S+ MMU3 @@ -107,6 +107,16 @@ bed_model = mk3_bed.stl bed_texture = mk3.svg default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU; Prusament PETG @MMU; Prusament ASA @MMU; Verbatim BVOH @MMU; Prusament PC Blend @MMU; Prusament PC Blend Carbon Fiber @MMU; Prusament PVB @MMU +[printer_model:XLIS] +name = Original Prusa XL Input Shaper +variants = 0.6; 0.25; 0.3; 0.4; 0.5; 0.8 +technology = FFF +family = XL Single-Tool +bed_model = xl_bed.stl +bed_texture = xl.svg +thumbnail = XLIS_thumbnail.png +default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament rPLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6 + [printer_model:XL] name = Original Prusa XL variants = 0.6; 0.25; 0.3; 0.4; 0.5; 0.8 @@ -114,17 +124,17 @@ technology = FFF family = XL Single-Tool bed_model = xl_bed.stl bed_texture = xl.svg -default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6 +default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament rPLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6 -[printer_model:XLIS] -name = Original Prusa XL Input Shaper (Alpha) +[printer_model:XL2IS] +name = Original Prusa XL - 2T Input Shaper variants = 0.6; 0.25; 0.3; 0.4; 0.5; 0.8 technology = FFF -family = XL Single-Tool +family = XL Multi-Tool bed_model = xl_bed.stl -bed_texture = xlis_alpha.svg -thumbnail = XLIS_alpha_thumbnail.png -default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6 +bed_texture = xl.svg +thumbnail = XL2IS_thumbnail.png +default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament rPLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6; Verbatim BVOH @XL 0.6 [printer_model:XL2] name = Original Prusa XL - 2T @@ -133,17 +143,17 @@ technology = FFF family = XL Multi-Tool bed_model = xl_bed.stl bed_texture = xl.svg -default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6; Verbatim BVOH @XL 0.6 +default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament rPLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6; Verbatim BVOH @XL 0.6 -[printer_model:XL2IS] -name = Original Prusa XL - 2T Input Shaper (Alpha) +[printer_model:XL5IS] +name = Original Prusa XL - 5T Input Shaper variants = 0.6; 0.25; 0.3; 0.4; 0.5; 0.8 technology = FFF family = XL Multi-Tool bed_model = xl_bed.stl -bed_texture = xlis_alpha.svg -thumbnail = XL2IS_alpha_thumbnail.png -default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6; Verbatim BVOH @XL 0.6 +bed_texture = xl.svg +thumbnail = XL5IS_thumbnail.png +default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament rPLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6; Verbatim BVOH @XL 0.6 [printer_model:XL5] name = Original Prusa XL - 5T @@ -152,17 +162,7 @@ technology = FFF family = XL Multi-Tool bed_model = xl_bed.stl bed_texture = xl.svg -default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6; Verbatim BVOH @XL 0.6 - -[printer_model:XL5IS] -name = Original Prusa XL - 5T Input Shaper (Alpha) -variants = 0.6; 0.25; 0.3; 0.4; 0.5; 0.8 -technology = FFF -family = XL Multi-Tool -bed_model = xl_bed.stl -bed_texture = xlis_alpha.svg -thumbnail = XL5IS_alpha_thumbnail.png -default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6; Verbatim BVOH @XL 0.6 +default_materials = Generic PLA @XL 0.6; Generic ABS @XL 0.6; Generic PETG @XL 0.6; Prusament PLA @XL 0.6; Prusament rPLA @XL 0.6; Prusament PETG @XL 0.6; Prusament ASA @XL 0.6; Prusament PC Blend @XL 0.6; Prusament PC Blend Carbon Fiber @XL 0.6; Prusament PVB @XL 0.6; Prusament PA11 Carbon Fiber @XL 0.6; Verbatim BVOH @XL 0.6 [printer_model:MK2.5S] name = Original Prusa i3 MK2.5S @@ -171,7 +171,7 @@ technology = FFF family = MK2.5 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber @MK2 +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament rPLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber @MK2 [printer_model:MK2.5] name = Original Prusa i3 MK2.5 @@ -180,7 +180,7 @@ technology = FFF family = MK2.5 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber @MK2 +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament rPLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber @MK2 [printer_model:MK2.5SMMU2S] name = Original Prusa i3 MK2.5S MMU2S @@ -207,7 +207,7 @@ technology = FFF family = MK2 bed_model = mk2_bed.stl bed_texture = mk2.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber @MK2 +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament rPLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB; Prusament PA11 Carbon Fiber @MK2 [printer_model:MK2SMM] name = Original Prusa i3 MK2S MMU1 @@ -381,7 +381,6 @@ extruder_clearance_radius = 67 first_layer_speed = 25 support_material_threshold = 45 raft_first_layer_density = 80% -## gcode_substitutions = "; stop printing object\\s(.*)\\s+id:(\\d+)\\s+.*";"$0\\nM486 S-1\\n";r;;"; printing object\\s(.*)\\s+id:(\\d+)\\s+.*";"$0\\nM486 S$2\\nM486 N$1\\n";r; output_filename_format = {input_filename_base}_{layer_height}mm_{printing_filament_types}_XL_{print_time}.gcode wipe_tower_cone_angle = 25 wipe_tower = 1 @@ -391,7 +390,6 @@ wipe_tower_brim_width = 3 wipe_tower_rotation_angle = 90 ooze_prevention = 1 standby_temperature_delta = -110 -gcode_binary = 1 arc_fitting = emit_center gcode_label_objects = firmware @@ -416,9 +414,7 @@ extruder_clearance_radius = 45 first_layer_speed = 20 support_material_threshold = 45 raft_first_layer_density = 80% -## gcode_substitutions = "; stop printing object\\s(.*)\\s+id:(\\d+)\\s+.*";"$0\\nM486 S-1\\n";r;;"; printing object\\s(.*)\\s+id:(\\d+)\\s+.*";"$0\\nM486 S$2\\nM486 N$1\\n";r; -output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode -gcode_binary = 1 +output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode arc_fitting = emit_center gcode_label_objects = firmware @@ -446,8 +442,7 @@ support_material_speed = 40 max_print_speed = 150 extruder_clearance_height = 20 extruder_clearance_radius = 35 -output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode -gcode_binary = 1 +output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode arc_fitting = emit_center gcode_label_objects = firmware @@ -500,11 +495,10 @@ infill_speed = 40 solid_infill_speed = 40 infill_acceleration = 800 first_layer_acceleration = 500 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode [print:*0.25nozzleXL*] inherits = *0.25nozzleMK4* -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.gcode [print:*0.25nozzleMK4*] inherits = *0.25nozzleMK3* @@ -515,7 +509,7 @@ first_layer_acceleration = 500 infill_anchor = 1 perimeters = 3 brim_separation = 0 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:*0.3nozzle*] external_perimeter_extrusion_width = 0.33 @@ -529,14 +523,14 @@ support_material_extrusion_width = 0.3 fill_density = 20% perimeters = 3 infill_anchor = 1.5 -output_filename_format = {input_filename_base}_0.3n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.3n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:*0.3nozzleXL*] inherits = *0.3nozzle* -output_filename_format = {input_filename_base}_0.3n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.3n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.gcode [print:*0.4nozzleXL*] -output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.gcode [print:*0.5nozzle*] external_perimeter_extrusion_width = 0.55 @@ -556,11 +550,11 @@ infill_anchor = 2 infill_anchor_max = 15 thick_bridges = 0 bridge_speed = 30 -output_filename_format = {input_filename_base}_0.5n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.5n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:*0.5nozzleXL*] inherits = *0.5nozzle* -output_filename_format = {input_filename_base}_0.5n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.5n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.gcode [print:*0.6nozzle*] external_perimeter_extrusion_width = 0.61 @@ -581,7 +575,7 @@ thick_bridges = 1 bridge_flow_ratio = 0.95 bridge_speed = 25 infill_overlap = 15% -support_tree_branch_diameter_double_wall = 0 +support_tree_branch_diameter_double_wall = 5 output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:*0.6nozzleMK3*] @@ -593,7 +587,7 @@ thick_bridges = 0 [print:*0.6nozzleXL*] inherits = *0.6nozzleMK4* -output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.gcode [print:*0.6nozzleMK4*] inherits = *0.6nozzle* @@ -604,7 +598,7 @@ thick_bridges = 0 fill_density = 20% support_material_interface_spacing = 0.25 infill_anchor = 2.5 -output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:*0.6nozzleMINI*] inherits = *0.6nozzleMK3* @@ -622,7 +616,8 @@ first_layer_acceleration = 800 default_acceleration = 1250 support_material_speed = 40 support_material_interface_speed = 100% -output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +gcode_label_objects = firmware +output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:*0.8nozzle*] external_perimeter_extrusion_width = 0.9 @@ -677,14 +672,17 @@ raft_first_layer_expansion = 2 default_acceleration = 1250 infill_anchor = 2.5 first_layer_acceleration = 500 -output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.gcode [print:*0.8nozzleMK4*] inherits = *0.8nozzleXL* default_acceleration = 1000 infill_acceleration = 2000 first_layer_acceleration = 600 -output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode + +[print:*0.8nozzleMINI*] +gcode_label_objects = firmware [print:*soluble_support*] overhangs = 1 @@ -1706,7 +1704,7 @@ infill_acceleration = 1000 solid_infill_acceleration = 1000 top_solid_infill_acceleration = 800 external_perimeter_acceleration = 300 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:0.07mm ULTRADETAIL @0.25 nozzle MINI] inherits = *0.07mm*; *0.25nozzle*; *MINI* @@ -1723,7 +1721,7 @@ infill_acceleration = 1000 solid_infill_acceleration = 1000 top_solid_infill_acceleration = 800 external_perimeter_acceleration = 300 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:0.10mm DETAIL @0.25 nozzle MINI] inherits = *0.10mm*; *0.25nozzleMINI*; *MINI* @@ -1736,7 +1734,7 @@ infill_acceleration = 1200 solid_infill_acceleration = 1000 top_solid_infill_acceleration = 800 external_perimeter_acceleration = 500 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:0.15mm QUALITY @0.25 nozzle MINI] inherits = *0.15mm*; *0.25nozzleMINI*; *MINI* @@ -1753,7 +1751,7 @@ infill_acceleration = 1500 solid_infill_acceleration = 1000 top_solid_infill_acceleration = 800 external_perimeter_acceleration = 500 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode # MINI - 0.6mm nozzle @@ -1855,7 +1853,7 @@ external_perimeter_acceleration = 800 # MINI - 0.8mm nozzle [print:0.30mm DETAIL @0.8 nozzle MINI] -inherits = 0.30mm DETAIL @0.8 nozzle +inherits = 0.30mm DETAIL @0.8 nozzle; *0.8nozzleMINI* compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]==0.8 perimeter_speed = 35 external_perimeter_speed = 25 @@ -1872,7 +1870,7 @@ perimeter_acceleration = 900 external_perimeter_acceleration = 800 [print:0.40mm QUALITY @0.8 nozzle MINI] -inherits = 0.40mm QUALITY @0.8 nozzle +inherits = 0.40mm QUALITY @0.8 nozzle; *0.8nozzleMINI* compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]==0.8 infill_speed = 40 max_print_speed = 50 @@ -1887,7 +1885,7 @@ perimeter_acceleration = 1000 external_perimeter_acceleration = 800 [print:0.55mm DRAFT @0.8 nozzle MINI] -inherits = 0.55mm DRAFT @0.8 nozzle +inherits = 0.55mm DRAFT @0.8 nozzle; *0.8nozzleMINI* compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]==0.8 infill_speed = 40 solid_infill_speed = 40 @@ -2570,7 +2568,7 @@ infill_extrusion_width = 0.6 perimeter_extrusion_width = 0.6 solid_infill_extrusion_width = 0.6 top_infill_extrusion_width = 0.5 -support_material_extrusion_width = 0.5 +support_material_extrusion_width = 0.55 external_perimeter_acceleration = 800 perimeter_acceleration = 800 infill_acceleration = 2000 @@ -2605,7 +2603,7 @@ infill_extrusion_width = 0.6 perimeter_extrusion_width = 0.6 solid_infill_extrusion_width = 0.6 top_infill_extrusion_width = 0.5 -support_material_extrusion_width = 0.5 +support_material_extrusion_width = 0.55 external_perimeter_acceleration = 800 perimeter_acceleration = 900 infill_acceleration = 2500 @@ -2633,7 +2631,7 @@ gap_fill_speed = 40 bridge_speed = 25 extrusion_width = 0.65 top_infill_extrusion_width = 0.55 -support_material_extrusion_width = 0.5 +support_material_extrusion_width = 0.55 external_perimeter_acceleration = 800 perimeter_acceleration = 1000 infill_acceleration = 2500 @@ -2709,7 +2707,7 @@ infill_extrusion_width = 0.68 perimeter_extrusion_width = 0.68 solid_infill_extrusion_width = 0.68 top_infill_extrusion_width = 0.55 -support_material_extrusion_width = 0.5 +support_material_extrusion_width = 0.55 external_perimeter_acceleration = 800 perimeter_acceleration = 1000 solid_infill_acceleration = 1500 @@ -2744,7 +2742,7 @@ infill_extrusion_width = 0.68 perimeter_extrusion_width = 0.68 solid_infill_extrusion_width = 0.68 top_infill_extrusion_width = 0.6 -support_material_extrusion_width = 0.5 +support_material_extrusion_width = 0.55 external_perimeter_acceleration = 1000 perimeter_acceleration = 1200 solid_infill_acceleration = 2000 @@ -2779,7 +2777,7 @@ infill_extrusion_width = 0.68 perimeter_extrusion_width = 0.68 solid_infill_extrusion_width = 0.68 top_infill_extrusion_width = 0.6 -support_material_extrusion_width = 0.5 +support_material_extrusion_width = 0.55 external_perimeter_acceleration = 1000 perimeter_acceleration = 1200 solid_infill_acceleration = 2000 @@ -3825,7 +3823,7 @@ min_skirt_length = 4 mmu_segmented_region_max_width = 0 only_retract_when_crossing_perimeters = 0 ooze_prevention = 0 -output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode overhang_speed_0 = 15 overhang_speed_1 = 25 overhang_speed_2 = 30 @@ -3897,7 +3895,6 @@ thin_walls = 0 top_solid_min_thickness = 0.7 bottom_solid_min_thickness = 0.5 compatible_printers_condition = printer_notes=~/.*MK4IS.*/ and nozzle_diameter[0]==0.4 -gcode_binary = 1 arc_fitting = emit_center [print:*MK4IS_common025*] @@ -3918,7 +3915,7 @@ bottom_solid_layers = 6 top_solid_layers = 9 support_material_speed = 70 support_material_interface_speed = 75% -infill_overlap = 10% +infill_overlap = 15% default_acceleration = 2000 travel_acceleration = 3000 infill_acceleration = 3000 @@ -3926,7 +3923,7 @@ solid_infill_acceleration = 2500 bridge_speed = 30 bridge_flow_ratio = 1 infill_speed = 100 -solid_infill_speed = 160 +solid_infill_speed = 140 top_solid_infill_speed = 60 perimeters = 3 infill_anchor = 1 @@ -3938,7 +3935,7 @@ raft_first_layer_density = 95% gap_fill_speed = 50 single_extruder_multi_material_priming = 0 wipe_tower = 1 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*MK4IS.*/ and nozzle_diameter[0]==0.25 [print:*MK4IS_common03*] @@ -3959,7 +3956,7 @@ bottom_solid_layers = 5 top_solid_layers = 6 support_material_speed = 70 support_material_interface_speed = 75% -infill_overlap = 10% +infill_overlap = 15% default_acceleration = 2000 infill_acceleration = 4000 bridge_speed = 30 @@ -3974,7 +3971,7 @@ raft_first_layer_density = 90% gap_fill_speed = 50 top_solid_min_thickness = 0.7 bottom_solid_min_thickness = 0.5 -output_filename_format = {input_filename_base}_0.3n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.3n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*MK4IS.*/ and nozzle_diameter[0]==0.3 [print:*MK4IS_common05*] @@ -4002,7 +3999,7 @@ infill_acceleration = 4000 default_acceleration = 2500 infill_anchor = 2 infill_anchor_max = 15 -output_filename_format = {input_filename_base}_0.5n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.5n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*MK4IS.*/ and nozzle_diameter[0]==0.5 [print:*MK4IS_common06*] @@ -4024,7 +4021,7 @@ support_material_interface_spacing = 0.25 support_material_interface_speed = 75% raft_contact_distance = 0.25 gap_fill_speed = 70 -output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*MK4IS.*/ and nozzle_diameter[0]==0.6 overhang_speed_0 = 15 overhang_speed_1 = 20 @@ -4034,6 +4031,7 @@ top_solid_min_thickness = 0.9 bottom_solid_min_thickness = 0.6 infill_anchor = 2.5 infill_anchor_max = 20 +support_material_speed = 90 [print:*MK4IS_common08*] inherits = *MK4IS_common* @@ -4058,7 +4056,7 @@ raft_contact_distance = 0.2 gap_fill_speed = 40 top_solid_min_thickness = 1.2 bottom_solid_min_thickness = 0.8 -output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*MK4IS.*/ and nozzle_diameter[0]==0.8 seam_position = nearest infill_anchor = 2.5 @@ -4098,7 +4096,7 @@ support_material_contact_distance = 0.17 raft_contact_distance = 0.15 perimeter_speed = 170 external_perimeter_speed = 170 -small_perimeter_speed = 140 +small_perimeter_speed = 170 gap_fill_speed = 120 support_material_speed = 120 support_material_interface_speed = 50 @@ -4124,15 +4122,12 @@ top_solid_layers = 8 bottom_solid_layers = 7 support_material_contact_distance = 0.17 raft_contact_distance = 0.15 -external_perimeter_acceleration = 2500 +external_perimeter_acceleration = 2000 perimeter_acceleration = 2500 infill_speed = 140 perimeters = 3 -perimeter_extrusion_width = 0.4 -external_perimeter_extrusion_width = 0.4 -infill_extrusion_width = 0.4 -solid_infill_extrusion_width = 0.4 top_infill_extrusion_width = 0.4 +bridge_speed = 40 # 0.25mm nozzle IS @@ -4224,8 +4219,8 @@ external_perimeter_speed = 40 small_perimeter_speed = 40 external_perimeter_acceleration = 1000 perimeter_acceleration = 1500 -infill_acceleration = 3000 -solid_infill_acceleration = 3000 +infill_acceleration = 2500 +solid_infill_acceleration = 2000 [print:0.15mm SPEED @MK4IS 0.25] inherits = 0.12mm SPEED @MK4IS 0.25 @@ -4477,7 +4472,7 @@ perimeter_speed = 70 external_perimeter_speed = 45 small_perimeter_speed = 45 solid_infill_speed = 165 -infill_speed = 150 +infill_speed = 130 top_solid_infill_speed = 70 bridge_speed = 40 gap_fill_speed = 80 @@ -4524,22 +4519,22 @@ infill_extrusion_width = 0.62 solid_infill_extrusion_width = 0.62 top_infill_extrusion_width = 0.5 -; [print:0.20mm STRUCTURAL @MK4IS 0.6] -; inherits = 0.20mm SPEED @MK4IS 0.6 -; bottom_solid_layers = 5 -; top_solid_layers = 6 -; perimeter_speed = 80 -; external_perimeter_speed = 45 -; small_perimeter_speed = 45 -; infill_speed = 200 -; solid_infill_speed = 120 -; top_solid_infill_speed = 70 -; bridge_speed = 30 -; gap_fill_speed = 80 -; external_perimeter_acceleration = 1500 -; perimeter_acceleration = 2500 -; top_solid_infill_acceleration = 1500 -; solid_infill_acceleration = 2500 +[print:0.20mm STRUCTURAL @MK4IS 0.6] +inherits = 0.20mm SPEED @MK4IS 0.6 +bottom_solid_layers = 5 +top_solid_layers = 6 +perimeter_speed = 80 +external_perimeter_speed = 45 +small_perimeter_speed = 45 +infill_speed = 130 +solid_infill_speed = 120 +top_solid_infill_speed = 70 +bridge_speed = 30 +gap_fill_speed = 80 +external_perimeter_acceleration = 1500 +perimeter_acceleration = 2000 +top_solid_infill_acceleration = 1500 +solid_infill_acceleration = 2500 [print:0.25mm SPEED @MK4IS 0.6] inherits = *MK4IS_common06* @@ -4550,7 +4545,7 @@ small_perimeter_speed = 80 infill_speed = 200 solid_infill_speed = 90 top_solid_infill_speed = 60 -support_material_speed = 90 +support_material_speed = 80 bridge_speed = 40 gap_fill_speed = 70 external_perimeter_acceleration = 2000 @@ -4597,27 +4592,14 @@ bridge_acceleration = 1500 default_acceleration = 2500 support_material_contact_distance = 0.25 -; [print:0.40mm SPEED @MK4IS 0.6] -; inherits = *MK4IS_common06* -; layer_height = 0.4 -; bottom_solid_layers = 3 -; top_solid_layers = 4 -; perimeter_speed = 60 -; external_perimeter_speed = 60 -; small_perimeter_speed = 60 -; infill_speed = 200 -; solid_infill_speed = 60 -; top_solid_infill_speed = 60 -; bridge_speed = 30 -; gap_fill_speed = 60 -; external_perimeter_acceleration = 2000 -; perimeter_acceleration = 2500 -; top_solid_infill_acceleration = 1500 -; solid_infill_acceleration = 3000 -; infill_acceleration = 4000 -; bridge_acceleration = 1500 -; default_acceleration = 2000 -; support_material_contact_distance = 0.25 +[print:0.32mm STRUCTURAL @MK4IS 0.6] +inherits = 0.32mm SPEED @MK4IS 0.6 +perimeter_speed = 70 +external_perimeter_speed = 45 +small_perimeter_speed = 45 +external_perimeter_acceleration = 1500 +perimeter_acceleration = 2000 +bridge_speed = 30 # 0.8mm nozzle IS @@ -4704,7 +4686,7 @@ default_acceleration = 2500 dont_support_bridges = 0 elefant_foot_compensation = 0.2 enable_dynamic_overhang_speeds = 1 -external_perimeter_acceleration = 3000 +external_perimeter_acceleration = 2500 external_perimeter_extrusion_width = 0.45 external_perimeter_speed = 170 external_perimeters_first = 0 @@ -4747,7 +4729,7 @@ min_feature_size = 25% min_skirt_length = 4 mmu_segmented_region_max_width = 0 only_retract_when_crossing_perimeters = 0 -output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_XLIS_{print_time}.gcode overhang_speed_0 = 15 overhang_speed_1 = 25 overhang_speed_2 = 30 @@ -4792,17 +4774,16 @@ support_material_interface_spacing = 0.2 support_material_interface_speed = 50% support_material_pattern = rectilinear support_material_spacing = 2 -support_material_speed = 120 +support_material_speed = 110 support_material_style = snug support_material_synchronize_layers = 0 support_material_threshold = 40 support_material_with_sheath = 0 support_material_xy_spacing = 80% support_tree_angle = 40 -support_tree_angle_slow = 25 +support_tree_angle_slow = 30 support_tree_branch_diameter = 2 support_tree_branch_diameter_angle = 5 -support_tree_branch_diameter_double_wall = 3 support_tree_branch_distance = 1 support_tree_tip_diameter = 0.8 support_tree_top_rate = 30% @@ -4828,7 +4809,6 @@ wipe_tower_bridging = 8 wipe_tower_cone_angle = 25 wipe_tower_extra_spacing = 150 compatible_printers_condition = printer_notes=~/.*XLIS.*/ and nozzle_diameter[0]==0.4 -gcode_binary = 1 arc_fitting = emit_center [print:*XLIS_common025*] @@ -4849,7 +4829,7 @@ bottom_solid_layers = 6 top_solid_layers = 9 support_material_speed = 70 support_material_interface_speed = 75% -infill_overlap = 10% +infill_overlap = 15% default_acceleration = 2000 travel_acceleration = 4000 infill_acceleration = 3000 @@ -4857,7 +4837,7 @@ solid_infill_acceleration = 2500 bridge_speed = 30 bridge_flow_ratio = 1 infill_speed = 100 -solid_infill_speed = 160 +solid_infill_speed = 140 top_solid_infill_speed = 60 perimeters = 3 infill_anchor = 1 @@ -4867,7 +4847,7 @@ support_material_xy_spacing = 150% raft_contact_distance = 0.15 raft_first_layer_density = 95% gap_fill_speed = 50 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_XLIS_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*XLIS.*/ and nozzle_diameter[0]==0.25 [print:*XLIS_common03*] @@ -4888,7 +4868,7 @@ bottom_solid_layers = 5 top_solid_layers = 6 support_material_speed = 70 support_material_interface_speed = 75% -infill_overlap = 10% +infill_overlap = 15% default_acceleration = 2000 infill_acceleration = 4000 bridge_speed = 30 @@ -4903,7 +4883,7 @@ raft_first_layer_density = 90% gap_fill_speed = 50 top_solid_min_thickness = 0.7 bottom_solid_min_thickness = 0.5 -output_filename_format = {input_filename_base}_0.3n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.3n_{layer_height}mm_{printing_filament_types}_XLIS_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*XLIS.*/ and nozzle_diameter[0]==0.3 [print:*XLIS_common05*] @@ -4931,7 +4911,7 @@ infill_acceleration = 4000 default_acceleration = 2500 infill_anchor = 2 infill_anchor_max = 15 -output_filename_format = {input_filename_base}_0.5n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.5n_{layer_height}mm_{printing_filament_types}_XLIS_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*XLIS.*/ and nozzle_diameter[0]==0.5 [print:*XLIS_common06*] @@ -4943,7 +4923,7 @@ external_perimeter_extrusion_width = 0.68 infill_extrusion_width = 0.68 solid_infill_extrusion_width = 0.68 top_infill_extrusion_width = 0.55 -support_material_extrusion_width = 0.5 +support_material_extrusion_width = 0.55 gcode_resolution = 0.0125 bottom_solid_layers = 3 top_solid_layers = 4 @@ -4953,7 +4933,7 @@ support_material_interface_spacing = 0.25 support_material_interface_speed = 75% raft_contact_distance = 0.25 gap_fill_speed = 70 -output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_XLIS_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*XLIS.*/ and nozzle_diameter[0]==0.6 overhang_speed_0 = 15 overhang_speed_1 = 20 @@ -4964,6 +4944,8 @@ bottom_solid_min_thickness = 0.6 infill_anchor = 2.5 infill_anchor_max = 20 bridge_speed = 40 +support_tree_angle_slow = 25 +support_tree_branch_diameter_double_wall = 5 [print:*XLIS_common08*] inherits = *XLIS_common* @@ -4988,7 +4970,7 @@ raft_contact_distance = 0.2 gap_fill_speed = 40 top_solid_min_thickness = 1.2 bottom_solid_min_thickness = 0.8 -output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_XLIS_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*XLIS.*/ and nozzle_diameter[0]==0.8 seam_position = nearest infill_anchor = 2.5 @@ -5028,6 +5010,7 @@ overhang_speed_3 = 90% inherits = 0.20mm STRUCTURAL @XLIS 0.4; *soluble_support_XL* support_material_extruder = 0 solid_infill_speed = 70 +support_material_interface_speed = 40 solid_infill_acceleration = 1500 support_material_interface_layers = 3 support_material_extrusion_width = 0.35 @@ -5035,6 +5018,7 @@ compatible_printers_condition = printer_notes=~/.*XLIS.*/ and nozzle_diameter[0] [print:0.20mm SOLUBLE FULL @XLIS 0.4] inherits = 0.20mm SOLUBLE INTERFACE @XLIS 0.4 +support_material_speed = 100 support_material_extruder = 2 support_material_with_sheath = 1 @@ -5079,11 +5063,8 @@ solid_infill_acceleration = 2500 small_perimeter_speed = 150 infill_speed = 140 perimeters = 3 -perimeter_extrusion_width = 0.4 -external_perimeter_extrusion_width = 0.4 -infill_extrusion_width = 0.4 -solid_infill_extrusion_width = 0.4 top_infill_extrusion_width = 0.4 +bridge_speed = 40 # 0.25mm nozzle IS @@ -5132,8 +5113,8 @@ external_perimeter_speed = 40 small_perimeter_speed = 40 external_perimeter_acceleration = 1000 perimeter_acceleration = 1500 -infill_acceleration = 3000 -solid_infill_acceleration = 3000 +infill_acceleration = 2500 +solid_infill_acceleration = 2500 [print:0.15mm SPEED @XLIS 0.25] inherits = 0.12mm SPEED @XLIS 0.25 @@ -5347,7 +5328,7 @@ perimeter_speed = 80 external_perimeter_speed = 45 small_perimeter_speed = 45 solid_infill_speed = 165 -infill_speed = 150 +infill_speed = 130 top_solid_infill_speed = 70 gap_fill_speed = 75 external_perimeter_acceleration = 1500 @@ -5398,18 +5379,18 @@ inherits = 0.15mm STRUCTURAL @XLIS 0.6 layer_height = 0.2 bottom_solid_layers = 4 top_solid_layers = 5 -infill_speed = 200 +infill_speed = 130 [print:0.25mm SPEED @XLIS 0.6] inherits = *XLIS_common06* layer_height = 0.25 -perimeter_speed = 95 +perimeter_speed = 80 external_perimeter_speed = 80 small_perimeter_speed = 80 infill_speed = 200 solid_infill_speed = 95 top_solid_infill_speed = 60 -support_material_speed = 95 +support_material_speed = 80 gap_fill_speed = 70 external_perimeter_acceleration = 2500 perimeter_acceleration = 3000 @@ -5442,6 +5423,8 @@ solid_infill_speed = 70 solid_infill_acceleration = 1500 support_material_interface_layers = 3 support_material_extrusion_width = 0.5 +support_material_speed = 75 +support_material_interface_speed = 50% compatible_printers_condition = printer_notes=~/.*XLIS.*/ and nozzle_diameter[0]==0.6 and num_extruders>1 [print:0.25mm SOLUBLE FULL @XLIS 0.6] @@ -5564,7 +5547,7 @@ perimeter_speed = 140 external_perimeter_speed = 140 small_perimeter_speed = 140 solid_infill_speed = 140 -first_layer_speed = 40 +first_layer_speed = 30 travel_speed = 400 gap_fill_speed = 80 top_solid_infill_speed = 80 @@ -5592,27 +5575,26 @@ travel_speed_z = 12 top_solid_min_thickness = 0.7 bottom_solid_min_thickness = 0.5 compatible_printers_condition = printer_notes=~/.*MINIIS.*/ and nozzle_diameter[0]==0.4 -gcode_binary = 1 arc_fitting = emit_center -output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.4n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode [print:*MINIIS_common025*] inherits = *MK4IS_common025* infill_acceleration = 2500 wipe_tower = 0 -output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.25n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*MINIIS.*/ and nozzle_diameter[0]==0.25 [print:*MINIIS_common06*] inherits = *MK4IS_common06* overhang_speed_3 = 45 -output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.6n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*MINIIS.*/ and nozzle_diameter[0]==0.6 [print:*MINIIS_common08*] inherits = *MK4IS_common08* infill_anchor = 3 -output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.bgcode +output_filename_format = {input_filename_base}_0.8n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode compatible_printers_condition = printer_notes=~/.*MINIIS.*/ and nozzle_diameter[0]==0.8 ## 0.4mm nozzle MINI IS @@ -5675,11 +5657,8 @@ solid_infill_acceleration = 3000 infill_acceleration = 3000 default_acceleration = 2000 perimeters = 3 -perimeter_extrusion_width = 0.4 -external_perimeter_extrusion_width = 0.4 -infill_extrusion_width = 0.4 -solid_infill_extrusion_width = 0.4 top_infill_extrusion_width = 0.4 +bridge_speed = 35 # 0.25mm nozzle MINIIS @@ -6355,7 +6334,7 @@ idle_temperature = 150 first_layer_bed_temperature = 100 bed_temperature = 105 filament_multitool_ramming = 1 -filament_multitool_ramming_volume = 5 +filament_multitool_ramming_volume = 10 filament_multitool_ramming_flow = 40 filament_minimal_purge_on_wipe_tower = 35 filament_retract_length_toolchange = 20 @@ -9335,17 +9314,20 @@ filament_max_volumetric_speed = 8 filament_type = PETG first_layer_bed_temperature = 105 first_layer_temperature = 250 -max_fan_speed = 100 +max_fan_speed = 65 min_fan_speed = 30 temperature = 250 filament_density = 1.24 [filament:Spectrum PETG HT100 @PG] inherits = Spectrum PETG HT100; *PETPG* +filament_notes = "HT_MBL10" +first_layer_temperature = 260 +temperature = 260 [filament:Spectrum PETG HT100 @PG 0.6] inherits = Spectrum PETG HT100 @PG; *PET06PG* -temperature = 240 +temperature = 250 [filament:Spectrum PETG HT100 @PG 0.8] inherits = Spectrum PETG HT100 @PG; *PET08PG* @@ -9355,7 +9337,7 @@ inherits = Spectrum PETG HT100 @PG; *PETXLNT* [filament:Spectrum PETG HT100 @XL 0.6] inherits = Spectrum PETG HT100 @PG 0.6; *PET06XLNT* -temperature = 240 +temperature = 250 [filament:Spectrum PETG HT100 @XL 0.8] inherits = Spectrum PETG HT100 @PG 0.8; *PET08XLNT* @@ -12935,12 +12917,12 @@ filament_spool_weight = 330 [filament:Fiberlogy FiberFlex 40D @XL] inherits = Fiberlogy FiberFlex 40D; *FLEXXL* renamed_from = "Fiberlogy FiberFlex 40D @PG" -filament_max_volumetric_speed = 3 +filament_max_volumetric_speed = 2.5 filament_retract_length = 2.2 extrusion_multiplier = 1.1 first_layer_temperature = 220 temperature = 220 -filament_multitool_ramming_flow = 3 +filament_multitool_ramming_flow = 2.5 filament_retract_length_toolchange = 2.2 [filament:Fiberlogy FiberFlex 40D @XL 0.6] @@ -14131,6 +14113,38 @@ filament_density = 1.24 filament_spool_weight = 193 filament_notes = "Affordable filament for everyday printing in premium quality manufactured in-house by Josef Prusa" +[filament:Prusament rPLA] +inherits = *PLA* +filament_vendor = Prusa Polymers +filament_density = 1.24 +filament_spool_weight = 193 +filament_colour = #AA845D +first_layer_temperature = 205 +temperature = 205 +filament_cost = 37.49 + +[filament:Prusament rPLA @PG] +inherits = Prusament rPLA; *PLAPG* + +[filament:Prusament rPLA @PG 0.6] +inherits = Prusament rPLA; *PLA06PG* +filament_max_volumetric_speed = 15 + +[filament:Prusament rPLA @PG 0.8] +inherits = Prusament rPLA; *PLA08PG* +first_layer_temperature = 210 +temperature = 210 + +[filament:Prusament rPLA @XL] +inherits = Prusament rPLA @PG; *PLAXL* + +[filament:Prusament rPLA @XL 0.6] +inherits = Prusament rPLA @PG 0.6; *PLA06XL* +filament_max_volumetric_speed = 15 + +[filament:Prusament rPLA @XL 0.8] +inherits = Prusament rPLA @PG 0.8; *PLA08XL* + [filament:Prusament PLA Blend @PGIS] inherits = Prusament PLA @PG renamed_from = "Prusament PLA Blend @MK4IS" @@ -20706,6 +20720,7 @@ end_gcode = G1 E-1 F2100 ; retract\n{if max_layer_z < max_print_height}G1 Z{z_of printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINI\n extruder_colour = color_change_gcode = M600 +binary_gcode = 1 [printer:Original Prusa MINI & MINI+ 0.25 nozzle] inherits = Original Prusa MINI & MINI+ @@ -20744,8 +20759,9 @@ retract_before_travel = 1.5 retract_speed = 45 deretract_speed = 20 -[printer:Original Prusa MINI & MINI+ Input Shaper (Alpha)] +[printer:Original Prusa MINI & MINI+ Input Shaper] inherits = Original Prusa MINI & MINI+ +renamed_from = "Original Prusa MINI & MINI+ Input Shaper (Alpha)" printer_model = MINIIS printer_technology = FFF printer_variant = 0.4 @@ -20765,13 +20781,14 @@ machine_max_feedrate_y = 400 retract_length = 2.5 retract_lift = 0.2 wipe = 0 -start_gcode = M862.3 P "MINI" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nM115 U5.1.0-alpha2+13126\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow\n +start_gcode = M862.3 P "MINI" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nM115 U5.1.0+13455\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow\n end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z] printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES\n before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_vase}M74 W[extruded_weight_total]{endif}\n -[printer:Original Prusa MINI & MINI+ Input Shaper (Alpha) 0.25 nozzle] -inherits = Original Prusa MINI & MINI+ Input Shaper (Alpha) +[printer:Original Prusa MINI & MINI+ Input Shaper 0.25 nozzle] +inherits = Original Prusa MINI & MINI+ Input Shaper +renamed_from = "Original Prusa MINI & MINI+ Input Shaper (Alpha) 0.25 nozzle" printer_variant = 0.25 nozzle_diameter = 0.25 max_layer_height = 0.15 @@ -20781,8 +20798,9 @@ retract_length = 2.5 retract_lift = 0.15 retract_before_travel = 1 -[printer:Original Prusa MINI & MINI+ Input Shaper (Alpha) 0.6 nozzle] -inherits = Original Prusa MINI & MINI+ Input Shaper (Alpha) +[printer:Original Prusa MINI & MINI+ Input Shaper 0.6 nozzle] +inherits = Original Prusa MINI & MINI+ Input Shaper +renamed_from = "Original Prusa MINI & MINI+ Input Shaper (Alpha) 0.6 nozzle" printer_variant = 0.6 nozzle_diameter = 0.6 max_layer_height = 0.40 @@ -20791,8 +20809,9 @@ default_print_profile = 0.30mm QUALITY @MINIIS 0.6 retract_length = 2.8 retract_before_travel = 1.5 -[printer:Original Prusa MINI & MINI+ Input Shaper (Alpha) 0.8 nozzle] -inherits = Original Prusa MINI & MINI+ Input Shaper (Alpha) +[printer:Original Prusa MINI & MINI+ Input Shaper 0.8 nozzle] +inherits = Original Prusa MINI & MINI+ Input Shaper +renamed_from = "Original Prusa MINI & MINI+ Input Shaper (Alpha) 0.8 nozzle" printer_variant = 0.8 nozzle_diameter = 0.8 max_layer_height = 0.55 @@ -20842,16 +20861,17 @@ retract_before_travel = 1.5 retract_before_wipe = 80% retract_layer_change = 1 retract_length = 0.8 -start_gcode = M17 ; enable steppers\nM862.3 P "XL" ; printer model check\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; set print area\nM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}\n; inform about nozzle diameter\nM862.1 P[nozzle_diameter]\n; set & wait for bed and extruder temp for MBL\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; set extruder temp for bed leveling\nM109 T0 R{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; wait for temp\n; home carriage, pick tool, home all\nG28 XY\nM84 E ; turn off E motor\nG28 Z\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG29 G ; absorb heat\n; move to the nozzle cleanup area\nG1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F4800\nM302 S160 ; lower cold extrusion limit to 160C\nG1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup\n; nozzle cleanup\nM84 E ; turn off E motor\nG29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}\nG0 Z10 F480 ; move away in Z\n{if first_layer_bed_temperature[0] > 60}\nG0 Z70 F480 ; move away (a bit more) in Z\nG0 X30 Y{print_bed_min[1]} F6000 ; move away in X/Y for higher bed temperatures\n{endif}\nM106 S100 ; cool off the nozzle\nM107 ; stop cooling off the nozzle - turn off the fan\n; MBL\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X30 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\nM104 S[first_layer_temperature] ; set extruder temp\nG1 Z10 F720 ; move away in Z\nG0 X30 Y-8 F6000 ; move next to the sheet\n; wait for extruder temp\nM109 T0 S{first_layer_temperature[0]}\n;\n; purge\n;\nG92 E0 ; reset extruder position\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -8 : -5.5)} ; move close to the sheet's edge\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E10 X40 Z0.2 F500 ; purge\nG0 X70 E9 F800 ; purge\nG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG92 E0 ; reset extruder position\n +start_gcode = M17 ; enable steppers\nM862.3 P "XL" ; printer model check\nM115 U5.1.0+13455\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; set print area\nM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}\n; inform about nozzle diameter\nM862.1 P[nozzle_diameter]\n; set & wait for bed and extruder temp for MBL\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; set extruder temp for bed leveling\nM109 T0 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n; home carriage, pick tool, home all\nG28 XY\nM84 E ; turn off E motor\nG28 Z\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG29 G ; absorb heat\n; move to the nozzle cleanup area\nG1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F4800\nM302 S160 ; lower cold extrusion limit to 160C\nG1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup\n; nozzle cleanup\nM84 E ; turn off E motor\nG29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}\nG0 Z10 F480 ; move away in Z\n{if first_layer_bed_temperature[0] > 60}\nG0 Z70 F480 ; move away (a bit more) in Z\nG0 X30 Y{print_bed_min[1]} F6000 ; move away in X/Y for higher bed temperatures\n{endif}\nM106 S100 ; cool off the nozzle\nM107 ; stop cooling off the nozzle - turn off the fan\n; MBL\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X30 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\nM104 S[first_layer_temperature] ; set extruder temp\nG1 Z10 F720 ; move away in Z\nG0 X30 Y-8 F6000 ; move next to the sheet\n; wait for extruder temp\nM109 T0 S{first_layer_temperature[0]}\n;\n; purge\n;\nG92 E0 ; reset extruder position\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -8 : -5.5)} ; move close to the sheet's edge\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E10 X40 Z0.2 F500 ; purge\nG0 X70 E9 F800 ; purge\nG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG92 E0 ; reset extruder position\n default_print_profile = 0.20mm QUALITY @XL 0.4 default_filament_profile = "Prusament PLA @PG" -thumbnails = 16x16/QOI, 313x173/QOI, 440x240/QOI, 640x480/PNG +thumbnails = 16x16/QOI, 313x173/QOI, 440x240/QOI, 480x240/QOI, 640x480/PNG gcode_flavor = marlin2 high_current_on_filament_swap = 0 retract_lift = 0.3 travel_ramping_lift = 1 travel_slope = 1 travel_max_lift = 1.5 +binary_gcode = 1 [printer:*commonXLIS*] inherits = *commonXL* @@ -20863,7 +20883,7 @@ machine_max_acceleration_y = 7000 machine_max_feedrate_x = 450 machine_max_feedrate_y = 450 printer_notes = Do not remove the keywords below.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_XLIS\nPG\nINPUT_SHAPER -start_gcode = M17 ; enable steppers\nM862.3 P "XL" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; set print area\nM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}\n; inform about nozzle diameter\nM862.1 P[nozzle_diameter]\n; set & wait for bed and extruder temp for MBL\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; set extruder temp for bed leveling\nM109 T0 R{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; wait for temp\n; home carriage, pick tool, home all\nG28 XY\nM84 E ; turn off E motor\nG28 Z\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG29 G ; absorb heat\n; move to the nozzle cleanup area\nG1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F4800\nM302 S160 ; lower cold extrusion limit to 160C\nG1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup\n; nozzle cleanup\nM84 E ; turn off E motor\nG29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}\nG0 Z10 F480 ; move away in Z\n{if first_layer_bed_temperature[0] > 60}\nG0 Z70 F480 ; move away (a bit more) in Z\nG0 X30 Y{print_bed_min[1]} F6000 ; move away in X/Y for higher bed temperatures\n{endif}\nM106 S100 ; cool off the nozzle\nM107 ; stop cooling off the nozzle - turn off the fan\n; MBL\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X30 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\nM104 S[first_layer_temperature] ; set extruder temp\nG1 Z10 F720 ; move away in Z\nG0 X30 Y-8 F6000 ; move next to the sheet\n; wait for extruder temp\nM109 T0 S{first_layer_temperature[0]}\n;\n; purge\n;\nG92 E0 ; reset extruder position\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -8 : -5.5)} ; move close to the sheet's edge\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E10 X40 Z0.2 F500 ; purge\nG0 X70 E9 F800 ; purge\nG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG92 E0 ; reset extruder position\n\nM593 X T2 F38.4\nM593 Y T2 F39.2\n +start_gcode = M17 ; enable steppers\nM862.3 P "XL" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nM115 U5.1.0+13455\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; set print area\nM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}\n; inform about nozzle diameter\nM862.1 P[nozzle_diameter]\n; set & wait for bed and extruder temp for MBL\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; set extruder temp for bed leveling\nM109 T0 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n; home carriage, pick tool, home all\nG28 XY\nM84 E ; turn off E motor\nG28 Z\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG29 G ; absorb heat\n; move to the nozzle cleanup area\nG1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F4800\nM302 S160 ; lower cold extrusion limit to 160C\nG1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup\n; nozzle cleanup\nM84 E ; turn off E motor\nG29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}\nG0 Z10 F480 ; move away in Z\n{if first_layer_bed_temperature[0] > 60}\nG0 Z70 F480 ; move away (a bit more) in Z\nG0 X30 Y{print_bed_min[1]} F6000 ; move away in X/Y for higher bed temperatures\n{endif}\nM106 S100 ; cool off the nozzle\nM107 ; stop cooling off the nozzle - turn off the fan\n; MBL\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X30 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\nM104 S[first_layer_temperature] ; set extruder temp\nG1 Z10 F720 ; move away in Z\nG0 X30 Y-8 F6000 ; move next to the sheet\n; wait for extruder temp\nM109 T0 S{first_layer_temperature[0]}\n;\n; purge\n;\nG92 E0 ; reset extruder position\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -8 : -5.5)} ; move close to the sheet's edge\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E10 X40 Z0.2 F500 ; purge\nG0 X70 E9 F800 ; purge\nG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG92 E0 ; reset extruder position\n\nM593 X T2 F38.4\nM593 Y T2 F39.2\n default_print_profile = 0.20mm SPEED @XLIS 0.4 default_filament_profile = "Prusament PLA @XLIS" @@ -20886,7 +20906,7 @@ retract_restart_extra = 0,0,0,0,0 retract_restart_extra_toolchange = 0,0,0,0,0 wipe = 1,1,1,1,1 extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D -start_gcode = M17 ; enable steppers\nM862.3 P "XL" ; printer model check\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; set print area\nM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}\n; inform about nozzle diameter\n{if (is_extruder_used[0])}M862.1 T0 P{nozzle_diameter[0]}{endif}\n{if (is_extruder_used[1])}M862.1 T1 P{nozzle_diameter[1]}{endif}\n{if (is_extruder_used[2])}M862.1 T2 P{nozzle_diameter[2]}{endif}\n{if (is_extruder_used[3])}M862.1 T3 P{nozzle_diameter[3]}{endif}\n{if (is_extruder_used[4])}M862.1 T4 P{nozzle_diameter[4]}{endif}\n\n; turn off unused heaters\n{if ! is_extruder_used[0]} M104 T0 S0 {endif}\n{if ! is_extruder_used[1]} M104 T1 S0 {endif}\n{if ! is_extruder_used[2]} M104 T2 S0 {endif}\n{if ! is_extruder_used[3]} M104 T3 S0 {endif}\n{if ! is_extruder_used[4]} M104 T4 S0 {endif}\n\nM217 Z{max(zhop, 2.0)} ; set toolchange z hop to 2mm, or zhop variable from slicer if higher\n; set bed and extruder temp for MBL\nM140 S[first_layer_bed_temperature] ; set bed temp\nG0 Z5 ; add Z clearance\nM109 T{initial_tool} S{((filament_type[initial_tool] == "PC" or filament_type[initial_tool] == "PA") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == "FLEX" ? 210 : (filament_type[initial_tool]=~/.*PET.*/ ? 175 : 170)))} ; wait for temp\n\n; Home XY\nG28 XY\n; try picking tools used in print\nG1 F{travel_speed * 60}\n{if (is_extruder_used[0]) and (initial_tool != 0)}T0 S1 L0 D0{endif}\n{if (is_extruder_used[1]) and (initial_tool != 1)}T1 S1 L0 D0{endif}\n{if (is_extruder_used[2]) and (initial_tool != 2)}T2 S1 L0 D0{endif}\n{if (is_extruder_used[3]) and (initial_tool != 3)}T3 S1 L0 D0{endif}\n{if (is_extruder_used[4]) and (initial_tool != 4)}T4 S1 L0 D0{endif}\n; select tool that will be used to home & MBL\nT{initial_tool} S1 L0 D0\n; home Z with MBL tool\nM84 E ; turn off E motor\nG28 Z\nG0 Z5 ; add Z clearance\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG29 G ; absorb heat\n; move to the nozzle cleanup area\nG1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F{(travel_speed * 60)}\nM302 S160 ; lower cold extrusion limit to 160C\nG1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup\n; nozzle cleanup\nM84 E ; turn off E motor\nG29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}\nG0 Z5 F480 ; move away in Z\nM107 ; turn off the fan\n; MBL\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X30 Y0 W{(((is_extruder_used[4]) or ((is_extruder_used[3]) or (is_extruder_used[2]))) ? "300" : ((is_extruder_used[1]) ? "130" : "50"))} H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\nG1 Z10 F720 ; move away in Z\nG1 F{travel_speed * 60}\nP0 S1 L1 D0; park the tool\n; set extruder temp\n{if first_layer_temperature[0] > 0 and (is_extruder_used[0])}M104 T0 S{first_layer_temperature[0]}{endif}\n{if first_layer_temperature[1] > 0 and (is_extruder_used[1])}M104 T1 S{first_layer_temperature[1]}{endif}\n{if first_layer_temperature[2] > 0 and (is_extruder_used[2])}M104 T2 S{first_layer_temperature[2]}{endif}\n{if first_layer_temperature[3] > 0 and (is_extruder_used[3])}M104 T3 S{first_layer_temperature[3]}{endif}\n{if first_layer_temperature[4] > 0 and (is_extruder_used[4])}M104 T4 S{first_layer_temperature[4]}{endif}\n{if (is_extruder_used[0]) and initial_tool != 0}\n;\n; purge first tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T0 S{first_layer_temperature[0]}\nT0 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[0])}10{else}30{endif} X40 Z0.2 F{if is_nil(filament_multitool_ramming[0])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X70 E9 F800 ; continue purging and wipe the nozzle\nG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[0]} F2400 ; retract\n{e_retracted[0] = 1.5 * retract_length[0]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[0]) ? (first_layer_temperature[0] + standby_temperature_delta) : (idle_temperature[0]))} T0\n{endif}\n{if (is_extruder_used[1]) and initial_tool != 1}\n;\n; purge second tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T1 S{first_layer_temperature[1]}\nT1 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(1 == 0 ? 30 : (1 == 1 ? 150 : (1 == 2 ? 210 : 330)))} Y{(1 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[1])}10{else}30{endif} X140 Z0.2 F{if is_nil(filament_multitool_ramming[1])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X110 E9 F800 ; continue purging and wipe the nozzle\nG0 X{110 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{110 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[1]} F2400 ; retract\n{e_retracted[1] = 1.5 * retract_length[1]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[1]) ? (first_layer_temperature[1] + standby_temperature_delta) : (idle_temperature[1]))} T1\n{endif}\n{if (is_extruder_used[2]) and initial_tool != 2}\n;\n; purge third tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T2 S{first_layer_temperature[2]}\nT2 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(2 == 0 ? 30 : (2 == 1 ? 150 : (2 == 2 ? 210 : 330)))} Y{(2 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[2])}10{else}30{endif} X220 Z0.2 F{if is_nil(filament_multitool_ramming[2])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X250 E9 F800 ; continue purging and wipe the nozzle\nG0 X{250 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{250 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[2]} F2400 ; retract\n{e_retracted[2] = 1.5 * retract_length[2]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[2]) ? (first_layer_temperature[2] + standby_temperature_delta) : (idle_temperature[2]))} T2\n{endif}\n{if (is_extruder_used[3]) and initial_tool != 3}\n;\n; purge fourth tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T3 S{first_layer_temperature[3]}\nT3 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(3 == 0 ? 30 : (3 == 1 ? 150 : (3 == 2 ? 210 : 330)))} Y{(3 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[3])}10{else}30{endif} X320 Z0.2 F{if is_nil(filament_multitool_ramming[3])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X290 E9 F800 ; continue purging and wipe the nozzle\nG0 X{290 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{290 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[3]} F2400 ; retract\n{e_retracted[3] = 1.5 * retract_length[3]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[3]) ? (first_layer_temperature[3] + standby_temperature_delta) : (idle_temperature[3]))} T3\n{endif}\n{if (is_extruder_used[4]) and initial_tool != 4}\n;\n; purge fifth tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T4 S{first_layer_temperature[4]}\nT4 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(4 == 0 ? 30 : (4 == 1 ? 150 : (4 == 2 ? 210 : 330)))} Y{(4 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[4])}10{else}30{endif} X320 Z0.2 F{if is_nil(filament_multitool_ramming[4])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X290 E9 F800 ; continue purging and wipe the nozzle\nG0 X{290 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{290 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[4]} F2400 ; retract\n{e_retracted[4] = 1.5 * retract_length[4]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[4]) ? (first_layer_temperature[4] + standby_temperature_delta) : (idle_temperature[4]))} T4\n{endif}\n;\n; purge initial tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T{initial_tool} S{first_layer_temperature[initial_tool]}\nT{initial_tool} S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330)))} Y{(initial_tool < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[initial_tool])}10{else}30{endif} X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 10)} Z0.2 F{if is_nil(filament_multitool_ramming[initial_tool])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40)} E9 F800 ; continue purging and wipe the nozzle\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 3)} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 3 * 2)} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[initial_tool]} F2400 ; retract\n{e_retracted[initial_tool] = 1.5 * retract_length[initial_tool]}\nG92 E0 ; reset extruder position +start_gcode = M17 ; enable steppers\nM862.3 P "XL" ; printer model check\nM115 U5.1.0+13455\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; set print area\nM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}\n; inform about nozzle diameter\n{if (is_extruder_used[0])}M862.1 T0 P{nozzle_diameter[0]}{endif}\n{if (is_extruder_used[1])}M862.1 T1 P{nozzle_diameter[1]}{endif}\n{if (is_extruder_used[2])}M862.1 T2 P{nozzle_diameter[2]}{endif}\n{if (is_extruder_used[3])}M862.1 T3 P{nozzle_diameter[3]}{endif}\n{if (is_extruder_used[4])}M862.1 T4 P{nozzle_diameter[4]}{endif}\n\n; turn off unused heaters\n{if ! is_extruder_used[0]} M104 T0 S0 {endif}\n{if ! is_extruder_used[1]} M104 T1 S0 {endif}\n{if num_extruders > 2 and ! is_extruder_used[2]} M104 T2 S0 {endif}\n{if num_extruders > 3 and ! is_extruder_used[3]} M104 T3 S0 {endif}\n{if num_extruders > 4 and ! is_extruder_used[4]} M104 T4 S0 {endif}\n\nM217 Z{max(zhop, 2.0)} ; set toolchange z hop to 2mm, or zhop variable from slicer if higher\n; set bed and extruder temp for MBL\nM140 S[first_layer_bed_temperature] ; set bed temp\nG0 Z5 ; add Z clearance\nM109 T{initial_tool} S{((filament_notes[initial_tool]=~/.*HT_MBL10.*/) ? (first_layer_temperature[initial_tool] - 10) : (filament_type[initial_tool] == "PC" or filament_type[initial_tool] == "PA") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == "FLEX") ? 210 : (filament_type[initial_tool]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n\n; Home XY\nG28 XY\n; try picking tools used in print\nG1 F{travel_speed * 60}\n{if (is_extruder_used[0]) and (initial_tool != 0)}T0 S1 L0 D0{endif}\n{if (is_extruder_used[1]) and (initial_tool != 1)}T1 S1 L0 D0{endif}\n{if (is_extruder_used[2]) and (initial_tool != 2)}T2 S1 L0 D0{endif}\n{if (is_extruder_used[3]) and (initial_tool != 3)}T3 S1 L0 D0{endif}\n{if (is_extruder_used[4]) and (initial_tool != 4)}T4 S1 L0 D0{endif}\n; select tool that will be used to home & MBL\nT{initial_tool} S1 L0 D0\n; home Z with MBL tool\nM84 E ; turn off E motor\nG28 Z\nG0 Z5 ; add Z clearance\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG29 G ; absorb heat\n; move to the nozzle cleanup area\nG1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F{(travel_speed * 60)}\nM302 S160 ; lower cold extrusion limit to 160C\nG1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup\n; nozzle cleanup\nM84 E ; turn off E motor\nG29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}\nG0 Z5 F480 ; move away in Z\nM107 ; turn off the fan\n; MBL\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X30 Y0 W{(((is_extruder_used[4]) or ((is_extruder_used[3]) or (is_extruder_used[2]))) ? "300" : ((is_extruder_used[1]) ? "130" : "50"))} H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\nG1 Z10 F720 ; move away in Z\nG1 F{travel_speed * 60}\nP0 S1 L1 D0; park the tool\n; set extruder temp\n{if first_layer_temperature[0] > 0 and (is_extruder_used[0])}M104 T0 S{first_layer_temperature[0]}{endif}\n{if first_layer_temperature[1] > 0 and (is_extruder_used[1])}M104 T1 S{first_layer_temperature[1]}{endif}\n{if first_layer_temperature[2] > 0 and (is_extruder_used[2])}M104 T2 S{first_layer_temperature[2]}{endif}\n{if first_layer_temperature[3] > 0 and (is_extruder_used[3])}M104 T3 S{first_layer_temperature[3]}{endif}\n{if first_layer_temperature[4] > 0 and (is_extruder_used[4])}M104 T4 S{first_layer_temperature[4]}{endif}\n{if (is_extruder_used[0]) and initial_tool != 0}\n;\n; purge first tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T0 S{first_layer_temperature[0]}\nT0 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[0])}10{else}30{endif} X40 Z0.2 F{if is_nil(filament_multitool_ramming[0])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X70 E9 F800 ; continue purging and wipe the nozzle\nG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[0]} F2400 ; retract\n{e_retracted[0] = 1.5 * retract_length[0]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[0]) ? (first_layer_temperature[0] + standby_temperature_delta) : (idle_temperature[0]))} T0\n{endif}\n{if (is_extruder_used[1]) and initial_tool != 1}\n;\n; purge second tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T1 S{first_layer_temperature[1]}\nT1 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(1 == 0 ? 30 : (1 == 1 ? 150 : (1 == 2 ? 210 : 330)))} Y{(1 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[1])}10{else}30{endif} X140 Z0.2 F{if is_nil(filament_multitool_ramming[1])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X110 E9 F800 ; continue purging and wipe the nozzle\nG0 X{110 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{110 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[1]} F2400 ; retract\n{e_retracted[1] = 1.5 * retract_length[1]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[1]) ? (first_layer_temperature[1] + standby_temperature_delta) : (idle_temperature[1]))} T1\n{endif}\n{if (is_extruder_used[2]) and initial_tool != 2}\n;\n; purge third tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T2 S{first_layer_temperature[2]}\nT2 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(2 == 0 ? 30 : (2 == 1 ? 150 : (2 == 2 ? 210 : 330)))} Y{(2 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[2])}10{else}30{endif} X220 Z0.2 F{if is_nil(filament_multitool_ramming[2])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X250 E9 F800 ; continue purging and wipe the nozzle\nG0 X{250 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{250 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[2]} F2400 ; retract\n{e_retracted[2] = 1.5 * retract_length[2]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[2]) ? (first_layer_temperature[2] + standby_temperature_delta) : (idle_temperature[2]))} T2\n{endif}\n{if (is_extruder_used[3]) and initial_tool != 3}\n;\n; purge fourth tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T3 S{first_layer_temperature[3]}\nT3 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(3 == 0 ? 30 : (3 == 1 ? 150 : (3 == 2 ? 210 : 330)))} Y{(3 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[3])}10{else}30{endif} X320 Z0.2 F{if is_nil(filament_multitool_ramming[3])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X290 E9 F800 ; continue purging and wipe the nozzle\nG0 X{290 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{290 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[3]} F2400 ; retract\n{e_retracted[3] = 1.5 * retract_length[3]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[3]) ? (first_layer_temperature[3] + standby_temperature_delta) : (idle_temperature[3]))} T3\n{endif}\n{if (is_extruder_used[4]) and initial_tool != 4}\n;\n; purge fifth tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T4 S{first_layer_temperature[4]}\nT4 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(4 == 0 ? 30 : (4 == 1 ? 150 : (4 == 2 ? 210 : 330)))} Y{(4 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[4])}10{else}30{endif} X320 Z0.2 F{if is_nil(filament_multitool_ramming[4])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X290 E9 F800 ; continue purging and wipe the nozzle\nG0 X{290 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{290 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[4]} F2400 ; retract\n{e_retracted[4] = 1.5 * retract_length[4]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[4]) ? (first_layer_temperature[4] + standby_temperature_delta) : (idle_temperature[4]))} T4\n{endif}\n;\n; purge initial tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T{initial_tool} S{first_layer_temperature[initial_tool]}\nT{initial_tool} S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330)))} Y{(initial_tool < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[initial_tool])}10{else}30{endif} X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 10)} Z0.2 F{if is_nil(filament_multitool_ramming[initial_tool])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40)} E9 F800 ; continue purging and wipe the nozzle\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 3)} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 3 * 2)} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[initial_tool]} F2400 ; retract\n{e_retracted[initial_tool] = 1.5 * retract_length[initial_tool]}\nG92 E0 ; reset extruder position end_gcode = G4 ; wait\n\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+5, max_print_height)}{endif} ; Move bed down\n\nP0 S1 ; park tool\n\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+97, max_print_height)} F300{endif} ; Move bed further down\n\n; turn off extruder heaters\n{if is_extruder_used[0]} M104 T0 S0 {endif}\n{if is_extruder_used[1]} M104 T1 S0 {endif}\n{if is_extruder_used[2]} M104 T2 S0 {endif}\n{if is_extruder_used[3]} M104 T3 S0 {endif}\n{if is_extruder_used[4]} M104 T4 S0 {endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow percentage\nM84 ; disable motors\nM77 ; stop print timer\n; max_layer_z = [max_layer_z] toolchange_gcode = ; Change Tool[previous_extruder] -> Tool[next_extruder] (layer [layer_num])\n{\nlocal max_speed_toolchange = 350.0;\nlocal wait_for_extruder_temp = true;\nposition[2] = position[2] + 2.0;\n\nlocal speed_toolchange = max_speed_toolchange;\nif travel_speed < max_speed_toolchange then\n speed_toolchange = travel_speed;\nendif\n"G1 F" + (speed_toolchange * 60) + "\n";\nif wait_for_extruder_temp and not((layer_num < 0) and (next_extruder == initial_tool)) then\n "P0 S1 L2 D0\n";\n "; " + layer_num + "\n";\n if layer_num == 0 then\n "M109 S" + first_layer_temperature[next_extruder] + " T" + next_extruder + "\n";\n else\n "M109 S" + temperature[next_extruder] + " T" + next_extruder + "\n";\n endif\nendif\n"T" + next_extruder + " S1 L0 D0\n";\n} color_change_gcode = M600 @@ -20903,7 +20923,7 @@ machine_max_acceleration_y = 7000 machine_max_feedrate_x = 450 machine_max_feedrate_y = 450 printer_notes = Do not remove the keywords below.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_XLIS\nPG\nINPUT_SHAPER -start_gcode = M17 ; enable steppers\nM862.3 P "XL" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; set print area\nM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}\n; inform about nozzle diameter\n{if (is_extruder_used[0])}M862.1 T0 P{nozzle_diameter[0]}{endif}\n{if (is_extruder_used[1])}M862.1 T1 P{nozzle_diameter[1]}{endif}\n{if (is_extruder_used[2])}M862.1 T2 P{nozzle_diameter[2]}{endif}\n{if (is_extruder_used[3])}M862.1 T3 P{nozzle_diameter[3]}{endif}\n{if (is_extruder_used[4])}M862.1 T4 P{nozzle_diameter[4]}{endif}\n\n; turn off unused heaters\n{if ! is_extruder_used[0]} M104 T0 S0 {endif}\n{if ! is_extruder_used[1]} M104 T1 S0 {endif}\n{if ! is_extruder_used[2]} M104 T2 S0 {endif}\n{if ! is_extruder_used[3]} M104 T3 S0 {endif}\n{if ! is_extruder_used[4]} M104 T4 S0 {endif}\n\nM217 Z{max(zhop, 2.0)} ; set toolchange z hop to 2mm, or zhop variable from slicer if higher\n; set bed and extruder temp for MBL\nM140 S[first_layer_bed_temperature] ; set bed temp\nG0 Z5 ; add Z clearance\nM109 T{initial_tool} S{((filament_type[initial_tool] == "PC" or filament_type[initial_tool] == "PA") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == "FLEX" ? 210 : (filament_type[initial_tool]=~/.*PET.*/ ? 175 : 170)))} ; wait for temp\n\n; Home XY\nG28 XY\n; try picking tools used in print\nG1 F{travel_speed * 60}\n{if (is_extruder_used[0]) and (initial_tool != 0)}T0 S1 L0 D0{endif}\n{if (is_extruder_used[1]) and (initial_tool != 1)}T1 S1 L0 D0{endif}\n{if (is_extruder_used[2]) and (initial_tool != 2)}T2 S1 L0 D0{endif}\n{if (is_extruder_used[3]) and (initial_tool != 3)}T3 S1 L0 D0{endif}\n{if (is_extruder_used[4]) and (initial_tool != 4)}T4 S1 L0 D0{endif}\n; select tool that will be used to home & MBL\nT{initial_tool} S1 L0 D0\n; home Z with MBL tool\nM84 E ; turn off E motor\nG28 Z\nG0 Z5 ; add Z clearance\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG29 G ; absorb heat\n; move to the nozzle cleanup area\nG1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F{(travel_speed * 60)}\nM302 S160 ; lower cold extrusion limit to 160C\nG1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup\n; nozzle cleanup\nM84 E ; turn off E motor\nG29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}\nG0 Z5 F480 ; move away in Z\nM107 ; turn off the fan\n; MBL\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X30 Y0 W{(((is_extruder_used[4]) or ((is_extruder_used[3]) or (is_extruder_used[2]))) ? "300" : ((is_extruder_used[1]) ? "130" : "50"))} H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\nG1 Z10 F720 ; move away in Z\nG1 F{travel_speed * 60}\nP0 S1 L1 D0; park the tool\n; set extruder temp\n{if first_layer_temperature[0] > 0 and (is_extruder_used[0])}M104 T0 S{first_layer_temperature[0]}{endif}\n{if first_layer_temperature[1] > 0 and (is_extruder_used[1])}M104 T1 S{first_layer_temperature[1]}{endif}\n{if first_layer_temperature[2] > 0 and (is_extruder_used[2])}M104 T2 S{first_layer_temperature[2]}{endif}\n{if first_layer_temperature[3] > 0 and (is_extruder_used[3])}M104 T3 S{first_layer_temperature[3]}{endif}\n{if first_layer_temperature[4] > 0 and (is_extruder_used[4])}M104 T4 S{first_layer_temperature[4]}{endif}\n{if (is_extruder_used[0]) and initial_tool != 0}\n;\n; purge first tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T0 S{first_layer_temperature[0]}\nT0 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[0])}10{else}30{endif} X40 Z0.2 F{if is_nil(filament_multitool_ramming[0])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X70 E9 F800 ; continue purging and wipe the nozzle\nG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[0]} F2400 ; retract\n{e_retracted[0] = 1.5 * retract_length[0]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[0]) ? (first_layer_temperature[0] + standby_temperature_delta) : (idle_temperature[0]))} T0\n{endif}\n{if (is_extruder_used[1]) and initial_tool != 1}\n;\n; purge second tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T1 S{first_layer_temperature[1]}\nT1 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(1 == 0 ? 30 : (1 == 1 ? 150 : (1 == 2 ? 210 : 330)))} Y{(1 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[1])}10{else}30{endif} X140 Z0.2 F{if is_nil(filament_multitool_ramming[1])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X110 E9 F800 ; continue purging and wipe the nozzle\nG0 X{110 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{110 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[1]} F2400 ; retract\n{e_retracted[1] = 1.5 * retract_length[1]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[1]) ? (first_layer_temperature[1] + standby_temperature_delta) : (idle_temperature[1]))} T1\n{endif}\n{if (is_extruder_used[2]) and initial_tool != 2}\n;\n; purge third tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T2 S{first_layer_temperature[2]}\nT2 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(2 == 0 ? 30 : (2 == 1 ? 150 : (2 == 2 ? 210 : 330)))} Y{(2 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[2])}10{else}30{endif} X220 Z0.2 F{if is_nil(filament_multitool_ramming[2])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X250 E9 F800 ; continue purging and wipe the nozzle\nG0 X{250 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{250 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[2]} F2400 ; retract\n{e_retracted[2] = 1.5 * retract_length[2]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[2]) ? (first_layer_temperature[2] + standby_temperature_delta) : (idle_temperature[2]))} T2\n{endif}\n{if (is_extruder_used[3]) and initial_tool != 3}\n;\n; purge fourth tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T3 S{first_layer_temperature[3]}\nT3 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(3 == 0 ? 30 : (3 == 1 ? 150 : (3 == 2 ? 210 : 330)))} Y{(3 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[3])}10{else}30{endif} X320 Z0.2 F{if is_nil(filament_multitool_ramming[3])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X290 E9 F800 ; continue purging and wipe the nozzle\nG0 X{290 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{290 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[3]} F2400 ; retract\n{e_retracted[3] = 1.5 * retract_length[3]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[3]) ? (first_layer_temperature[3] + standby_temperature_delta) : (idle_temperature[3]))} T3\n{endif}\n{if (is_extruder_used[4]) and initial_tool != 4}\n;\n; purge fifth tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T4 S{first_layer_temperature[4]}\nT4 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(4 == 0 ? 30 : (4 == 1 ? 150 : (4 == 2 ? 210 : 330)))} Y{(4 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[4])}10{else}30{endif} X320 Z0.2 F{if is_nil(filament_multitool_ramming[4])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X290 E9 F800 ; continue purging and wipe the nozzle\nG0 X{290 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{290 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[4]} F2400 ; retract\n{e_retracted[4] = 1.5 * retract_length[4]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[4]) ? (first_layer_temperature[4] + standby_temperature_delta) : (idle_temperature[4]))} T4\n{endif}\n;\n; purge initial tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T{initial_tool} S{first_layer_temperature[initial_tool]}\nT{initial_tool} S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330)))} Y{(initial_tool < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[initial_tool])}10{else}30{endif} X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 10)} Z0.2 F{if is_nil(filament_multitool_ramming[initial_tool])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40)} E9 F800 ; continue purging and wipe the nozzle\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 3)} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 3 * 2)} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[initial_tool]} F2400 ; retract\n{e_retracted[initial_tool] = 1.5 * retract_length[initial_tool]}\nG92 E0 ; reset extruder position\n\nM593 X T2 F35.8\nM593 Y T2 F35.4\n +start_gcode = M17 ; enable steppers\nM862.3 P "XL" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nM115 U5.1.0+13455\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; set print area\nM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}\n; inform about nozzle diameter\n{if (is_extruder_used[0])}M862.1 T0 P{nozzle_diameter[0]}{endif}\n{if (is_extruder_used[1])}M862.1 T1 P{nozzle_diameter[1]}{endif}\n{if (is_extruder_used[2])}M862.1 T2 P{nozzle_diameter[2]}{endif}\n{if (is_extruder_used[3])}M862.1 T3 P{nozzle_diameter[3]}{endif}\n{if (is_extruder_used[4])}M862.1 T4 P{nozzle_diameter[4]}{endif}\n\n; turn off unused heaters\n{if ! is_extruder_used[0]} M104 T0 S0 {endif}\n{if ! is_extruder_used[1]} M104 T1 S0 {endif}\n{if num_extruders > 2 and ! is_extruder_used[2]} M104 T2 S0 {endif}\n{if num_extruders > 3 and ! is_extruder_used[3]} M104 T3 S0 {endif}\n{if num_extruders > 4 and ! is_extruder_used[4]} M104 T4 S0 {endif}\n\nM217 Z{max(zhop, 2.0)} ; set toolchange z hop to 2mm, or zhop variable from slicer if higher\n; set bed and extruder temp for MBL\nM140 S[first_layer_bed_temperature] ; set bed temp\nG0 Z5 ; add Z clearance\nM109 T{initial_tool} S{((filament_notes[initial_tool]=~/.*HT_MBL10.*/) ? (first_layer_temperature[initial_tool] - 10) : (filament_type[initial_tool] == "PC" or filament_type[initial_tool] == "PA") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == "FLEX") ? 210 : (filament_type[initial_tool]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n\n; Home XY\nG28 XY\n; try picking tools used in print\nG1 F{travel_speed * 60}\n{if (is_extruder_used[0]) and (initial_tool != 0)}T0 S1 L0 D0{endif}\n{if (is_extruder_used[1]) and (initial_tool != 1)}T1 S1 L0 D0{endif}\n{if (is_extruder_used[2]) and (initial_tool != 2)}T2 S1 L0 D0{endif}\n{if (is_extruder_used[3]) and (initial_tool != 3)}T3 S1 L0 D0{endif}\n{if (is_extruder_used[4]) and (initial_tool != 4)}T4 S1 L0 D0{endif}\n; select tool that will be used to home & MBL\nT{initial_tool} S1 L0 D0\n; home Z with MBL tool\nM84 E ; turn off E motor\nG28 Z\nG0 Z5 ; add Z clearance\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG29 G ; absorb heat\n; move to the nozzle cleanup area\nG1 X{(min(((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))), first_layer_print_min[0])) + 32} Y{(min((first_layer_print_min[1] - 7), first_layer_print_min[1]))} Z{5} F{(travel_speed * 60)}\nM302 S160 ; lower cold extrusion limit to 160C\nG1 E{-(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; retraction for nozzle cleanup\n; nozzle cleanup\nM84 E ; turn off E motor\nG29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}\nG0 Z5 F480 ; move away in Z\nM107 ; turn off the fan\n; MBL\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X30 Y0 W{(((is_extruder_used[4]) or ((is_extruder_used[3]) or (is_extruder_used[2]))) ? "300" : ((is_extruder_used[1]) ? "130" : "50"))} H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\nG1 Z10 F720 ; move away in Z\nG1 F{travel_speed * 60}\nP0 S1 L1 D0; park the tool\n; set extruder temp\n{if first_layer_temperature[0] > 0 and (is_extruder_used[0])}M104 T0 S{first_layer_temperature[0]}{endif}\n{if first_layer_temperature[1] > 0 and (is_extruder_used[1])}M104 T1 S{first_layer_temperature[1]}{endif}\n{if first_layer_temperature[2] > 0 and (is_extruder_used[2])}M104 T2 S{first_layer_temperature[2]}{endif}\n{if first_layer_temperature[3] > 0 and (is_extruder_used[3])}M104 T3 S{first_layer_temperature[3]}{endif}\n{if first_layer_temperature[4] > 0 and (is_extruder_used[4])}M104 T4 S{first_layer_temperature[4]}{endif}\n{if (is_extruder_used[0]) and initial_tool != 0}\n;\n; purge first tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T0 S{first_layer_temperature[0]}\nT0 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[0])}10{else}30{endif} X40 Z0.2 F{if is_nil(filament_multitool_ramming[0])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X70 E9 F800 ; continue purging and wipe the nozzle\nG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[0]} F2400 ; retract\n{e_retracted[0] = 1.5 * retract_length[0]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[0]) ? (first_layer_temperature[0] + standby_temperature_delta) : (idle_temperature[0]))} T0\n{endif}\n{if (is_extruder_used[1]) and initial_tool != 1}\n;\n; purge second tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T1 S{first_layer_temperature[1]}\nT1 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(1 == 0 ? 30 : (1 == 1 ? 150 : (1 == 2 ? 210 : 330)))} Y{(1 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[1])}10{else}30{endif} X140 Z0.2 F{if is_nil(filament_multitool_ramming[1])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X110 E9 F800 ; continue purging and wipe the nozzle\nG0 X{110 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{110 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[1]} F2400 ; retract\n{e_retracted[1] = 1.5 * retract_length[1]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[1]) ? (first_layer_temperature[1] + standby_temperature_delta) : (idle_temperature[1]))} T1\n{endif}\n{if (is_extruder_used[2]) and initial_tool != 2}\n;\n; purge third tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T2 S{first_layer_temperature[2]}\nT2 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(2 == 0 ? 30 : (2 == 1 ? 150 : (2 == 2 ? 210 : 330)))} Y{(2 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[2])}10{else}30{endif} X220 Z0.2 F{if is_nil(filament_multitool_ramming[2])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X250 E9 F800 ; continue purging and wipe the nozzle\nG0 X{250 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{250 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[2]} F2400 ; retract\n{e_retracted[2] = 1.5 * retract_length[2]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[2]) ? (first_layer_temperature[2] + standby_temperature_delta) : (idle_temperature[2]))} T2\n{endif}\n{if (is_extruder_used[3]) and initial_tool != 3}\n;\n; purge fourth tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T3 S{first_layer_temperature[3]}\nT3 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(3 == 0 ? 30 : (3 == 1 ? 150 : (3 == 2 ? 210 : 330)))} Y{(3 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[3])}10{else}30{endif} X320 Z0.2 F{if is_nil(filament_multitool_ramming[3])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X290 E9 F800 ; continue purging and wipe the nozzle\nG0 X{290 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{290 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[3]} F2400 ; retract\n{e_retracted[3] = 1.5 * retract_length[3]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[3]) ? (first_layer_temperature[3] + standby_temperature_delta) : (idle_temperature[3]))} T3\n{endif}\n{if (is_extruder_used[4]) and initial_tool != 4}\n;\n; purge fifth tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T4 S{first_layer_temperature[4]}\nT4 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(4 == 0 ? 30 : (4 == 1 ? 150 : (4 == 2 ? 210 : 330)))} Y{(4 < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[4])}10{else}30{endif} X320 Z0.2 F{if is_nil(filament_multitool_ramming[4])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X290 E9 F800 ; continue purging and wipe the nozzle\nG0 X{290 - 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{290 - 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[4]} F2400 ; retract\n{e_retracted[4] = 1.5 * retract_length[4]} ; update slicer internal retract variable\nG92 E0 ; reset extruder position\n\nM104 S{(is_nil(idle_temperature[4]) ? (first_layer_temperature[4] + standby_temperature_delta) : (idle_temperature[4]))} T4\n{endif}\n;\n; purge initial tool\n;\nG1 F{travel_speed * 60}\nP0 S1 L2 D0; park the tool\nM109 T{initial_tool} S{first_layer_temperature[initial_tool]}\nT{initial_tool} S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\n\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330)))} Y{(initial_tool < 4 ? -7 : -4.5)} Z10 F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E{if is_nil(filament_multitool_ramming[initial_tool])}10{else}30{endif} X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 10)} Z0.2 F{if is_nil(filament_multitool_ramming[initial_tool])}500{else}170{endif} ; purge while moving towards the sheet\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40)} E9 F800 ; continue purging and wipe the nozzle\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 3)} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330))) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 40) + ((initial_tool == 0 or initial_tool == 2 ? 1 : -1) * 3 * 2)} Z0.2 F{8000} ; wipe, move quickly away from the bed\nG1 E{- 1.5 * retract_length[initial_tool]} F2400 ; retract\n{e_retracted[initial_tool] = 1.5 * retract_length[initial_tool]}\nG92 E0 ; reset extruder position\n\nM593 X T2 F35.8\nM593 Y T2 F35.4\n default_print_profile = 0.20mm SPEED @XLIS 0.4 default_filament_profile = "Prusament PLA @XLIS" @@ -21094,6 +21114,8 @@ retract_lift_below = 359,359 wipe = 1,1 extruder_colour = #FF8000;#DB5182 machine_max_acceleration_travel = 1500 +machine_max_feedrate_x = 400 +machine_max_feedrate_y = 400 [printer:Original Prusa XL - 5T 0.25 nozzle] inherits = *XLMULTI* @@ -21105,6 +21127,8 @@ min_layer_height = 0.05,0.05,0.05,0.05,0.05 max_layer_height = 0.15,0.15,0.15,0.15,0.15 retract_length = 0.8,0.8,0.8,0.8,0.8 machine_max_acceleration_travel = 1500 +machine_max_feedrate_x = 400 +machine_max_feedrate_y = 400 [printer:Original Prusa XL 0.8 nozzle] inherits = *commonXL* @@ -21150,12 +21174,14 @@ retract_length = 0.6,0.6,0.6,0.6,0.6 # XL Input Shaper -[printer:Original Prusa XL Input Shaper (Alpha) 0.4 nozzle] +[printer:Original Prusa XL Input Shaper 0.4 nozzle] inherits = *commonXLIS* +renamed_from = "Original Prusa XL Input Shaper (Alpha) 0.4 nozzle" max_layer_height = 0.30 -[printer:Original Prusa XL - 2T Input Shaper (Alpha) 0.4 nozzle] +[printer:Original Prusa XL - 2T Input Shaper 0.4 nozzle] inherits = *XL2MULTIIS* +renamed_from = "Original Prusa XL - 2T Input Shaper (Alpha) 0.4 nozzle" printer_variant = 0.4 nozzle_diameter = 0.4,0.4 retract_speed = 35,35 @@ -21172,8 +21198,9 @@ retract_lift_below = 359,359 wipe = 1,1 extruder_colour = #FF8000;#DB5182 -[printer:Original Prusa XL - 5T Input Shaper (Alpha) 0.4 nozzle] +[printer:Original Prusa XL - 5T Input Shaper 0.4 nozzle] inherits = *XLMULTIIS* +renamed_from = "Original Prusa XL - 5T Input Shaper (Alpha) 0.4 nozzle" printer_model = XL5IS printer_variant = 0.4 nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 @@ -21183,8 +21210,9 @@ max_layer_height = 0.3,0.3,0.3,0.3,0.3 retract_length = 0.8,0.8,0.8,0.8,0.8 wipe = 1,1,1,1,1 -[printer:Original Prusa XL Input Shaper (Alpha) 0.6 nozzle] +[printer:Original Prusa XL Input Shaper 0.6 nozzle] inherits = *commonXLIS* +renamed_from = "Original Prusa XL Input Shaper (Alpha) 0.6 nozzle" printer_variant = 0.6 nozzle_diameter = 0.6 retract_length = 0.7 @@ -21196,8 +21224,9 @@ machine_max_jerk_z = 12 default_print_profile = 0.25mm SPEED @XLIS 0.6 default_filament_profile = "Prusament PLA @XLIS 0.6" -[printer:Original Prusa XL - 2T Input Shaper (Alpha) 0.6 nozzle] +[printer:Original Prusa XL - 2T Input Shaper 0.6 nozzle] inherits = *XL2MULTIIS* +renamed_from = "Original Prusa XL - 2T Input Shaper (Alpha) 0.6 nozzle" printer_variant = 0.6 nozzle_diameter = 0.6,0.6 retract_speed = 35,35 @@ -21215,15 +21244,17 @@ wipe = 1,1 extruder_colour = #FF8000;#DB5182 machine_max_jerk_z = 12 -[printer:Original Prusa XL - 5T Input Shaper (Alpha) 0.6 nozzle] +[printer:Original Prusa XL - 5T Input Shaper 0.6 nozzle] inherits = *XLMULTIIS* +renamed_from = "Original Prusa XL - 5T Input Shaper (Alpha) 0.6 nozzle" printer_model = XL5IS printer_variant = 0.6 retract_before_wipe = 0%,0%,0%,0%,0% machine_max_jerk_z = 12 -[printer:Original Prusa XL Input Shaper (Alpha) 0.5 nozzle] +[printer:Original Prusa XL Input Shaper 0.5 nozzle] inherits = *commonXLIS* +renamed_from = "Original Prusa XL Input Shaper (Alpha) 0.5 nozzle" printer_variant = 0.5 nozzle_diameter = 0.5 retract_length = 0.7 @@ -21231,8 +21262,9 @@ max_layer_height = 0.32 min_layer_height = 0.07 default_print_profile = 0.20mm SPEED @XLIS 0.5 -[printer:Original Prusa XL - 2T Input Shaper (Alpha) 0.5 nozzle] +[printer:Original Prusa XL - 2T Input Shaper 0.5 nozzle] inherits = *XL2MULTIIS* +renamed_from = "Original Prusa XL - 2T Input Shaper (Alpha) 0.5 nozzle" printer_variant = 0.5 nozzle_diameter = 0.5,0.5 retract_speed = 35,35 @@ -21249,8 +21281,9 @@ retract_lift_below = 359,359 wipe = 1,1 extruder_colour = #FF8000;#DB5182 -[printer:Original Prusa XL - 5T Input Shaper (Alpha) 0.5 nozzle] +[printer:Original Prusa XL - 5T Input Shaper 0.5 nozzle] inherits = *XLMULTIIS* +renamed_from = "Original Prusa XL - 5T Input Shaper (Alpha) 0.5 nozzle" printer_model = XL5IS printer_variant = 0.5 nozzle_diameter = 0.5,0.5,0.5,0.5,0.5 @@ -21258,8 +21291,9 @@ retract_lift = 0.3,0.3,0.3,0.3,0.3 min_layer_height = 0.07,0.07,0.07,0.07,0.07 max_layer_height = 0.32,0.32,0.32,0.32,0.32 -[printer:Original Prusa XL Input Shaper (Alpha) 0.3 nozzle] +[printer:Original Prusa XL Input Shaper 0.3 nozzle] inherits = *commonXLIS* +renamed_from = "Original Prusa XL Input Shaper (Alpha) 0.3 nozzle" printer_variant = 0.3 nozzle_diameter = 0.3 retract_length = 0.7 @@ -21268,8 +21302,9 @@ min_layer_height = 0.05 default_print_profile = 0.16mm SPEED @XLIS 0.3 machine_max_acceleration_travel = 3000 -[printer:Original Prusa XL - 2T Input Shaper (Alpha) 0.3 nozzle] +[printer:Original Prusa XL - 2T Input Shaper 0.3 nozzle] inherits = *XL2MULTIIS* +renamed_from = "Original Prusa XL - 2T Input Shaper (Alpha) 0.3 nozzle" printer_variant = 0.3 nozzle_diameter = 0.3,0.3 retract_speed = 35,35 @@ -21287,8 +21322,9 @@ wipe = 1,1 extruder_colour = #FF8000;#DB5182 machine_max_acceleration_travel = 2500 -[printer:Original Prusa XL - 5T Input Shaper (Alpha) 0.3 nozzle] +[printer:Original Prusa XL - 5T Input Shaper 0.3 nozzle] inherits = *XLMULTI* +renamed_from = "Original Prusa XL - 5T Input Shaper (Alpha) 0.3 nozzle" printer_model = XL5 printer_variant = 0.3 nozzle_diameter = 0.3,0.3,0.3,0.3,0.3 @@ -21297,8 +21333,9 @@ min_layer_height = 0.05,0.05,0.05,0.05,0.05 max_layer_height = 0.22,0.22,0.22,0.22,0.22 machine_max_acceleration_travel = 2500 -[printer:Original Prusa XL Input Shaper (Alpha) 0.25 nozzle] +[printer:Original Prusa XL Input Shaper 0.25 nozzle] inherits = *commonXLIS* +renamed_from = "Original Prusa XL Input Shaper (Alpha) 0.25 nozzle" printer_variant = 0.25 nozzle_diameter = 0.25 retract_length = 0.8 @@ -21307,9 +21344,12 @@ max_layer_height = 0.15 min_layer_height = 0.05 default_print_profile = 0.12mm SPEED @XLIS 0.25 machine_max_acceleration_travel = 2000 +machine_max_feedrate_x = 400 +machine_max_feedrate_y = 400 -[printer:Original Prusa XL - 2T Input Shaper (Alpha) 0.25 nozzle] +[printer:Original Prusa XL - 2T Input Shaper 0.25 nozzle] inherits = *XL2MULTIIS* +renamed_from = "Original Prusa XL - 2T Input Shaper (Alpha) 0.25 nozzle" printer_variant = 0.25 nozzle_diameter = 0.25,0.25 retract_speed = 35,35 @@ -21326,9 +21366,12 @@ retract_lift_below = 359,359 wipe = 1,1 extruder_colour = #FF8000;#DB5182 machine_max_acceleration_travel = 1500 +machine_max_feedrate_x = 400 +machine_max_feedrate_y = 400 -[printer:Original Prusa XL - 5T Input Shaper (Alpha) 0.25 nozzle] +[printer:Original Prusa XL - 5T Input Shaper 0.25 nozzle] inherits = *XLMULTIIS* +renamed_from = "Original Prusa XL - 5T Input Shaper (Alpha) 0.25 nozzle" printer_model = XL5IS printer_variant = 0.25 nozzle_diameter = 0.25,0.25,0.25,0.25,0.25 @@ -21337,9 +21380,12 @@ min_layer_height = 0.05,0.05,0.05,0.05,0.05 max_layer_height = 0.15,0.15,0.15,0.15,0.15 retract_length = 0.8,0.8,0.8,0.8,0.8 machine_max_acceleration_travel = 1500 +machine_max_feedrate_x = 400 +machine_max_feedrate_y = 400 -[printer:Original Prusa XL Input Shaper (Alpha) 0.8 nozzle] +[printer:Original Prusa XL Input Shaper 0.8 nozzle] inherits = *commonXLIS* +renamed_from = "Original Prusa XL Input Shaper (Alpha) 0.8 nozzle" printer_variant = 0.8 nozzle_diameter = 0.8 retract_length = 0.6 @@ -21352,8 +21398,9 @@ min_layer_height = 0.2 default_print_profile = 0.40mm SPEED @XLIS 0.8 default_filament_profile = "Prusament PLA @XLIS 0.8" -[printer:Original Prusa XL - 2T Input Shaper (Alpha) 0.8 nozzle] +[printer:Original Prusa XL - 2T Input Shaper 0.8 nozzle] inherits = *XL2MULTIIS* +renamed_from = "Original Prusa XL - 2T Input Shaper (Alpha) 0.8 nozzle" printer_variant = 0.8 nozzle_diameter = 0.8,0.8 retract_speed = 25,25 @@ -21370,8 +21417,9 @@ retract_lift_below = 359,359 wipe = 1,1 extruder_colour = #FF8000;#DB5182 -[printer:Original Prusa XL - 5T Input Shaper (Alpha) 0.8 nozzle] +[printer:Original Prusa XL - 5T Input Shaper 0.8 nozzle] inherits = *XLMULTIIS* +renamed_from = "Original Prusa XL - 5T Input Shaper (Alpha) 0.8 nozzle" printer_model = XL5IS printer_variant = 0.8 nozzle_diameter = 0.8,0.8,0.8,0.8,0.8 @@ -21418,13 +21466,14 @@ retract_before_travel = 1.5 retract_before_wipe = 80% retract_layer_change = 1 retract_length = 0.8 -start_gcode = M17 ; enable steppers\nM862.3 P "[printer_model]" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; set extruder temp for bed leveling\nM109 T0 R{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\nG1 X{10 + 32} Y-4 Z5 F4800\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]=="FLEX"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\nG29 P9 X10 Y-4 W32 H4\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}\n\nG0 Z40 F10000\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\nM107\n\n;\n; MBL\n;\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X0 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\n\n; prepare for purge\nM104 S{first_layer_temperature[0]}\nG0 X0 Y-4 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[0]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E7 X15 Z0.2 F500 ; purge\nG0 X25 E4 F500 ; purge\nG0 X35 E4 F650 ; purge\nG0 X45 E4 F800 ; purge\nG0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\n\nG92 E0\nM221 S100 ; set flow to 100% +start_gcode = M17 ; enable steppers\nM862.3 P "[printer_model]" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U5.1.0+13455\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; set extruder temp for bed leveling\nM109 T0 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\nG1 X{10 + 32} Y-4 Z5 F4800\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]=="FLEX"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\nG29 P9 X10 Y-4 W32 H4\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}\n\nG0 Z40 F10000\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\nM107\n\n;\n; MBL\n;\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X0 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\n\n; prepare for purge\nM104 S{first_layer_temperature[0]}\nG0 X0 Y-4 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[0]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E7 X15 Z0.2 F500 ; purge\nG0 X25 E4 F500 ; purge\nG0 X35 E4 F650 ; purge\nG0 X45 E4 F800 ; purge\nG0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\n\nG92 E0\nM221 S100 ; set flow to 100% default_print_profile = 0.20mm QUALITY @MK4 0.4 default_filament_profile = "Prusament PLA @PG" -thumbnails = 16x16/QOI, 313x173/QOI, 440x240/QOI, 640x480/PNG +thumbnails = 16x16/QOI, 313x173/QOI, 440x240/QOI, 480x240/QOI, 640x480/PNG gcode_flavor = marlin2 high_current_on_filament_swap = 0 retract_lift = 0.2 +binary_gcode = 1 [printer:Original Prusa MK4 0.4 nozzle] inherits = *commonMK4* @@ -21514,7 +21563,7 @@ wipe = 0 retract_before_wipe = 80 retract_speed = 35 deretract_speed = 0 -start_gcode = M17 ; enable steppers\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.3 P "MK4" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nM115 U5.0.1+12089\n\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; set extruder temp for bed leveling\nM109 T0 R{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\nG1 X{10 + 32} Y-4 Z5 F4800\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]=="FLEX"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\nG29 P9 X10 Y-4 W32 H4\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}\n\nG0 Z40 F10000\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\nM107\n\n;\n; MBL\n;\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X0 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\n\n; prepare for purge\nM104 S{first_layer_temperature[0]}\nG0 X0 Y-4 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[0]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E7 X15 Z0.2 F500 ; purge\nG0 X25 E4 F500 ; purge\nG0 X35 E4 F650 ; purge\nG0 X45 E4 F800 ; purge\nG0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\n\nG92 E0\nM221 S100 ; set flow to 100% +start_gcode = M17 ; enable steppers\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.3 P "MK4" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nM115 U5.1.0+13455\n\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; set extruder temp for bed leveling\nM109 T0 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\nG1 X{10 + 32} Y-4 Z5 F4800\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]=="FLEX"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\nG29 P9 X10 Y-4 W32 H4\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}\n\nG0 Z40 F10000\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\nM107\n\n;\n; MBL\n;\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X0 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\n\n; prepare for purge\nM104 S{first_layer_temperature[0]}\nG0 X0 Y-4 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[0]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E7 X15 Z0.2 F500 ; purge\nG0 X25 E4 F500 ; purge\nG0 X35 E4 F650 ; purge\nG0 X45 E4 F800 ; purge\nG0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\n\nG92 E0\nM221 S100 ; set flow to 100% end_gcode = {if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X241 Y170 F3600 ; park\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+23, max_print_height)} F300 ; Move print head up{endif}\nG4 ; wait\nM572 S0 ; reset PA\nM593 X T2 F0 ; disable IS\nM593 Y T2 F0 ; disable IS\nM84 X Y E ; disable motors\n; max_layer_z = [max_layer_z] before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1400,2500), (10000,2500))} Y{interpolate_table(extruded_weight_total, (0,4000), (1400,2500), (10000,2500))}\n{if ! spiral_vase}M74 W[extruded_weight_total]{endif}\n default_print_profile = 0.20mm SPEED @MK4IS 0.4 @@ -21614,7 +21663,7 @@ wipe = 0 retract_before_wipe = 80 retract_speed = 35 deretract_speed = 0 -start_gcode = M17 ; enable steppers\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.3 P "[printer_model]" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nM115 U5.0.1+12089\n\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; set extruder temp for bed leveling\nM109 T0 R{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : (filament_type[0]=~/.*PET.*/ ? 175 : 170)))} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\nG1 X{10 + 32} Y-4 Z5 F4800\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]=="FLEX"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\nG29 P9 X10 Y-4 W32 H4\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}\n\nG0 Z40 F10000\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\nM107\n\n;\n; MBL\n;\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X0 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\n\n; prepare for purge\nM104 S{first_layer_temperature[0]}\nG0 X0 Y-4 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[0]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E7 X15 Z0.2 F500 ; purge\nG0 X25 E4 F500 ; purge\nG0 X35 E4 F650 ; purge\nG0 X45 E4 F800 ; purge\nG0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\n\nG92 E0\nM221 S100 ; set flow to 100% +start_gcode = M17 ; enable steppers\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.3 P "[printer_model]" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P"Input shaper" ; FW feature check\nM115 U5.1.0+13455\n\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; set extruder temp for bed leveling\nM109 T0 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\nG1 X{10 + 32} Y-4 Z5 F4800\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]=="FLEX"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\nG29 P9 X10 Y-4 W32 H4\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}\n\nG0 Z40 F10000\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\nM107\n\n;\n; MBL\n;\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X0 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\n\n; prepare for purge\nM104 S{first_layer_temperature[0]}\nG0 X0 Y-4 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[0]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E7 X15 Z0.2 F500 ; purge\nG0 X25 E4 F500 ; purge\nG0 X35 E4 F650 ; purge\nG0 X45 E4 F800 ; purge\nG0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed\nG0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed\n\nG92 E0\nM221 S100 ; set flow to 100% end_gcode = {if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X241 Y170 F3600 ; park\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+23, max_print_height)} F300 ; Move print head up{endif}\nG4 ; wait\nM572 S0 ; reset PA\nM593 X T2 F0 ; disable IS\nM593 Y T2 F0 ; disable IS\nM84 X Y E ; disable motors\n; max_layer_z = [max_layer_z] before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1400,2500), (10000,2500))} Y{interpolate_table(extruded_weight_total, (0,4000), (1400,2500), (10000,2500))}\n{if ! spiral_vase}M74 W[extruded_weight_total]{endif}\n default_print_profile = 0.20mm SPEED @MK4IS 0.4