diff --git a/resources/icons/snap.svg b/resources/icons/snap.svg
new file mode 100644
index 0000000000..b1080a1847
--- /dev/null
+++ b/resources/icons/snap.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/resources/profiles/PapapiuLab.idx b/resources/profiles/PapapiuLab.idx
new file mode 100644
index 0000000000..f747a21eda
--- /dev/null
+++ b/resources/profiles/PapapiuLab.idx
@@ -0,0 +1,2 @@
+min_slic3r_version = 2.6.0-alpha1
+0.1.0 Initial version
\ No newline at end of file
diff --git a/resources/profiles/PapapiuLab.ini b/resources/profiles/PapapiuLab.ini
new file mode 100644
index 0000000000..9a54f9e6d6
--- /dev/null
+++ b/resources/profiles/PapapiuLab.ini
@@ -0,0 +1,505 @@
+# Print profiles for Papapiu printers.
+[vendor]
+name = Papapiu
+config_version = 0.1.0
+config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PapapiuLab/
+
+
+
+[printer_model:Papapiu_N1S]
+name = Papapiu N1S
+variants = 0.4
+technology = FFF
+bed_model = Papapiu_N1S_Bed.stl
+bed_texture = Papapiu_N1_Texture.png
+thumbnail = Papapiu_N1S_thumbnail.png
+default_materials = "Generic PLA @Papapiu"; Generic PETG HF @Papapiu; Generic PLA @Papapiu; Esun ePA-CF @Papapiu; Generic ABS @Papapiu; Generic TPU @Papapiu
+
+[print:*common*]
+compatible_printers_condition = printer_model=~/(Papapiu_N1S).*/
+allow_empty_layers = 0
+avoid_crossing_perimeters = 0
+avoid_crossing_perimeters_max_detour = 0
+bottom_fill_pattern = monotonic
+extra_perimeters = 0
+bottom_solid_layers = 8
+bottom_solid_min_thickness = 0
+bridge_acceleration = 0
+bridge_angle = 0
+bridge_speed = 60
+brim_offset = 0
+brim_width = 0
+clip_multipart_objects = 1
+complete_objects = 0
+complete_objects_one_skirt = 0
+complete_objects_sort = object
+default_acceleration = 12000
+dont_support_bridges = 1
+draft_shield = 0
+ensure_vertical_shell_thickness = 1
+exact_last_layer_height = 0
+external_perimeter_extrusion_width = 0.4
+external_perimeter_speed = 90%
+extruder_clearance_height = 25
+extruder_clearance_radius = 45
+extrusion_width = 0.4
+fill_angle = 45
+fill_density = 15%
+fill_pattern = cubic
+first_layer_acceleration = 3000
+first_layer_extrusion_width = 0.45
+first_layer_height = 0.2
+first_layer_speed = 100
+gap_fill = 1
+gap_fill_speed = 50
+gcode_comments = 0
+gcode_label_objects = 1
+infill_acceleration = 12000
+infill_anchor = 600%
+infill_anchor_max = 5
+infill_every_layers = 1
+infill_extruder = 1
+infill_extrusion_width = 0.4
+infill_first = 0
+infill_only_where_needed = 0
+infill_overlap = 18%
+infill_speed = 150
+interface_shells = 0
+ironing = 0
+ironing_flowrate = 15%
+ironing_spacing = 0.1
+ironing_speed = 15
+ironing_type = top
+layer_height = 0.15
+max_print_speed = 300
+max_volumetric_speed = 12
+min_skirt_length = 4
+notes =
+only_retract_when_crossing_perimeters = 0
+ooze_prevention = 0
+output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{print_time}.gcode
+perimeter_acceleration = 12000
+perimeter_extruder = 1
+perimeter_extrusion_width = 0.4
+perimeter_speed = 120
+perimeters = 2
+post_process =
+print_settings_id =
+raft_layers = 0
+resolution = 0
+seam_position = aligned
+skirt_distance = 10
+skirt_height = 1
+skirts = 2
+slice_closing_radius = 0.049
+small_perimeter_speed = 25
+solid_fill_pattern = rectilinear
+solid_infill_below_area = 0
+solid_infill_every_layers = 0
+solid_infill_extruder = 1
+solid_infill_extrusion_width = 0.4
+solid_infill_speed = 80%
+spiral_vase = 0
+standby_temperature_delta = -5
+support_material = 0
+support_material_angle = 0
+support_material_auto = 1
+support_material_buildplate_only = 1
+support_material_contact_distance_bottom = 0.2
+support_material_contact_distance_top = 0.2
+support_material_extruder = 0
+support_material_extrusion_width = 0.38
+support_material_interface_contact_loops = 0
+support_material_interface_extruder = 0
+support_material_interface_layers = 2
+support_material_interface_pattern = rectilinear
+support_material_interface_spacing = 0.2
+support_material_interface_speed = 100%
+support_material_pattern = rectilinear
+support_material_solid_first_layer = 0
+support_material_spacing = 2
+support_material_speed = 50
+support_material_synchronize_layers = 0
+support_material_threshold = 65
+support_material_with_sheath = 0
+support_material_xy_spacing = 60%
+thin_walls = 0
+top_fill_pattern = monotonic
+top_infill_extrusion_width = 0.4
+top_solid_infill_speed = 60%
+top_solid_layers = 8
+top_solid_min_thickness = 0
+travel_speed = 250
+travel_speed_z = 0
+wipe_tower = 0
+wipe_tower_bridging = 10
+wipe_tower_no_sparse_layers = 0
+wipe_tower_rotation_angle = 0
+wipe_tower_width = 60
+wipe_tower_x = 170
+wipe_tower_y = 140
+elefant_foot_compensation = 0.1
+
+[print:*0.15mm*]
+bottom_solid_layers = 7
+top_solid_layers = 7
+layer_height = 0.15
+bridge_flow_ratio = 0.7
+max_print_speed = 250
+solid_infill_speed = 80%
+
+[print:*0.2mm*]
+bottom_solid_layers = 5
+top_solid_layers = 5
+layer_height = 0.2
+bridge_flow_ratio = 0.8
+
+[print:0.15mm NORMAL @Papapiu]
+inherits = *common*; *0.15mm*
+max_print_speed = 300
+bottom_solid_layers = 8
+top_solid_layers = 8
+
+[print:0.15mm FAST @Papapiu]
+inherits = *common*; *0.15mm*
+compatible_printers_condition = printer_model=~/(Papapiu_N1S).*/
+external_perimeter_speed = 140
+first_layer_infill_speed = 60
+first_layer_speed = 100
+gap_fill_speed = 50
+infill_speed = 230
+ironing_speed = 15
+max_print_speed = 300
+max_volumetric_speed = 25
+perimeter_speed = 160
+small_perimeter_speed = 25
+solid_infill_speed = 80%
+top_solid_infill_speed = 60%
+fill_pattern = cubic
+
+[print:0.20mm NORMAL @Papapiu]
+inherits = *common*; *0.2mm*
+fill_pattern = cubic
+external_perimeter_speed = 120
+infill_speed = 160
+compatible_printers_condition = printer_model=~/(Papapiu_N1S).*/
+
+[print:0.20mm FAST @Papapiu]
+inherits = 0.15mm FAST @Papapiu; *0.2mm*
+compatible_printers_condition = printer_model=~/(Papapiu_N1S).*/
+external_perimeter_speed = 140
+first_layer_infill_speed = 60
+first_layer_speed = 100
+gap_fill_speed = 50
+infill_speed = 230
+ironing_speed = 15
+max_print_speed = 300
+max_volumetric_speed = 25
+perimeter_speed = 160
+small_perimeter_speed = 25
+solid_infill_speed = 80%
+top_solid_infill_speed = 60%
+
+
+# Common printer preset
+[printer:*common*]
+before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n;{if layer_num == 2 }SET_FILAMENT_SENSOR SENSOR=my_sensor ENABLE=1{endif}\n\n
+between_objects_gcode =
+color_change_gcode = M600
+cooling_tube_length = 5
+cooling_tube_retraction = 91.5
+default_filament_profile = "Generic PLA @Papapiu"
+default_print_profile = "0.20mm NORMAL @Papapiu"
+deretract_speed = 40
+end_gcode = PRINT_END
+extra_loading_move = -2
+extruder_colour = ""
+gcode_flavor = marlin
+high_current_on_filament_swap = 0
+layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]\n
+machine_limits_usage = time_estimate_only
+machine_max_acceleration_e = 5000
+machine_max_acceleration_extruding = 9000
+machine_max_acceleration_retracting = 9000
+machine_max_acceleration_travel = 12000,12000
+machine_max_acceleration_x = 12000
+machine_max_acceleration_y = 12000
+machine_max_acceleration_z = 100
+machine_max_feedrate_e = 60
+machine_max_feedrate_x = 500
+machine_max_feedrate_y = 500
+machine_max_feedrate_z = 10
+machine_max_jerk_e = 5
+machine_max_jerk_x = 5
+machine_max_jerk_y = 5
+machine_max_jerk_z = 0.4
+machine_min_extruding_rate = 0
+machine_min_travel_rate = 0
+min_layer_height = 0.05
+nozzle_diameter = 0.4
+parking_pos_retraction = 92
+pause_print_gcode = M601
+print_host =
+printer_notes = ""
+remaining_times = 1
+retract_before_travel = 1
+retract_before_wipe = 0%
+retract_layer_change = 1
+retract_length = 1
+retract_length_toolchange = 1
+retract_lift = 0
+retract_lift_above = 0
+retract_lift_below = 0
+retract_restart_extra = 0
+retract_restart_extra_toolchange = 0
+retract_speed = 40
+silent_mode = 0
+single_extruder_multi_material = 0
+start_gcode = M104 S0\nM140 S0\nPRINT_START BED={first_layer_bed_temperature[0]} EXTRUDER={first_layer_temperature[0]}
+thumbnails = 64x64,400x300
+toolchange_gcode =
+use_firmware_retraction = 0
+use_relative_e_distances = 1
+use_volumetric_e = 0
+variable_layer_height = 1
+wipe = 0
+z_offset = 0
+
+
+[printer:*0.4nozzle*]
+nozzle_diameter = 0.4
+max_layer_height = 0.3
+min_layer_height = 0.05
+retract_lift_above = 0.2
+printer_variant = 0.4
+
+[printer:Papapiu N1S]
+inherits = *common*; *0.4nozzle*
+bed_shape = 0x0,299x0,299x300,0x300
+max_print_height = 360
+printer_model = Papapiu_N1S
+
+
+[filament:Generic ABS @Papapiu]
+filament_vendor = Generic
+filament_type = ABS
+bed_temperature = 105
+bridge_fan_speed = 30
+cooling = 0
+disable_fan_first_layers = 2
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+extrusion_multiplier = 0.98
+fan_always_on = 0
+fan_below_layer_time = 10
+filament_colour = #3A80CA
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_cooling_zone_pause = 0
+filament_cost = 18
+filament_density = 1.04
+filament_deretract_speed = nil
+filament_diameter = 1.75
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_speed = 0
+filament_max_volumetric_speed = 0
+filament_minimal_purge_on_wipe_tower = 15
+filament_notes = ""
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_retract_layer_change = 0
+filament_retract_length = 0.7
+filament_soluble = 0
+filament_spool_weight = 0
+filament_toolchange_delay = 0
+filament_toolchange_part_fan_speed = 50
+filament_toolchange_temp = 200
+filament_unload_time = 0
+filament_unloading_speed = 90
+filament_unloading_speed_start = 100
+filament_wipe = 1
+first_layer_bed_temperature = 108
+first_layer_temperature = 248
+full_fan_speed_layer = 0
+max_fan_speed = 30
+min_fan_speed = 20
+min_print_speed = 25
+slowdown_below_layer_time = 10
+start_filament_gcode = ""
+temperature = 243
+
+[filament:Generic PETG @Papapiu]
+filament_vendor = Generic
+filament_type = PETG
+bed_temperature = 80
+bridge_fan_speed = 100
+cooling = 0
+disable_fan_first_layers = 3
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+extrusion_multiplier = 0.94
+fan_always_on = 1
+fan_below_layer_time = 10
+filament_colour = #FF8000
+filament_cost = 20
+filament_density = 1.27
+filament_diameter = 1.75
+filament_enable_toolchange_part_fan = 0
+filament_enable_toolchange_temp = 0
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_speed = 0
+filament_max_volumetric_speed = 11
+filament_minimal_purge_on_wipe_tower = 15
+filament_notes = ""
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_retract_layer_change = 1
+filament_retract_length = 1.2
+filament_settings_id = ""
+filament_soluble = 0
+filament_spool_weight = 0
+filament_unload_time = 0
+filament_unloading_speed = 90
+filament_unloading_speed_start = 100
+filament_wipe = 1
+first_layer_bed_temperature = 80
+first_layer_temperature = 240
+full_fan_speed_layer = 0
+max_fan_speed = 100
+min_fan_speed = 40
+min_print_speed = 15
+slowdown_below_layer_time = 10
+start_filament_gcode = ""
+temperature = 235
+
+
+[filament:Generic PLA @Papapiu]
+filament_vendor = Generic
+filament_type = PLA
+bed_temperature = 65
+bridge_fan_speed = 100
+cooling = 0
+disable_fan_first_layers = 2
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+extrusion_multiplier = 0.89
+fan_always_on = 1
+fan_below_layer_time = 100
+filament_colour = #FF3232
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_cooling_zone_pause = 0
+filament_cost = 20
+filament_density = 1.24
+filament_deretract_speed = nil
+filament_diameter = 1.75
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_speed = 0
+filament_max_volumetric_speed = 0
+filament_minimal_purge_on_wipe_tower = 15
+filament_notes = ""
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_retract_length = 0.6
+filament_soluble = 0
+filament_spool_weight = 0
+filament_toolchange_delay = 0
+filament_unload_time = 0
+filament_unloading_speed = 90
+filament_unloading_speed_start = 100
+filament_wipe = nil
+first_layer_bed_temperature = 68
+first_layer_temperature = 205
+full_fan_speed_layer = 4
+inherits =
+max_fan_speed = 100
+min_fan_speed = 100
+min_print_speed = 10
+slowdown_below_layer_time = 15
+start_filament_gcode = ""
+temperature = 195
+
+[filament:Generic TPU @Papapiu]
+inherits = Generic PLA @Papapiu
+bed_temperature = 30
+bridge_fan_speed = 100
+bridge_internal_fan_speed = -1
+chamber_temperature = 0
+compatible_printers =
+compatible_printers_condition =
+compatible_prints =
+compatible_prints_condition =
+cooling = 0
+disable_fan_first_layers = 2
+end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
+external_perimeter_fan_speed = -1
+extrusion_multiplier = 0.89
+fan_always_on = 1
+fan_below_layer_time = 100
+filament_colour = #FF00FF
+filament_cooling_final_speed = 3.4
+filament_cooling_initial_speed = 2.2
+filament_cooling_moves = 4
+filament_cooling_zone_pause = 0
+filament_cost = 20
+filament_custom_variables = ""
+filament_density = 1.24
+filament_deretract_speed = nil
+filament_diameter = 1.75
+filament_dip_extraction_speed = 70
+filament_dip_insertion_speed = 33
+filament_enable_toolchange_part_fan = 0
+filament_enable_toolchange_temp = 0
+filament_load_time = 0
+filament_loading_speed = 28
+filament_loading_speed_start = 3
+filament_max_overlap = 100%
+filament_max_speed = 0
+filament_max_volumetric_speed = 5
+filament_max_wipe_tower_speed = 0
+filament_melt_zone_pause = 0
+filament_minimal_purge_on_wipe_tower = 15
+filament_notes = "This is a profile for TPU95A. It was tested with Anycubic TPU95A, but most of the economy TPU filaments behave pretty similar.\n\nYou will want to optimize the temperature. Even different colors of the same brand can require 10° more or less.\n\nIf you experience clogs or grinding, reduce the maximum volumetric speed!"
+filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_retract_before_travel = nil
+filament_retract_before_wipe = nil
+filament_retract_layer_change = nil
+filament_retract_length = 1
+filament_retract_lift = 0.1
+filament_retract_lift_above = nil
+filament_retract_lift_below = nil
+filament_retract_restart_extra = nil
+filament_retract_speed = nil
+filament_seam_gap = nil
+filament_shrink = 100%
+filament_skinnydip_distance = 31
+filament_soluble = 0
+filament_spool_weight = 0
+filament_toolchange_delay = 0
+filament_toolchange_part_fan_speed = 50
+filament_toolchange_temp = 200
+filament_type = FLEX
+filament_unload_time = 0
+filament_unloading_speed = 90
+filament_unloading_speed_start = 100
+filament_use_fast_skinnydip = 0
+filament_use_skinnydip = 0
+filament_vendor = Generic
+filament_wipe = nil
+filament_wipe_advanced_pigment = 0.5
+filament_wipe_extra_perimeter = nil
+filament_wipe_only_crossing = nil
+filament_wipe_speed = nil
+first_layer_bed_temperature = 30
+first_layer_temperature = 220
+full_fan_speed_layer = 4
+max_fan_speed = 100
+max_speed_reduction = 95%
+min_fan_speed = 100
+min_print_speed = 10
+slowdown_below_layer_time = 8
+start_filament_gcode = ""
+temperature = 220
+top_fan_speed = -1
\ No newline at end of file
diff --git a/resources/profiles/PapapiuLab/Papapiu_N1S_Bed.stl b/resources/profiles/PapapiuLab/Papapiu_N1S_Bed.stl
new file mode 100644
index 0000000000..b1a0dd3b19
Binary files /dev/null and b/resources/profiles/PapapiuLab/Papapiu_N1S_Bed.stl differ
diff --git a/resources/profiles/PapapiuLab/Papapiu_N1S_thumbnail.png b/resources/profiles/PapapiuLab/Papapiu_N1S_thumbnail.png
new file mode 100644
index 0000000000..33418b2426
Binary files /dev/null and b/resources/profiles/PapapiuLab/Papapiu_N1S_thumbnail.png differ
diff --git a/resources/profiles/PapapiuLab/Papapiu_N1_Texture.png b/resources/profiles/PapapiuLab/Papapiu_N1_Texture.png
new file mode 100644
index 0000000000..20d782ce27
Binary files /dev/null and b/resources/profiles/PapapiuLab/Papapiu_N1_Texture.png differ
diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx
index c20e8e8e16..09bd30991a 100644
--- a/resources/profiles/PrusaResearch.idx
+++ b/resources/profiles/PrusaResearch.idx
@@ -1,4 +1,11 @@
min_slic3r_version = 2.6.0-beta2
+1.9.8 FW version notification (MK2.5/3 family). Minor update of MK4IS profiles. Updated MK4IS thumbnail.
+1.9.7 MK4 Input Shaper RC firmware notification.
+1.9.6 Added filament profile for Prusament PETG V0.
+1.9.5 Added new profiles for MK4 Input Shaper (Alpha).
+1.9.4 Added profiles for MMU3. Updated PA values for MK4IS. Increased minimal purge on wipe tower for XL Multi-Tool.
+1.9.3 Added material profiles for Prusament Resin Flex80 White.
+1.9.2 Added profiles for Prusa XL Multi-Tool.
1.9.1 Added new Prusament Resin material profiles.
1.9.0 Bumped up configuration version.
1.9.0-beta3 Updated start g-code for MK4 (modified purge line and nozzle cleaning).
diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini
index c068d9e2f8..93d05a216d 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.9.1
+config_version = 1.9.8
# 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%
@@ -24,14 +24,14 @@ 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
[printer_model:MK4IS]
-name = Original Prusa MK4 Input Shaper (Alpha)
-variants = 0.4
+name = Original Prusa MK4 Input Shaper
+variants = 0.4; 0.25; 0.3; 0.5; 0.6; 0.8
technology = FFF
family = MK4
bed_model = mk4_bed.stl
-bed_texture = mk4is.svg
-thumbnail = MK4IS_thumbnail.png
-default_materials = Prusament PLA @MK4IS; Prusament PLA Blend @MK4IS; Prusament PETG @MK4IS; Generic PLA @MK4IS; Prusa PLA @MK4IS; Prusa PETG @MK4IS; Generic ASA @MK4; Generic PETG @MK4IS; Prusa PLA @MK4IS; Generic PLA Silk @MK4IS
+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
[printer_model:MINI]
name = Original Prusa MINI && MINI+
@@ -60,6 +60,15 @@ 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
+[printer_model:MK3SMMU3]
+name = Original Prusa i3 MK3S && MK3S+ MMU3
+variants = 0.4; 0.25; 0.6; 0.8
+technology = FFF
+family = MK3
+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:MK3SMMU2S]
name = Original Prusa i3 MK3S && MK3S+ MMU2S
variants = 0.4; 0.25; 0.6; 0.8
@@ -67,7 +76,7 @@ technology = FFF
family = MK3
bed_model = mk3_bed.stl
bed_texture = mk3.svg
-default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PC Blend Carbon Fiber @MMU2; Prusament PVB @MMU2
+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:MK3MMU2]
name = Original Prusa i3 MK3 MMU2
@@ -76,17 +85,35 @@ technology = FFF
family = MK3
bed_model = mk3_bed.stl
bed_texture = mk3.svg
-default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PC Blend Carbon Fiber @MMU2; Prusament PVB @MMU2
+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:XL]
name = Original Prusa XL
variants = 0.6; 0.25; 0.3; 0.4; 0.5; 0.8
technology = FFF
-family = XL
+family = XL Single-Tool
bed_model = xl_bed.stl
bed_texture = xl.svg
default_materials = Generic PLA @PG 0.6; Generic ABS @PG 0.6; Generic PETG @PG 0.6; Prusament PLA @PG 0.6; Prusament PETG @PG 0.6; Prusament ASA @PG 0.6; Prusament PC Blend @PG 0.6; Prusament PC Blend Carbon Fiber @PG 0.6; Prusament PVB @PG 0.6; Prusament PA11 Carbon Fiber @PG 0.6
+[printer_model:XL2]
+name = Original Prusa XL - 2T
+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 = xl.svg
+default_materials = Generic PLA @PG 0.6; Generic ABS @PG 0.6; Generic PETG @PG 0.6; Prusament PLA @PG 0.6; Prusament PETG @PG 0.6; Prusament ASA @PG 0.6; Prusament PC Blend @PG 0.6; Prusament PC Blend Carbon Fiber @PG 0.6; Prusament PVB @PG 0.6; Prusament PA11 Carbon Fiber @PG 0.6; Verbatim BVOH @PG 0.6
+
+[printer_model:XL5]
+name = Original Prusa XL - 5T
+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 = xl.svg
+default_materials = Generic PLA @PG 0.6; Generic ABS @PG 0.6; Generic PETG @PG 0.6; Prusament PLA @PG 0.6; Prusament PETG @PG 0.6; Prusament ASA @PG 0.6; Prusament PC Blend @PG 0.6; Prusament PC Blend Carbon Fiber @PG 0.6; Prusament PVB @PG 0.6; Prusament PA11 Carbon Fiber @PG 0.6; Verbatim BVOH @PG 0.6
+
[printer_model:MK2.5S]
name = Original Prusa i3 MK2.5S
variants = 0.4; 0.25; 0.6; 0.8
@@ -112,7 +139,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 @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PC Blend Carbon Fiber @MMU2; Prusament PVB @MMU2
+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:MK2.5MMU2]
name = Original Prusa i3 MK2.5 MMU2
@@ -121,7 +148,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 @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PC Blend Carbon Fiber @MMU2; Prusament PVB @MMU2
+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:MK2S]
name = Original Prusa i3 MK2S
@@ -211,7 +238,7 @@ notes =
overhangs = 1
only_retract_when_crossing_perimeters = 0
ooze_prevention = 0
-output_filename_format = {input_filename_base}_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
+output_filename_format = {input_filename_base}_{nozzle_diameter[initial_tool]}n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
perimeters = 2
perimeter_extruder = 1
perimeter_extrusion_width = 0.45
@@ -272,6 +299,10 @@ gcode_label_objects = 1
infill_anchor = 2.5
infill_anchor_max = 12
enable_dynamic_overhang_speeds = 1
+support_tree_angle_slow = 30
+support_tree_branch_diameter_angle = 3
+support_tree_tip_diameter = 0.6
+support_tree_top_rate = 30%
[print:*MK3*]
fill_pattern = grid
@@ -301,7 +332,14 @@ 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}_{nozzle_diameter[0]}n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
+output_filename_format = {input_filename_base}_{nozzle_diameter[initial_tool]}n_{layer_height}mm_{printing_filament_types}_XL_{print_time}.gcode
+wipe_tower_cone_angle = 25
+wipe_tower = 1
+wipe_tower_bridging = 8
+wipe_tower_extra_spacing = 100
+wipe_tower_brim_width = 3
+ooze_prevention = 1
+standby_temperature_delta = -110
[print:*MK4*]
inherits = *common*
@@ -325,7 +363,6 @@ 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}_{nozzle_diameter[0]}n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
[print:*MK306*]
inherits = *MK3*
@@ -362,7 +399,6 @@ support_material_interface_spacing = 0.15
support_material_spacing = 1
support_material_xy_spacing = 150%
support_material_contact_distance = 0.1
-output_filename_format = {input_filename_base}_{nozzle_diameter[0]}n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
thick_bridges = 0
bridge_flow_ratio = 1
bridge_speed = 20
@@ -436,7 +472,6 @@ support_material_xy_spacing = 80%
support_material_interface_spacing = 0.2
support_material_spacing = 2.2
raft_first_layer_expansion = 2
-output_filename_format = {input_filename_base}_{nozzle_diameter[0]}n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
infill_anchor = 2
infill_anchor_max = 15
thick_bridges = 0
@@ -454,7 +489,6 @@ support_material_extrusion_width = 0.55
support_material_contact_distance = 0.15
support_material_xy_spacing = 80%
support_material_interface_spacing = 0.3
-output_filename_format = {input_filename_base}_{nozzle_diameter[0]}n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
infill_anchor_max = 15
top_solid_min_thickness = 0.9
bottom_solid_min_thickness = 0.6
@@ -516,7 +550,6 @@ support_material_interface_speed = 100%
support_material_spacing = 2
support_material_xy_spacing = 80%
support_material_threshold = 50
-output_filename_format = {input_filename_base}_{nozzle_diameter[0]}n_{layer_height}mm_{printing_filament_types}_{printer_model}_{print_time}.gcode
fill_pattern = gyroid
fill_density = 15%
infill_anchor_max = 20
@@ -577,6 +610,17 @@ wipe_tower_bridging = 6
support_material_interface_speed = 80%
support_material_bottom_interface_layers = -1
thick_bridges = 1
+support_material_interface_pattern = auto
+
+[print:*soluble_support_XL*]
+inherits = *soluble_support*
+support_material_extruder = 2
+support_material_interface_extruder = 2
+support_material_threshold = 50
+support_material_with_sheath = 0
+support_material_bottom_interface_layers = 2
+raft_first_layer_density = 90%
+support_material_interface_pattern = auto
[print:*0.05mm*]
inherits = *common*
@@ -1790,7 +1834,7 @@ infill_acceleration = 800
bridge_acceleration = 300
first_layer_acceleration = 600
default_acceleration = 800
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.25
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.25
[print:0.07mm ULTRADETAIL @XL 0.25]
inherits = *0.07mm*; *XL*; *0.25nozzleXL*
@@ -1815,7 +1859,7 @@ first_layer_acceleration = 600
default_acceleration = 800
max_print_speed = 200
gcode_resolution = 0.006
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.25
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.25
[print:0.10mm QUALITY @XL 0.25]
inherits = *0.10mm*; *XL*; *0.25nozzleXL*
@@ -1840,7 +1884,7 @@ first_layer_acceleration = 600
default_acceleration = 1000
max_print_speed = 200
gcode_resolution = 0.008
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.25
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.25
[print:0.12mm QUALITY @XL 0.25]
inherits = *0.12mm*; *XL*; *0.25nozzleXL*
@@ -1870,7 +1914,7 @@ external_perimeter_extrusion_width = 0.27
infill_extrusion_width = 0.27
solid_infill_extrusion_width = 0.27
top_infill_extrusion_width = 0.25
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.25
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.25
[print:0.15mm SPEED @XL 0.25]
inherits = *0.15mm*; *XL*; *0.25nozzleXL*
@@ -1900,7 +1944,7 @@ external_perimeter_extrusion_width = 0.27
infill_extrusion_width = 0.27
solid_infill_extrusion_width = 0.27
top_infill_extrusion_width = 0.25
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.25
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.25
## XL - 0.3mm nozzle
@@ -1928,7 +1972,7 @@ infill_acceleration = 800
bridge_acceleration = 500
first_layer_acceleration = 600
default_acceleration = 800
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.3
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.3
[print:0.08mm DETAIL @XL 0.3]
inherits = *0.07mm*; *XL*; *0.3nozzle*
@@ -1956,7 +2000,7 @@ default_acceleration = 1000
max_print_speed = 200
perimeters = 3
gcode_resolution = 0.006
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.3
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.3
[print:0.12mm QUALITY @XL 0.3]
inherits = *0.12mm*; *XL*; *0.3nozzle*
@@ -1982,7 +2026,7 @@ first_layer_acceleration = 600
default_acceleration = 1000
max_print_speed = 200
gcode_resolution = 0.008
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.3
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.3
[print:0.16mm SPEED @XL 0.3]
inherits = *0.16mm*; *XL*; *0.3nozzle*
@@ -2008,7 +2052,7 @@ first_layer_acceleration = 600
default_acceleration = 1250
max_print_speed = 200
gcode_resolution = 0.008
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.3
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.3
[print:0.20mm DRAFT @XL 0.3]
inherits = *0.20mm*; *XL*; *0.3nozzle*
@@ -2039,7 +2083,7 @@ external_perimeter_extrusion_width = 0.35
infill_extrusion_width = 0.35
solid_infill_extrusion_width = 0.35
top_infill_extrusion_width = 0.3
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.3
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.3
## XL - 0.4mm nozzle
@@ -2076,7 +2120,7 @@ infill_acceleration = 800
bridge_acceleration = 300
first_layer_acceleration = 600
default_acceleration = 800
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.4
[print:0.10mm DETAIL @XL 0.4]
inherits = *0.10mm*; *XL*
@@ -2112,7 +2156,7 @@ solid_infill_extrusion_width = 0.4
top_infill_extrusion_width = 0.4
perimeters = 3
gcode_resolution = 0.006
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.4
[print:0.15mm QUALITY @XL 0.4]
inherits = *0.15mm*; *XL*
@@ -2144,7 +2188,7 @@ first_layer_extrusion_width = 0.5
support_material_extrusion_width = 0.37
top_infill_extrusion_width = 0.4
gcode_resolution = 0.008
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.4
[print:0.20mm QUALITY @XL 0.4]
inherits = *0.20mm*; *XL*
@@ -2176,7 +2220,24 @@ first_layer_extrusion_width = 0.5
gcode_resolution = 0.008
support_material_extrusion_width = 0.37
top_infill_extrusion_width = 0.4
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.4
+
+[print:0.20mm SOLUBLE INTERFACE @XL 0.4]
+inherits = 0.20mm QUALITY @XL 0.4; *soluble_support_XL*
+support_material_extruder = 0
+perimeter_speed = 50
+external_perimeter_speed = 35
+small_perimeter_speed = 30
+solid_infill_speed = 55
+solid_infill_acceleration = 1200
+support_material_interface_layers = 3
+support_material_extrusion_width = 0.4
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.4 and num_extruders>1
+
+[print:0.20mm SOLUBLE FULL @XL 0.4]
+inherits = 0.20mm SOLUBLE INTERFACE @XL 0.4
+support_material_extruder = 2
+support_material_with_sheath = 1
[print:0.20mm SPEED @XL 0.4]
inherits = *0.20mm*; *XL*
@@ -2207,7 +2268,7 @@ max_print_speed = 200
first_layer_extrusion_width = 0.5
support_material_extrusion_width = 0.37
top_infill_extrusion_width = 0.42
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.4
[print:0.30mm DRAFT @XL 0.4]
inherits = *0.30mm*; *XL*
@@ -2244,7 +2305,7 @@ perimeter_extrusion_width = 0.5
solid_infill_extrusion_width = 0.5
top_infill_extrusion_width = 0.45
support_material_extrusion_width = 0.38
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.4
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.4
## XL - 0.5mm nozzle
@@ -2277,7 +2338,7 @@ solid_infill_extrusion_width = 0.5
top_infill_extrusion_width = 0.45
perimeters = 2
gcode_resolution = 0.008
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.5
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.5
[print:0.15mm QUALITY @XL 0.5]
inherits = *0.15mm*; *XL*; *0.5nozzle*
@@ -2301,7 +2362,7 @@ first_layer_acceleration = 600
default_acceleration = 1250
max_print_speed = 200
gcode_resolution = 0.008
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.5
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.5
[print:0.20mm QUALITY @XL 0.5]
inherits = 0.15mm QUALITY @XL 0.5; *0.20mm*; *XL*; *0.5nozzle*
@@ -2317,6 +2378,23 @@ infill_acceleration = 2500
default_acceleration = 1250
max_print_speed = 200
+[print:0.20mm SOLUBLE INTERFACE @XL 0.5]
+inherits = 0.20mm QUALITY @XL 0.5; *soluble_support_XL*
+support_material_extruder = 0
+perimeter_speed = 50
+external_perimeter_speed = 35
+small_perimeter_speed = 30
+solid_infill_speed = 55
+solid_infill_acceleration = 1200
+support_material_interface_layers = 3
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.5 and num_extruders>1
+
+[print:0.20mm SOLUBLE FULL @XL 0.5]
+inherits = 0.20mm SOLUBLE INTERFACE @XL 0.5
+support_material_extruder = 2
+support_material_with_sheath = 1
+support_material_extrusion_width = 0.47
+
[print:0.25mm SPEED @XL 0.5]
inherits = *0.25mm*; *XL*; *0.5nozzle*
bottom_solid_layers = 3
@@ -2341,7 +2419,7 @@ bridge_acceleration = 800
first_layer_acceleration = 600
default_acceleration = 1250
max_print_speed = 200
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.5
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.5
[print:0.32mm DRAFT @XL 0.5]
inherits = *0.32mm*; *XL*; *0.5nozzle*
@@ -2368,7 +2446,7 @@ bridge_acceleration = 1000
first_layer_acceleration = 600
default_acceleration = 1250
max_print_speed = 200
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.5
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.5
## XL - 0.6mm nozzle
@@ -2405,7 +2483,7 @@ first_layer_acceleration = 600
default_acceleration = 1250
bridge_flow_ratio = 1
max_print_speed = 200
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[print:0.20mm DETAIL @XL 0.6]
inherits = *0.20mm*; *XL*; *0.6nozzleXL*
@@ -2439,7 +2517,7 @@ first_layer_acceleration = 600
default_acceleration = 1250
bridge_flow_ratio = 1
max_print_speed = 200
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[print:0.25mm QUALITY @XL 0.6]
inherits = *0.25mm*; *XL*; *0.6nozzleXL*
@@ -2470,7 +2548,24 @@ bridge_flow_ratio = 1
top_solid_layers = 5
bottom_solid_layers = 4
max_print_speed = 200
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
+
+[print:0.25mm SOLUBLE INTERFACE @XL 0.6]
+inherits = 0.25mm QUALITY @XL 0.6; *soluble_support_XL*
+support_material_extruder = 0
+perimeter_speed = 50
+external_perimeter_speed = 35
+small_perimeter_speed = 30
+solid_infill_speed = 55
+solid_infill_acceleration = 1200
+support_material_interface_layers = 3
+support_material_extrusion_width = 0.5
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6 and num_extruders>1
+
+[print:0.25mm SOLUBLE FULL @XL 0.6]
+inherits = 0.25mm SOLUBLE INTERFACE @XL 0.6
+support_material_extruder = 2
+support_material_with_sheath = 1
[print:0.25mm SPEED @XL 0.6]
inherits = 0.25mm QUALITY @XL 0.6
@@ -2528,7 +2623,7 @@ default_acceleration = 1250
bridge_flow_ratio = 0.95
max_print_speed = 200
bottom_solid_layers = 3
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[print:0.32mm SPEED @XL 0.6]
inherits = *0.32mm*; *XL*; *0.6nozzleXL*
@@ -2563,7 +2658,7 @@ default_acceleration = 1250
bridge_flow_ratio = 0.95
max_print_speed = 200
bottom_solid_layers = 3
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[print:0.40mm DRAFT @XL 0.6]
inherits = *0.40mm*; *XL*; *0.6nozzleXL*
@@ -2596,7 +2691,7 @@ infill_acceleration = 3000
default_acceleration = 1500
bridge_flow_ratio = 0.95
dynamic_overhang_speeds = 30,20,15,15
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
## XL - 0.8mm nozzle
@@ -2619,7 +2714,7 @@ perimeter_acceleration = 1000
bridge_acceleration = 1000
top_solid_infill_acceleration = 800
solid_infill_acceleration = 1500
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.8
[print:0.40mm QUALITY @XL 0.8]
inherits = *0.40mm*; *XL*; *0.8nozzleXL*
@@ -2640,7 +2735,7 @@ perimeter_acceleration = 1000
bridge_acceleration = 1000
top_solid_infill_acceleration = 800
solid_infill_acceleration = 2000
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.8
[print:0.55mm DRAFT @XL 0.8]
inherits = *XL*; *0.8nozzleXL*
@@ -2666,7 +2761,7 @@ perimeter_acceleration = 1000
bridge_acceleration = 1000
top_solid_infill_acceleration = 800
solid_infill_acceleration = 2000
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.8
## MK4 ##
@@ -3094,6 +3189,7 @@ support_material_interface_speed = 80%
support_material_xy_spacing = 80%
gap_fill_speed = 40
bridge_speed = 25
+overhang_speed_3 = 80%
external_perimeter_acceleration = 800
perimeter_acceleration = 1000
top_solid_infill_acceleration = 800
@@ -3156,6 +3252,7 @@ support_material_interface_speed = 70%
support_material_xy_spacing = 80%
gap_fill_speed = 45
bridge_speed = 25
+overhang_speed_3 = 80%
external_perimeter_acceleration = 800
perimeter_acceleration = 1000
top_solid_infill_acceleration = 800
@@ -3576,9 +3673,9 @@ solid_infill_acceleration = 1500
infill_acceleration = 2000
compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.8
-## MK4 - Input Shaper 0.4mm nozzle
+## MK4 - Input Shaper
-[print:0.20mm Input Shaper @MK4IS 0.4]
+[print:*MK4IS_common*]
bottom_solid_layers = 4
bottom_solid_min_thickness = 0
bridge_acceleration = 1500
@@ -3609,7 +3706,7 @@ first_layer_speed_over_raft = 30
gap_fill_enabled = 1
gap_fill_speed = 120
gcode_comments = 0
-gcode_label_objects = 0
+gcode_label_objects = 1
gcode_resolution = 0.008
infill_acceleration = 4000
infill_anchor = 2
@@ -3637,7 +3734,7 @@ output_filename_format = {input_filename_base}_{nozzle_diameter[0]}n_{layer_heig
overhang_speed_0 = 15
overhang_speed_1 = 25
overhang_speed_2 = 30
-overhang_speed_3 = 120
+overhang_speed_3 = 80%
overhangs = 1
perimeter_acceleration = 4000
perimeter_extruder = 1
@@ -3672,14 +3769,14 @@ support_material_extruder = 0
support_material_extrusion_width = 0.36
support_material_interface_contact_loops = 0
support_material_interface_extruder = 0
-support_material_interface_layers = 0
+support_material_interface_layers = 5
support_material_interface_pattern = auto
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_style = organic
+support_material_style = snug
support_material_synchronize_layers = 0
support_material_threshold = 40
support_material_with_sheath = 0
@@ -3705,6 +3802,782 @@ thick_bridges = 0
thin_walls = 0
compatible_printers_condition = printer_model=="MK4IS" and nozzle_diameter[0]==0.4
+[print:*MK4IS_common025*]
+inherits = *MK4IS_common*
+extrusion_width = 0.27
+first_layer_extrusion_width = 0.32
+perimeter_extrusion_width = 0.27
+external_perimeter_extrusion_width = 0.27
+infill_extrusion_width = 0.27
+solid_infill_extrusion_width = 0.27
+top_infill_extrusion_width = 0.27
+support_material_extrusion_width = 0.25
+first_layer_speed = 20
+gcode_resolution = 0.008
+elefant_foot_compensation = 0
+brim_separation = 0
+bottom_solid_layers = 6
+top_solid_layers = 9
+support_material_speed = 70
+support_material_interface_speed = 75%
+infill_overlap = 10%
+default_acceleration = 2000
+travel_acceleration = 3000
+infill_acceleration = 3000
+solid_infill_acceleration = 2500
+bridge_speed = 30
+bridge_flow_ratio = 1
+infill_speed = 100
+solid_infill_speed = 160
+top_solid_infill_speed = 60
+perimeters = 3
+infill_anchor = 1
+support_material_contact_distance = 0.15
+support_material_spacing = 1
+support_material_xy_spacing = 150%
+raft_contact_distance = 0.15
+raft_first_layer_density = 95%
+gap_fill_speed = 50
+single_extruder_multi_material_priming = 0
+wipe_tower = 1
+compatible_printers_condition = printer_model=="MK4IS" and nozzle_diameter[0]==0.25
+
+[print:*MK4IS_common03*]
+inherits = *MK4IS_common*
+extrusion_width = 0.34
+first_layer_extrusion_width = 0.4
+perimeter_extrusion_width = 0.34
+external_perimeter_extrusion_width = 0.34
+infill_extrusion_width = 0.34
+solid_infill_extrusion_width = 0.34
+top_infill_extrusion_width = 0.3
+support_material_extrusion_width = 0.3
+first_layer_speed = 30
+gcode_resolution = 0.008
+elefant_foot_compensation = 0
+brim_separation = 0
+bottom_solid_layers = 5
+top_solid_layers = 6
+support_material_speed = 70
+support_material_interface_speed = 75%
+infill_overlap = 10%
+default_acceleration = 2000
+infill_acceleration = 4000
+bridge_speed = 30
+bridge_flow_ratio = 1
+perimeters = 3
+infill_anchor = 1
+support_material_contact_distance = 0.15
+support_material_spacing = 1
+support_material_xy_spacing = 100%
+raft_contact_distance = 0.15
+raft_first_layer_density = 90%
+gap_fill_speed = 50
+top_solid_min_thickness = 0.7
+bottom_solid_min_thickness = 0.5
+compatible_printers_condition = printer_model=="MK4IS" and nozzle_diameter[0]==0.3
+
+[print:*MK4IS_common05*]
+inherits = *MK4IS_common*
+extrusion_width = 0.55
+first_layer_extrusion_width = 0.55
+perimeter_extrusion_width = 0.55
+external_perimeter_extrusion_width = 0.55
+infill_extrusion_width = 0.55
+solid_infill_extrusion_width = 0.55
+top_infill_extrusion_width = 0.5
+support_material_extrusion_width = 0.4
+gcode_resolution = 0.008
+bottom_solid_layers = 3
+top_solid_layers = 4
+support_material_contact_distance = 0.25
+support_material_xy_spacing = 80%
+support_material_interface_spacing = 0.22
+support_material_interface_speed = 75%
+raft_contact_distance = 0.25
+gap_fill_speed = 70
+top_solid_min_thickness = 0.7
+bottom_solid_min_thickness = 0.5
+infill_acceleration = 4000
+default_acceleration = 2500
+infill_anchor = 2
+infill_anchor_max = 15
+compatible_printers_condition = printer_model=="MK4IS" and nozzle_diameter[0]==0.5
+
+[print:*MK4IS_common06*]
+inherits = *MK4IS_common*
+extrusion_width = 0.68
+first_layer_extrusion_width = 0.68
+perimeter_extrusion_width = 0.68
+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
+gcode_resolution = 0.0125
+bottom_solid_layers = 3
+top_solid_layers = 4
+support_material_contact_distance = 0.15
+support_material_xy_spacing = 80%
+support_material_interface_spacing = 0.25
+support_material_interface_speed = 75%
+raft_contact_distance = 0.25
+gap_fill_speed = 70
+compatible_printers_condition = printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+overhang_speed_0 = 15
+overhang_speed_1 = 20
+overhang_speed_2 = 25
+overhang_speed_3 = 50
+top_solid_min_thickness = 0.9
+bottom_solid_min_thickness = 0.6
+infill_anchor = 2.5
+infill_anchor_max = 20
+
+[print:*MK4IS_common08*]
+inherits = *MK4IS_common*
+fill_pattern = rectilinear
+thick_bridges = 1
+extrusion_width = 0.9
+first_layer_extrusion_width = 1
+perimeter_extrusion_width = 0.9
+external_perimeter_extrusion_width = 0.9
+infill_extrusion_width = 0.9
+solid_infill_extrusion_width = 0.9
+top_infill_extrusion_width = 0.8
+support_material_extrusion_width = 0.65
+gcode_resolution = 0.0125
+bottom_solid_layers = 3
+top_solid_layers = 4
+support_material_contact_distance = 0.25
+support_material_xy_spacing = 80%
+support_material_interface_spacing = 0.35
+support_material_interface_speed = 85%
+raft_contact_distance = 0.2
+gap_fill_speed = 40
+top_solid_min_thickness = 1.2
+bottom_solid_min_thickness = 0.8
+compatible_printers_condition = printer_model=="MK4IS" and nozzle_diameter[0]==0.8
+seam_position = nearest
+infill_anchor = 2.5
+infill_anchor_max = 20
+overhang_speed_1 = 20
+overhang_speed_2 = 25
+overhang_speed_3 = 80%
+
+# 0.4mm nozzle IS
+
+[print:0.20mm SPEED @MK4IS 0.4]
+inherits = *MK4IS_common*
+renamed_from = "0.20mm Input Shaper @MK4IS 0.4"
+
+[print:0.20mm STRUCTURAL @MK4IS 0.4]
+inherits = *MK4IS_common*
+perimeter_speed = 80
+external_perimeter_speed = 45
+small_perimeter_speed = 45
+gap_fill_speed = 60
+top_solid_infill_speed = 80
+support_material_speed = 120
+support_material_interface_speed = 50
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2500
+solid_infill_acceleration = 3000
+default_acceleration = 2500
+overhang_speed_3 = 90%
+
+[print:0.15mm SPEED @MK4IS 0.4]
+inherits = *MK4IS_common*
+layer_height = 0.15
+top_solid_layers = 6
+bottom_solid_layers = 5
+support_material_contact_distance = 0.17
+raft_contact_distance = 0.15
+perimeter_speed = 170
+external_perimeter_speed = 170
+small_perimeter_speed = 140
+gap_fill_speed = 120
+support_material_speed = 120
+support_material_interface_speed = 50
+external_perimeter_acceleration = 2500
+perimeter_acceleration = 3500
+solid_infill_acceleration = 3500
+default_acceleration = 3000
+overhang_speed_3 = 80%
+
+[print:0.15mm STRUCTURAL @MK4IS 0.4]
+inherits = 0.20mm STRUCTURAL @MK4IS 0.4
+layer_height = 0.15
+top_solid_layers = 6
+bottom_solid_layers = 5
+support_material_contact_distance = 0.17
+raft_contact_distance = 0.15
+
+[print:0.10mm FAST DETAIL @MK4IS 0.4]
+inherits = 0.15mm SPEED @MK4IS 0.4
+layer_height = 0.1
+top_solid_layers = 8
+bottom_solid_layers = 7
+support_material_contact_distance = 0.17
+raft_contact_distance = 0.15
+
+# 0.25mm nozzle IS
+
+; [print:0.05mm @MK4IS 0.25]
+; inherits = *MK4IS_common025*
+; layer_height = 0.05
+; bottom_solid_layers = 10
+; top_solid_layers = 13
+; support_material_contact_distance = 0.1
+; raft_contact_distance = 0.1
+; perimeter_speed = 60
+; small_perimeter_speed = 40
+; external_perimeter_speed = 40
+; solid_infill_speed = 100
+; top_solid_infill_speed = 60
+; bridge_speed = 25
+; gap_fill_speed = 40
+; support_material_speed = 60
+; external_perimeter_acceleration = 800
+; perimeter_acceleration = 1200
+; top_solid_infill_acceleration = 1000
+; solid_infill_acceleration = 2000
+; infill_acceleration = 2500
+; bridge_acceleration = 1000
+; default_acceleration = 1500
+; perimeter_extrusion_width = 0.25
+; external_perimeter_extrusion_width = 0.25
+; infill_extrusion_width = 0.25
+; solid_infill_extrusion_width = 0.25
+
+[print:0.07mm DETAIL @MK4IS 0.25]
+inherits = *MK4IS_common025*
+layer_height = 0.07
+bottom_solid_layers = 9
+top_solid_layers = 11
+support_material_contact_distance = 0.1
+raft_contact_distance = 0.1
+perimeter_speed = 60
+small_perimeter_speed = 40
+external_perimeter_speed = 40
+top_solid_infill_speed = 60
+gap_fill_speed = 40
+support_material_speed = 60
+external_perimeter_acceleration = 800
+perimeter_acceleration = 1200
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 2000
+infill_acceleration = 2500
+bridge_acceleration = 1000
+default_acceleration = 1500
+perimeter_extrusion_width = 0.25
+external_perimeter_extrusion_width = 0.25
+infill_extrusion_width = 0.25
+solid_infill_extrusion_width = 0.25
+solid_infill_speed = 140
+bridge_speed = 30
+
+; [print:0.10mm @MK4IS 0.25]
+; inherits = 0.07mm @MK4IS 0.25
+; layer_height = 0.1
+; bottom_solid_layers = 8
+; top_solid_layers = 10
+; perimeter_speed = 70
+; external_perimeter_acceleration = 1000
+; perimeter_acceleration = 1500
+; default_acceleration = 2000
+; perimeter_extrusion_width = 0.27
+; external_perimeter_extrusion_width = 0.27
+; infill_extrusion_width = 0.27
+; solid_infill_extrusion_width = 0.27
+; support_material_contact_distance = 0.08
+; raft_contact_distance = 0.07
+
+[print:0.12mm SPEED @MK4IS 0.25]
+inherits = *MK4IS_common025*
+layer_height = 0.12
+perimeter_speed = 120
+external_perimeter_speed = 120
+small_perimeter_speed = 120
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2000
+support_material_contact_distance = 0.09
+raft_contact_distance = 0.08
+
+[print:0.12mm STRUCTURAL @MK4IS 0.25]
+inherits = 0.12mm SPEED @MK4IS 0.25
+perimeter_speed = 70
+external_perimeter_speed = 40
+small_perimeter_speed = 40
+external_perimeter_acceleration = 1000
+perimeter_acceleration = 1500
+infill_acceleration = 3000
+solid_infill_acceleration = 3000
+
+[print:0.15mm SPEED @MK4IS 0.25]
+inherits = 0.12mm SPEED @MK4IS 0.25
+layer_height = 0.15
+bottom_solid_layers = 7
+top_solid_layers = 6
+
+[print:0.15mm STRUCTURAL @MK4IS 0.25]
+inherits = 0.15mm SPEED @MK4IS 0.25
+perimeter_speed = 70
+external_perimeter_speed = 40
+small_perimeter_speed = 40
+external_perimeter_acceleration = 1000
+perimeter_acceleration = 1500
+
+# 0.3mm nozzle IS
+
+; [print:0.08mm STRUCTURAL @MK4IS 0.3]
+; inherits = *MK4IS_common03*
+; layer_height = 0.08
+; bottom_solid_layers = 8
+; top_solid_layers = 10
+; support_material_contact_distance = 0.1
+; raft_contact_distance = 0.1
+; perimeter_speed = 70
+; small_perimeter_speed = 40
+; external_perimeter_speed = 40
+; infill_speed = 100
+; solid_infill_speed = 160
+; top_solid_infill_speed = 40
+; support_material_speed = 70
+; bridge_speed = 25
+; gap_fill_speed = 40
+; external_perimeter_acceleration = 1000
+; perimeter_acceleration = 1500
+; top_solid_infill_acceleration = 1000
+; solid_infill_acceleration = 2500
+; infill_acceleration = 2500
+; bridge_acceleration = 800
+; default_acceleration = 1500
+; perimeter_extrusion_width = 0.3
+; external_perimeter_extrusion_width = 0.3
+; infill_extrusion_width = 0.3
+; solid_infill_extrusion_width = 0.3
+
+[print:0.12mm STRUCTURAL @MK4IS 0.3]
+inherits = *MK4IS_common03*
+layer_height = 0.12
+bottom_solid_layers = 6
+top_solid_layers = 7
+perimeter_speed = 80
+small_perimeter_speed = 40
+external_perimeter_speed = 40
+infill_speed = 100
+solid_infill_speed = 200
+top_solid_infill_speed = 40
+support_material_speed = 70
+external_perimeter_acceleration = 1200
+perimeter_acceleration = 1500
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 2500
+infill_acceleration = 3000
+bridge_acceleration = 1000
+default_acceleration = 1500
+support_material_contact_distance = 0.12
+raft_contact_distance = 0.12
+
+[print:0.16mm STRUCTURAL @MK4IS 0.3]
+inherits = 0.12mm STRUCTURAL @MK4IS 0.3
+layer_height = 0.16
+bottom_solid_layers = 5
+top_solid_layers = 6
+small_perimeter_speed = 45
+external_perimeter_speed = 45
+infill_speed = 120
+top_solid_infill_speed = 50
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2000
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 2500
+infill_acceleration = 4000
+bridge_acceleration = 1000
+default_acceleration = 2000
+
+[print:0.16mm SPEED @MK4IS 0.3]
+inherits = 0.16mm STRUCTURAL @MK4IS 0.3
+perimeter_speed = 140
+small_perimeter_speed = 120
+external_perimeter_speed = 120
+support_material_speed = 100
+support_material_interface_speed = 45%
+external_perimeter_acceleration = 2500
+perimeter_acceleration = 2500
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 3000
+infill_acceleration = 4000
+bridge_acceleration = 1000
+default_acceleration = 2000
+
+[print:0.20mm SPEED @MK4IS 0.3]
+inherits = 0.16mm SPEED @MK4IS 0.3
+layer_height = 0.2
+bottom_solid_layers = 4
+top_solid_layers = 5
+
+# 0.5mm nozzle IS
+
+[print:0.10mm STRUCTURAL @MK4IS 0.5]
+inherits = *MK4IS_common05*
+layer_height = 0.1
+top_solid_layers = 8
+bottom_solid_layers = 7
+perimeter_speed = 70
+small_perimeter_speed = 40
+external_perimeter_speed = 40
+infill_speed = 200
+solid_infill_speed = 200
+top_solid_infill_speed = 70
+bridge_speed = 30
+gap_fill_speed = 40
+support_material_speed = 80
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2000
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 2500
+infill_acceleration = 3000
+bridge_acceleration = 1000
+default_acceleration = 2000
+extrusion_width = 0.55
+perimeter_extrusion_width = 0.5
+external_perimeter_extrusion_width = 0.5
+infill_extrusion_width = 0.5
+solid_infill_extrusion_width = 0.5
+top_infill_extrusion_width = 0.45
+support_material_contact_distance = 0.2
+
+[print:0.15mm STRUCTURAL @MK4IS 0.5]
+inherits = *MK4IS_common05*
+layer_height = 0.15
+top_solid_layers = 6
+bottom_solid_layers = 5
+perimeter_speed = 80
+small_perimeter_speed = 45
+external_perimeter_speed = 45
+infill_speed = 200
+solid_infill_speed = 180
+top_solid_infill_speed = 70
+bridge_speed = 40
+gap_fill_speed = 50
+support_material_speed = 80
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2000
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 2500
+infill_acceleration = 3000
+bridge_acceleration = 1000
+default_acceleration = 2000
+support_material_contact_distance = 0.2
+
+[print:0.20mm SPEED @MK4IS 0.5]
+inherits = *MK4IS_common05*
+layer_height = 0.20
+top_solid_layers = 5
+bottom_solid_layers = 4
+perimeter_speed = 140
+small_perimeter_speed = 140
+external_perimeter_speed = 140
+infill_speed = 200
+solid_infill_speed = 135
+top_solid_infill_speed = 70
+bridge_speed = 40
+gap_fill_speed = 70
+support_material_speed = 120
+external_perimeter_acceleration = 2500
+perimeter_acceleration = 3500
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 3000
+infill_acceleration = 4000
+bridge_acceleration = 1000
+default_acceleration = 2500
+support_material_contact_distance = 0.2
+
+[print:0.20mm STRUCTURAL @MK4IS 0.5]
+inherits = 0.20mm SPEED @MK4IS 0.5
+perimeter_speed = 80
+small_perimeter_speed = 45
+external_perimeter_speed = 45
+infill_speed = 200
+solid_infill_speed = 120
+top_solid_infill_speed = 70
+bridge_speed = 40
+gap_fill_speed = 70
+support_material_speed = 80
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2000
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 2500
+
+[print:0.25mm SPEED @MK4IS 0.5]
+inherits = 0.20mm SPEED @MK4IS 0.5
+layer_height = 0.25
+solid_infill_speed = 110
+top_solid_layers = 4
+bottom_solid_layers = 3
+support_material_contact_distance = 0.25
+raft_contact_distance = 0.25
+
+[print:0.25mm STRUCTURAL @MK4IS 0.5]
+inherits = 0.20mm STRUCTURAL @MK4IS 0.5
+layer_height = 0.25
+top_solid_layers = 4
+bottom_solid_layers = 3
+support_material_contact_distance = 0.25
+solid_infill_speed = 110
+raft_contact_distance = 0.25
+
+; [print:0.30mm SPEED @MK4IS 0.5]
+; inherits = *MK4IS_common05*
+; layer_height = 0.3
+; top_solid_layers = 4
+; bottom_solid_layers = 3
+; perimeter_speed = 90
+; small_perimeter_speed = 75
+; external_perimeter_speed = 75
+; infill_speed = 200
+; solid_infill_speed = 90
+; top_solid_infill_speed = 70
+; bridge_speed = 40
+; gap_fill_speed = 60
+; support_material_speed = 60
+; external_perimeter_acceleration = 2000
+; perimeter_acceleration = 2500
+; top_solid_infill_acceleration = 1000
+; solid_infill_acceleration = 3000
+; infill_acceleration = 4000
+; bridge_acceleration = 1000
+; default_acceleration = 2500
+; support_material_contact_distance = 0.3
+; raft_contact_distance = 0.3
+
+# 0.6mm nozzle IS
+
+[print:0.15mm STRUCTURAL @MK4IS 0.6]
+inherits = *MK4IS_common06*
+layer_height = 0.15
+bottom_solid_layers = 6
+top_solid_layers = 7
+perimeter_speed = 70
+external_perimeter_speed = 45
+small_perimeter_speed = 45
+solid_infill_speed = 165
+infill_speed = 200
+top_solid_infill_speed = 70
+bridge_speed = 40
+gap_fill_speed = 80
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2500
+top_solid_infill_acceleration = 1500
+solid_infill_acceleration = 2500
+infill_acceleration = 4000
+bridge_acceleration = 1500
+default_acceleration = 2500
+support_material_contact_distance = 0.22
+extrusion_width = 0.68
+perimeter_extrusion_width = 0.6
+external_perimeter_extrusion_width = 0.6
+infill_extrusion_width = 0.6
+solid_infill_extrusion_width = 0.6
+top_infill_extrusion_width = 0.5
+
+[print:0.20mm SPEED @MK4IS 0.6]
+inherits = *MK4IS_common06*
+layer_height = 0.2
+bottom_solid_layers = 4
+top_solid_layers = 5
+perimeter_speed = 125
+external_perimeter_speed = 125
+small_perimeter_speed = 125
+solid_infill_speed = 125
+infill_speed = 200
+top_solid_infill_speed = 70
+bridge_speed = 40
+gap_fill_speed = 80
+external_perimeter_acceleration = 2500
+perimeter_acceleration = 3000
+top_solid_infill_acceleration = 1500
+solid_infill_acceleration = 3000
+infill_acceleration = 4000
+bridge_acceleration = 1500
+default_acceleration = 2500
+support_material_contact_distance = 0.22
+extrusion_width = 0.68
+perimeter_extrusion_width = 0.62
+external_perimeter_extrusion_width = 0.62
+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.25mm SPEED @MK4IS 0.6]
+inherits = *MK4IS_common06*
+layer_height = 0.25
+perimeter_speed = 90
+external_perimeter_speed = 80
+small_perimeter_speed = 80
+infill_speed = 200
+solid_infill_speed = 90
+top_solid_infill_speed = 60
+support_material_speed = 90
+bridge_speed = 30
+gap_fill_speed = 70
+external_perimeter_acceleration = 2000
+perimeter_acceleration = 3000
+top_solid_infill_acceleration = 1500
+solid_infill_acceleration = 3000
+infill_acceleration = 4000
+bridge_acceleration = 1500
+default_acceleration = 2500
+support_material_contact_distance = 0.25
+
+[print:0.25mm STRUCTURAL @MK4IS 0.6]
+inherits = 0.25mm SPEED @MK4IS 0.6
+perimeter_speed = 80
+external_perimeter_speed = 45
+small_perimeter_speed = 45
+top_solid_infill_speed = 60
+bridge_speed = 30
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2500
+top_solid_infill_acceleration = 1500
+solid_infill_acceleration = 3000
+
+[print:0.32mm SPEED @MK4IS 0.6]
+inherits = *MK4IS_common06*
+layer_height = 0.32
+bottom_solid_layers = 3
+top_solid_layers = 4
+perimeter_speed = 70
+external_perimeter_speed = 70
+small_perimeter_speed = 70
+infill_speed = 200
+solid_infill_speed = 70
+top_solid_infill_speed = 60
+bridge_speed = 30
+gap_fill_speed = 60
+support_material_speed = 70
+external_perimeter_acceleration = 2000
+perimeter_acceleration = 2500
+top_solid_infill_acceleration = 1500
+solid_infill_acceleration = 3000
+infill_acceleration = 4000
+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
+
+# 0.8mm nozzle IS
+
+[print:0.30mm DETAIL @MK4IS 0.8]
+inherits = *MK4IS_common08*
+layer_height = 0.30
+bottom_solid_layers = 3
+top_solid_layers = 4
+perimeter_speed = 70
+external_perimeter_speed = 45
+small_perimeter_speed = 45
+infill_speed = 100
+solid_infill_speed = 50
+top_solid_infill_speed = 35
+support_material_speed = 60
+bridge_speed = 22
+gap_fill_speed = 40
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2000
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 3000
+infill_acceleration = 4000
+bridge_acceleration = 1000
+default_acceleration = 2000
+top_infill_extrusion_width = 0.7
+
+[print:0.40mm QUALITY @MK4IS 0.8]
+inherits = *MK4IS_common08*
+layer_height = 0.4
+bottom_solid_layers = 3
+top_solid_layers = 4
+perimeter_speed = 50
+external_perimeter_speed = 45
+small_perimeter_speed = 45
+infill_speed = 90
+solid_infill_speed = 45
+top_solid_infill_speed = 35
+support_material_speed = 50
+bridge_speed = 22
+gap_fill_speed = 35
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2000
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 3000
+infill_acceleration = 4000
+bridge_acceleration = 1000
+default_acceleration = 2000
+top_infill_extrusion_width = 0.75
+
+[print:0.55mm DRAFT @MK4IS 0.8]
+inherits = *MK4IS_common08*
+layer_height = 0.55
+bottom_solid_layers = 3
+top_solid_layers = 4
+perimeter_speed = 40
+external_perimeter_speed = 35
+small_perimeter_speed = 35
+infill_speed = 60
+solid_infill_speed = 35
+top_solid_infill_speed = 30
+support_material_speed = 35
+bridge_speed = 22
+gap_fill_speed = 30
+external_perimeter_acceleration = 1500
+perimeter_acceleration = 2000
+top_solid_infill_acceleration = 1000
+solid_infill_acceleration = 3000
+infill_acceleration = 4000
+bridge_acceleration = 1000
+default_acceleration = 2000
+top_infill_extrusion_width = 0.75
+perimeter_extrusion_width = 1
+external_perimeter_extrusion_width = 1
+
# XXXXXXxxXXXXXXXXXXXXXX
# XXX--- filament ---XXX
# XXXXXXXXxxXXXXXXXXXXXX
@@ -3759,7 +4632,7 @@ start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and no
compatible_printers_condition = ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material) and printer_notes!~/.*PG.*/
[filament:*PLAPG*]
-start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.07{elsif nozzle_diameter[0]==0.35}0.06{elsif nozzle_diameter[0]==0.6}0.03{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.04{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp"
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.07{elsif nozzle_diameter[0]==0.35}0.06{elsif nozzle_diameter[0]==0.6}0.03{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.038{elsif nozzle_diameter[0]==0.5}0.025{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.014{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.08{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp"
compatible_printers_condition = printer_notes=~/.*PG.*/ and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
slowdown_below_layer_time = 8
filament_cooling_final_speed = 2
@@ -3780,7 +4653,7 @@ full_fan_speed_layer = 3
inherits = *PLAPG*
compatible_printers_condition = printer_notes=~/.*PG.*/ and nozzle_diameter[0]==0.6
filament_max_volumetric_speed = 15.5
-slowdown_below_layer_time = 10
+slowdown_below_layer_time = 14
[filament:*PLA08PG*]
inherits = *PLAPG*
@@ -3817,7 +4690,7 @@ filament_max_volumetric_speed = 15
[filament:*PETPG*]
compatible_printers_condition = printer_notes=~/.*PG.*/ and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
filament_max_volumetric_speed = 10
-start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.055{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp"
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.055{elsif nozzle_diameter[0]==0.5}0.042{elsif nozzle_diameter[0]==0.6}0.025{elsif nozzle_diameter[0]==0.8}0.018{elsif nozzle_diameter[0]==0.25}0.18{elsif nozzle_diameter[0]==0.3}0.1{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp"
filament_cooling_final_speed = 1
filament_cooling_initial_speed = 2
filament_cooling_moves = 1
@@ -3832,13 +4705,14 @@ idle_temperature = 70
filament_retract_length = 1
filament_retract_lift = 0.15
filament_retract_before_wipe = 0
+filament_minimal_purge_on_wipe_tower = 35
slowdown_below_layer_time = 9
[filament:*PET06PG*]
inherits = *PETPG*
compatible_printers_condition = printer_notes=~/.*PG.*/ and nozzle_diameter[0]==0.6
filament_max_volumetric_speed = 17
-slowdown_below_layer_time = 12
+slowdown_below_layer_time = 14
filament_retract_length = 0.9
[filament:*PET08PG*]
@@ -3963,9 +4837,9 @@ start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and no
compatible_printers_condition = printer_model!="MINI" and printer_notes!~/.*PG.*/ and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
[filament:*ABSPG*]
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
filament_max_volumetric_speed = 12
-start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.04{elsif nozzle_diameter[0]==0.25}0.1{elsif nozzle_diameter[0]==0.3}0.06{elsif nozzle_diameter[0]==0.35}0.05{elsif nozzle_diameter[0]==0.5}0.03{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.02{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp"
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.04{elsif nozzle_diameter[0]==0.25}0.1{elsif nozzle_diameter[0]==0.3}0.06{elsif nozzle_diameter[0]==0.35}0.05{elsif nozzle_diameter[0]==0.5}0.03{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.012{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp"
filament_cooling_final_speed = 50
filament_cooling_initial_speed = 10
filament_cooling_moves = 5
@@ -3975,17 +4849,18 @@ filament_load_time = 15
filament_unload_time = 12
filament_loading_speed = 14
filament_unloading_speed = 20
+filament_minimal_purge_on_wipe_tower = 35
idle_temperature = 100
[filament:*ABS06PG*]
inherits = *ABSPG*
filament_max_volumetric_speed = 15
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[filament:*ABS08PG*]
inherits = *ABSPG*
filament_max_volumetric_speed = 18
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.8
slowdown_below_layer_time = 25
[filament:*ABSMK4*]
@@ -3995,80 +4870,82 @@ compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter
[filament:*ABS06MK4*]
inherits = *ABSMK4*
filament_max_volumetric_speed = 15
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.6
[filament:*ABS08MK4*]
inherits = *ABSMK4*
filament_max_volumetric_speed = 18
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.8
slowdown_below_layer_time = 25
[filament:*PCPG*]
inherits = *ABSPG*
filament_max_volumetric_speed = 8
-start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.05{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S45 ; set heatbreak target temp\n"
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.6}0.022{elsif nozzle_diameter[0]==0.8}0.016{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.09{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S45 ; set heatbreak target temp"
first_layer_bed_temperature = 100
bed_temperature = 105
idle_temperature = 150
+filament_minimal_purge_on_wipe_tower = 35
[filament:*PC06PG*]
inherits = *PCPG*
filament_max_volumetric_speed = 14
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[filament:*PC08PG*]
inherits = *PCPG*
filament_max_volumetric_speed = 18
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.8
[filament:*PCMK4*]
inherits = *ABSMK4*
filament_max_volumetric_speed = 8
-start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.05{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S45 ; set heatbreak target temp\n"
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.6}0.022{elsif nozzle_diameter[0]==0.8}0.016{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.09{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S45 ; set heatbreak target temp"
idle_temperature = 150
[filament:*PC06MK4*]
inherits = *PCMK4*
filament_max_volumetric_speed = 14
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.6
[filament:*PC08MK4*]
inherits = *PCMK4*
filament_max_volumetric_speed = 18
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.8
[filament:*PAPG*]
inherits = *ABSPG*
filament_max_volumetric_speed = 5
-start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.05{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S45 ; set heatbreak target temp\n"
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.6}0.022{elsif nozzle_diameter[0]==0.8}0.016{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.09{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S45 ; set heatbreak target temp"
bed_temperature = 105
idle_temperature = 150
+filament_minimal_purge_on_wipe_tower = 35
[filament:*PA06PG*]
inherits = *PAPG*
filament_max_volumetric_speed = 7
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[filament:*PA08PG*]
inherits = *PAPG*
filament_max_volumetric_speed = 10
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.8
[filament:*PAMK4*]
inherits = *ABSMK4*
filament_max_volumetric_speed = 5
-start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.05{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S45 ; set heatbreak target temp\n"
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.07{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.6}0.022{elsif nozzle_diameter[0]==0.8}0.016{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.09{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S45 ; set heatbreak target temp"
idle_temperature = 70
[filament:*PA06MK4*]
inherits = *PAMK4*
filament_max_volumetric_speed = 7
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.6
[filament:*PA08MK4*]
inherits = *PAMK4*
filament_max_volumetric_speed = 10
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.8
[filament:*FLEX*]
inherits = *common*
@@ -4100,38 +4977,39 @@ filament_max_volumetric_speed = 3.5
filament_retract_speed = 60
filament_deretract_speed = 20
filament_retract_before_travel = 2
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]>=0.3 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]>=0.3 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
idle_temperature = 70
start_filament_gcode = "M900 K0 ; Filament gcode\n\nM142 S36 ; set heatbreak target temp"
+filament_minimal_purge_on_wipe_tower = 35
[filament:*FLEX06PG*]
inherits = *FLEXPG*
filament_max_volumetric_speed = 4.5
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[filament:*FLEX08PG*]
inherits = *FLEXPG*
filament_max_volumetric_speed = 8
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.8
[filament:*FLEXMK4*]
filament_max_volumetric_speed = 4
filament_retract_speed = 60
filament_deretract_speed = 20
filament_retract_before_travel = 2
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]>=0.3 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]>=0.3 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
idle_temperature = 70
start_filament_gcode = "M900 K0 ; Filament gcode\n\nM142 S36 ; set heatbreak target temp"
[filament:*FLEX06MK4*]
inherits = *FLEXMK4*
filament_max_volumetric_speed = 6.5
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.6
[filament:*FLEX08MK4*]
inherits = *FLEXMK4*
filament_max_volumetric_speed = 9
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.8
[filament:ColorFabb bronzeFill]
inherits = *PLA*; *04PLUS*
@@ -4219,27 +5097,27 @@ temperature = 270
inherits = ColorFabb HT; *PETPG*
first_layer_bed_temperature = 100
bed_temperature = 105
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
[filament:ColorFabb HT @PG 0.6]
inherits = ColorFabb HT @PG; *PET06PG*
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.6
[filament:ColorFabb HT @PG 0.8]
inherits = ColorFabb HT @PG; *PET08PG*
-compatible_printers_condition = printer_model=="XL" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/.*XL.*/ and nozzle_diameter[0]==0.8
[filament:ColorFabb HT @MK4]
inherits = ColorFabb HT; *PETPG*
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8
[filament:ColorFabb HT @MK4 0.6]
inherits = ColorFabb HT @MK4; *PET06PG*
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.6
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.6
[filament:ColorFabb HT @MK4 0.8]
inherits = ColorFabb HT @MK4; *PET08PG*
-compatible_printers_condition = printer_model=="MK4" and nozzle_diameter[0]==0.8
+compatible_printers_condition = printer_model=~/(MK4|MK4IS)/ and nozzle_diameter[0]==0.8
[filament:ColorFabb PLA-PHA]
inherits = *PLA*
@@ -4472,7 +5350,7 @@ compatible_printers_condition = nozzle_diameter[0]>=0.4 and printer_model!="MINI
inherits = Kimya ABS Carbon; *ABSPG*; *04PLUSPG*
bed_temperature = 105
filament_max_volumetric_speed = 6
-compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="XL"
+compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/.*XL.*/
[filament:Kimya ABS Carbon @PG 0.6]
inherits = Kimya ABS Carbon @PG; *ABS06PG*
@@ -4485,7 +5363,7 @@ filament_max_volumetric_speed = 14
[filament:Kimya ABS Carbon @MK4]
inherits = Kimya ABS Carbon; *ABSMK4*
filament_max_volumetric_speed = 6
-compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="MK4"
+compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/(MK4|MK4IS)/
[filament:Kimya ABS Carbon @MK4 0.6]
inherits = Kimya ABS Carbon @MK4; *ABS06MK4*
@@ -4503,7 +5381,7 @@ filament_density = 1.037
[filament:Kimya ABS Kevlar @PG]
inherits = Kimya ABS Kevlar; *ABSPG*; *04PLUSPG*
bed_temperature = 105
-compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="XL"
+compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/.*XL.*/
[filament:Kimya ABS Kevlar @PG 0.6]
inherits = Kimya ABS Kevlar @PG; *ABS06PG*
@@ -4515,7 +5393,7 @@ filament_max_volumetric_speed = 14
[filament:Kimya ABS Kevlar @MK4]
inherits = Kimya ABS Kevlar; *ABSMK4*; *04PLUSPG*
-compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="MK4"
+compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/(MK4|MK4IS)/
[filament:Kimya ABS Kevlar @MK4 0.6]
inherits = Kimya ABS Kevlar @MK4; *ABS06MK4*
@@ -5097,14 +5975,17 @@ compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4I
[filament:Generic PETG @PG 0.6]
inherits = Generic PETG; *PET06PG*
filament_max_volumetric_speed = 17
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.6
[filament:Generic PETG @PG 0.8]
inherits = Generic PETG; *PET08PG*
first_layer_temperature = 240
temperature = 250
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.8
-[filament:Generic PETG @MK4IS]
+[filament:Generic PETG @PGIS]
inherits = Generic PETG @PG
+renamed_from = "Generic PETG @MK4IS"
filament_max_volumetric_speed = 13
min_fan_speed = 35
max_fan_speed = 60
@@ -5116,6 +5997,26 @@ filament_retract_before_wipe = 20
filament_retract_lift = nil
compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
+[filament:Generic PETG @PGIS 0.6]
+inherits = Generic PETG @PG 0.6
+first_layer_temperature = 240
+temperature = 245
+filament_retract_length = 0.8
+filament_wipe = 1
+filament_retract_before_wipe = 20
+filament_retract_lift = nil
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+
+[filament:Generic PETG @PGIS 0.8]
+inherits = Generic PETG @PG 0.8
+first_layer_temperature = 245
+temperature = 250
+filament_retract_length = 0.8
+filament_wipe = 1
+filament_retract_before_wipe = 20
+filament_retract_lift = nil
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.8
+
[filament:Extrudr DuraPro ASA]
inherits = Fillamentum ASA
filament_vendor = Extrudr
@@ -5579,32 +6480,32 @@ inherits = addnorth Adura X; *PETPG*
first_layer_bed_temperature = 100
bed_temperature = 105
filament_max_volumetric_speed = 4
-compatible_printers_condition = nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="XL" and ! single_extruder_multi_material
+compatible_printers_condition = nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/.*XL.*/ and ! single_extruder_multi_material
[filament:addnorth Adura X @PG 0.6]
inherits = addnorth Adura X @PG; *PET06PG*
filament_max_volumetric_speed = 6
-compatible_printers_condition = nozzle_diameter[0]==0.6 and printer_model=="XL" and ! single_extruder_multi_material
+compatible_printers_condition = nozzle_diameter[0]==0.6 and printer_model=~/.*XL.*/ and ! single_extruder_multi_material
[filament:addnorth Adura X @PG 0.8]
inherits = addnorth Adura X @PG; *PET08PG*
filament_max_volumetric_speed = 8
-compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_model=="XL" and ! single_extruder_multi_material
+compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_model=~/.*XL.*/ and ! single_extruder_multi_material
[filament:addnorth Adura X @MK4]
inherits = addnorth Adura X; *PETPG*
filament_max_volumetric_speed = 4
-compatible_printers_condition = nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="MK4" and ! single_extruder_multi_material
+compatible_printers_condition = nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/(MK4|MK4IS)/ and ! single_extruder_multi_material
[filament:addnorth Adura X @MK4 0.6]
inherits = addnorth Adura X @MK4; *PET06PG*
filament_max_volumetric_speed = 6
-compatible_printers_condition = nozzle_diameter[0]==0.6 and printer_model=="MK4" and ! single_extruder_multi_material
+compatible_printers_condition = nozzle_diameter[0]==0.6 and printer_model=~/(MK4|MK4IS)/ and ! single_extruder_multi_material
[filament:addnorth Adura X @MK4 0.8]
inherits = addnorth Adura X @MK4; *PET08PG*
filament_max_volumetric_speed = 8
-compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_model=="MK4" and ! single_extruder_multi_material
+compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_model=~/(MK4|MK4IS)/ and ! single_extruder_multi_material
[filament:addnorth Adura X @MINI]
inherits = addnorth Adura X
@@ -6031,27 +6932,56 @@ compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4I
[filament:Generic PLA @PG 0.6]
inherits = Generic PLA; *PLA06PG*
filament_max_volumetric_speed = 15
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.6
[filament:Generic PLA @PG 0.8]
inherits = Generic PLA; *PLA08PG*
first_layer_temperature = 220
temperature = 220
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.8
-[filament:Generic PLA @MK4IS]
+[filament:Generic PLA @PGIS]
inherits = Generic PLA @PG
+renamed_from = "Generic PLA @MK4IS"
first_layer_temperature = 230
temperature = 220
-slowdown_below_layer_time = 5
+slowdown_below_layer_time = 6
compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
-[filament:Generic PLA Silk @MK4IS]
-inherits = Generic PLA @PG
+[filament:Generic PLA @PGIS 0.6]
+inherits = Generic PLA @PG 0.6
first_layer_temperature = 230
temperature = 220
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+
+[filament:Generic PLA @PGIS 0.8]
+inherits = Generic PLA @PG 0.8
+first_layer_temperature = 230
+temperature = 225
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.8
+
+[filament:Generic PLA Silk @PGIS]
+inherits = Generic PLA @PG
+renamed_from = "Generic PLA Silk @MK4IS"
+first_layer_temperature = 230
+temperature = 225
slowdown_below_layer_time = 8
filament_max_volumetric_speed = 7
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.07{elsif nozzle_diameter[0]==0.35}0.06{elsif nozzle_diameter[0]==0.6}0.03{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.035{elsif nozzle_diameter[0]==0.5}0.022{elsif nozzle_diameter[0]==0.6}0.018{elsif nozzle_diameter[0]==0.8}0.012{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.075{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp"
compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
+[filament:Generic PLA Silk @PGIS 0.6]
+inherits = Generic PLA Silk @PGIS
+slowdown_below_layer_time = 15
+filament_max_volumetric_speed = 9
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+
+[filament:Generic PLA Silk @PGIS 0.8]
+inherits = Generic PLA Silk @PGIS
+slowdown_below_layer_time = 20
+filament_max_volumetric_speed = 12
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.8
+
[filament:3D-Fuel Standard PLA]
inherits = *PLA*
filament_vendor = 3D-Fuel
@@ -6423,7 +7353,7 @@ compatible_printers_condition = nozzle_diameter[0]>=0.4 and printer_model!="MINI
[filament:Spectrum ASA Kevlar @PG]
inherits = Spectrum ASA Kevlar; *ABSPG*
-compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="XL"
+compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/.*XL.*/
[filament:Spectrum ASA Kevlar @PG 0.6]
inherits = Spectrum ASA Kevlar @PG; *ABS06PG*
@@ -6433,7 +7363,7 @@ inherits = Spectrum ASA Kevlar @PG; *ABS08PG*
[filament:Spectrum ASA Kevlar @MK4]
inherits = Spectrum ASA Kevlar; *ABSMK4*
-compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="MK4"
+compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/(MK4|MK4IS)/
[filament:Spectrum ASA Kevlar @MK4 0.6]
inherits = Spectrum ASA Kevlar @MK4; *ABS06MK4*
@@ -7704,11 +8634,11 @@ filament_notes = "Material Description\nPET CF15 is a Carbon Fiber reinforced PE
compatible_printers_condition = nozzle_diameter[0]>=0.6 and printer_model!="MINI" and printer_model!="MK2SMM" and printer_notes!~/.*PG.*/ and ! single_extruder_multi_material
[filament:Ultrafuse PET-CF15 @PG 0.6]
-inherits = Ultrafuse PET; *PET06PG*
+inherits = Ultrafuse PET-CF15; *PET06PG*
filament_max_volumetric_speed = 10
[filament:Ultrafuse PET-CF15 @PG 0.8]
-inherits = Ultrafuse PET; *PET08PG*
+inherits = Ultrafuse PET-CF15; *PET08PG*
filament_max_volumetric_speed = 13
first_layer_temperature = 270
temperature = 275
@@ -8065,17 +8995,20 @@ temperature = 195
[filament:PrimaSelect PVA+ @PG]
inherits = PrimaSelect PVA+; *PLAPG*
+first_layer_temperature = 210
+temperature = 200
filament_max_volumetric_speed = 4
+filament_minimal_purge_on_wipe_tower = 35
[filament:PrimaSelect PVA+ @PG 0.6]
inherits = PrimaSelect PVA+ @PG; *PLA06PG*
-filament_max_volumetric_speed = 6
+filament_max_volumetric_speed = 5
[filament:PrimaSelect PVA+ @PG 0.8]
inherits = PrimaSelect PVA+ @PG; *PLA08PG*
-first_layer_temperature = 205
-temperature = 205
-filament_max_volumetric_speed = 9
+first_layer_temperature = 210
+temperature = 210
+filament_max_volumetric_speed = 8
[filament:Prusa ABS]
inherits = *ABSC*
@@ -8121,98 +9054,113 @@ filament_unload_time = 12
filament_loading_speed = 14
filament_unloading_speed = 20
-[filament:Generic ABS @MMU2]
+[filament:Generic ABS @MMU]
inherits = *ABS MMU2*
+renamed_from = "Generic ABS @MMU2"
filament_vendor = Generic
-[filament:Generic ABS @MMU2 0.25]
-inherits = Generic ABS @MMU2
+[filament:Generic ABS @MMU 0.25]
+inherits = Generic ABS @MMU
+renamed_from = "Generic ABS @MMU2 0.25"
filament_max_volumetric_speed = 1.7
filament_ramming_parameters = "200 110 3.41935 3.6129 3.93548 4.35484 4.87097 5.51613 6.25806 7.06452 7.80645 8.35484 8.70968 8.83871| 0.05 3.37419 0.45 3.70322 0.95 4.5742 1.45 5.78387 1.95 7.44194 2.45 8.58065 2.95 8.89045 3.45 13.0839 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Generic PLA @MMU2 0.25]
-inherits = Generic PLA @MMU2
+[filament:Generic PLA @MMU 0.25]
+inherits = Generic PLA @MMU
+renamed_from = "Generic PLA @MMU2 0.25"
filament_max_volumetric_speed = 3
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 120 2.70968 2.93548 3.29032 3.80645 4.58065 5.54839 6.54839 7.3871 7.93548 8.19355 8.16129 8.03226| 0.05 2.66451 0.45 3.05805 0.95 4.05807 1.45 5.97742 1.95 7.69999 2.45 8.1936 2.95 7.98716 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusa PLA @MMU2 0.25]
-inherits = Generic PLA @MMU2 0.25
+[filament:Prusa PLA @MMU 0.25]
+inherits = Generic PLA @MMU 0.25
+renamed_from = "Prusa PLA @MMU2 0.25"
-[filament:Prusament PLA @MMU2 0.25]
-inherits = Prusament PLA @MMU2
+[filament:Prusament PLA @MMU 0.25]
+inherits = Prusament PLA @MMU
+renamed_from = "Prusament PLA @MMU2 0.25"
filament_max_volumetric_speed = 3
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 120 2.70968 2.93548 3.29032 3.80645 4.58065 5.54839 6.54839 7.3871 7.93548 8.19355 8.16129 8.03226| 0.05 2.66451 0.45 3.05805 0.95 4.05807 1.45 5.97742 1.95 7.69999 2.45 8.1936 2.95 7.98716 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusament PVB @MMU2 0.25]
-inherits = Prusament PVB @MMU2
+[filament:Prusament PVB @MMU 0.25]
+inherits = Prusament PVB @MMU
+renamed_from = "Prusament PVB @MMU2 0.25"
filament_max_volumetric_speed = 2
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 110 1.74194 1.90323 2.16129 2.48387 2.83871 3.25806 3.83871 4.6129 5.41935 5.96774| 0.05 1.69677 0.45 1.96128 0.95 2.63872 1.45 3.46129 1.95 4.99031 2.45 6.12908 2.95 8.30974 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusament ASA @MMU2 0.25]
-inherits = Prusament ASA @MMU2
+[filament:Prusament ASA @MMU 0.25]
+inherits = Prusament ASA @MMU
+renamed_from = "Prusament ASA @MMU2 0.25"
filament_max_volumetric_speed = 1.7
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 110 3.41935 3.6129 3.93548 4.35484 4.87097 5.51613 6.25806 7.06452 7.80645 8.35484 8.70968 8.83871| 0.05 3.37419 0.45 3.70322 0.95 4.5742 1.45 5.78387 1.95 7.44194 2.45 8.58065 2.95 8.89045 3.45 13.0839 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusament PC Blend @MMU2 0.25]
-inherits = Prusament PC Blend @MMU2
+[filament:Prusament PC Blend @MMU 0.25]
+inherits = Prusament PC Blend @MMU
+renamed_from = "Prusament PC Blend @MMU2 0.25"
filament_max_volumetric_speed = 2
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 120 2.70968 2.93548 3.32258 3.83871 4.58065 5.54839 6.51613 7.35484 7.93548 8.16129| 0.05 2.66451 0.45 3.05805 0.95 4.05807 1.45 5.97742 1.95 7.69999 2.45 8.1936 2.95 11.342 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusa ABS @MMU2 0.25]
-inherits = Prusa ABS @MMU2
+[filament:Prusa ABS @MMU 0.25]
+inherits = Prusa ABS @MMU
+renamed_from = "Prusa ABS @MMU2 0.25"
filament_max_volumetric_speed = 1.7
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 110 3.41935 3.6129 3.93548 4.35484 4.87097 5.51613 6.25806 7.06452 7.80645 8.35484 8.70968 8.83871| 0.05 3.37419 0.45 3.70322 0.95 4.5742 1.45 5.78387 1.95 7.44194 2.45 8.58065 2.95 8.89045 3.45 13.0839 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Generic PETG @MMU2 0.25]
-inherits = Generic PETG @MMU2
+[filament:Generic PETG @MMU 0.25]
+inherits = Generic PETG @MMU
+renamed_from = "Generic PETG @MMU2 0.25"
filament_max_volumetric_speed = 2
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusa PETG @MMU2 0.25]
-inherits = Prusa PETG @MMU2
+[filament:Prusa PETG @MMU 0.25]
+inherits = Prusa PETG @MMU
+renamed_from = "Prusa PETG @MMU2 0.25"
filament_max_volumetric_speed = 2
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusament PETG @MMU2 0.25]
-inherits = Prusament PETG @MMU2
+[filament:Prusament PETG @MMU 0.25]
+inherits = Prusament PETG @MMU
+renamed_from = "Prusament PETG @MMU2 0.25"
filament_max_volumetric_speed = 2
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Verbatim BVOH @MMU2 0.25]
-inherits = Verbatim BVOH @MMU2
+[filament:Verbatim BVOH @MMU 0.25]
+inherits = Verbatim BVOH @MMU
+renamed_from = "Verbatim BVOH @MMU2 0.25"
filament_max_volumetric_speed = 2
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 110 1.74194 1.90323 2.16129 2.48387 2.83871 3.25806 3.83871 4.6129 5.41935 5.96774| 0.05 1.69677 0.45 1.96128 0.95 2.63872 1.45 3.46129 1.95 4.99031 2.45 6.12908 2.95 8.30974 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:PrimaSelect PVA+ @MMU2 0.25]
-inherits = PrimaSelect PVA+ @MMU2
+[filament:PrimaSelect PVA+ @MMU 0.25]
+inherits = PrimaSelect PVA+ @MMU
+renamed_from = "PrimaSelect PVA+ @MMU2 0.25"
filament_max_volumetric_speed = 2
filament_minimal_purge_on_wipe_tower = 10
filament_ramming_parameters = "200 110 2.32258 2.48387 2.67742 2.87097 3.03226 3.22581 3.48387 3.80645 4.29032 5 5.93548 7 7.90323 8.48387 8.80645 8.90323| 0.05 2.27741 0.45 2.54192 0.95 2.9613 1.45 3.33225 1.95 4.02257 2.45 5.48393 2.95 7.72915 3.45 8.76139 3.95 8.95485 4.45 7.6 4.95 7.6"
compatible_printers_condition = nozzle_diameter[0]==0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Generic HIPS @MMU2]
+[filament:Generic HIPS @MMU]
inherits = *ABS MMU2*
+renamed_from = "Generic HIPS @MMU2"
filament_vendor = Generic
filament_cost = 27.3
filament_density = 1.04
@@ -8237,8 +9185,9 @@ filament_colour = #FFFFD7
filament_ramming_parameters = "130 120 2.74194 2.96774 3.25806 3.77419 4.83871 6.3871 8.09677 9.64516 10.7419 11.2903| 0.05 2.66451 0.45 3.05805 0.95 4.05807 1.45 7.13871 1.95 10.2806 2.45 11.4194 2.95 11.342 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.03{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0"
-[filament:Prusament ASA @MMU2]
+[filament:Prusament ASA @MMU]
inherits = *ABS MMU2*
+renamed_from = "Prusament ASA @MMU2"
filament_vendor = Prusa Polymers
filament_cost = 42.69
filament_density = 1.07
@@ -8262,8 +9211,9 @@ filament_type = ASA
filament_colour = #FFF2EC
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0"
-[filament:Prusament PC Blend @MMU2]
+[filament:Prusament PC Blend @MMU]
inherits = *ABS MMU2*
+renamed_from = "Prusament PC Blend @MMU2"
filament_vendor = Prusa Polymers
filament_cost = 62.36
filament_density = 1.22
@@ -8291,8 +9241,9 @@ filament_type = PC
filament_colour = #DEE0E6
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.07{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K22{elsif nozzle_diameter[0]==0.8};{else}M900 K40{endif} ; Filament gcode LA 1.0"
-[filament:Prusament PC Blend Carbon Fiber @MMU2]
-inherits = Prusament PC Blend @MMU2
+[filament:Prusament PC Blend Carbon Fiber @MMU]
+inherits = Prusament PC Blend @MMU
+renamed_from = "Prusament PC Blend Carbon Fiber @MMU2"
filament_cost = 90.73
filament_density = 1.22
extrusion_multiplier = 1.04
@@ -8304,15 +9255,16 @@ filament_retract_lift = nil
filament_colour = #BBBBBB
compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.8 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusa ABS @MMU2]
+[filament:Prusa ABS @MMU]
inherits = *ABS MMU2*
+renamed_from = "Prusa ABS @MMU2"
filament_vendor = Made for Prusa
filament_cost = 27.82
filament_spool_weight = 230
-[filament:Filament PM ABS @MMU2]
+[filament:Filament PM ABS @MMU]
inherits = *ABS MMU2*
-renamed_from = "Plasty Mladec ABS @MMU2"
+renamed_from = "Plasty Mladec ABS @MMU2"; "Filament PM ABS @MMU2"
filament_vendor = Filament PM
filament_density = 1.08
filament_cost = 27.82
@@ -8394,23 +9346,47 @@ compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4I
[filament:Prusa PETG @PG 0.6]
inherits = Prusa PETG; *PET06PG*
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.6
[filament:Prusa PETG @PG 0.8]
inherits = Prusa PETG; *PET08PG*
+temperature = 250
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.8
-[filament:Prusa PETG @MK4IS]
+[filament:Prusa PETG @PGIS]
inherits = Generic PETG @PG
+renamed_from = "Prusa PETG @MK4IS"
filament_max_volumetric_speed = 15
min_fan_speed = 35
max_fan_speed = 60
first_layer_temperature = 240
-temperature = 250
+temperature = 245
filament_retract_length = 0.8
filament_wipe = 1
filament_retract_before_wipe = 20
filament_retract_lift = nil
compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
+[filament:Prusa PETG @PGIS 0.6]
+inherits = Generic PETG @PG 0.6
+first_layer_temperature = 240
+temperature = 245
+filament_retract_length = 0.8
+filament_wipe = 1
+filament_retract_before_wipe = 20
+filament_retract_lift = nil
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+
+[filament:Prusa PETG @PGIS 0.8]
+inherits = Generic PETG @PG 0.8
+first_layer_temperature = 245
+temperature = 250
+filament_retract_length = 0.8
+filament_wipe = 1
+filament_retract_before_wipe = 20
+filament_retract_lift = nil
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.8
+
[filament:Verbatim PETG]
inherits = *PET*
filament_vendor = Verbatim
@@ -8445,14 +9421,17 @@ compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4I
[filament:Prusament PETG @PG 0.6]
inherits = Prusament PETG; *PET06PG*
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.6
[filament:Prusament PETG @PG 0.8]
inherits = Prusament PETG; *PET08PG*
first_layer_temperature = 250
temperature = 260
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.8
-[filament:Prusament PETG @MK4IS]
+[filament:Prusament PETG @PGIS]
inherits = Prusament PETG @PG
+renamed_from = "Prusament PETG @MK4IS"
filament_max_volumetric_speed = 15
min_fan_speed = 35
max_fan_speed = 60
@@ -8462,6 +9441,52 @@ filament_retract_before_wipe = 20
filament_retract_lift = nil
compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
+[filament:Prusament PETG @PGIS 0.6]
+inherits = Prusament PETG @PG 0.6
+filament_retract_length = 0.8
+filament_wipe = 1
+filament_retract_before_wipe = 20
+filament_retract_lift = nil
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+
+[filament:Prusament PETG @PGIS 0.8]
+inherits = Prusament PETG @PG 0.8
+filament_retract_length = 0.8
+filament_wipe = 1
+filament_retract_before_wipe = 20
+filament_retract_lift = nil
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.8
+
+[filament:Prusament PETG V0 certified]
+inherits = Prusament PETG
+first_layer_temperature = 230
+temperature = 230
+filament_cost = 54.99
+filament_density = 1.27
+extrusion_multiplier = 1.04
+filament_colour = #BBBBBB
+compatible_printers_condition = printer_model=~/.*MK3S.*/ and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material) and nozzle_diameter[0]==0.4
+filament_notes = "The following profile is the UL certified setting - Original Prusa i3 MK3S+, 0.4 mm nozzle, 0.2 mm layer height."
+
+[filament:Prusament PETG V0]
+inherits = Prusament PETG V0 certified
+compatible_printers_condition = printer_model=~/.*MK3.*/ and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material) and ! (printer_model=~/.*MK3S.*/ and nozzle_diameter[0]==0.4)
+filament_notes = ""
+
+[filament:Prusament PETG V0 @PG]
+inherits = Prusament PETG V0 certified; *PETPG*
+filament_notes = ""
+
+[filament:Prusament PETG V0 @PG 0.6]
+inherits = Prusament PETG V0 @PG; *PET06PG*
+
+[filament:Prusament PETG V0 @PG 0.8]
+inherits = Prusament PETG V0 @PG; *PET08PG*
+
+[filament:Prusament PETG V0 @MINI]
+inherits = Prusament PETG V0 certified; *PETMINI*
+filament_notes = ""
+
[filament:Prusament PETG Carbon Fiber]
inherits = Prusament PETG
filament_vendor = Prusa Polymers
@@ -8604,70 +9629,74 @@ inherits = *PET MMU2*
compatible_printers_condition = nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
filament_max_volumetric_speed = 13
-[filament:Generic PETG @MMU2]
+[filament:Generic PETG @MMU]
inherits = *PET MMU2*
-renamed_from = "Generic PET MMU2"; "Generic PETG MMU2"
+renamed_from = "Generic PET MMU2"; "Generic PETG MMU2"; "Generic PETG @MMU2"
filament_vendor = Generic
-[filament:Filament PM PETG @MMU2]
+[filament:Filament PM PETG @MMU]
inherits = *PET MMU2*
-renamed_from = "Plasty Mladec PETG @MMU2"
+renamed_from = "Plasty Mladec PETG @MMU2"; "Filament PM PETG @MMU2"
filament_vendor = Filament PM
filament_spool_weight = 230
-[filament:Prusa PETG @MMU2]
+[filament:Prusa PETG @MMU]
inherits = *PET MMU2*
-renamed_from = "Prusa PET MMU2"; "Prusa PETG MMU2"
+renamed_from = "Prusa PET MMU2"; "Prusa PETG MMU2"; "Prusa PETG @MMU2"
filament_vendor = Made for Prusa
filament_cost = 27.82
filament_spool_weight = 230
-[filament:Prusament PETG @MMU2]
+[filament:Prusament PETG @MMU]
inherits = *PET MMU2*
+renamed_from = "Prusament PETG @MMU2"
filament_type = PETG
filament_vendor = Prusa Polymers
filament_cost = 36.29
filament_density = 1.27
filament_spool_weight = 201
-[filament:Prusament PETG Carbon Fiber @MMU2]
-inherits = Prusament PETG @MMU2
+[filament:Prusament PETG Carbon Fiber @MMU]
+inherits = Prusament PETG @MMU
+renamed_from = "Prusament PETG Carbon Fiber @MMU2"
first_layer_temperature = 260
temperature = 260
extrusion_multiplier = 1.03
filament_cost = 54.99
filament_colour = #BBBBBB
-[filament:Generic PETG @MMU2 0.6 nozzle]
+[filament:Generic PETG @MMU 0.6 nozzle]
inherits = *PET MMU2 06*
-renamed_from = "Generic PET MMU2 0.6 nozzle"; "Generic PETG MMU2 0.6 nozzle"
+renamed_from = "Generic PET MMU2 0.6 nozzle"; "Generic PETG MMU2 0.6 nozzle"; "Generic PETG @MMU2 0.6 nozzle"
filament_vendor = Generic
-[filament:Prusa PETG @MMU2 0.6 nozzle]
+[filament:Prusa PETG @MMU 0.6 nozzle]
inherits = *PET MMU2 06*
-renamed_from = "Prusa PET MMU2 0.6 nozzle"; "Prusa PETG MMU2 0.6 nozzle"
+renamed_from = "Prusa PET MMU2 0.6 nozzle"; "Prusa PETG MMU2 0.6 nozzle"; "Prusa PETG @MMU2 0.6 nozzle"
filament_vendor = Made for Prusa
filament_spool_weight = 230
-[filament:Prusament PETG @MMU2 0.6 nozzle]
+[filament:Prusament PETG @MMU 0.6 nozzle]
inherits = *PET MMU2 06*
+renamed_from = "Prusament PETG @MMU2 0.6 nozzle"
filament_type = PETG
filament_vendor = Prusa Polymers
filament_cost = 36.29
filament_density = 1.27
filament_spool_weight = 201
-[filament:Prusament PETG Carbon Fiber @MMU2 0.6 nozzle]
-inherits = Prusament PETG @MMU2 0.6 nozzle
+[filament:Prusament PETG Carbon Fiber @MMU 0.6 nozzle]
+inherits = Prusament PETG @MMU 0.6 nozzle
+renamed_from = "Prusament PETG Carbon Fiber @MMU2 0.6 nozzle"
first_layer_temperature = 260
temperature = 260
extrusion_multiplier = 1.03
filament_cost = 54.99
filament_colour = #BBBBBB
-[filament:Filament PM PETG @MMU2 0.6 nozzle]
+[filament:Filament PM PETG @MMU 0.6 nozzle]
inherits = *PET MMU2 06*
-renamed_from = "Plasty Mladec PETG @MMU2 0.6 nozzle"
+renamed_from = "Plasty Mladec PETG @MMU2 0.6 nozzle"; "Filament PM PETG @MMU2 0.6 nozzle"
filament_type = PETG
filament_vendor = Filament PM
filament_spool_weight = 230
@@ -8687,17 +9716,32 @@ compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4I
[filament:Prusa PLA @PG 0.6]
inherits = Prusa PLA; *PLA06PG*
filament_max_volumetric_speed = 15.5
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.6
[filament:Prusa PLA @PG 0.8]
inherits = Prusa PLA; *PLA08PG*
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.8
-[filament:Prusa PLA @MK4IS]
+[filament:Prusa PLA @PGIS]
inherits = Prusa PLA @PG
+renamed_from = "Prusa PLA @MK4IS"
first_layer_temperature = 230
temperature = 220
-slowdown_below_layer_time = 5
+slowdown_below_layer_time = 6
compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
+[filament:Prusa PLA @PGIS 0.6]
+inherits = Prusa PLA @PG 0.6
+first_layer_temperature = 230
+temperature = 220
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+
+[filament:Prusa PLA @PGIS 0.8]
+inherits = Prusa PLA @PG 0.8
+first_layer_temperature = 230
+temperature = 230
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.8
+
[filament:Eolas Prints PLA]
inherits = *PLA*
@@ -8905,6 +9949,7 @@ bed_temperature = 110
filament_type = ASA
max_fan_speed = 40
bridge_fan_speed = 70
+filament_notes =
filament_max_volumetric_speed = 11
[filament:Print With Smile ASA @MINI]
@@ -9556,7 +10601,7 @@ inherits = Fiberlogy Nylon PA12+CF15; *ABSPG*; *04PLUSPG*
first_layer_bed_temperature = 100
bed_temperature = 105
filament_max_volumetric_speed = 8
-compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="XL" and ! single_extruder_multi_material
+compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/.*XL.*/ and ! single_extruder_multi_material
[filament:Fiberlogy Nylon PA12+CF15 @PG 0.6]
inherits = Fiberlogy Nylon PA12+CF15 @PG; *ABS06PG*
@@ -9569,7 +10614,7 @@ filament_max_volumetric_speed = 12
[filament:Fiberlogy Nylon PA12+CF15 @MK4]
inherits = Fiberlogy Nylon PA12+CF15; *ABSMK4*; *04PLUSPG*
filament_max_volumetric_speed = 8
-compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=="MK4" and ! single_extruder_multi_material
+compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_model=~/(MK4|MK4IS)/ and ! single_extruder_multi_material
[filament:Fiberlogy Nylon PA12+CF15 @MK4 0.6]
inherits = Fiberlogy Nylon PA12+CF15 @MK4; *ABS06MK4*
@@ -9709,12 +10754,16 @@ filament_vendor = Hatchbox
filament_cost = 25.4
filament_density = 1.27
filament_spool_weight = 245
+filament_max_volumetric_speed = 13
[filament:Hatchbox PLA @PG]
inherits = Hatchbox PLA; *PLAPG*
+filament_max_volumetric_speed = 13
+first_layer_temperature = 215
+temperature = 215
[filament:Hatchbox PLA @PG 0.6]
-inherits = Hatchbox PLA; *PLA06PG*
+inherits = Hatchbox PLA @PG; *PLA06PG*
[filament:Hatchbox PLA @PG 0.8]
inherits = Hatchbox PLA; *PLA08PG*
@@ -9727,9 +10776,11 @@ filament_vendor = Esun
filament_cost = 25.4
filament_density = 1.24
filament_spool_weight = 265
+filament_max_volumetric_speed = 13
[filament:Esun PLA @PG]
inherits = Esun PLA; *PLAPG*
+filament_max_volumetric_speed = 13
[filament:Esun PLA @PG 0.6]
inherits = Esun PLA; *PLA06PG*
@@ -9764,6 +10815,7 @@ filament_density = 1.24
[filament:EUMAKERS PLA @PG]
inherits = EUMAKERS PLA; *PLAPG*
+filament_max_volumetric_speed = 13
[filament:EUMAKERS PLA @PG 0.6]
inherits = EUMAKERS PLA; *PLA06PG*
@@ -9807,27 +10859,50 @@ compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4I
[filament:Prusament PLA @PG 0.6]
inherits = Prusament PLA; *PLA06PG*
filament_max_volumetric_speed = 16
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model!="MK4IS" and nozzle_diameter[0]==0.6
[filament:Prusament PLA @PG 0.8]
inherits = Prusament PLA; *PLA08PG*
-first_layer_temperature = 225
-temperature = 225
-
-[filament:Prusament PLA @MK4IS]
-inherits = Prusament PLA @PG
first_layer_temperature = 230
temperature = 225
-slowdown_below_layer_time = 5
+
+[filament:Prusament PLA @PGIS]
+inherits = Prusament PLA @PG
+renamed_from = "Prusament PLA @MK4IS"
+first_layer_temperature = 230
+temperature = 225
+slowdown_below_layer_time = 6
compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
-[filament:Prusament PLA Blend @MK4IS]
-inherits = Prusament PLA @PG
+[filament:Prusament PLA @PGIS 0.6]
+inherits = Prusament PLA @PG 0.6
first_layer_temperature = 230
-temperature = 220
+temperature = 225
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+
+[filament:Prusament PLA Blend @PGIS]
+inherits = Prusament PLA @PG
+renamed_from = "Prusament PLA Blend @MK4IS"
+first_layer_temperature = 230
+temperature = 225
filament_max_volumetric_speed = 7
slowdown_below_layer_time = 7
+start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.07{elsif nozzle_diameter[0]==0.35}0.06{elsif nozzle_diameter[0]==0.6}0.03{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.035{elsif nozzle_diameter[0]==0.5}0.022{elsif nozzle_diameter[0]==0.6}0.018{elsif nozzle_diameter[0]==0.8}0.012{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.075{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp"
compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6
+[filament:Prusament PLA Blend @PGIS 0.6]
+inherits = Prusament PLA Blend @PGIS
+filament_max_volumetric_speed = 9
+slowdown_below_layer_time = 14
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.6
+
+[filament:Prusament PLA Blend @PGIS 0.8]
+inherits = Prusament PLA Blend @PGIS
+filament_max_volumetric_speed = 12
+slowdown_below_layer_time = 20
+temperature = 230
+compatible_printers_condition = printer_notes=~/.*PG.*/ and printer_model=="MK4IS" and nozzle_diameter[0]==0.8
+
[filament:Prusament PVB]
inherits = *PLA*
filament_vendor = Prusa Polymers
@@ -9847,12 +10922,13 @@ start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and no
[filament:Prusament PVB @PG]
inherits = Prusament PVB; *PLAPG*
+filament_minimal_purge_on_wipe_tower = 35
[filament:Prusament PVB @PG 0.6]
-inherits = Prusament PVB; *PLA06PG*
+inherits = Prusament PVB @PG; *PLA06PG*
[filament:Prusament PVB @PG 0.8]
-inherits = Prusament PVB; *PLA08PG*
+inherits = Prusament PVB @PG; *PLA08PG*
first_layer_temperature = 225
temperature = 225
@@ -9874,32 +10950,37 @@ filament_unloading_speed_start = 100
full_fan_speed_layer = 4
filament_max_volumetric_speed = 12
-[filament:Generic PLA @MMU2]
+[filament:Generic PLA @MMU]
inherits = *PLA MMU2*
+renamed_from = "Generic PLA @MMU2"
filament_vendor = Generic
-[filament:Prusa PLA @MMU2]
+[filament:Prusa PLA @MMU]
inherits = *PLA MMU2*
+renamed_from = "Prusa PLA @MMU2"
filament_vendor = Made for Prusa
filament_cost = 27.82
filament_spool_weight = 230
-[filament:Prusament PLA @MMU2]
+[filament:Prusament PLA @MMU]
inherits = *PLA MMU2*
+renamed_from = "Prusament PLA @MMU2"
filament_vendor = Prusa Polymers
filament_cost = 36.29
filament_density = 1.24
filament_spool_weight = 201
-[filament:Jessie PLA @MMU2]
+[filament:Jessie PLA @MMU]
inherits = *PLA MMU2*
+renamed_from = "Jessie PLA @MMU2"
filament_vendor = Printed Solid
filament_cost = 21
filament_density = 1.24
filament_max_volumetric_speed = 10
-[filament:Prusament PVB @MMU2]
+[filament:Prusament PVB @MMU]
inherits = *PLA MMU2*
+renamed_from = "Prusament PVB @MMU2"
filament_vendor = Prusa Polymers
filament_cost = 60.48
filament_density = 1.09
@@ -9914,8 +10995,9 @@ slowdown_below_layer_time = 20
filament_ramming_parameters = "120 110 1.74194 1.90323 2.16129 2.48387 2.83871 3.25806 3.83871 4.6129 5.41935 5.96774| 0.05 1.69677 0.45 1.96128 0.95 2.63872 1.45 3.46129 1.95 4.99031 2.45 6.12908 2.95 8.30974 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.05{else}0.08{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K24{elsif nozzle_diameter[0]==0.8};{else}M900 K45{endif} ; Filament gcode LA 1.0"
-[filament:Fillamentum PLA @MMU2]
+[filament:Fillamentum PLA @MMU]
inherits = *PLA MMU2*
+renamed_from = "Fillamentum PLA @MMU2"
filament_vendor = Fillamentum
filament_cost = 35.48
filament_density = 1.24
@@ -10340,21 +11422,26 @@ temperature = 210
[filament:Verbatim BVOH @PG]
inherits = Verbatim BVOH; *ABSPG*
+first_layer_temperature = 215
+temperature = 210
+idle_temperature = 70
filament_max_volumetric_speed = 4
compatible_printers_condition = nozzle_diameter[0]!=0.6 and nozzle_diameter[0]!=0.8 and printer_notes=~/.*PG.*/ and ! single_extruder_multi_material
[filament:Verbatim BVOH @PG 0.6]
inherits = Verbatim BVOH @PG; *ABS06PG*
-filament_max_volumetric_speed = 6
+filament_max_volumetric_speed = 5
compatible_printers_condition = nozzle_diameter[0]==0.6 and printer_notes=~/.*PG.*/ and ! single_extruder_multi_material
[filament:Verbatim BVOH @PG 0.8]
inherits = Verbatim BVOH @PG; *ABS08PG*
-filament_max_volumetric_speed = 9
+temperature = 215
+filament_max_volumetric_speed = 8
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes=~/.*PG.*/ and ! single_extruder_multi_material
-[filament:Verbatim BVOH @MMU2]
+[filament:Verbatim BVOH @MMU]
inherits = Verbatim BVOH
+renamed_from = "Verbatim BVOH @MMU2"
filament_vendor = Verbatim
compatible_printers_condition = nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
temperature = 195
@@ -10373,9 +11460,10 @@ filament_unloading_speed = 20
filament_unloading_speed_start = 100
filament_loading_speed_start = 19
-[filament:PrimaSelect PVA+ @MMU2]
+[filament:PrimaSelect PVA+ @MMU]
inherits = *common*
filament_vendor = PrimaSelect
+renamed_from = "PrimaSelect PVA+ @MMU2"
compatible_printers_condition = nozzle_diameter[0]!=0.25 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
bed_temperature = 60
bridge_fan_speed = 100
@@ -11113,23 +12201,27 @@ slowdown_below_layer_time = 20
## Filaments 0.8 nozzle MMU2
-[filament:Generic HIPS @MMU2 0.8 nozzle]
-inherits = Generic HIPS @MMU2
+[filament:Generic HIPS @MMU 0.8 nozzle]
+inherits = Generic HIPS @MMU
+renamed_from = "Generic HIPS @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
-[filament:Prusament ASA @MMU2 0.8 nozzle]
-inherits = Prusament ASA @MMU2
+[filament:Prusament ASA @MMU 0.8 nozzle]
+inherits = Prusament ASA @MMU
+renamed_from = "Prusament ASA @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
slowdown_below_layer_time = 20
filament_max_volumetric_speed = 14
-[filament:Prusament PC Blend @MMU2 0.8 nozzle]
-inherits = Prusament PC Blend @MMU2
+[filament:Prusament PC Blend @MMU 0.8 nozzle]
+inherits = Prusament PC Blend @MMU
+renamed_from = "Prusament PC Blend @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
filament_max_volumetric_speed = 12
-[filament:Generic PETG @MMU2 0.8 nozzle]
-inherits = Generic PETG @MMU2
+[filament:Generic PETG @MMU 0.8 nozzle]
+inherits = Generic PETG @MMU
+renamed_from = "Generic PETG @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
filament_max_volumetric_speed = 18
first_layer_temperature = 240
@@ -11137,8 +12229,9 @@ temperature = 240
slowdown_below_layer_time = 20
filament_ramming_parameters = "120 140 5.51613 5.6129 5.70968 5.77419 5.77419 5.74194 5.80645 5.93548 6.06452 6.19355 6.3871 6.74194 7.25806 7.87097 8.54839 9.22581 10 10.8387| 0.05 5.5032 0.45 5.63868 0.95 5.8 1.45 5.7839 1.95 6.02257 2.45 6.25811 2.95 7.08395 3.45 8.43875 3.95 9.92258 4.45 11.3419 4.95 7.6"
-[filament:Prusament PETG @MMU2 0.8 nozzle]
-inherits = Prusament PETG @MMU2
+[filament:Prusament PETG @MMU 0.8 nozzle]
+inherits = Prusament PETG @MMU
+renamed_from = "Prusament PETG @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
filament_max_volumetric_speed = 18
first_layer_temperature = 240
@@ -11146,35 +12239,40 @@ temperature = 240
slowdown_below_layer_time = 20
filament_ramming_parameters = "120 140 5.51613 5.6129 5.70968 5.77419 5.77419 5.74194 5.80645 5.93548 6.06452 6.19355 6.3871 6.74194 7.25806 7.87097 8.54839 9.22581 10 10.8387| 0.05 5.5032 0.45 5.63868 0.95 5.8 1.45 5.7839 1.95 6.02257 2.45 6.25811 2.95 7.08395 3.45 8.43875 3.95 9.92258 4.45 11.3419 4.95 7.6"
-[filament:Prusament PETG Carbon Fiber @MMU2 0.8 nozzle]
-inherits = Prusament PETG @MMU2 0.8 nozzle
+[filament:Prusament PETG Carbon Fiber @MMU 0.8 nozzle]
+inherits = Prusament PETG @MMU 0.8 nozzle
+renamed_from = "Prusament PETG Carbon Fiber @MMU2 0.8 nozzle"
first_layer_temperature = 265
temperature = 270
extrusion_multiplier = 1.03
filament_cost = 54.99
filament_colour = #BBBBBB
-[filament:Generic PLA @MMU2 0.8 nozzle]
-inherits = Generic PLA @MMU2
+[filament:Generic PLA @MMU 0.8 nozzle]
+inherits = Generic PLA @MMU
+renamed_from = "Generic PLA @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
filament_max_volumetric_speed = 14
first_layer_temperature = 215
temperature = 210
-[filament:Prusament PLA @MMU2 0.8 nozzle]
-inherits = Prusament PLA @MMU2
+[filament:Prusament PLA @MMU 0.8 nozzle]
+inherits = Prusament PLA @MMU
+renamed_from = "Prusament PLA @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
filament_max_volumetric_speed = 14
first_layer_temperature = 215
temperature = 210
-[filament:Verbatim BVOH @MMU2 0.8 nozzle]
-inherits = Verbatim BVOH @MMU2
+[filament:Verbatim BVOH @MMU 0.8 nozzle]
+inherits = Verbatim BVOH @MMU
+renamed_from = "Verbatim BVOH @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
filament_max_volumetric_speed = 8
-[filament:PrimaSelect PVA+ @MMU2 0.8 nozzle]
-inherits = PrimaSelect PVA+ @MMU2
+[filament:PrimaSelect PVA+ @MMU 0.8 nozzle]
+inherits = PrimaSelect PVA+ @MMU
+renamed_from = "PrimaSelect PVA+ @MMU2 0.8 nozzle"
compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_notes!~/.*PG.*/ and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
filament_max_volumetric_speed = 8
@@ -11785,6 +12883,14 @@ material_type = Flexible
material_vendor = Prusa Polymers
material_colour = #595959
+[sla_material:Prusament Resin Flex80 White @0.025]
+inherits = *common 0.025*
+exposure_time = 5.5
+initial_exposure_time = 35
+material_type = Flexible
+material_vendor = Prusa Polymers
+material_colour = #E2D3DB
+
## Prusa 0.025
[sla_material:Prusa Orange Tough @0.025]
@@ -12838,6 +13944,14 @@ material_type = Flexible
material_vendor = Prusa Polymers
material_colour = #595959
+[sla_material:Prusament Resin Flex80 White @0.05]
+inherits = *common 0.05*
+exposure_time = 6.5
+initial_exposure_time = 35
+material_type = Flexible
+material_vendor = Prusa Polymers
+material_colour = #E2D3DB
+
## Prusa 0.05
[sla_material:Prusa Beige Tough @0.05]
@@ -13322,6 +14436,14 @@ material_type = Flexible
material_vendor = Prusa Polymers
material_colour = #595959
+[sla_material:Prusament Resin Flex80 White @0.1]
+inherits = *common 0.1*
+exposure_time = 7.5
+initial_exposure_time = 45
+material_type = Flexible
+material_vendor = Prusa Polymers
+material_colour = #E2D3DB
+
## Prusa 0.1
[sla_material:Prusa Orange Tough @0.1]
@@ -13629,6 +14751,14 @@ material_vendor = Prusa Polymers
material_colour = #595959
material_print_speed = slow
+[sla_material:Prusament Resin Flex80 White @0.025 SL1S]
+inherits = *0.025_sl1s*
+exposure_time = 1.8
+initial_exposure_time = 17
+material_type = Flexible
+material_vendor = Prusa Polymers
+material_colour = #E2D3DB
+
## Made for Prusa 0.025
[sla_material:Prusa Orange Tough @0.025 SL1S]
@@ -14147,6 +15277,14 @@ material_vendor = Prusa Polymers
material_colour = #595959
material_print_speed = slow
+[sla_material:Prusament Resin Flex80 White @0.05 SL1S]
+inherits = *0.05_sl1s*
+exposure_time = 3
+initial_exposure_time = 17
+material_type = Flexible
+material_vendor = Prusa Polymers
+material_colour = #E2D3DB
+
## Made for Prusa 0.05
[sla_material:Prusa Orange Tough @0.05 SL1S]
@@ -14993,6 +16131,14 @@ material_vendor = Prusa Polymers
material_colour = #595959
material_print_speed = slow
+[sla_material:Prusament Resin Flex80 White @0.1 SL1S]
+inherits = *0.1_sl1s*
+exposure_time = 3.5
+initial_exposure_time = 17
+material_type = Flexible
+material_vendor = Prusa Polymers
+material_colour = #E2D3DB
+
## Made for Prusa 0.1
[sla_material:Prusa Orange Tough @0.1 SL1S]
@@ -15505,7 +16651,7 @@ inherits = Original Prusa i3 MK2S
printer_model = MK2.5
remaining_times = 1
machine_max_jerk_e = 4.5
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y200 F3600 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, 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\nM900 K0 ; reset LA\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
thumbnails = 160x120
@@ -15514,7 +16660,7 @@ inherits = Original Prusa i3 MK2S 0.25 nozzle
printer_model = MK2.5
remaining_times = 1
machine_max_jerk_e = 4.5
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\nG92 E0
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\nG92 E0
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y200 F3600 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, 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\nM900 K0 ; reset LA\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
thumbnails = 160x120
@@ -15524,7 +16670,7 @@ printer_model = MK2.5
remaining_times = 1
machine_max_jerk_e = 4.5
deretract_speed = 25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y200 F3600 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, 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\nM900 K0 ; reset LA\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
thumbnails = 160x120
@@ -15541,7 +16687,7 @@ deretract_speed = 20
retract_lift = 0.25
remaining_times = 1
machine_max_jerk_e = 4.5
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y200 F3600 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, 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\nM900 K0 ; reset LA\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
default_print_profile = 0.40mm QUALITY @0.8 nozzle
default_filament_profile = Prusament PLA @0.8 nozzle
@@ -15556,7 +16702,7 @@ max_print_height = 200
default_print_profile = 0.15mm OPTIMAL @MK2.5
default_filament_profile = Prusament PLA
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_MK2.5\n
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\n; select extruder\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; load to nozzle\nTc\n; purge line\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.20 F1000\nG1 X5 E4 F1000\nG92 E0\n
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\n; select extruder\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; load to nozzle\nTc\n; purge line\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.20 F1000\nG1 X5 E4 F1000\nG92 E0\n
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y210 F7200 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15 F5800\nG1 E-20 F5500\nG1 E10 F3000\nG1 E-10 F3100\nG1 E10 F3150\nG1 E-10 F3250\nG1 E10 F3300\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM702 C\nG4 ; wait\nM104 S0 ; turn off temperature\nM900 K0 ; reset LA\nM84 ; disable motors
[printer:Original Prusa i3 MK2.5 MMU2 Single 0.8 nozzle]
@@ -15580,7 +16726,7 @@ printer_notes = Don't remove the following keywords! These keywords are used in
single_extruder_multi_material = 1
nozzle_diameter = 0.4,0.4,0.4,0.4,0.4
extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E32 F1073\nG1 X5 E32 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\nG92 E0\n
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E32 F1073\nG1 X5 E32 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\nG92 E0\n
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y210 F7200 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\n{if has_wipe_tower}\nG1 E-15 F3000\n{else}\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15 F5800\nG1 E-20 F5500\nG1 E10 F3000\nG1 E-10 F3100\nG1 E10 F3150\nG1 E-10 F3250\nG1 E10 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nM900 K0 ; reset LA\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
[printer:Original Prusa i3 MK2.5S]
@@ -15607,7 +16753,7 @@ max_print_height = 200
default_print_profile = 0.15mm OPTIMAL @MK2.5
default_filament_profile = Prusament PLA
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_MK2.5\n
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y210 F7200 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15 F5800\nG1 E-20 F5500\nG1 E10 F3000\nG1 E-10 F3100\nG1 E10 F3150\nG1 E-10 F3250\nG1 E10 F3300\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM702 C\nG4 ; wait\nM104 S0 ; turn off temperature\nM900 K0 ; reset LA\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
[printer:Original Prusa i3 MK2.5S MMU2S Single 0.8 nozzle]
@@ -15621,7 +16767,7 @@ retract_length = 0.7
retract_speed = 35
deretract_speed = 20
retract_lift = 0.25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n
default_print_profile = 0.40mm QUALITY @0.8 nozzle
default_filament_profile = Prusament PLA @0.8 nozzle
color_change_gcode = M600\nG1 E0.6 F1500 ; prime after color change
@@ -15646,7 +16792,7 @@ nozzle_diameter = 0.25
printer_variant = 0.25
retract_lift = 0.15
default_print_profile = 0.10mm DETAIL 0.25 nozzle
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F1400\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F1400\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n
color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
[printer:Original Prusa i3 MK2.5S MMU2S]
@@ -15658,7 +16804,7 @@ printer_notes = Don't remove the following keywords! These keywords are used in
single_extruder_multi_material = 1
nozzle_diameter = 0.4,0.4,0.4,0.4,0.4
extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E29 F1073\nG1 X5 E29 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\nG92 E0\n
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E29 F1073\nG1 X5 E29 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\nG92 E0\n
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y210 F7200 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\n{if has_wipe_tower}\nG1 E-15 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15 F5800\nG1 E-20 F5500\nG1 E10 F3000\nG1 E-10 F3100\nG1 E10 F3150\nG1 E-10 F3250\nG1 E10 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nM900 K0 ; reset LA\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
[printer:Original Prusa i3 MK2.5S MMU2S 0.6 nozzle]
@@ -15688,7 +16834,7 @@ max_layer_height = 0.15
min_layer_height = 0.05
printer_variant = 0.25
default_print_profile = 0.10mm DETAIL @0.25 nozzle
-default_filament_profile = Prusament PLA @MMU2 0.25
+default_filament_profile = Prusament PLA @MMU 0.25
color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
[printer:Original Prusa i3 MK2.5 MMU2 0.25 nozzle]
@@ -15698,7 +16844,7 @@ max_layer_height = 0.15
min_layer_height = 0.05
printer_variant = 0.25
default_print_profile = 0.10mm DETAIL @0.25 nozzle
-default_filament_profile = Prusament PLA @MMU2 0.25
+default_filament_profile = Prusament PLA @MMU 0.25
color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
## 0.8mm nozzle profiles are only available for MMU2 Single mode at the moment.
@@ -15711,7 +16857,7 @@ color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
## printer_variant = 0.8
## retract_length = 1
## default_print_profile = 0.40mm QUALITY @0.8 nozzle
-## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n
+## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n
## [printer:Original Prusa i3 MK2.5 MMU2 0.8 nozzle]
## inherits = Original Prusa i3 MK2.5 MMU2
@@ -15721,7 +16867,7 @@ color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
## printer_variant = 0.8
## retract_length = 1
## default_print_profile = 0.40mm QUALITY @0.8 nozzle
-## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n
+## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n
# XXXXXXXXXXXXXXXXX
# XXX--- MK3 ---XXX
@@ -15751,7 +16897,7 @@ remaining_times = 1
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_MK3\n
retract_lift_below = 209
max_print_height = 210
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
printer_model = MK3
default_print_profile = 0.15mm QUALITY @MK3
thumbnails = 160x120
@@ -15763,7 +16909,7 @@ max_layer_height = 0.15
min_layer_height = 0.05
printer_variant = 0.25
retract_lift = 0.15
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E8 F700 ; intro line\nG1 X100 E12.5 F700 ; intro line\nG92 E0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif}
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E8 F700 ; intro line\nG1 X100 E12.5 F700 ; intro line\nG92 E0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif}
default_print_profile = 0.10mm DETAIL @0.25 nozzle MK3
color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
@@ -15774,7 +16920,7 @@ max_layer_height = 0.40
min_layer_height = 0.15
printer_variant = 0.6
deretract_speed = 25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0\nM221 S{if layer_height<0.075}100{else}95{endif}
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0\nM221 S{if layer_height<0.075}100{else}95{endif}
default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3
color_change_gcode = M600\nG1 E0.5 F1500 ; prime after color change
@@ -15788,7 +16934,7 @@ retract_length = 0.7
retract_speed = 35
deretract_speed = 20
retract_lift = 0.25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0\nM221 S95
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}\nG1 Z0.3 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E9 F1000 ; intro line\n{else}\nG1 Z0.2 F720\nG1 Y-3 F1000 ; go outside print area\nG92 E0\nG1 X60 E9 F1000 ; intro line\nG1 X100 E12.5 F1000 ; intro line\n{endif}\nG92 E0\nM221 S95
default_print_profile = 0.40mm QUALITY @0.8 nozzle
default_filament_profile = Prusament PLA @0.8 nozzle
color_change_gcode = M600\nG1 E0.6 F1500 ; prime after color change
@@ -15822,7 +16968,7 @@ retract_length_toolchange = 0
extra_loading_move = -13
printer_model = MK3MMU2
default_print_profile = 0.15mm QUALITY @MK3
-default_filament_profile = Prusament PLA @MMU2
+default_filament_profile = Prusament PLA @MMU
[printer:*mm2s*]
inherits = Original Prusa i3 MK3
@@ -15834,7 +16980,7 @@ retract_length_toolchange = 0
extra_loading_move = -25
printer_model = MK3SMMU2S
default_print_profile = 0.15mm QUALITY @MK3
-default_filament_profile = Prusament PLA @MMU2
+default_filament_profile = Prusament PLA @MMU
[printer:*25mm2*]
inherits = Original Prusa i3 MK2.5
@@ -15844,7 +16990,7 @@ cooling_tube_retraction = 30
parking_pos_retraction = 85
retract_length_toolchange = 0
extra_loading_move = -13
-default_filament_profile = Prusament PLA @MMU2
+default_filament_profile = Prusament PLA @MMU
[printer:*25mm2s*]
inherits = Original Prusa i3 MK2.5S
@@ -15854,13 +17000,13 @@ cooling_tube_retraction = 40
parking_pos_retraction = 85
retract_length_toolchange = 0
extra_loading_move = -25
-default_filament_profile = Prusament PLA @MMU2
+default_filament_profile = Prusament PLA @MMU
[printer:Original Prusa i3 MK3 MMU2 Single]
inherits = *mm2*
single_extruder_multi_material = 0
default_filament_profile = Prusament PLA
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y210 F7200 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15 F5800\nG1 E-20 F5500\nG1 E10 F3000\nG1 E-10 F3100\nG1 E10 F3150\nG1 E-10 F3250\nG1 E10 F3300\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM702 C\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
[printer:Original Prusa i3 MK3 MMU2 Single 0.6 nozzle]
@@ -15871,7 +17017,7 @@ max_layer_height = 0.40
min_layer_height = 0.15
printer_variant = 0.6
deretract_speed = 25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3
color_change_gcode = M600\nG1 E0.5 F1500 ; prime after color change
@@ -15886,7 +17032,7 @@ retract_length = 0.7
retract_speed = 35
deretract_speed = 20
retract_lift = 0.25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
default_print_profile = 0.40mm QUALITY @0.8 nozzle
default_filament_profile = Prusament PLA @0.8 nozzle
color_change_gcode = M600\nG1 E0.6 F1500 ; prime after color change
@@ -15899,7 +17045,7 @@ max_layer_height = 0.15
min_layer_height = 0.05
printer_variant = 0.25
retract_lift = 0.15
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 E8 F1000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F1400\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif}
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 E8 F1000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F1400\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif}
default_print_profile = 0.10mm DETAIL @0.25 nozzle MK3
color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
@@ -15908,7 +17054,7 @@ inherits = *mm2*
machine_max_acceleration_e = 8000,8000
nozzle_diameter = 0.4,0.4,0.4,0.4,0.4
extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E32 F1073\nG1 X5 E32 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E32 F1073\nG1 X5 E32 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y210 F7200 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\n{if has_wipe_tower}\nG1 E-15 F3000\n{else}\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15 F5800\nG1 E-20 F5500\nG1 E10 F3000\nG1 E-10 F3100\nG1 E10 F3150\nG1 E-10 F3250\nG1 E10 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
[printer:Original Prusa i3 MK3S & MK3S+ MMU2S Single]
@@ -15916,7 +17062,7 @@ inherits = *mm2s*
renamed_from = "Original Prusa i3 MK3S MMU2S Single"
single_extruder_multi_material = 0
default_filament_profile = Prusament PLA
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
+start_gcode = M862.3 P "[printer_model]" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y210 F7200 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15 F5800\nG1 E-20 F5500\nG1 E10 F3000\nG1 E-10 F3100\nG1 E10 F3150\nG1 E-10 F3250\nG1 E10 F3300\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM702 C\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
[printer:Original Prusa i3 MK3S & MK3S+ MMU2S Single 0.6 nozzle]
@@ -15928,7 +17074,7 @@ max_layer_height = 0.40
min_layer_height = 0.15
printer_variant = 0.6
deretract_speed = 25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
+start_gcode = M862.3 P "[printer_model]" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3
color_change_gcode = M600\nG1 E0.5 F1500 ; prime after color change
@@ -15943,7 +17089,7 @@ retract_length = 0.7
retract_speed = 35
deretract_speed = 20
retract_lift = 0.25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
+start_gcode = M862.3 P "[printer_model]" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
default_print_profile = 0.40mm QUALITY @0.8 nozzle
default_filament_profile = Prusament PLA @0.8 nozzle
color_change_gcode = M600\nG1 E0.6 F1500 ; prime after color change
@@ -15957,17 +17103,47 @@ max_layer_height = 0.15
min_layer_height = 0.05
printer_variant = 0.25
retract_lift = 0.15
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F1400\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif}
+start_gcode = M862.3 P "[printer_model]" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nTc\n; purge line\nG1 X55 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F1400\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif}
default_print_profile = 0.10mm DETAIL @0.25 nozzle MK3
color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
+## MMU3
+
+[printer:Original Prusa i3 MK3S & MK3S+ MMU3 Single]
+inherits = Original Prusa i3 MK3S & MK3S+ MMU2S Single
+printer_model = MK3SMMU3
+
+[printer:Original Prusa i3 MK3S & MK3S+ MMU3 Single 0.6 nozzle]
+inherits = Original Prusa i3 MK3S & MK3S+ MMU2S Single 0.6 nozzle
+printer_model = MK3SMMU3
+
+[printer:Original Prusa i3 MK3S & MK3S+ MMU3 Single 0.8 nozzle]
+inherits = Original Prusa i3 MK3S & MK3S+ MMU2S Single 0.8 nozzle
+printer_model = MK3SMMU3
+
+[printer:Original Prusa i3 MK3S & MK3S+ MMU3 Single 0.25 nozzle]
+inherits = Original Prusa i3 MK3S & MK3S+ MMU2S Single 0.25 nozzle
+printer_model = MK3SMMU3
+
+[printer:Original Prusa i3 MK3S & MK3S+ MMU3]
+inherits = Original Prusa i3 MK3S & MK3S+ MMU2S
+printer_model = MK3SMMU3
+
+[printer:Original Prusa i3 MK3S & MK3S+ MMU3 0.6 nozzle]
+inherits = Original Prusa i3 MK3S & MK3S+ MMU2S 0.6 nozzle
+printer_model = MK3SMMU3
+
+[printer:Original Prusa i3 MK3S & MK3S+ MMU3 0.25 nozzle]
+inherits = Original Prusa i3 MK3S & MK3S+ MMU2S 0.25 nozzle
+printer_model = MK3SMMU3
+
[printer:Original Prusa i3 MK3S & MK3S+ MMU2S]
inherits = *mm2s*
renamed_from = "Original Prusa i3 MK3S MMU2S"
machine_max_acceleration_e = 8000,8000
nozzle_diameter = 0.4,0.4,0.4,0.4,0.4
extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E29 F1073\nG1 X5 E29 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
+start_gcode = M862.3 P "[printer_model]" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E29 F1073\nG1 X5 E29 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y210 F7200 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\n{if has_wipe_tower}\nG1 E-15 F3000\n{else}\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15 F5800\nG1 E-20 F5500\nG1 E10 F3000\nG1 E-10 F3100\nG1 E10 F3150\nG1 E-10 F3250\nG1 E10 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nM84 ; disable motors\n; max_layer_z = [max_layer_z]
## 0.6mm nozzle MMU2/S printer profiles
@@ -15980,7 +17156,7 @@ max_layer_height = 0.40
min_layer_height = 0.15
printer_variant = 0.6
deretract_speed = 25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E29 F1073\nG1 X5 E29 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
+start_gcode = M862.3 P "[printer_model]" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E29 F1073\nG1 X5 E29 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3
color_change_gcode = M600\nG1 E0.5 F1500 ; prime after color change
@@ -15991,7 +17167,7 @@ max_layer_height = 0.40
min_layer_height = 0.15
printer_variant = 0.6
deretract_speed = 25
-start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E32 F1073\nG1 X5 E32 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
+start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55 E32 F1073\nG1 X5 E32 F1800\nG1 X55 E8 F2000\nG1 Z0.3 F1000\nG92 E0\nG1 X240 E25 F2200\nG1 Y-2 F1000\nG1 X55 E25 F1400\nG1 Z0.2 F1000\nG1 X5 E4 F1000\nG92 E0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0
default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3
color_change_gcode = M600\nG1 E0.5 F1500 ; prime after color change
@@ -16002,7 +17178,7 @@ max_layer_height = 0.15
min_layer_height = 0.05
printer_variant = 0.25
default_print_profile = 0.10mm DETAIL @0.25 nozzle MK3
-default_filament_profile = Prusament PLA @MMU2 0.25
+default_filament_profile = Prusament PLA @MMU 0.25
color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
[printer:Original Prusa i3 MK3 MMU2 0.25 nozzle]
@@ -16012,7 +17188,7 @@ max_layer_height = 0.15
min_layer_height = 0.05
printer_variant = 0.25
default_print_profile = 0.10mm DETAIL @0.25 nozzle MK3
-default_filament_profile = Prusament PLA @MMU2 0.25
+default_filament_profile = Prusament PLA @MMU 0.25
color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
## 0.8mm nozzle MMU2/S printer profiles
@@ -16025,7 +17201,7 @@ color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
## max_layer_height = 0.6
## min_layer_height = 0.2
## printer_variant = 0.8
-## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0
+## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000\nG1 Z0.4 F1000\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0
## default_print_profile = 0.40mm QUALITY @0.8 nozzle
## [printer:Original Prusa i3 MK3S & MK3S+ MMU2S 0.8 nozzle]
@@ -16034,7 +17210,7 @@ color_change_gcode = M600\nG1 E0.3 F1500 ; prime after color change
## max_layer_height = 0.6
## min_layer_height = 0.2
## printer_variant = 0.8
-## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.12.2 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0
+## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.13.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0
## default_print_profile = 0.40mm QUALITY @0.8 nozzle
## MINI
@@ -16146,7 +17322,7 @@ machine_max_acceleration_z = 200
machine_max_feedrate_e = 100
machine_max_feedrate_x = 400
machine_max_feedrate_y = 400
-machine_max_feedrate_z = 20
+machine_max_feedrate_z = 12
machine_max_jerk_e = 10
machine_max_jerk_x = 8
machine_max_jerk_y = 8
@@ -16174,10 +17350,67 @@ gcode_flavor = marlin2
high_current_on_filament_swap = 0
retract_lift = 0.3
+[printer:*XLMULTI*]
+inherits = *commonXL*
+nozzle_diameter = 0.6,0.6,0.6,0.6,0.6
+retract_speed = 35,35,35,35,35
+deretract_speed = 20,20,20,20,20
+retract_lift = 0.2,0.2,0.2,0.2,0.2
+extruder_offset = 0x0,0x0,0x0,0x0,0x0
+min_layer_height = 0.15,0.15,0.15,0.15,0.15
+max_layer_height = 0.4,0.4,0.4,0.4,0.4
+retract_before_travel = 1.5,1.5,1.5,1.5,1.5
+retract_before_wipe = 80%,80%,80%,80%,80%
+retract_length = 0.7,0.7,0.7,0.7,0.7
+retract_length_toolchange = 1.2,1.2,1.2,1.2,1.2
+retract_lift_above = 0,0,0,0,0
+retract_lift_below = 359,359,359,359,359
+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\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 : 170))}\n; Home XY\nG28 XY\n; try picking tools used in print\n{if (is_extruder_used[0]) and (initial_tool != 0)}T0 S1 L0{endif}\n{if (is_extruder_used[1]) and (initial_tool != 1)}T1 S1 L0{endif}\n{if (is_extruder_used[2]) and (initial_tool != 2)}T2 S1 L0{endif}\n{if (is_extruder_used[3]) and (initial_tool != 3)}T3 S1 L0{endif}\n{if (is_extruder_used[4]) and (initial_tool != 4)}T4 S1 L0{endif}\n; select tool that will be used to home & MBL\nT{initial_tool} S1 L0\n; home Z with MBL tool\nM84 E ; turn off E motor\nG28 Z\nG0 Z10 ; 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 Z10 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\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;\nP0 S1 L1 D0; park the tool\nM109 T0 S{first_layer_temperature[0]}\nT0 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\nG1 Z10 F720 ; move to the Z ready for purge\nG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -7 : -4.5)} F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E10 X40 Z0.2 F500 ; 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\nG1 Z10 F720 ; move away\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;\nP0 S1 L1 D0; park the tool\nM109 T1 S{first_layer_temperature[1]}\nT1 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\nG1 Z10 F720 ; move to the Z ready for purge\nG0 X{(1 == 0 ? 30 : (1 == 1 ? 150 : (1 == 2 ? 210 : 330)))} Y{(1 < 4 ? -7 : -4.5)} F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E10 X140 Z0.2 F500 ; 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\nG1 Z10 F720 ; move away\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;\nP0 S1 L1 D0; park the tool\nM109 T2 S{first_layer_temperature[2]}\nT2 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\nG1 Z10 F720 ; move to the Z ready for purge\nG0 X{(2 == 0 ? 30 : (2 == 1 ? 150 : (2 == 2 ? 210 : 330)))} Y{(2 < 4 ? -7 : -4.5)} F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E10 X220 Z0.2 F500 ; 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\nG1 Z10 F720 ; move away\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;\nP0 S1 L1 D0; park the tool\nM109 T3 S{first_layer_temperature[3]}\nT3 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\nG1 Z10 F720 ; move to the Z ready for purge\nG0 X{(3 == 0 ? 30 : (3 == 1 ? 150 : (3 == 2 ? 210 : 330)))} Y{(3 < 4 ? -7 : -4.5)} F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E10 X320 Z0.2 F500 ; 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\nG1 Z10 F720 ; move away\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;\nP0 S1 L1 D0; park the tool\nM109 T4 S{first_layer_temperature[4]}\nT4 S1 L0 D0; pick the tool\nG92 E0 ; reset extruder position\nG1 Z10 F720 ; move to the Z ready for purge\nG0 X{(4 == 0 ? 30 : (4 == 1 ? 150 : (4 == 2 ? 210 : 330)))} Y{(4 < 4 ? -7 : -4.5)} F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E10 X320 Z0.2 F500 ; 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\nG1 Z10 F720 ; move away\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;\nP0 S1 L1 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\nG1 Z10 F720 ; move to the Z ready for purge\nG0 X{(initial_tool == 0 ? 30 : (initial_tool == 1 ? 150 : (initial_tool == 2 ? 210 : 330)))} Y{(initial_tool < 4 ? -7 : -4.5)} F{(travel_speed * 60)} ; move close to the sheet's edge\nG0 E10 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 F500 ; 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
+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 print head up\nP0 S1 ; park tool\nM84 ; disable motors\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
+
+[printer:*XL2MULTI*]
+inherits = *XLMULTI*
+printer_model = XL2
+
[printer:Original Prusa XL 0.4 nozzle]
inherits = *commonXL*
max_layer_height = 0.30
+[printer:Original Prusa XL - 2T 0.4 nozzle]
+inherits = *XL2MULTI*
+printer_variant = 0.4
+nozzle_diameter = 0.4,0.4
+retract_speed = 35,35
+deretract_speed = 25,25
+retract_lift = 0.3,0.3
+extruder_offset = 0x0,0x0
+min_layer_height = 0.07,0.07
+max_layer_height = 0.3,0.3
+retract_before_travel = 1.5,1.5
+retract_before_wipe = 80%,80%
+retract_length = 0.8,0.8
+retract_length_toolchange = 1.2,1.2
+retract_lift_below = 359,359
+wipe = 1,1
+extruder_colour = #FF8000;#DB5182
+
+[printer:Original Prusa XL - 5T 0.4 nozzle]
+inherits = *XLMULTI*
+printer_model = XL5
+printer_variant = 0.4
+nozzle_diameter = 0.4,0.4,0.4,0.4,0.4
+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.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 0.6 nozzle]
inherits = *commonXL*
printer_variant = 0.6
@@ -16189,6 +17422,29 @@ min_layer_height = 0.15
default_print_profile = 0.25mm QUALITY @XL 0.6
default_filament_profile = "Prusament PLA @PG 0.6"
+[printer:Original Prusa XL - 2T 0.6 nozzle]
+inherits = *XL2MULTI*
+printer_variant = 0.6
+nozzle_diameter = 0.6,0.6
+retract_speed = 35,35
+deretract_speed = 20,20
+retract_lift = 0.2,0.2
+extruder_offset = 0x0,0x0
+min_layer_height = 0.15,0.15
+max_layer_height = 0.4,0.4
+retract_before_travel = 1.5,1.5
+retract_before_wipe = 80%,80%
+retract_length = 0.7,0.7
+retract_length_toolchange = 1.2,1.2
+retract_lift_below = 359,359
+wipe = 1,1
+extruder_colour = #FF8000;#DB5182
+
+[printer:Original Prusa XL - 5T 0.6 nozzle]
+inherits = *XLMULTI*
+printer_model = XL5
+printer_variant = 0.6
+
[printer:Original Prusa XL 0.5 nozzle]
inherits = *commonXL*
printer_variant = 0.5
@@ -16198,6 +17454,33 @@ max_layer_height = 0.32
min_layer_height = 0.07
default_print_profile = 0.20mm QUALITY @XL 0.5
+[printer:Original Prusa XL - 2T 0.5 nozzle]
+inherits = *XL2MULTI*
+printer_variant = 0.5
+nozzle_diameter = 0.5,0.5
+retract_speed = 35,35
+deretract_speed = 25,25
+retract_lift = 0.3,0.3
+extruder_offset = 0x0,0x0
+min_layer_height = 0.07,0.07
+max_layer_height = 0.32,0.32
+retract_before_travel = 1.5,1.5
+retract_before_wipe = 80%,80%
+retract_length = 0.7,0.7
+retract_length_toolchange = 1.2,1.2
+retract_lift_below = 359,359
+wipe = 1,1
+extruder_colour = #FF8000;#DB5182
+
+[printer:Original Prusa XL - 5T 0.5 nozzle]
+inherits = *XLMULTI*
+printer_model = XL5
+printer_variant = 0.5
+nozzle_diameter = 0.5,0.5,0.5,0.5,0.5
+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 0.3 nozzle]
inherits = *commonXL*
printer_variant = 0.3
@@ -16208,6 +17491,35 @@ min_layer_height = 0.05
default_print_profile = 0.16mm QUALITY @XL 0.3
machine_max_acceleration_travel = 2500
+[printer:Original Prusa XL - 2T 0.3 nozzle]
+inherits = *XL2MULTI*
+printer_variant = 0.3
+nozzle_diameter = 0.3,0.3
+retract_speed = 35,35
+deretract_speed = 25,25
+retract_lift = 0.3,0.3
+extruder_offset = 0x0,0x0
+min_layer_height = 0.05,0.05
+max_layer_height = 0.22,0.22
+retract_before_travel = 1.5,1.5
+retract_before_wipe = 80%,80%
+retract_length = 0.7,0.7
+retract_length_toolchange = 1.2,1.2
+retract_lift_below = 359,359
+wipe = 1,1
+extruder_colour = #FF8000;#DB5182
+machine_max_acceleration_travel = 2500
+
+[printer:Original Prusa XL - 5T 0.3 nozzle]
+inherits = *XLMULTI*
+printer_model = XL5
+printer_variant = 0.3
+nozzle_diameter = 0.3,0.3,0.3,0.3,0.3
+retract_lift = 0.3,0.3,0.3,0.3,0.3
+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 0.25 nozzle]
inherits = *commonXL*
printer_variant = 0.25
@@ -16219,6 +17531,36 @@ min_layer_height = 0.05
default_print_profile = 0.12mm QUALITY @XL 0.25
machine_max_acceleration_travel = 1500
+[printer:Original Prusa XL - 2T 0.25 nozzle]
+inherits = *XL2MULTI*
+printer_variant = 0.25
+nozzle_diameter = 0.25,0.25
+retract_speed = 35,35
+deretract_speed = 25,25
+retract_lift = 0.15,0.15
+extruder_offset = 0x0,0x0
+min_layer_height = 0.05,0.05
+max_layer_height = 0.15,0.15
+retract_before_travel = 1.5,1.5
+retract_before_wipe = 80%,80%
+retract_length = 0.8,0.8
+retract_length_toolchange = 1.2,1.2
+retract_lift_below = 359,359
+wipe = 1,1
+extruder_colour = #FF8000;#DB5182
+machine_max_acceleration_travel = 1500
+
+[printer:Original Prusa XL - 5T 0.25 nozzle]
+inherits = *XLMULTI*
+printer_model = XL5
+printer_variant = 0.25
+nozzle_diameter = 0.25,0.25,0.25,0.25,0.25
+retract_lift = 0.15,0.15,0.15,0.15,0.15
+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
+
[printer:Original Prusa XL 0.8 nozzle]
inherits = *commonXL*
printer_variant = 0.8
@@ -16233,6 +17575,34 @@ min_layer_height = 0.2
default_print_profile = 0.40mm QUALITY @XL 0.8
default_filament_profile = "Prusament PLA @PG 0.8"
+[printer:Original Prusa XL - 2T 0.8 nozzle]
+inherits = *XL2MULTI*
+printer_variant = 0.8
+nozzle_diameter = 0.8,0.8
+retract_speed = 25,25
+deretract_speed = 15,15
+retract_lift = 0.25,0.25
+extruder_offset = 0x0,0x0
+min_layer_height = 0.2,0.2
+max_layer_height = 0.6,0.6
+retract_before_travel = 1.5,1.5
+retract_before_wipe = 50%,50%
+retract_length = 0.6,0.6
+retract_length_toolchange = 1.2,1.2
+retract_lift_below = 359,359
+wipe = 1,1
+extruder_colour = #FF8000;#DB5182
+
+[printer:Original Prusa XL - 5T 0.8 nozzle]
+inherits = *XLMULTI*
+printer_model = XL5
+printer_variant = 0.8
+nozzle_diameter = 0.8,0.8,0.8,0.8,0.8
+retract_lift = 0.25,0.25,0.25,0.25,0.25
+min_layer_height = 0.2,0.2,0.2,0.2,0.2
+max_layer_height = 0.6,0.6,0.6,0.6,0.6
+retract_length = 0.6,0.6,0.6,0.6,0.6
+
[printer:*commonMK4*]
inherits = *common*
bed_shape = 0x0,250x0,250x210,0x210
@@ -16337,8 +17707,9 @@ min_layer_height = 0.2
default_print_profile = 0.40mm QUALITY @MK4 0.8
default_filament_profile = "Prusament PLA @PG 0.8"
-[printer:Original Prusa MK4 Input Shaper (Alpha)]
+[printer:Original Prusa MK4 Input Shaper 0.4 nozzle]
inherits = *commonMK4*
+renamed_from = "Original Prusa MK4 Input Shaper (Alpha)"
printer_model = MK4IS
printer_variant = 0.4
max_layer_height = 0.30
@@ -16364,14 +17735,79 @@ max_print_height = 220
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_MODEL_MK4IS\nPG
retract_length = 0.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" ; firmware feature check\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\n{if filament_type[initial_tool]=="PC" or filament_type[initial_tool]=="PA"}\nM104 S{first_layer_temperature[initial_tool]-25} ; set extruder temp for bed leveling\nM109 R{first_layer_temperature[initial_tool]-25} ; wait for temp\n{elsif filament_type[initial_tool]=="FLEX"}\nM104 S210 ; set extruder temp for bed leveling\nM109 R210 ; wait for temp\n{else}\nM104 S170 ; set extruder temp for bed leveling\nM109 R170 ; wait for temp\n{endif}\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%\n\nM593 X T2 F50.7\nM593 Y T2 F40.6
+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.0-RC+11963\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\n{if filament_type[initial_tool]=="PC" or filament_type[initial_tool]=="PA"}\nM104 S{first_layer_temperature[initial_tool]-25} ; set extruder temp for bed leveling\nM109 R{first_layer_temperature[initial_tool]-25} ; wait for temp\n{elsif filament_type[initial_tool]=="FLEX"}\nM104 S210 ; set extruder temp for bed leveling\nM109 R210 ; wait for temp\n{else}\nM104 S170 ; set extruder temp for bed leveling\nM109 R170 ; wait for temp\n{endif}\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]\nM593 Y T2 F{interpolate_table(extruded_weight_total, (0,40), (300,30), (800,20), (10000,20)) }\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))}\nM74 W[extruded_weight_total]
-default_print_profile = 0.20mm Input Shaper @MK4IS 0.4
+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))}\nM74 W[extruded_weight_total]
+default_print_profile = 0.20mm SPEED @MK4IS 0.4
default_filament_profile = "Prusament PLA @MK4IS"
+[printer:Original Prusa MK4 Input Shaper 0.25 nozzle]
+inherits = Original Prusa MK4 Input Shaper 0.4 nozzle
+renamed_from = "Original Prusa MK4 Input Shaper (Alpha) 0.25 nozzle"
+printer_model = MK4IS
+printer_variant = 0.25
+nozzle_diameter = 0.25
+retract_length = 0.8
+retract_lift = 0.15
+max_layer_height = 0.15
+min_layer_height = 0.05
+default_print_profile = 0.12mm STRUCTURAL @MK4IS 0.25
+
+[printer:Original Prusa MK4 Input Shaper 0.3 nozzle]
+inherits = Original Prusa MK4 Input Shaper 0.4 nozzle
+renamed_from = "Original Prusa MK4 Input Shaper (Alpha) 0.3 nozzle"
+printer_model = MK4IS
+printer_variant = 0.3
+nozzle_diameter = 0.3
+retract_length = 0.7
+max_layer_height = 0.22
+min_layer_height = 0.05
+default_print_profile = 0.16mm STRUCTURAL @MK4IS 0.3
+
+[printer:Original Prusa MK4 Input Shaper 0.5 nozzle]
+inherits = Original Prusa MK4 Input Shaper 0.4 nozzle
+renamed_from = "Original Prusa MK4 Input Shaper (Alpha) 0.5 nozzle"
+printer_variant = 0.5
+nozzle_diameter = 0.5
+retract_length = 0.7
+max_layer_height = 0.32
+min_layer_height = 0.07
+deretract_speed = 25
+wipe = 1
+default_print_profile = 0.20mm SPEED @MK4IS 0.5
+
+[printer:Original Prusa MK4 Input Shaper 0.6 nozzle]
+inherits = Original Prusa MK4 Input Shaper 0.4 nozzle
+renamed_from = "Original Prusa MK4 Input Shaper (Alpha) 0.6 nozzle"
+printer_variant = 0.6
+nozzle_diameter = 0.6
+retract_length = 0.7
+retract_lift = 0.2
+max_layer_height = 0.40
+min_layer_height = 0.15
+deretract_speed = 25
+wipe = 1
+default_print_profile = 0.25mm SPEED @MK4IS 0.6
+
+[printer:Original Prusa MK4 Input Shaper 0.8 nozzle]
+inherits = Original Prusa MK4 Input Shaper 0.4 nozzle
+renamed_from = "Original Prusa MK4 Input Shaper (Alpha) 0.8 nozzle"
+printer_variant = 0.8
+nozzle_diameter = 0.8
+retract_length = 0.6
+wipe = 1
+retract_before_wipe = 50%
+retract_lift = 0.25
+retract_speed = 25
+deretract_speed = 15
+max_layer_height = 0.6
+min_layer_height = 0.2
+default_print_profile = 0.40mm QUALITY @MK4IS 0.8
+default_filament_profile = "Prusament PLA @PG 0.8"
+
[printer:Original Prusa SL1]
printer_technology = SLA
printer_model = SL1
diff --git a/resources/profiles/PrusaResearch/MK4IS_thumbnail_v2.png b/resources/profiles/PrusaResearch/MK4IS_thumbnail_v2.png
new file mode 100644
index 0000000000..8ef2930382
Binary files /dev/null and b/resources/profiles/PrusaResearch/MK4IS_thumbnail_v2.png differ
diff --git a/sandboxes/CMakeLists.txt b/sandboxes/CMakeLists.txt
index f6a4e4a84a..ae760e4487 100644
--- a/sandboxes/CMakeLists.txt
+++ b/sandboxes/CMakeLists.txt
@@ -1,7 +1,8 @@
#add_subdirectory(slasupporttree)
#add_subdirectory(openvdb)
# add_subdirectory(meshboolean)
-add_subdirectory(its_neighbor_index)
+#add_subdirectory(its_neighbor_index)
# add_subdirectory(opencsg)
#add_subdirectory(aabb-evaluation)
-add_subdirectory(wx_gl_test)
\ No newline at end of file
+#add_subdirectory(wx_gl_test)
+add_subdirectory(print_arrange_polys)
diff --git a/sandboxes/print_arrange_polys/CMakeLists.txt b/sandboxes/print_arrange_polys/CMakeLists.txt
new file mode 100644
index 0000000000..c9f3ed0b17
--- /dev/null
+++ b/sandboxes/print_arrange_polys/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_executable(print_arrange_polys main.cpp)
+
+target_link_libraries(print_arrange_polys libslic3r admesh)
+
+if (WIN32)
+ prusaslicer_copy_dlls(print_arrange_polys)
+endif()
diff --git a/sandboxes/print_arrange_polys/main.cpp b/sandboxes/print_arrange_polys/main.cpp
new file mode 100644
index 0000000000..c076a9462d
--- /dev/null
+++ b/sandboxes/print_arrange_polys/main.cpp
@@ -0,0 +1,103 @@
+#include
+#include
+
+#include
+
+#include
+
+void print_arrange_polygons(const std::string &dirpath, std::ostream &out)
+{
+ using namespace Slic3r;
+
+ boost::filesystem::path p = dirpath; //"/home/quarky/Workspace/printing/Original-Prusa-i3-MK3/Printed-Parts/stl/";
+
+ if (!boost::filesystem::exists(p) || !boost::filesystem::is_directory(p))
+ return;
+
+ for (const auto& entry : boost::filesystem::directory_iterator(p)) {
+ if (!boost::filesystem::is_regular_file(entry)) {
+ continue;
+ }
+
+ TriangleMesh mesh;
+ mesh.ReadSTLFile(entry.path().c_str());
+ ExPolygons outline = mesh.horizontal_projection();
+
+ out << "// " << entry.path().filename() << ": " << std::endl;
+ for (const ExPolygon &expoly : outline) {
+ out << "MyPoly{\n"; // Start of polygon
+
+ out << "\t{\n"; // Start of contour
+ for (const auto& point : expoly.contour.points) {
+ out << " {" << point.x() << ", " << point.y() << "},\n"; // Print point coordinates
+ }
+ out << " },\n"; // End of contour
+
+ out << " {\n"; // start of holes
+ for (const auto& hole : expoly.holes) {
+ out << " {\n"; // Start of hole
+ for (const auto& point : hole.points) {
+ out << " {" << point.x() << ", " << point.y() << "},\n"; // Print point coordinates
+ }
+ out << " },\n"; // End of hole Polygon
+ }
+ out << " }\n"; // end of holes Polygons
+ out << "},\n"; // End of ExPolygon
+ }
+ }
+}
+
+void print_arrange_items(const std::string &dirpath, std::ostream &out)
+{
+ using namespace Slic3r;
+
+ boost::filesystem::path p = dirpath;
+
+ if (!boost::filesystem::exists(p) || !boost::filesystem::is_directory(p))
+ return;
+
+ for (const auto& entry : boost::filesystem::directory_iterator(p)) {
+ if (!boost::filesystem::is_regular_file(entry)) {
+ continue;
+ }
+
+ TriangleMesh mesh;
+ mesh.ReadSTLFile(entry.path().c_str());
+ ExPolygons outline = mesh.horizontal_projection();
+
+ out << "ExPolygons{ " << "// " << entry.path().filename() << ":\n";
+ for (const ExPolygon &expoly : outline) {
+ out << " MyPoly{\n"; // Start of polygon
+
+ out << " {\n"; // Start of contour
+ for (const auto& point : expoly.contour.points) {
+ out << " {" << point.x() << ", " << point.y() << "},\n"; // Print point coordinates
+ }
+ out << " },\n"; // End of contour
+
+ out << " {\n"; // start of holes
+ for (const auto& hole : expoly.holes) {
+ out << " {\n"; // Start of hole
+ for (const auto& point : hole.points) {
+ out << " {" << point.x() << ", " << point.y() << "},\n"; // Print point coordinates
+ }
+ out << " },\n"; // End of hole Polygon
+ }
+ out << " }\n"; // end of holes Polygons
+ out << " },\n"; // End of ExPolygon
+ }
+ out << "},\n";
+ }
+}
+
+int main(int argc, const char *argv[])
+{
+ if (argc <= 1)
+ return -1;
+
+ std::string dirpath = argv[1];
+
+ print_arrange_items(dirpath, std::cout);
+
+ return 0;
+}
diff --git a/src/PrusaSlicer.cpp b/src/PrusaSlicer.cpp
index e600f343ca..0d627aa837 100644
--- a/src/PrusaSlicer.cpp
+++ b/src/PrusaSlicer.cpp
@@ -40,6 +40,7 @@
#include "libslic3r/Geometry.hpp"
#include "libslic3r/GCode/PostProcessor.hpp"
#include "libslic3r/Model.hpp"
+#include "libslic3r/CutUtils.hpp"
#include "libslic3r/ModelArrange.hpp"
#include "libslic3r/Platform.hpp"
#include "libslic3r/Print.hpp"
@@ -313,10 +314,10 @@ int CLI::run(int argc, char **argv)
// Loop through transform options.
bool user_center_specified = false;
- Points bed = get_bed_shape(m_print_config);
- ArrangeParams arrange_cfg;
- arrange_cfg.min_obj_distance = scaled(min_object_distance(m_print_config));
-
+ arr2::ArrangeBed bed = arr2::to_arrange_bed(get_bed_shape(m_print_config));
+ arr2::ArrangeSettings arrange_cfg;
+ arrange_cfg.set_distance_from_objects(min_object_distance(m_print_config));
+
for (auto const &opt_key : m_transforms) {
if (opt_key == "merge") {
Model m;
@@ -329,7 +330,7 @@ int CLI::run(int argc, char **argv)
if (this->has_print_action())
arrange_objects(m, bed, arrange_cfg);
else
- arrange_objects(m, InfiniteBed{}, arrange_cfg);
+ arrange_objects(m, arr2::InfiniteBed{}, arrange_cfg);
}
m_models.clear();
m_models.emplace_back(std::move(m));
@@ -437,8 +438,11 @@ int CLI::run(int argc, char **argv)
}
#else
// model.objects.front()->cut(0, m_config.opt_float("cut"), ModelObjectCutAttribute::KeepLower | ModelObjectCutAttribute::KeepUpper | ModelObjectCutAttribute::FlipLower);
- model.objects.front()->cut(0, Geometry::translation_transform(m_config.opt_float("cut") * Vec3d::UnitZ()),
+ Cut cut(model.objects.front(), 0, Geometry::translation_transform(m_config.opt_float("cut") * Vec3d::UnitZ()),
ModelObjectCutAttribute::KeepLower | ModelObjectCutAttribute::KeepUpper | ModelObjectCutAttribute::PlaceOnCutUpper);
+ auto cut_objects = cut.perform_with_plane();
+ for (ModelObject* obj : cut_objects)
+ model.add_object(*obj);
#endif
model.delete_object(size_t(0));
}
@@ -572,7 +576,7 @@ int CLI::run(int argc, char **argv)
if (! m_config.opt_bool("dont_arrange")) {
if (user_center_specified) {
Vec2d c = m_config.option("center")->value;
- arrange_objects(model, InfiniteBed{scaled(c)}, arrange_cfg);
+ arrange_objects(model, arr2::InfiniteBed{scaled(c)}, arrange_cfg);
} else
arrange_objects(model, bed, arrange_cfg);
}
diff --git a/src/imgui/imconfig.h b/src/imgui/imconfig.h
index 5aed978426..99d933ea87 100644
--- a/src/imgui/imconfig.h
+++ b/src/imgui/imconfig.h
@@ -152,6 +152,7 @@ namespace ImGui
// const wchar_t MmuSegmentationMarker = 0x1F;
const wchar_t PlugMarker = 0x1C;
const wchar_t DowelMarker = 0x1D;
+ const wchar_t SnapMarker = 0x1E;
// Do not forget use following letters only in wstring
const wchar_t DocumentationButton = 0x2600;
const wchar_t DocumentationHoverButton = 0x2601;
diff --git a/src/libnest2d/CMakeLists.txt b/src/libnest2d/CMakeLists.txt
index 154c965e5b..e5cc40f089 100644
--- a/src/libnest2d/CMakeLists.txt
+++ b/src/libnest2d/CMakeLists.txt
@@ -18,11 +18,10 @@ set(LIBNEST2D_SRCFILES
include/libnest2d/optimizers/nlopt/simplex.hpp
include/libnest2d/optimizers/nlopt/subplex.hpp
include/libnest2d/optimizers/nlopt/genetic.hpp
- src/libnest2d.cpp
)
-add_library(libnest2d STATIC ${LIBNEST2D_SRCFILES})
+add_library(libnest2d INTERFACE)
-target_include_directories(libnest2d PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include)
-target_link_libraries(libnest2d PUBLIC NLopt::nlopt TBB::tbb TBB::tbbmalloc Boost::boost libslic3r)
-target_compile_definitions(libnest2d PUBLIC LIBNEST2D_THREADING_tbb LIBNEST2D_STATIC LIBNEST2D_OPTIMIZER_nlopt LIBNEST2D_GEOMETRIES_libslic3r)
+target_include_directories(libnest2d INTERFACE ${CMAKE_CURRENT_LIST_DIR}/include)
+target_link_libraries(libnest2d INTERFACE NLopt::nlopt TBB::tbb TBB::tbbmalloc Boost::boost libslic3r)
+target_compile_definitions(libnest2d INTERFACE LIBNEST2D_THREADING_tbb LIBNEST2D_STATIC LIBNEST2D_OPTIMIZER_nlopt LIBNEST2D_GEOMETRIES_libslic3r)
diff --git a/src/libnest2d/include/libnest2d/backends/libslic3r/geometries.hpp b/src/libnest2d/include/libnest2d/backends/libslic3r/geometries.hpp
index 14b075b19d..48b54aa1c6 100644
--- a/src/libnest2d/include/libnest2d/backends/libslic3r/geometries.hpp
+++ b/src/libnest2d/include/libnest2d/backends/libslic3r/geometries.hpp
@@ -243,6 +243,12 @@ inline void translate(Slic3r::ExPolygon& sh, const Slic3r::Point& offs)
sh.translate(offs);
}
+template<>
+inline void translate(Slic3r::Polygon& sh, const Slic3r::Point& offs)
+{
+ sh.translate(offs);
+}
+
#define DISABLE_BOOST_ROTATE
template<>
inline void rotate(Slic3r::ExPolygon& sh, const Radians& rads)
@@ -250,6 +256,12 @@ inline void rotate(Slic3r::ExPolygon& sh, const Radians& rads)
sh.rotate(rads);
}
+template<>
+inline void rotate(Slic3r::Polygon& sh, const Radians& rads)
+{
+ sh.rotate(rads);
+}
+
} // namespace shapelike
namespace nfp {
diff --git a/src/libslic3r/AnyPtr.hpp b/src/libslic3r/AnyPtr.hpp
index 823fac0808..b5bbdd73db 100644
--- a/src/libslic3r/AnyPtr.hpp
+++ b/src/libslic3r/AnyPtr.hpp
@@ -15,12 +15,19 @@ namespace Slic3r {
// The stored pointer is not checked for being null when dereferenced.
//
// This is a movable only object due to the fact that it can possibly hold
-// a unique_ptr which a non-copy.
+// a unique_ptr which can only be moved.
+//
+// Drawbacks:
+// No custom deleters are supported when storing a unique_ptr, but overloading
+// std::default_delete for a particular type could be a workaround
+//
+// raw array types are problematic, since std::default_delete also does not
+// support them well.
template
class AnyPtr {
- enum { RawPtr, UPtr, ShPtr, WkPtr };
+ enum { RawPtr, UPtr, ShPtr };
- boost::variant, std::shared_ptr, std::weak_ptr> ptr;
+ boost::variant, std::shared_ptr> ptr;
template static T *get_ptr(Self &&s)
{
@@ -28,91 +35,119 @@ class AnyPtr {
case RawPtr: return boost::get(s.ptr);
case UPtr: return boost::get>(s.ptr).get();
case ShPtr: return boost::get>(s.ptr).get();
- case WkPtr: {
- auto shptr = boost::get>(s.ptr).lock();
- return shptr.get();
- }
}
return nullptr;
}
-public:
- template>>
- AnyPtr(TT *p = nullptr) : ptr{p}
- {}
- template>>
- AnyPtr(std::unique_ptr p) : ptr{std::unique_ptr(std::move(p))}
- {}
- template>>
- AnyPtr(std::shared_ptr p) : ptr{std::shared_ptr(std::move(p))}
- {}
- template>>
- AnyPtr(std::weak_ptr p) : ptr{std::weak_ptr(std::move(p))}
- {}
+ template friend class AnyPtr;
- ~AnyPtr() = default;
+ template
+ using SimilarPtrOnly = std::enable_if_t>;
+
+public:
+
+ AnyPtr() noexcept = default;
+
+ AnyPtr(T *p) noexcept: ptr{p} {}
+
+ AnyPtr(std::nullptr_t) noexcept {};
+
+ template>
+ AnyPtr(TT *p) noexcept : ptr{p}
+ {}
+ template>
+ AnyPtr(std::unique_ptr p) noexcept : ptr{std::unique_ptr(std::move(p))}
+ {}
+ template>
+ AnyPtr(std::shared_ptr p) noexcept : ptr{std::shared_ptr(std::move(p))}
+ {}
AnyPtr(AnyPtr &&other) noexcept : ptr{std::move(other.ptr)} {}
+
+ template>
+ AnyPtr(AnyPtr &&other) noexcept
+ {
+ this->operator=(std::move(other));
+ }
+
AnyPtr(const AnyPtr &other) = delete;
- AnyPtr &operator=(AnyPtr &&other) noexcept { ptr = std::move(other.ptr); return *this; }
+ AnyPtr &operator=(AnyPtr &&other) noexcept
+ {
+ ptr = std::move(other.ptr);
+ return *this;
+ }
+
AnyPtr &operator=(const AnyPtr &other) = delete;
- template>>
- AnyPtr &operator=(TT *p) { ptr = p; return *this; }
+ template>
+ AnyPtr& operator=(AnyPtr &&other) noexcept
+ {
+ switch (other.ptr.which()) {
+ case RawPtr: *this = boost::get(other.ptr); break;
+ case UPtr: *this = std::move(boost::get>(other.ptr)); break;
+ case ShPtr: *this = std::move(boost::get>(other.ptr)); break;
+ }
- template>>
- AnyPtr &operator=(std::unique_ptr p) { ptr = std::move(p); return *this; }
+ return *this;
+ }
- template>>
- AnyPtr &operator=(std::shared_ptr p) { ptr = p; return *this; }
+ template>
+ AnyPtr &operator=(TT *p) noexcept
+ {
+ ptr = static_cast(p);
+ return *this;
+ }
- template>>
- AnyPtr &operator=(std::weak_ptr p) { ptr = std::move(p); return *this; }
+ template>
+ AnyPtr &operator=(std::unique_ptr p) noexcept
+ {
+ ptr = std::unique_ptr(std::move(p));
+ return *this;
+ }
- const T &operator*() const { return *get_ptr(*this); }
- T &operator*() { return *get_ptr(*this); }
+ template>
+ AnyPtr &operator=(std::shared_ptr p) noexcept
+ {
+ ptr = std::shared_ptr(std::move(p));
+ return *this;
+ }
- T *operator->() { return get_ptr(*this); }
- const T *operator->() const { return get_ptr(*this); }
+ const T &operator*() const noexcept { return *get_ptr(*this); }
+ T &operator*() noexcept { return *get_ptr(*this); }
- T *get() { return get_ptr(*this); }
- const T *get() const { return get_ptr(*this); }
+ T *operator->() noexcept { return get_ptr(*this); }
+ const T *operator->() const noexcept { return get_ptr(*this); }
- operator bool() const
+ T *get() noexcept { return get_ptr(*this); }
+ const T *get() const noexcept { return get_ptr(*this); }
+
+ operator bool() const noexcept
{
switch (ptr.which()) {
case RawPtr: return bool(boost::get(ptr));
case UPtr: return bool(boost::get>(ptr));
case ShPtr: return bool(boost::get>(ptr));
- case WkPtr: {
- auto shptr = boost::get>(ptr).lock();
- return bool(shptr);
- }
}
return false;
}
- // If the stored pointer is a shared or weak pointer, returns a reference
+ // If the stored pointer is a shared pointer, returns a reference
// counted copy. Empty shared pointer is returned otherwise.
- std::shared_ptr get_shared_cpy() const
+ std::shared_ptr get_shared_cpy() const noexcept
{
std::shared_ptr ret;
- switch (ptr.which()) {
- case ShPtr: ret = boost::get>(ptr); break;
- case WkPtr: ret = boost::get>(ptr).lock(); break;
- default:
- ;
- }
+ if (ptr.which() == ShPtr)
+ ret = boost::get>(ptr);
return ret;
}
// If the underlying pointer is unique, convert to shared pointer
- void convert_unique_to_shared()
+ void convert_unique_to_shared() noexcept
{
if (ptr.which() == UPtr)
ptr = std::shared_ptr{std::move(boost::get>(ptr))};
@@ -125,6 +160,7 @@ public:
}
};
+
} // namespace Slic3r
#endif // ANYPTR_HPP
diff --git a/src/libslic3r/Arrange.cpp b/src/libslic3r/Arrange.cpp
index ea71a1a55f..db4c343275 100644
--- a/src/libslic3r/Arrange.cpp
+++ b/src/libslic3r/Arrange.cpp
@@ -12,6 +12,7 @@
#include
#include
+#include
#if defined(_MSC_VER) && defined(__clang__)
#define BOOST_NO_CXX17_HDR_STRING_VIEW
@@ -258,7 +259,7 @@ protected:
auto& index = isBig(item.area()) ? spatindex : smalls_spatindex;
// Query the spatial index for the neighbors
- std::vector result;
+ boost::container::small_vector result;
result.reserve(index.size());
index.query(query, std::back_inserter(result));
diff --git a/src/libslic3r/Arrange/Arrange.hpp b/src/libslic3r/Arrange/Arrange.hpp
new file mode 100644
index 0000000000..75e632ad95
--- /dev/null
+++ b/src/libslic3r/Arrange/Arrange.hpp
@@ -0,0 +1,268 @@
+#ifndef ARRANGE2_HPP
+#define ARRANGE2_HPP
+
+#include "Scene.hpp"
+#include "Items/MutableItemTraits.hpp"
+#include "Core/NFP/NFPArrangeItemTraits.hpp"
+
+#include "libslic3r/MinAreaBoundingBox.hpp"
+
+namespace Slic3r { namespace arr2 {
+
+template class Arranger
+{
+public:
+ class Ctl : public ArrangeTaskCtl {
+ public:
+ virtual void on_packed(ArrItem &item) {};
+ };
+
+ virtual ~Arranger() = default;
+
+ virtual void arrange(std::vector &items,
+ const std::vector &fixed,
+ const ExtendedBed &bed,
+ Ctl &ctl) = 0;
+
+ void arrange(std::vector &items,
+ const std::vector &fixed,
+ const ExtendedBed &bed,
+ ArrangeTaskCtl &ctl);
+
+ void arrange(std::vector &items,
+ const std::vector &fixed,
+ const ExtendedBed &bed,
+ Ctl &&ctl)
+ {
+ arrange(items, fixed, bed, ctl);
+ }
+
+ void arrange(std::vector &items,
+ const std::vector &fixed,
+ const ExtendedBed &bed,
+ ArrangeTaskCtl &&ctl)
+ {
+ arrange(items, fixed, bed, ctl);
+ }
+
+ static std::unique_ptr create(const ArrangeSettingsView &settings);
+};
+
+template using ArrangerCtl = typename Arranger::Ctl;
+
+template
+class DefaultArrangerCtl : public Arranger::Ctl {
+ ArrangeTaskCtl *taskctl = nullptr;
+
+public:
+ DefaultArrangerCtl() = default;
+
+ explicit DefaultArrangerCtl(ArrangeTaskBase::Ctl &ctl) : taskctl{&ctl} {}
+
+ void update_status(int st) override
+ {
+ if (taskctl)
+ taskctl->update_status(st);
+ }
+
+ bool was_canceled() const override
+ {
+ if (taskctl)
+ return taskctl->was_canceled();
+
+ return false;
+ }
+};
+
+template
+void Arranger::arrange(std::vector &items,
+ const std::vector &fixed,
+ const ExtendedBed &bed,
+ ArrangeTaskCtl &ctl)
+{
+ arrange(items, fixed, bed, DefaultArrangerCtl{ctl});
+}
+
+class EmptyItemOutlineError: public std::exception {
+ static constexpr const char *Msg = "No outline can be derived for object";
+
+public:
+ const char* what() const noexcept override { return Msg; }
+};
+
+template class ArrangeableToItemConverter
+{
+public:
+ virtual ~ArrangeableToItemConverter() = default;
+
+ // May throw EmptyItemOutlineError
+ virtual ArrItem convert(const Arrangeable &arrbl, coord_t offs = 0) const = 0;
+
+ // Returns the extent of simplification that the converter utilizes when
+ // creating arrange items. Zero shall mean no simplification at all.
+ virtual coord_t simplification_tolerance() const { return 0; }
+
+ static std::unique_ptr create(
+ ArrangeSettingsView::GeometryHandling geometry_handling,
+ coord_t safety_d);
+
+ static std::unique_ptr create(
+ const Scene &sc)
+ {
+ return create(sc.settings().get_geometry_handling(),
+ scaled(sc.settings().get_distance_from_objects()));
+ }
+};
+
+template>
+class AnyWritableDataStore: public AnyWritable
+{
+ DStore &dstore;
+
+public:
+ AnyWritableDataStore(DStore &store): dstore{store} {}
+
+ void write(std::string_view key, std::any d) override
+ {
+ set_data(dstore, std::string{key}, std::move(d));
+ }
+};
+
+template
+class BasicItemConverter : public ArrangeableToItemConverter
+{
+ coord_t m_safety_d;
+ coord_t m_simplify_tol;
+
+public:
+ BasicItemConverter(coord_t safety_d = 0, coord_t simpl_tol = 0)
+ : m_safety_d{safety_d}, m_simplify_tol{simpl_tol}
+ {}
+
+ coord_t safety_dist() const noexcept { return m_safety_d; }
+
+ coord_t simplification_tolerance() const override
+ {
+ return m_simplify_tol;
+ }
+};
+
+template
+class ConvexItemConverter : public BasicItemConverter
+{
+public:
+ using BasicItemConverter::BasicItemConverter;
+
+ ArrItem convert(const Arrangeable &arrbl, coord_t offs) const override;
+};
+
+template
+class AdvancedItemConverter : public BasicItemConverter
+{
+protected:
+ virtual ArrItem get_arritem(const Arrangeable &arrbl, coord_t eps) const;
+
+public:
+ using BasicItemConverter::BasicItemConverter;
+
+ ArrItem convert(const Arrangeable &arrbl, coord_t offs) const override;
+};
+
+template
+class BalancedItemConverter : public AdvancedItemConverter
+{
+protected:
+ ArrItem get_arritem(const Arrangeable &arrbl, coord_t offs) const override;
+
+public:
+ using AdvancedItemConverter::AdvancedItemConverter;
+};
+
+template struct ImbueableItemTraits_
+{
+ static constexpr const char *Key = "object_id";
+
+ static void imbue_id(ArrItem &itm, const ObjectID &id)
+ {
+ set_arbitrary_data(itm, Key, id);
+ }
+
+ static std::optional retrieve_id(const ArrItem &itm)
+ {
+ std::optional ret;
+ auto idptr = get_data(itm, Key);
+ if (idptr)
+ ret = *idptr;
+
+ return ret;
+ }
+};
+
+template
+using ImbueableItemTraits = ImbueableItemTraits_>;
+
+template
+void imbue_id(ArrItem &itm, const ObjectID &id)
+{
+ ImbueableItemTraits::imbue_id(itm, id);
+}
+
+template
+std::optional retrieve_id(const ArrItem &itm)
+{
+ return ImbueableItemTraits::retrieve_id(itm);
+}
+
+template
+bool apply_arrangeitem(const ArrItem &itm, ArrangeableModel &mdl)
+{
+ bool ret = false;
+
+ if (auto id = retrieve_id(itm)) {
+ mdl.visit_arrangeable(*id, [&itm, &ret](Arrangeable &arrbl) {
+ if ((ret = arrbl.assign_bed(get_bed_index(itm))))
+ arrbl.transform(unscaled(get_translation(itm)), get_rotation(itm));
+ });
+ }
+
+ return ret;
+}
+
+template
+double get_min_area_bounding_box_rotation(const ArrItem &itm)
+{
+ return MinAreaBoundigBox{envelope_convex_hull(itm),
+ MinAreaBoundigBox::pcConvex}
+ .angle_to_X();
+}
+
+template
+double get_fit_into_bed_rotation(const ArrItem &itm, const RectangleBed &bed)
+{
+ double ret = 0.;
+
+ auto bbsz = envelope_bounding_box(itm).size();
+ auto binbb = bounding_box(bed);
+ auto binbbsz = binbb.size();
+
+ if (bbsz.x() >= binbbsz.x() || bbsz.y() >= binbbsz.y())
+ ret = fit_into_box_rotation(envelope_convex_hull(itm), binbb);
+
+ return ret;
+}
+
+template
+auto get_corrected_bed(const ExtendedBed &bed,
+ const ArrangeableToItemConverter &converter)
+{
+ auto bedcpy = bed;
+ visit_bed([tol = -converter.simplification_tolerance()](auto &rawbed) {
+ rawbed = offset(rawbed, tol);
+ }, bedcpy);
+
+ return bedcpy;
+}
+
+}} // namespace Slic3r::arr2
+
+#endif // ARRANGE2_HPP
diff --git a/src/libslic3r/Arrange/ArrangeImpl.hpp b/src/libslic3r/Arrange/ArrangeImpl.hpp
new file mode 100644
index 0000000000..79f474bc2d
--- /dev/null
+++ b/src/libslic3r/Arrange/ArrangeImpl.hpp
@@ -0,0 +1,497 @@
+#ifndef ARRANGEIMPL_HPP
+#define ARRANGEIMPL_HPP
+
+#include
+#include