# Print profiles for the MakerGear printers.

# NOTE(ibash) this is based on the profiles from here: http://forum.makergear.com/viewtopic.php?t=7273
# Which in turn is based on the Simplify3D profiles supplied by makergear.
#
# This file was created by splitting the profiles from the forum into different files running comm/diff on the splits.
#
# The trick is to create common profiles for single extrusion, dual extrusion, and duplication individually and then nozzle sizes individually.
#
# for example, to produce a common profile:
#
#   ```
#   comm -12 profile_1.ini profile_2.ini | \
#   comm -12 - 3.ini | \
#   comm -12 - 4.ini | > common_profile.ini
#   ```
#
# and to produce a diff profile:
#
#   ```
#   diff  --suppress-common-lines profile_1.ini comm.ini | grep \<
#   ```
#
# ref: https://github.com/prusa3d/PrusaSlicer/wiki/Vendor-bundles-and-updating-process

[vendor]
# Vendor name will be shown by the Config Wizard.
name = MakerGear
config_version = 0.0.2-susi
config_update_url = 

# Printer models are exposed in the configuration wizard
[printer_model:M3ID]
name = MakerGear M3-ID
variants = 0.35; 0.75; 0.5; 0.25
technology = FFF
family = M3ID
bed_model =
bed_texture =
default_materials = Generic PLA @M3ID; Generic PETG @M3ID; Generic ABS @M3ID
printer_notes = Do not 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_MAKERGEAR\n

# In the end we expose 4 printer configs, with every variants of nozzle size:
# single left, single right, dual, and duplication
[printer:*common*]
bed_shape = 0x0,203x0,203x232,0x232
before_layer_gcode = 
between_objects_gcode = 
cooling_tube_length = 5
cooling_tube_retraction = 91.5
default_filament_profile = ""
default_print_profile = 
end_gcode = M104 S0 ; turn off extruder\nM104 S0 T0 ; turn off extruder\nM104 S0 T1; turn off extruder\nM140 S0 ; turn off bed\nM106 S0 ; turn off cooling fan\nG91 ; relative mode\nG1 Z20 ; move Z down 20mm if possible Max endstop will catch it if it is to far\nG90;  absolute mode\nG28 X ; home tool/s\nT0 ; defualt tool should always be T0\nG1 Y230 F10000 ; move build plate out\nM84 ; disable motors
extra_loading_move = -2
gcode_flavor = marlin
high_current_on_filament_swap = 0
host_type = octoprint
inherits = 
layer_gcode = 
machine_max_acceleration_e = 5000,5000
machine_max_acceleration_extruding = 1250,1250
machine_max_acceleration_retracting = 1250,1250
machine_max_acceleration_x = 1000,1000
machine_max_acceleration_y = 1000,1000
machine_max_acceleration_z = 1000,200
machine_max_feedrate_e = 120,120
machine_max_feedrate_x = 200,200
machine_max_feedrate_y = 200,200
machine_max_feedrate_z = 12,12
machine_max_jerk_e = 1.5,2.5
machine_max_jerk_x = 8,10
machine_max_jerk_y = 8,10
machine_max_jerk_z = 0.4,0.4
machine_min_extruding_rate = 0,0
machine_min_travel_rate = 0,0
max_print_height = 205
parking_pos_retraction = 92
print_host = 
printer_model = 
printer_notes = Do not 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_MAKERGEAR\n
printer_settings_id = 
printer_technology = FFF
printer_variant = 
printer_vendor = 
printhost_apikey = 
printhost_cafile = 
remaining_times = 1
serial_port = 
serial_speed = 250000
silent_mode = 0
single_extruder_multi_material = 0
toolchange_gcode = {if next_extruder == 0}T1\n{if next_extruder == 0}G1 X250 F18000; park T1\n{if next_extruder == 0}T0\n{if next_extruder == 0}G1 X-25 F18000; make sure T0 is parked\n\n{if next_extruder == 1}T0\n{if next_extruder == 1}G1 X-25 F18000; make sure T0 is parked\n{if next_extruder == 1}T1\n{if next_extruder == 1}G1 X250 F18000; park T1
use_firmware_retraction = 0
use_relative_e_distances = 0
use_volumetric_e = 0
variable_layer_height = 1
z_offset = 0

[printer:*single*]
deretract_speed = 0
extruder_colour = ""
extruder_offset = 0x0
retract_before_travel = 1
retract_before_wipe = 0%
retract_layer_change = 1
retract_length = 0.8
retract_lift = 0.6
retract_lift_above = 0
retract_lift_below = 204
retract_restart_extra = 0
retract_speed = 35
start_gcode = ;M3 ID Left Extruder Only Startup Script\n\n; turn off T0 hot end to reduce ooze on the bed during startup. NOTE: this does not explicitly wait for the hotends to totally cool down\nM104 T0 S0\n\nM140 S[first_layer_bed_temperature]				;turn on bed\nM190 S[first_layer_bed_temperature]				;wait for bed to get to temp\n\nM211 S1 ; turn on soft endstops to protect the machine\nM605 S0; set to full independ control on x axes\nT0 ; Switch to left extruder\nG28 ; home all axes\n probe/mesh if available\n\n;Get hot end up to temp\nM104 T0 S{first_layer_temperature+extruder_temperature_offset}\nM109 T0 S{first_layer_temperature+extruder_temperature_offset}\n\n\nM211 S0 ; turn off soft endstops for purge moves\nG1 X205 Y210 Z0.1 F10000 ; move off the bed and bring the bed up\nG92 E0 ; zero extruder\nG1 X195 Z0.1 F1000; scrape off any ooze\nG1 Z10 ; lift\nG1 X160 Y240 F10000; move to unused front edge\nG1 Z0.30 F1000\nG1 X40 E20 F1000\nG1 X30 Z0.05 F1000 ; wipe off tail\nG1 Z10\nG92 E0\nM211 S1 ; turn on soft endstops to protect the machine\n; ok now you can start
wipe = 1

[printer:*single left*]
start_gcode = ;M3 ID Left Extruder Only Startup Script\n\n; turn off T0 hot end to reduce ooze on the bed during startup. NOTE: this does not explicitly wait for the hotends to totally cool down\nM104 T0 S0\n\nM140 S[first_layer_bed_temperature]				;turn on bed\nM190 S[first_layer_bed_temperature]				;wait for bed to get to temp\n\nM211 S1 ; turn on soft endstops to protect the machine\nM605 S0; set to full independ control on x axes\nT0 ; Switch to left extruder\nG28 ; home all axes\n probe/mesh if available\n\n;Get hot end up to temp\nM104 T0 S{first_layer_temperature+extruder_temperature_offset}\nM109 T0 S{first_layer_temperature+extruder_temperature_offset}\n\n\nM211 S0 ; turn off soft endstops for purge moves\nG1 X205 Y210 Z0.1 F10000 ; move off the bed and bring the bed up\nG92 E0 ; zero extruder\nG1 X195 Z0.1 F1000; scrape off any ooze\nG1 Z10 ; lift\nG1 X160 Y240 F10000; move to unused front edge\nG1 Z0.30 F1000\nG1 X40 E20 F1000\nG1 X30 Z0.05 F1000 ; wipe off tail\nG1 Z10\nG92 E0\nM211 S1 ; turn on soft endstops to protect the machine\n; ok now you can start

[printer:*single right*]
start_gcode = ;M3 ID Right Extruder Only Startup Script\n\n; turn off T0 hot end to reduce ooze on the bed during startup. NOTE: this does not explicitly wait for the hotends to totally cool down\nM104 T0 S0\n\nM140 S[first_layer_bed_temperature]				;turn on bed\nM190 S[first_layer_bed_temperature]				;wait for bed to get to temp\n\n\nM211 S1 ; turn on soft endstops to protect the machine\nM605 S0; set to full independ control on x axes\nT0; switch to right extruder\nG28 ; home all axes and probe\n\n;Get hot end up to temp\nM104 T1 S{first_layer_temperature+extruder_temperature_offset}\nM109 T1 S{first_layer_temperature+extruder_temperature_offset}\n\n\nM211 S0 ; turn off soft endstops for purge moves\nG1 X25 F9000; move T0 past bedclips as to not damage probe\nT1 ; Switch to left extruder\nG1 X205 Y210 Z0.1 F10000 ; move off the bed and bring the bed up\nG92 E0 ; zero extruder\nG1 X195 Z0.1 F1000; scrape off any ooze\nG1 Z10 ; lift\nG1 X100 Y240 F10000; move to unused front edge\nG1 Z0.30 F1000\nG1 X180 E9.25  F1000; deposit extrusion line\nG1 Y239  E9.45 F1000 ; move  and extrude y\nG1 X130 E17.05; lift F1000; deposit extrusion line\nG1 X120 Z0.05 F1000 ; wipe off tail\nG92 E0; zero extruder\nG1 Z10 Y230 ; move back to safe bounds\nM211 S1 ; turn on soft endstops \nT0\nG1 X-25 ; move T0 back home\nT1\n\n; ok now you can start

[printer:*dual*]
deretract_speed = 0,0
extruder_colour = ;
extruder_offset = 0x0,0x0
retract_before_travel = 1,1
retract_before_wipe = 0%,0%
retract_layer_change = 1,1
retract_length = 0.8,0.8
retract_length_toolchange = 25,25
retract_lift = 0.6,0.6
retract_lift_above = 0,0
retract_lift_below = 204,204
retract_restart_extra = 0,0
retract_restart_extra_toolchange = 0.35,0.35
retract_speed = 35,35
start_gcode = ;Both ExtrudersM3 ID T0/T1 starting script T1 purges first T0 purges second\n\n\n; turn off T0 hot end to reduce ooze on the bed during startup. NOTE: this does not explicitly wait for the hotends to totally cool down\nM104 T0 S0\n\nM140 S[first_layer_bed_temperature]				;turn on bed\nM190 S[first_layer_bed_temperature]				;wait for bed to get to temp\n\nT0;\nM211 S1 ; turn on soft endstops to protect the machine\nM605 S0\nG28 ; home all axes\n\n;Get hot end up to temp\nM104 T0 S[extruder0_temperature_0]\nM104 T1 S[first_layer_temperature_1]\nM109 T0 S[extruder0_temperature_0]\nM109 T1 S[first_layer_temperature_1]\n\nG1 X25 F9000; move T0 past bedclips as to not damage probe\n\nT1 ; Switch to left extruder\nG1 X215 Y210 Z0.1 F10000 ; move off the bed and bring the bed up\nG92 E0 ; zero extruder\nG1 X195 Z0.1 F1000; scrape off any ooze\nG1 Z10 ; lift\nM211 S0 ; turn off soft endstops for purge moves\nG1 X100 Y240 F10000; move to unused back edge\nG1 Z0.30 F1000\nG1 X180 E9.25  F1000; deposit extrusion line\nG1 Y239  E9.45 F1000 ; move  and extrude y\nG1 X130 E17.05; lift F1000; deposit extrusion line\nG1 X100 Z0.05 F1000 ; wipe off tail\nG92 E0; zero extruder\nG1 Z10 Y225 ; move back to safe bounds\nG1 X252 F4800; move T1 home\n;\nT0;\nG1 X205 Y210 Z0.1 F10000 ; move off the bed and bring the bed up\nG92 E0 ; zero extruder\nG1 X195 Z0.1 F1000; scrape off any ooze\nG1 Z10 ; lift\nG1 X100 Y240 F10000; move to unused back edge\nG1 Z0.30 F1000\nG1 X20 E9.25  F1000; deposit extrusion line\nG1 Y239  E9.45 F1000 ; move  and extrude y\nG1 X70 E17.05; lift F1000; deposit extrusion line\nG1 X100 Z0.05 F1000 ; wipe off tail\nG92 E0; zero extruder\nG1 Z10 Y225 ; move back to safe bounds\nM211 S1 ; turn on soft endstops \nG92 E0\n; ok now you can start
wipe = 1,1

[printer:*duplication*]
bed_shape = 0x0,100x0,100x232,0x232
deretract_speed = 0,0
extruder_colour = ;
extruder_offset = 0x0,0x0
retract_before_travel = 1,1
retract_before_wipe = 0%,0%
retract_layer_change = 1,1
retract_length = 0.8,0.8
retract_length_toolchange = 25,25
retract_lift = 0.6,0.6
retract_lift_above = 0,0
retract_lift_below = 204,204
retract_restart_extra = 0,0
retract_restart_extra_toolchange = 0.35,0.35
retract_speed = 35,35
start_gcode = ;M3 ID Left duplication mode startup script\nM211 S1 ; turn on soft endstops to protect the machine\nM605 S0; set to full independ control on x axes\nG28 XYZ ; home without mesh level compensation\nT0 ; Make sure we're on T0\nM605 S2 R0 X100 ; set X to duplication mode 0 temperature difference 100 X difference\nG28 X ; home x axes to engange mode\nM211 S0 ; turn off soft endstops to let us move to back of the bed\nG1 X20 F1000 ;move to start x position\nG1 Y243 Z0.1 F10000 ; move off the bed and bring the bed up\nG92 E0 ; zero extruder\nG1 Y240 Z0.1 F1000; scrape off any ooze\nG1 Z0.30 F1000; lift\nG1 X80 E9.25; lift F1000; deposit extrusion line\nG1 Y239  E9.45 F1000 ; move  and extrude y\nG1 X30 E17.05; lift F1000; deposit extrusion line\nG1 X20 Z0.05 F1000 ; wipe off tail\nG1 Z10 Y223 ; lift to avoid clips and move back to safe bounds\nM400 ; wait for moves to finish before proceeding so that T1 doesn't get caught in a deadzone when switching back to Soft endstops on \n\n\nM211 S1 ; turn on soft endstops  \nG92 E0; zero extruder\n\n;M605 S2 ;\n;G28 X ;
wipe = 1,1

[printer:*0.25 nozzle single*]
max_layer_height = 0.15
min_layer_height = 0.05
nozzle_diameter = 0.25
retract_length_toolchange = 25
retract_restart_extra_toolchange = 0.35

[printer:*0.35 nozzle single*]
max_layer_height = 0.26
min_layer_height = 0.1
nozzle_diameter = 0.35
retract_length_toolchange = 10
retract_restart_extra_toolchange = 0

[printer:*0.5 nozzle single*]
max_layer_height = 0.35
min_layer_height = 0.1
nozzle_diameter = 0.5
retract_length_toolchange = 10
retract_restart_extra_toolchange = 0

[printer:*0.75 nozzle single*]
max_layer_height = 0.5
min_layer_height = 0.15
nozzle_diameter = 0.75
retract_length_toolchange = 25
retract_restart_extra_toolchange = 0.35

[printer:*0.25 nozzle dual*]
max_layer_height = 0.15,0.15
min_layer_height = 0.05,0.05
nozzle_diameter = 0.25,0.25

[printer:*0.35 nozzle dual*]
max_layer_height = 0.26,0.26
min_layer_height = 0.1,0.1
nozzle_diameter = 0.35,0.35

[printer:*0.5 nozzle dual*]
max_layer_height = 0.35,0.35
min_layer_height = 0.1,0.1
nozzle_diameter = 0.5,0.5

[printer:*0.75 nozzle dual*]
max_layer_height = 0.5,0.5
min_layer_height = 0.15,0.15
nozzle_diameter = 0.75,0.75

[printer:MakerGear M3-ID 0.25 nozzle single extruder left]
inherits = *common*; *single*; *single left*; *0.25 nozzle single*
printer_model = M3ID
printer_variant = 0.25

[printer:MakerGear M3-ID 0.25 nozzle single extruder right]
inherits = *common*; *single*; *single right*; *0.25 nozzle single*
printer_model = M3ID
printer_variant = 0.25

[printer:MakerGear M3-ID 0.25 nozzle dual extruder]
inherits = *common*; *dual*; *0.25 nozzle dual*
printer_model = M3ID
printer_variant = 0.25

[printer:MakerGear M3-ID 0.25 nozzle duplication mode]
inherits = *common*; *duplication*; *0.25 nozzle dual*
printer_model = M3ID
printer_variant = 0.25

[printer:MakerGear M3-ID 0.35 nozzle single extruder left]
inherits = *common*; *single*; *single left*; *0.35 nozzle single*
printer_model = M3ID
printer_variant = 0.35

[printer:MakerGear M3-ID 0.35 nozzle single extruder right]
inherits = *common*; *single*; *single right*; *0.35 nozzle single*
printer_model = M3ID
printer_variant = 0.35

[printer:MakerGear M3-ID 0.35 nozzle dual extruder]
inherits = *common*; *dual*; *0.35 nozzle dual*
printer_model = M3ID
printer_variant = 0.35

[printer:MakerGear M3-ID 0.35 nozzle duplication mode]
inherits = *common*; *duplication*; *0.35 nozzle dual*
printer_model = M3ID
printer_variant = 0.35

[printer:MakerGear M3-ID 0.5 nozzle single extruder left]
inherits = *common*; *single*; *single left*; *0.5 nozzle single*
printer_model = M3ID
printer_variant = 0.5

[printer:MakerGear M3-ID 0.5 nozzle single extruder right]
inherits = *common*; *single*; *single right*; *0.5 nozzle single*
printer_model = M3ID
printer_variant = 0.5

[printer:MakerGear M3-ID 0.5 nozzle dual extruder]
inherits = *common*; *dual*; *0.5 nozzle dual*
printer_model = M3ID
printer_variant = 0.5

[printer:MakerGear M3-ID 0.5 nozzle duplication mode]
inherits = *common*; *duplication*; *0.5 nozzle dual*
printer_model = M3ID
printer_variant = 0.5

[printer:MakerGear M3-ID 0.75 nozzle single extruder left]
inherits = *common*; *single*; *single left*; *0.75 nozzle single*
printer_model = M3ID
printer_variant = 0.75

[printer:MakerGear M3-ID 0.75 nozzle single extruder right]
inherits = *common*; *single*; *single right*; *0.75 nozzle single*
printer_model = M3ID
printer_variant = 0.75

[printer:MakerGear M3-ID 0.75 nozzle dual extruder]
inherits = *common*; *dual*; *0.75 nozzle dual*
printer_model = M3ID
printer_variant = 0.75

[printer:MakerGear M3-ID 0.75 nozzle duplication mode]
inherits = *common*; *duplication*; *0.75 nozzle dual*
printer_model = M3ID
printer_variant = 0.75

# --- Prints ---
[print:*common*]
avoid_crossing_perimeters = 0
bottom_fill_pattern = rectilinear
bridge_angle = 0
brim_width = 0
clip_multipart_objects = 1
compatible_printers = 
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_MAKERGEAR.*/
complete_objects = 0
default_acceleration = 1000
dont_support_bridges = 1
first_layer_size_compensation = 0
ensure_vertical_shell_thickness = 1
external_perimeters_first = 0
extra_perimeters = 0
extruder_clearance_height = 20
extruder_clearance_radius = 20
fill_angle = 45
fill_pattern = gyroid
first_layer_height = 0.2
first_layer_speed = 20
first_layer_min_speed = 20
first_layer_infill_speed = 20
gcode_comments = 0
gcode_label_objects = 0
infill_every_layers = 1
infill_extruder = 1
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
inherits = 
interface_shells = 0
max_volumetric_speed = 0
min_skirt_length = 4
notes = 
only_retract_when_crossing_perimeters = 0
ooze_prevention = 0
output_filename_format = [input_filename_base].gcode
overhangs_width_speed = 40%
overhangs_width = 80%
perimeter_extruder = 1
post_process = 
print_settings_id = 
raft_layers = 0
seam_position = cost
seam_angle_cost = 30%
seam_travel_cost = 70%
single_extruder_multi_material_priming = 0
skirt_distance = 10
skirt_height = 1
skirts = 1
slice_closing_radius = 0.049
solid_infill_below_area = 0
solid_infill_every_layers = 0
solid_infill_extruder = 1
spiral_vase = 0
standby_temperature_delta = -5
support_material = 0
support_material_angle = 0
support_material_auto = 1
support_material_buildplate_only = 0
support_material_enforce_layers = 0
support_material_extruder = 0
support_material_interface_contact_loops = 0
support_material_interface_extruder = 1
support_material_interface_speed = 100%
support_material_pattern = rectilinear
support_material_synchronize_layers = 0
thin_walls = 0
threads = 12
top_fill_pattern = rectilinear
travel_speed = 180
wipe_tower = 0
wipe_tower_bridging = 10
wipe_tower_rotation_angle = 0
wipe_tower_width = 60
wipe_tower_x = 170
wipe_tower_y = 125
xy_size_compensation = 0
extrusion_spacing =
perimeter_extrusion_spacing =
external_perimeter_extrusion_spacing =
first_layer_extrusion_spacing =
infill_extrusion_spacing =
solid_infill_extrusion_spacing =
top_infill_extrusion_spacing =

[print:MG M3-ID @0.25mm Nozzle]
inherits = *common*
bottom_solid_layers = 7
bridge_acceleration = 500
bridge_flow_ratio = 70%
bridge_speed = 20
external_perimeter_extrusion_width = 0.25
external_perimeter_speed = 20
extrusion_width = 0.25
fill_density = 20%
first_layer_acceleration = 500
first_layer_extrusion_width = 0.35
gap_fill_speed = 30
infill_acceleration = 1000
infill_extrusion_width = 0.25
infill_speed = 45
layer_height = 0.1
max_print_speed = 80
perimeter_acceleration = 500
perimeter_extrusion_width = 0.25
perimeter_speed = 30
perimeters = 4
small_perimeter_speed = 20
solid_infill_extrusion_width = 0.25
solid_infill_speed = 45
support_material_contact_distance = 0.1
support_material_extrusion_width = 0.3
support_material_interface_layers = 0
support_material_interface_spacing = 0.15
support_material_spacing = 1
support_material_speed = 40
support_material_threshold = 55
support_material_with_sheath = 0
support_material_xy_spacing = 150%
top_infill_extrusion_width = 0.25
top_solid_infill_speed = 30
top_solid_layers = 9

[print:MG M3-ID @0.35mm Nozzle]
inherits = *common*
bottom_solid_layers = 5
bridge_acceleration = 1000
bridge_flow_ratio = 80%
bridge_speed = 30
external_perimeter_extrusion_width = 0.39
external_perimeter_speed = 25
extrusion_width = 0.39
fill_density = 15%
first_layer_acceleration = 1000
first_layer_extrusion_width = 0.37
gap_fill_speed = 40
infill_acceleration = 1250
infill_extrusion_width = 0.39
infill_speed = 80
layer_height = 0.15
max_print_speed = 200
perimeter_acceleration = 800
perimeter_extrusion_width = 0.39
perimeter_speed = 45
perimeters = 3
small_perimeter_speed = 25
solid_infill_extrusion_width = 0.39
solid_infill_speed = 80
support_material_contact_distance = 0.15
support_material_extrusion_width = 0.3
support_material_interface_layers = 2
support_material_interface_spacing = 0.15
support_material_spacing = 1.5
support_material_speed = 50
support_material_threshold = 55
support_material_with_sheath = 0
support_material_xy_spacing = 50%
top_infill_extrusion_width = 0.35
top_solid_infill_speed = 40
top_solid_layers = 7

[print:MG M3-ID @0.5mm Nozzle]
inherits = *common*
bottom_solid_layers = 4
bridge_acceleration = 1000
bridge_flow_ratio = 80%
bridge_speed = 30
external_perimeter_extrusion_width = 0.56
external_perimeter_speed = 25
extrusion_width = 0.56
fill_density = 20%
first_layer_acceleration = 1000
first_layer_extrusion_width = 0.53
gap_fill_speed = 40
infill_acceleration = 1250
infill_extrusion_width = 0.56
infill_speed = 80
layer_height = 0.2
max_print_speed = 200
perimeter_acceleration = 800
perimeter_extrusion_width = 0.56
perimeter_speed = 45
perimeters = 3
small_perimeter_speed = 25
solid_infill_extrusion_width = 0.56
solid_infill_speed = 80
support_material_contact_distance = 0.1
support_material_extrusion_width = 0.44
support_material_interface_layers = 2
support_material_interface_spacing = 0.2
support_material_spacing = 2
support_material_speed = 50
support_material_threshold = 55
support_material_with_sheath = 0
support_material_xy_spacing = 50%
top_infill_extrusion_width = 0.5
top_solid_infill_speed = 40
top_solid_layers = 5

[print:MG M3-ID @0.75mm Nozzle]
inherits = *common*
bottom_solid_layers = 4
bridge_acceleration = 1000
bridge_flow_ratio = 95%
bridge_speed = 25
external_perimeter_extrusion_width = 0.81
external_perimeter_speed = 35
extrusion_width = 0.81
fill_density = 20%
first_layer_acceleration = 1000
first_layer_extrusion_width = 0.81
gap_fill_speed = 40
infill_acceleration = 1250
infill_extrusion_width = 0.88
infill_speed = 70
layer_height = 0.3
max_print_speed = 100
perimeter_acceleration = 800
perimeter_extrusion_width = 0.81
perimeter_speed = 45
perimeters = 3
small_perimeter_speed = 25
solid_infill_extrusion_width = 0.88
solid_infill_speed = 70
support_material_contact_distance = 0.2
support_material_extrusion_width = 0.7
support_material_interface_layers = 3
support_material_interface_spacing = 0
support_material_spacing = 2.5
support_material_speed = 50
support_material_threshold = 0
support_material_with_sheath = 1
support_material_xy_spacing = 50%
top_infill_extrusion_width = 0.75
top_solid_infill_speed = 45
top_solid_layers = 4

[print:Generic Printer Profile]
inherits = *common*
avoid_crossing_perimeters = 1
bottom_solid_layers = 3
bridge_acceleration = 0
bridge_flow_ratio = 100%
bridge_speed = 60
clip_multipart_objects = 0
default_acceleration = 0
ensure_vertical_shell_thickness = 0
external_perimeter_extrusion_width = 0.56
external_perimeter_speed = 50%
extra_perimeters = 1
extrusion_width = 0.56
fill_density = 20%
first_layer_acceleration = 0
first_layer_extrusion_width = 0.52
first_layer_height = 0.3
first_layer_speed = 30
first_layer_min_speed = 30
first_layer_infill_speed = 30
gap_fill_speed = 20
infill_acceleration = 0
infill_extrusion_width = 0.56
infill_speed = 60
layer_height = 0.2
max_print_speed = 80
min_skirt_length = 0
only_retract_when_crossing_perimeters = 1
perimeter_acceleration = 0
perimeter_extrusion_width = 0.56
perimeter_speed = 50
perimeters = 4
single_extruder_multi_material_priming = 1
small_perimeter_speed = 15
solid_infill_below_area = 70
solid_infill_extrusion_width = 0.56
solid_infill_speed = 20
support_material_contact_distance = 0.2
support_material_extruder = 1
support_material_extrusion_width = 0.44
support_material_interface_layers = 3
support_material_interface_spacing = 0
support_material_spacing = 2.5
support_material_speed = 60
support_material_threshold = 0
support_material_with_sheath = 1
support_material_xy_spacing = 50%
thin_walls = 1
top_infill_extrusion_width = 0.5
top_solid_infill_speed = 15
top_solid_layers = 3
travel_speed = 130
wipe_tower_x = 180
wipe_tower_y = 140

# --- Filaments ---
# Filaments are mostly copied from prusa's generic
[filament:*common*]
cooling = 1
compatible_printers = 
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_MAKERGEAR.*/
end_filament_gcode = "; Filament-specific end gcode"
extrusion_multiplier = 1
filament_loading_speed = 28
filament_loading_speed_start = 3
filament_unloading_speed = 90
filament_unloading_speed_start = 100
filament_toolchange_delay = 0
filament_cooling_moves = 4
filament_cooling_initial_speed = 2.2
filament_cooling_final_speed = 3.4
filament_load_time = 0
filament_unload_time = 0
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_minimal_purge_on_wipe_tower = 15
filament_cost = 0
filament_density = 0
filament_diameter = 1.75
filament_notes = ""
filament_settings_id = ""
filament_soluble = 0
min_print_speed = 15
slowdown_below_layer_time = 15
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{else}30{endif} ; Filament gcode"

[filament:*PLA*]
inherits = *common*
bed_temperature = 60
bridge_fan_speed = 100
disable_fan_first_layers = 1
full_fan_speed_layer = 4
fan_always_on = 1
fan_below_layer_time = 100
filament_colour = #FF8000
filament_max_volumetric_speed = 15
filament_type = PLA
first_layer_bed_temperature = 60
first_layer_temperature = 215
max_fan_speed = 100
min_fan_speed = 100
temperature = 210
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.04{else}0.05{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 K18{elsif nozzle_diameter[0]==0.8};{else}M900 K30{endif} ; Filament gcode LA 1.0"

[filament:*PET*]
inherits = *common*
bed_temperature = 90
bridge_fan_speed = 50
disable_fan_first_layers = 3
full_fan_speed_layer = 5
fan_always_on = 1
fan_below_layer_time = 20
filament_colour = #FF8000
filament_max_volumetric_speed = 8
filament_type = PETG
first_layer_bed_temperature = 85
first_layer_temperature = 230
max_fan_speed = 50
min_fan_speed = 30
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.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"
temperature = 240
filament_retract_length = 1
filament_retract_lift = 0.2

[filament:*ABS*]
inherits = *common*
bed_temperature = 110
bridge_fan_speed = 25
cooling = 0
disable_fan_first_layers = 3
fan_always_on = 0
fan_below_layer_time = 20
filament_colour = #FFF2EC
filament_max_volumetric_speed = 11
filament_ramming_parameters = "120 100 5.70968 6.03226 7 8.25806 9 9.19355 9.3871 9.77419 10.129 10.3226 10.4516 10.5161| 0.05 5.69677 0.45 6.15484 0.95 8.76774 1.45 9.20323 1.95 9.95806 2.45 10.3871 2.95 10.5677 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
filament_type = ABS
first_layer_bed_temperature = 100
first_layer_temperature = 255
max_fan_speed = 30
min_fan_speed = 20
temperature = 255
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:*ABSC*]
inherits = *common*
bed_temperature = 110
bridge_fan_speed = 25
cooling = 1
disable_fan_first_layers = 4
fan_always_on = 0
fan_below_layer_time = 30
slowdown_below_layer_time = 20
filament_colour = #FFF2EC
filament_max_volumetric_speed = 11
filament_ramming_parameters = "120 100 5.70968 6.03226 7 8.25806 9 9.19355 9.3871 9.77419 10.129 10.3226 10.4516 10.5161| 0.05 5.69677 0.45 6.15484 0.95 8.76774 1.45 9.20323 1.95 9.95806 2.45 10.3871 2.95 10.5677 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
filament_type = ABS
first_layer_bed_temperature = 100
first_layer_temperature = 255
max_fan_speed = 15
min_fan_speed = 15
min_print_speed = 15
temperature = 255
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:*FLEX*]
inherits = *common*
bed_temperature = 50
bridge_fan_speed = 80
# For now, all but selected filaments are disabled for the MMU 2.0
cooling = 0
disable_fan_first_layers = 3
extrusion_multiplier = 1.15
fan_always_on = 0
fan_below_layer_time = 100
filament_colour = #008000
filament_max_volumetric_speed = 1.5
filament_type = FLEX
first_layer_bed_temperature = 50
first_layer_temperature = 240
max_fan_speed = 90
min_fan_speed = 70
start_filament_gcode = "M900 K0"; Filament gcode"
temperature = 240
filament_retract_length = 0.8
filament_deretract_speed = 25
filament_retract_lift = 0
filament_wipe = 0

[filament:Generic ABS @M3ID]
inherits = *ABSC*
filament_vendor = Generic
filament_cost = 27.82
filament_density = 1.04

[filament:Generic PETG @M3ID]
inherits = *PET*
filament_vendor = Generic
filament_cost = 27.82
filament_density = 1.27

[filament:Generic PLA @M3ID]
inherits = *PLA*
filament_vendor = Generic
filament_cost = 25.4
filament_density = 1.24

[filament:Generic FLEX @M3ID]
inherits = *FLEX*
filament_vendor = Generic
filament_cost = 82
filament_density = 1.22
filament_max_volumetric_speed = 1.2
filament_retract_length = 0
filament_retract_speed = nil
filament_retract_lift = nil

[filament:Generic HIPS @M3ID]
inherits = *ABS*
filament_vendor = Generic
filament_cost = 27.3
filament_density = 1.04
bridge_fan_speed = 50
cooling = 1
extrusion_multiplier = 1
fan_always_on = 1
fan_below_layer_time = 10
filament_colour = #FFFFD7
filament_soluble = 1
filament_type = HIPS
first_layer_temperature = 230
max_fan_speed = 20
min_fan_speed = 20
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"
temperature = 230
