Skip to content

Instantly share code, notes, and snippets.

@ochafik
Last active January 25, 2023 00:02
Show Gist options
  • Select an option

  • Save ochafik/eea213d95d0a6ca93decd08baeac2d17 to your computer and use it in GitHub Desktop.

Select an option

Save ochafik/eea213d95d0a6ca93decd08baeac2d17 to your computer and use it in GitHub Desktop.
Bambulab AMS Savings - OpenSCAD model for simple multicolor slicing
; HEADER_BLOCK_START
; BambuStudio 01.04.02.13
; model printing time: 3m 21s; total estimated time: 11m 4s
; total layer number: 2
; HEADER_BLOCK_END
; CONFIG_BLOCK_START
; additional_cooling_fan_speed = 70,70,70,70,70,70
; auxiliary_fan = 1
; bed_custom_model =
; bed_custom_texture =
; bed_exclude_area = 0x0,18x0,18x28,0x28
; bed_temperature_difference = 10,10,10,10,10,10
; before_layer_change_gcode =
; bottom_shell_layers = 3
; bottom_shell_thickness = 0
; bottom_surface_pattern = monotonic
; bridge_angle = 0
; bridge_flow = 1
; bridge_no_support = 0
; bridge_speed = 50
; brim_object_gap = 0.1
; brim_type = auto_brim
; brim_width = 5
; change_filament_gcode = M620 S[next_extruder]A\nM204 S9000\n{if toolchange_count > 1}\nG17\nG2 Z{max_layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}M104 S[old_filament_temp]{endif}\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\n\nG1 X20 Y50 F21000\nG1 Y-3\nM620.1 X F21000\nT[next_extruder]\nM620.1 E F{new_filament_e_feedrate}\n; always use highest temperature to flush\nM400\nM109 S[nozzle_temperature_range_high]\n\n{if next_extruder < 255}\nM400\n\nG92 E0\n{if flush_length_1 > 1}\n; FLUSH_START\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\nG1 X80 F15000\nG1 X60 F15000\nG1 X80 F15000\nG1 X60 F15000; shake to put down garbage\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z[z_after_toolchange] F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A
; close_fan_the_first_x_layers = 1,1,1,1,1,1
; cool_plate_temp = 35,35,35,35,35,35
; cool_plate_temp_initial_layer = 35,35,35,35,35,35
; curr_bed_type = Cool Plate
; default_acceleration = 10000
; default_filament_colour = ;;;;;
; default_filament_profile = "Bambu PLA Basic @BBL X1C"
; default_print_profile = 0.20mm Standard @BBL X1C
; deretraction_speed = 30
; detect_narrow_internal_solid_infill = 1
; detect_overhang_wall = 1
; detect_thin_wall = 0
; different_settings_to_system = flush_into_infill;;;;;;;
; draft_shield = disabled
; elefant_foot_compensation = 0.15
; enable_arc_fitting = 1
; enable_overhang_bridge_fan = 1,1,1,1,1,1
; enable_overhang_speed = 1
; enable_prime_tower = 1
; enable_support = 0
; enforce_support_layers = 0
; eng_plate_temp = 0,0,0,0,0,0
; eng_plate_temp_initial_layer = 0,0,0,0,0,0
; ensure_vertical_shell_thickness = 1
; extruder_clearance_height_to_lid = 90
; extruder_clearance_height_to_rod = 36
; extruder_clearance_max_radius = 68
; extruder_clearance_radius = 57
; extruder_colour = #018001
; extruder_offset = 0x2
; fan_cooling_layer_time = 100,100,100,100,100,100
; fan_max_speed = 100,100,100,100,100,100
; fan_min_speed = 100,100,100,100,100,100
; filament_colour = #FFFFFF;#808080;#61C680;#C7AB89;#FF0000;#0080FF
; filament_cost = 24.99,20,20,24.99,24.99,24.99
; filament_density = 1.26,1.24,1.24,1.32,1.32,1.32
; filament_diameter = 1.75,1.75,1.75,1.75,1.75,1.75
; filament_end_gcode = "; filament end gcode \nM106 P3 S0\n";"; filament end gcode \nM106 P3 S0\n";"; filament end gcode \nM106 P3 S0\n";"; filament end gcode \nM106 P3 S0\n";"; filament end gcode \nM106 P3 S0\n";"; filament end gcode \nM106 P3 S0\n"
; filament_flow_ratio = 0.98,0.98,0.98,0.98,0.98,0.98
; filament_ids = GFA00;GFL99;GFL99;GFA01;GFA01;GFA01
; filament_is_support = 0,0,0,0,0,0
; filament_max_volumetric_speed = 21,12,12,22,22,22
; filament_minimal_purge_on_wipe_tower = 15,15,15,15,15,15
; filament_settings_id = "Bambu PLA Basic @BBL X1C";"Generic PLA";"Generic PLA";"Bambu PLA Matte @BBL X1C";"Bambu PLA Matte @BBL X1C";"Bambu PLA Matte @BBL X1C"
; filament_soluble = 0,0,0,0,0,0
; filament_start_gcode = "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}";"; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming";"; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming";"; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}";"; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}";"; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}"
; filament_type = PLA;PLA;PLA;PLA;PLA;PLA
; filament_vendor = "Bambu Lab";Generic;Generic;"Bambu Lab";"Bambu Lab";"Bambu Lab"
; filename_format = {input_filename_base}_{filament_type[0]}_{print_time}.gcode
; flush_into_infill = 1
; flush_into_objects = 0
; flush_into_support = 1
; flush_multiplier = 1
; flush_volumes_matrix = 0,167,216,178,369,364,450,0,300,313,307,303,442,203,0,279,334,329,386,171,228,0,309,332,693,465,568,521,0,456,648,406,465,546,341,0
; flush_volumes_vector = 140,140,140,140,140,140,140,140,140,140,140,140
; full_fan_speed_layer = 0,0,0,0,0,0
; fuzzy_skin = none
; fuzzy_skin_point_distance = 0.8
; fuzzy_skin_thickness = 0.3
; gap_infill_speed = 250
; gcode_add_line_number = 0
; gcode_flavor = marlin
; host_type = octoprint
; hot_plate_temp = 55,55,55,55,55,55
; hot_plate_temp_initial_layer = 55,55,55,55,55,55
; independent_support_layer_height = 0
; infill_combination = 0
; infill_direction = 45
; infill_wall_overlap = 15%
; initial_layer_acceleration = 500
; initial_layer_infill_speed = 105
; initial_layer_line_width = 0.5
; initial_layer_print_height = 0.2
; initial_layer_speed = 50
; inner_wall_line_width = 0.45
; inner_wall_speed = 300
; interface_shells = 0
; internal_bridge_support_thickness = 0.8
; internal_solid_infill_line_width = 0.42
; internal_solid_infill_speed = 250
; ironing_flow = 10%
; ironing_spacing = 0.15
; ironing_speed = 30
; ironing_type = no ironing
; layer_change_gcode = ; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 E-[retraction_length] F1800\nG17\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little\nG1 X65 Y245 F12000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F10000\nG1 Y265 F3000\nM400 P100\nM971 S11 C10 O0\nG92 E0\nG1 E[retraction_length] F300\nG1 X100 F5000\nG1 Y255\n{endif}\nM623\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change
; layer_height = 0.2
; line_width = 0.42
; machine_end_gcode = ;===== date: 20230110 =====================\n{if timelapse_type == 0}\nM991 S0 P-1 ;end traditional timelapse immediately\n{endif}\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos \nG1 Y265 F3000\n{if timelapse_type == 1}\nM991 S0 P-1 ;end smooth timelapse at safe pos\nM400 S2 ;wait for last picture to be taken\n{endif}\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nG90\nG1 X128 Y250 F3600\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n
; machine_load_filament_time = 17
; machine_max_acceleration_e = 5000,5000
; machine_max_acceleration_extruding = 20000,20000
; machine_max_acceleration_retracting = 5000,5000
; machine_max_acceleration_travel = 9000,9000
; machine_max_acceleration_x = 20000,20000
; machine_max_acceleration_y = 20000,20000
; machine_max_acceleration_z = 500,200
; machine_max_jerk_e = 2.5,2.5
; machine_max_jerk_x = 9,9
; machine_max_jerk_y = 9,9
; machine_max_jerk_z = 3,3
; machine_max_speed_e = 30,30
; machine_max_speed_x = 500,200
; machine_max_speed_y = 500,200
; machine_max_speed_z = 20,20
; machine_min_extruding_rate = 0,0
; machine_min_travel_rate = 0,0
; machine_pause_gcode = M400 U1\n
; machine_start_gcode = ;===== machine: X1 =========================\n;===== date: 20230110 =====================\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed\nG0 Z-6;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z0.0 ; clear z-trim value first\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_tool]=="PLA"}\n {if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on \nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_tool]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_tool]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_tool]A\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;===== check scanner clarity ===========================\nM972 S5 P0\n;===== check scanner clarity end =======================\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_tool]=="PLA"}\n {if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY \n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1 \nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90 \nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type=="Textured PEI Plate"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000 \n G0 F3000 X28.000 Y19.500 Z0.200\n G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933 \n G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018 \n G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933 \n G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091 \n G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080 \n G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238 \n G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403 \n G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183 \n G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403 \n G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201 \n G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061 \n G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659 \n G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769 \n G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732 \n G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256 \n G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732 \n G1 F1500.000 E-0.800 \n\n ;=========== extruder cali extrusion ================== \n T1000 \n M83 \n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y18.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800 \n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800 \n G0 Z1\n G0 X180 Z0.3 F18000\n \n M900 L1000.0 M1.0\n M900 K0.040 \n G0 X45.000 F30000 \n G0 Y20.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.020 \n G0 X45.000 F30000 \n G0 Y22.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800 \n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n M400\n\n G0 X45.000 F30000 \n M900 K0.000 \n G0 X45.000 F30000 \n G0 Y24.000 F30000 \n G1 F1500.000 E0.800 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y18.000 F30000 ; move y to clear pos \n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of "draw extrinsic para cali paint"\n\nM104 S140\n\n\n;=========== laser and rgb calibration =========== \nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X143.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\n\nM400 P100\n\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G0 F6000 X40.000 Y54.500 Z0.000 \n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P16000\n M400 P500 \n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P1 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P200 \n M971 S5 P3 \n G0 Z0.500 F12000\n M960 S0 P0\n M960 S1 P1 \n G0 Y37.50 \n M400 P200\n M971 S5 P2 \n M960 S0 P0\n M960 S2 P1 \n G0 Y54.50 \n M400 P500 \n M971 S5 P4 \n M963 S1 \n M400 P1500 \n M964 \n T1100 \n G1 Z3 F3000 \n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100 \n M400 P400 \n M960 S0 P0\n G0 F30000.000 Y22.000 X65.000 Z0.000\n M400 P400 \n M960 S1 P1 \n M400 P50 \n\n M969 S1 N3 A2000 \n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100 \n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y16.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000 \n T1000 \n G0 X45.000 Y16.000 F30000 E0\n M109 S{nozzle_temperature[initial_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600 \n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623 \n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60} \n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60} \n M973 S4 \n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan \nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90 \nM83\nT1000\nG1 X128.0 Y253.0 Z0.2 F6000.0;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60} \nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4
; machine_unload_filament_time = 16
; max_bridge_length = 10
; max_layer_height = 0.28
; max_travel_detour_distance = 0
; min_bead_width = 85%
; min_feature_size = 25%
; min_layer_height = 0.08
; minimum_sparse_infill_area = 15
; nozzle_diameter = 0.4
; nozzle_hrc = 55
; nozzle_temperature = 220,220,220,220,220,220
; nozzle_temperature_initial_layer = 220,220,220,220,220,220
; nozzle_temperature_range_high = 240,240,240,240,240,240
; nozzle_temperature_range_low = 190,190,190,190,190,190
; nozzle_type = hardened_steel
; nozzle_volume = 107
; only_one_wall_top = 1
; ooze_prevention = 0
; outer_wall_acceleration = 5000
; outer_wall_line_width = 0.42
; outer_wall_speed = 200
; overhang_1_4_speed = 0
; overhang_2_4_speed = 50
; overhang_3_4_speed = 30
; overhang_4_4_speed = 10
; overhang_fan_speed = 100,100,100,100,100,100
; overhang_fan_threshold = 50%,50%,50%,50%,50%,50%
; prime_tower_brim_width = 3
; prime_tower_width = 35
; prime_volume = 45
; print_compatible_printers = "Bambu Lab X1 Carbon 0.4 nozzle";"Bambu Lab X1 0.4 nozzle"
; print_host =
; print_sequence = by layer
; print_settings_id = 0.20mm Standard @BBL X1C
; printable_area = 0x0,256x0,256x256,0x256
; printable_height = 250
; printer_model = Bambu Lab X1 Carbon
; printer_settings_id = Bambu Lab X1 Carbon 0.4 nozzle
; printer_technology = FFF
; printer_variant = 0.4
; printhost_apikey =
; printhost_authorization_type = key
; printhost_cafile =
; printhost_password =
; printhost_port =
; printhost_ssl_ignore_revoke = 0
; printhost_user =
; raft_contact_distance = 0.1
; raft_expansion = 1.5
; raft_first_layer_density = 90%
; raft_first_layer_expansion = 2
; raft_layers = 0
; reduce_crossing_wall = 0
; reduce_fan_stop_start_freq = 1,1,1,1,1,1
; reduce_infill_retraction = 1
; required_nozzle_HRC = 3,3,3,3,3,3
; resolution = 0.012
; retract_before_wipe = 70%
; retract_length_toolchange = 2
; retract_restart_extra = 0
; retract_restart_extra_toolchange = 0
; retract_when_changing_layer = 1
; retraction_length = 0.8
; retraction_minimum_travel = 1
; retraction_speed = 30
; scan_first_layer = 1
; seam_position = aligned
; silent_mode = 0
; single_extruder_multi_material = 1
; skirt_distance = 2
; skirt_height = 1
; skirt_loops = 0
; slice_closing_radius = 0.049
; slicing_mode = regular
; slow_down_for_layer_cooling = 1,1,1,1,1,1
; slow_down_layer_time = 4,8,8,4,4,4
; slow_down_min_speed = 20,20,20,20,20,20
; solid_infill_filament = 1
; sparse_infill_density = 15%
; sparse_infill_filament = 1
; sparse_infill_line_width = 0.45
; sparse_infill_pattern = grid
; sparse_infill_speed = 270
; spiral_mode = 0
; standby_temperature_delta = -5
; support_angle = 0
; support_base_pattern = default
; support_base_pattern_spacing = 2.5
; support_bottom_interface_spacing = 0.5
; support_bottom_z_distance = 0.2
; support_critical_regions_only = 0
; support_expansion = 0
; support_filament = 0
; support_interface_bottom_layers = 2
; support_interface_filament = 0
; support_interface_loop_pattern = 0
; support_interface_pattern = auto
; support_interface_spacing = 0.5
; support_interface_speed = 80
; support_interface_top_layers = 2
; support_line_width = 0.42
; support_object_xy_distance = 0.35
; support_on_build_plate_only = 0
; support_speed = 150
; support_style = default
; support_threshold_angle = 30
; support_top_z_distance = 0.2
; support_type = normal(auto)
; temperature_vitrification = 55,55,55,55,55,55
; template_custom_gcode =
; textured_plate_temp = 55,55,55,55,55,55
; textured_plate_temp_initial_layer = 55,55,55,55,55,55
; thick_bridges = 0
; timelapse_type = 0
; top_shell_layers = 3
; top_shell_thickness = 0.6
; top_surface_acceleration = 2000
; top_surface_line_width = 0.42
; top_surface_pattern = monotonicline
; top_surface_speed = 200
; travel_speed = 480
; travel_speed_z = 0
; tree_support_branch_angle = 45
; tree_support_branch_diameter = 2
; tree_support_branch_distance = 5
; tree_support_wall_count = 1
; upward_compatible_machine =
; wall_distribution_count = 1
; wall_filament = 1
; wall_generator = classic
; wall_infill_order = inner wall/outer wall/infill
; wall_loops = 2
; wall_transition_angle = 10
; wall_transition_filter_deviation = 25%
; wall_transition_length = 100%
; wipe = 1
; wipe_distance = 2
; wipe_tower_no_sparse_layers = 0
; wipe_tower_rotation_angle = 0
; wipe_tower_x = 155,155,155,155,155,155,155,155,34.8149
; wipe_tower_y = 201.409,201.409,201.409,201.409,201.409,201.409,201.409,201.409,211.999
; xy_contour_compensation = 0
; xy_hole_compensation = 0
; z_hop = 0.4
; CONFIG_BLOCK_END
; EXECUTABLE_BLOCK_START
M73 P0 R11
M201 X20000 Y20000 Z500 E5000
M203 X500 Y500 Z20 E30
M204 P20000 R5000 T20000
M205 X9.00 Y9.00 Z3.00 E2.50
M106 S0
M106 P2 S0
; FEATURE: Custom
;===== machine: X1 =========================
;===== date: 20230110 =====================
;===== reset machine status =================
G91
M17 Z0.4 ; lower the z-motor current
G0 Z12 F300 ; lower the hotbed , to prevent the nozzle is below the hotbed
G0 Z-6;
G90
M17 X1.2 Y1.2 Z0.75 ; reset motor current to default
M960 S5 P1 ; turn on logo lamp
G90
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
M73.2 R1.0 ;Reset left time magnitude
M1002 set_gcode_claim_speed_level : 5
M221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem
G29.1 Z0.0 ; clear z-trim value first
;===== heatbed preheat ====================
M1002 gcode_claim_action : 2
M140 S35 ;set bed temp
M190 S35 ;wait for bed temp
;=========register first layer scan=====
M977 S1 P60
;=============turn on fans to prevent PLA jamming=================
;Prevent PLA from jamming
M106 P2 S100 ; turn on big fan ,to cool down toolhead
;===== prepare print temperature and material ==========
M104 S220 ;set extruder temp
G91
G0 Z10 F1200
G90
G28 X
M975 S1 ; turn on
G1 X60 F12000
M73 P39 R6
G1 Y245
G1 Y265 F3000
M620 M
M620 S0A ; switch material if AMS exist
M109 S220
G1 X120 F12000
G1 X20 Y50 F12000
G1 Y-3
T0
G1 X54 F12000
M73 P40 R6
G1 Y265
M400
M621 S0A
M412 S1 ; ===turn on filament runout detection===
M109 S250 ;set nozzle to common flush temp
M106 P1 S0
G92 E0
G1 E50 F200
M400
M104 S220
G92 E0
G1 E50 F200
M400
M106 P1 S255
G92 E0
G1 E5 F300
M109 S200 ; drop nozzle temp, make filament shink a bit
G92 E0
G1 E-0.5 F300
G1 X70 F9000
M73 P42 R6
G1 X76 F15000
M73 P45 R6
G1 X65 F15000
G1 X76 F15000
G1 X65 F15000; shake to put down garbage
G1 X80 F6000
G1 X95 F15000
G1 X80 F15000
G1 X165 F15000; wipe and shake
M400
M106 P1 S0
;===== prepare print temperature and material end =====
;===== wipe nozzle ===============================
M1002 gcode_claim_action : 14
M975 S1
M106 S255
G1 X65 Y230 F18000
G1 Y264 F6000
M109 S200
G1 X100 F18000 ; first wipe mouth
G0 X135 Y253 F20000 ; move to exposed steel surface edge
G28 Z P0 T300; home z with low precision,permit 300deg temperature
G29.2 S0 ; turn off ABL
G0 Z5 F20000
G1 X60 Y265
G92 E0
G1 E-0.5 F300 ; retrack more
G1 X100 F5000; second wipe mouth
G1 X70 F15000
G1 X100 F5000
G1 X70 F15000
G1 X100 F5000
G1 X70 F15000
G1 X100 F5000
G1 X70 F15000
G1 X90 F5000
G0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle
M104 S140 ; set temp down to heatbed acceptable
M106 S255 ; turn on fan (G28 has turn off fan)
M221 S; push soft endstop status
M221 Z0 ;turn off Z axis endstop
G0 Z0.5 F20000
G0 X125 Y259.5 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y262.5
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y260.0
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y262.0
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y260.5
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y261.5
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y261.0
G0 Z-1.01
G0 X131 F211
G0 X124
G0 X128
G2 I0.5 J0 F300
G2 I0.5 J0 F300
G2 I0.5 J0 F300
M73 P45 R5
G2 I0.5 J0 F300
M109 S140 ; wait nozzle temp down to heatbed acceptable
G2 I0.5 J0 F3000
M73 P46 R5
G2 I0.5 J0 F3000
G2 I0.5 J0 F3000
G2 I0.5 J0 F3000
M221 R; pop softend status
G1 Z10 F1200
M400
G1 Z10
G1 F30000
G1 X230 Y15
G29.2 S1 ; turn on ABL
;G28 ; home again after hard wipe mouth
M106 S0 ; turn off fan , too noisy
;===== wipe nozzle end ================================
;===== bed leveling ==================================
M1002 judge_flag g29_before_print_flag
M622 J1
M1002 gcode_claim_action : 1
G29 A X125 Y124.5 I68.4281 J100.837
M400
M500 ; save cali data
M623
;===== bed leveling end ================================
;===== home after wipe mouth============================
M1002 judge_flag g29_before_print_flag
M622 J0
M1002 gcode_claim_action : 13
G28
M623
;===== home after wipe mouth end =======================
M975 S1 ; turn on vibration supression
;===== check scanner clarity ===========================
M972 S5 P0
;===== check scanner clarity end =======================
;=============turn on fans to prevent PLA jamming=================
;Prevent PLA from jamming
M106 P2 S100 ; turn on big fan ,to cool down toolhead
M104 S220 ; set extrude temp earlier, to reduce wait time
;===== mech mode fast check============================
G1 X128 Y128 Z10 F20000
M400 P200
M970.3 Q1 A7 B30 C80 H15 K0
M974 Q1 S2 P0
G1 X128 Y128 Z10 F20000
M400 P200
M970.3 Q0 A7 B30 C90 Q0 H15 K0
M974 Q0 S2 P0
M975 S1
G1 F30000
G1 X230 Y15
G28 X ; re-home XY
;===== mech mode fast check============================
;start heatbed scan====================================
M976 S2 P1
G90
M73 P47 R5
G1 X128 Y128 F20000
M976 S3 P2 ;register void printing detection
;===== noozle load line ===============================
M975 S1
G90
M83
T1000
G1 X18.0 Y1.0 Z0.8 F18000;Move to start position
M109 S220
G1 Z0.2
G0 E2 F300
G0 X240 E15 F6033.27
G0 Y11 E0.700 F1508.32
G0 X239.5
G0 E0.2
G0 Y1.5 E0.700
G0 X18 E15 F6033.27
M400
;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==
;curr_bed_type=Cool Plate
;===== draw extrinsic para cali paint =================
M1002 judge_flag extrude_cali_flag
M622 J1
M1002 gcode_claim_action : 8
T1000
G0 F3000 X28.000 Y19.500 Z0.200
G1 F1200.0 X28.000 Y45.000 Z0.200 E0.933
G1 F1200.0 X28.500 Y45.000 Z0.200 E0.018
G1 F1200.0 X28.500 Y19.500 Z0.200 E0.933
G1 F1200.0 X31.000 Y19.500 Z0.200 E0.091
G1 F1200.0 X31.000 Y49.000 Z0.200 E1.080
G1 F1200.0 X37.500 Y49.000 Z0.200 E0.238
G1 F1200.0 X37.500 Y60.000 Z0.200 E0.403
M73 P48 R5
G1 F1200.0 X42.500 Y60.000 Z0.200 E0.183
G1 F1200.0 X42.500 Y49.000 Z0.200 E0.403
G1 F1200.0 X48.000 Y49.000 Z0.200 E0.201
G1 F1200.0 X48.000 Y20.000 Z0.200 E1.061
G1 F1200.0 X30.000 Y20.000 Z0.200 E0.659
G1 F1200.0 X30.000 Y41.000 Z0.200 E0.769
M73 P49 R5
G1 F1200.0 X50.000 Y41.000 Z0.200 E0.732
G1 F1200.0 X50.000 Y34.000 Z0.200 E0.256
G1 F1200.0 X30.000 Y34.000 Z0.200 E0.732
G1 F1500.000 E-0.800
;=========== extruder cali extrusion ==================
T1000
M83
M204 S5000
G0 X35.000 Y18.000 Z0.300 F30000 E0
G1 F1500.000 E0.800
M106 S0 ; turn off fan
G0 X185.000 E9.35441 F6033.27
G0 X187 Z0
G1 F1500.000 E-0.800
G0 Z1
G0 X180 Z0.3 F18000
M900 L1000.0 M1.0
M900 K0.040
G0 X45.000 F30000
G0 Y20.000 F30000
G1 F1500.000 E0.800
G1 X65.000 E1.24726 F1508.32
G1 X70.000 E0.31181 F1508.32
G1 X75.000 E0.31181 F6033.27
M73 P50 R5
G1 X80.000 E0.31181 F1508.32
G1 X85.000 E0.31181 F6033.27
G1 X90.000 E0.31181 F1508.32
G1 X95.000 E0.31181 F6033.27
G1 X100.000 E0.31181 F1508.32
G1 X105.000 E0.31181 F6033.27
G1 X110.000 E0.31181 F1508.32
G1 X115.000 E0.31181 F6033.27
G1 X120.000 E0.31181 F1508.32
G1 X125.000 E0.31181 F6033.27
G1 X130.000 E0.31181 F1508.32
G1 X135.000 E0.31181 F6033.27
G1 X140.000 E0.31181 F1508.32
M73 P51 R5
G1 X145.000 E0.31181 F6033.27
G1 X150.000 E0.31181 F1508.32
G1 X155.000 E0.31181 F6033.27
G1 X160.000 E0.31181 F1508.32
G1 X165.000 E0.31181 F6033.27
G1 X170.000 E0.31181 F1508.32
G1 X175.000 E0.31181 F6033.27
G1 X180.000 E0.31181 F6033.27
G1 F1500.000 E-0.800
G1 X183 Z0.15 F30000
G1 X185
G1 Z1.0
G0 Y18.000 F30000 ; move y to clear pos
G1 Z0.3
M400
G0 X45.000 F30000
M900 K0.020
G0 X45.000 F30000
G0 Y22.000 F30000
G1 F1500.000 E0.800
G1 X65.000 E1.24726 F1508.32
M73 P52 R5
G1 X70.000 E0.31181 F1508.32
G1 X75.000 E0.31181 F6033.27
G1 X80.000 E0.31181 F1508.32
G1 X85.000 E0.31181 F6033.27
G1 X90.000 E0.31181 F1508.32
G1 X95.000 E0.31181 F6033.27
G1 X100.000 E0.31181 F1508.32
M73 P53 R5
G1 X105.000 E0.31181 F6033.27
G1 X110.000 E0.31181 F1508.32
G1 X115.000 E0.31181 F6033.27
G1 X120.000 E0.31181 F1508.32
G1 X125.000 E0.31181 F6033.27
G1 X130.000 E0.31181 F1508.32
G1 X135.000 E0.31181 F6033.27
G1 X140.000 E0.31181 F1508.32
G1 X145.000 E0.31181 F6033.27
M73 P54 R5
G1 X150.000 E0.31181 F1508.32
G1 X155.000 E0.31181 F6033.27
G1 X160.000 E0.31181 F1508.32
G1 X165.000 E0.31181 F6033.27
G1 X170.000 E0.31181 F1508.32
G1 X175.000 E0.31181 F6033.27
G1 X180.000 E0.31181 F6033.27
G1 F1500.000 E-0.800
G1 X183 Z0.15 F30000
G1 X185
G1 Z1.0
G0 Y18.000 F30000 ; move y to clear pos
G1 Z0.3
M400
G0 X45.000 F30000
M900 K0.000
G0 X45.000 F30000
G0 Y24.000 F30000
G1 F1500.000 E0.800
G1 X65.000 E1.24726 F1508.32
G1 X70.000 E0.31181 F1508.32
G1 X75.000 E0.31181 F6033.27
G1 X80.000 E0.31181 F1508.32
G1 X85.000 E0.31181 F6033.27
G1 X90.000 E0.31181 F1508.32
G1 X95.000 E0.31181 F6033.27
G1 X100.000 E0.31181 F1508.32
G1 X105.000 E0.31181 F6033.27
G1 X110.000 E0.31181 F1508.32
G1 X115.000 E0.31181 F6033.27
G1 X120.000 E0.31181 F1508.32
G1 X125.000 E0.31181 F6033.27
G1 X130.000 E0.31181 F1508.32
M73 P54 R4
G1 X135.000 E0.31181 F6033.27
G1 X140.000 E0.31181 F1508.32
G1 X145.000 E0.31181 F6033.27
M73 P55 R4
G1 X150.000 E0.31181 F1508.32
G1 X155.000 E0.31181 F6033.27
G1 X160.000 E0.31181 F1508.32
G1 X165.000 E0.31181 F6033.27
G1 X170.000 E0.31181 F1508.32
G1 X175.000 E0.31181 F6033.27
G1 X180.000 E0.31181 F6033.27
G1 F1500.000 E-0.800
G1 X183 Z0.15 F30000
G1 X185
G1 Z1.0
G0 Y18.000 F30000 ; move y to clear pos
G1 Z0.3
G0 X45.000 F30000 ; move to start point
M623 ; end of "draw extrinsic para cali paint"
M104 S140
;=========== laser and rgb calibration ===========
M400
M18 E
M500 R
M973 S3 P14
G1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos
T1100
G1 X143.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos
M400 P100
M960 S1 P1
M400 P100
M973 S6 P0; use auto exposure for horizontal laser by xcam
M960 S0 P0
G1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos
M960 S2 P1
M400 P100
M973 S6 P1; use auto exposure for vertical laser by xcam
M960 S0 P0
;=========== handeye calibration ======================
M1002 judge_flag extrude_cali_flag
M622 J1
M973 S3 P1 ; camera start stream
M400 P500
M973 S1
G0 F6000 X40.000 Y54.500 Z0.000
M960 S0 P1
M973 S1
M400 P800
M971 S6 P0
M973 S2 P16000
M400 P500
G0 Z0.000 F12000
M960 S0 P0
M960 S1 P1
G0 Y37.50
M400 P200
M971 S5 P1
M960 S0 P0
M960 S2 P1
G0 Y54.50
M400 P200
M971 S5 P3
G0 Z0.500 F12000
M960 S0 P0
M960 S1 P1
G0 Y37.50
M400 P200
M971 S5 P2
M960 S0 P0
M960 S2 P1
G0 Y54.50
M400 P500
M971 S5 P4
M963 S1
M400 P1500
M964
T1100
G0 F6000 X40.000 Y54.500 Z0.000
M960 S0 P1
M973 S1
M400 P800
M971 S6 P0
M973 S2 P16000
M400 P500
G0 Z0.000 F12000
M960 S0 P0
M960 S1 P1
G0 Y37.50
M400 P200
M971 S5 P1
M960 S0 P0
M960 S2 P1
G0 Y54.50
M400 P200
M971 S5 P3
G0 Z0.500 F12000
M960 S0 P0
M960 S1 P1
G0 Y37.50
M400 P200
M971 S5 P2
M960 S0 P0
M960 S2 P1
G0 Y54.50
M400 P500
M971 S5 P4
M963 S1
M400 P1500
M964
T1100
G1 Z3 F3000
M400
M500 ; save cali data
M104 S220 ; rise nozzle temp now ,to reduce temp waiting time.
T1100
M400 P400
M960 S0 P0
G0 F30000.000 Y22.000 X65.000 Z0.000
M400 P400
M960 S1 P1
M400 P50
M969 S1 N3 A2000
G0 F360.000 X181.000 Z0.000
M980.3 A70.000 B94.1106 C5.000 D376.442 E5.000 F175.000 H1.000 I0.000 J0.020 K0.040
M400 P100
G0 F20000
G0 Z1 ; rise nozzle up
T1000 ; change to nozzle space
G0 X45.000 Y16.000 F30000 ; move to test line pos
M969 S0 ; turn off scanning
M960 S0 P0
G1 Z2 F20000
T1000
G0 X45.000 Y16.000 F30000 E0
M109 S220
G0 Z0.3
G1 F1500.000 E3.600
G1 X65.000 E1.24726 F1508.32
G1 X70.000 E0.31181 F1508.32
G1 X75.000 E0.31181 F6033.27
G1 X80.000 E0.31181 F1508.32
G1 X85.000 E0.31181 F6033.27
G1 X90.000 E0.31181 F1508.32
G1 X95.000 E0.31181 F6033.27
G1 X100.000 E0.31181 F1508.32
G1 X105.000 E0.31181 F6033.27
G1 X110.000 E0.31181 F1508.32
G1 X115.000 E0.31181 F6033.27
G1 X120.000 E0.31181 F1508.32
G1 X125.000 E0.31181 F6033.27
G1 X130.000 E0.31181 F1508.32
G1 X135.000 E0.31181 F6033.27
; see if extrude cali success, if not ,use default value
M1002 judge_last_extrude_cali_success
M622 J0
M400
M900 K0.02 M0.125481
M623
G1 X140.000 E0.31181 F1508.32
G1 X145.000 E0.31181 F6033.27
G1 X150.000 E0.31181 F1508.32
G1 X155.000 E0.31181 F6033.27
G1 X160.000 E0.31181 F1508.32
G1 X165.000 E0.31181 F6033.27
G1 X170.000 E0.31181 F1508.32
G1 X175.000 E0.31181 F6033.27
G1 X180.000 E0.31181 F1508.32
G1 X185.000 E0.31181 F6033.27
G1 X190.000 E0.31181 F1508.32
G1 X195.000 E0.31181 F6033.27
G1 X200.000 E0.31181 F1508.32
G1 X205.000 E0.31181 F6033.27
G1 X210.000 E0.31181 F1508.32
G1 X215.000 E0.31181 F6033.27
G1 X220.000 E0.31181 F1508.32
G1 X225.000 E0.31181 F6033.27
M973 S4
M623
;========turn off light and wait extrude temperature =============
M1002 gcode_claim_action : 0
M973 S4 ; turn off scanner
M400 ; wait all motion done before implement the emprical L parameters
;M900 L500.0 ; Empirical parameters
M109 S220
M960 S1 P0 ; turn off laser
M960 S2 P0 ; turn off laser
M106 S0 ; turn off fan
M106 P2 S0 ; turn off big fan
M106 P3 S0 ; turn off chamber fan
M975 S1 ; turn on mech mode supression
G90
M83
T1000
G1 X128.0 Y253.0 Z0.2 F6000.0;Move to start position
M109 S220
G0 X253 E6.4 F5027.73
G0 Y128 E6.4
G0 X252.5
G0 Y252.5 E6.4
G0 X128 E6.4
G90
G21
M83 ; only support relative e
M620 S0A
M204 S9000
M73 P56 R4
G1 Z3 F1200
G1 X70 F21000
G1 Y245
G1 Y265 F3000
M400
M106 P1 S0
M106 P2 S0
G1 X90 F3000
G1 Y255 F4000
G1 X100 F5000
G1 X120 F15000
G1 X20 Y50 F21000
G1 Y-3
M620.1 X F21000
T0
M620.1 E F523
; always use highest temperature to flush
M400
M109 S240
M400
G92 E0
; FLUSH_START
M400
M109 S220
G1 E2 F523 ;Compensate for filament spillage during waiting temperature
; FLUSH_END
M400
G92 E0
G1 E-2 F1800
M106 P1 S255
M400 S3
G1 X80 F15000
G1 X60 F15000
G1 X80 F15000
G1 X60 F15000; shake to put down garbage
G1 X70 F5000
G1 X90 F3000
G1 Y255 F4000
G1 X100 F5000
G1 Y265 F5000
G1 X70 F10000
G1 X100 F5000
G1 X70 F10000
G1 X100 F5000
G1 X165 F15000; wipe and shake
G1 Y256 ; move Y to aside, prevent collision
M400
G1 Z0 F3000
M204 S500
M621 S0A
;_FORCE_RESUME_FAN_SPEED
; filament start gcode
M981 S1 P20000 ;open spaghetti detector
G1 Z.2 F28800
M106 S0
M106 P2 S0
; CHANGE_LAYER
; Z_HEIGHT: 0.2
; LAYER_HEIGHT: 0.2
; layer num/total_layer_count: 1/2
M622.1 S1 ; for prev firware, default turned on
M1002 judge_flag timelapse_record_flag
M622 J1
; timelapse without wipe tower
M971 S11 C10 O0
M623
; update layer progress
M73 L1
M991 S0 P0 ;notify layer change
M204 S500
G1 E-.8 F1800
G1 X134.75 Y123.25 Z.6 F28800
G1 Z.2
G1 E.8 F1800
; FEATURE: Outer wall
; LINE_WIDTH: 0.5
; LAYER_HEIGHT: 0.2
G1 F3000
M73 P57 R4
G1 X125.25 Y123.25 E.35384
G1 X125.25 Y122.75 E.01862
G1 X134.75 Y122.75 E.35384
G1 X134.75 Y123.19 E.01639
G1 X134.67 Y123.249 F28800
; LAYER_HEIGHT: 0.2
; FEATURE: Prime tower
; LINE_WIDTH: 0.5
;--------------------
; CP TOOLCHANGE START
; toolchange #1
; material : PLA -> PLA
;--------------------
M220 S100
; filament end gcode
M106 P3 S0
G1 E-1.4 F1800
; WIPE_START
G1 F23040
G1 X132.75 Y123.203 E-.57
; WIPE_END
G1 E-.03 F1800
M620 S1A
M204 S9000
G17
G2 Z0.6 I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift
G1 Z3.2 F1200
G1 X70 F21000
G1 Y245
G1 Y265 F3000
M400
M106 P1 S0
M106 P2 S0
M104 S220
G1 X90
G1 Y255 F4000
M73 P60 R4
G1 X100 F5000
G1 X120 F15000
M73 P61 R4
G1 X20 Y50 F21000
G1 Y-3
M620.1 X F21000
T1
M620.1 E F299
; always use highest temperature to flush
M400
M109 S240
M400
G92 E0
; FLUSH_START
G1 E23.7 F523 ; do not need pulsatile flushing for start part
G1 E0.914611 F50
G1 E10.518 F523
G1 E0.914611 F50
G1 E10.518 F299
G1 E0.914611 F50
G1 E10.518 F299
G1 E0.914611 F50
G1 E10.518 F299
; FLUSH_END
G1 E-2 F1800
G1 E2 F300
; FLUSH_START
M400
M109 S220
G1 E2 F299 ;Compensate for filament spillage during waiting temperature
; FLUSH_END
M400
G92 E0
G1 E-2 F1800
M106 P1 S255
M400 S3
G1 X80 F15000
G1 X60
G1 X80
G1 X60; shake to put down garbage
G1 X70 F5000
G1 X90 F3000
G1 Y255 F4000
G1 X100 F5000
G1 Y265
G1 X70 F10000
G1 X100 F5000
G1 X70 F10000
G1 X100 F5000
G1 X165 F15000; wipe and shake
G1 Y256 ; move Y to aside, prevent collision
M400
G1 Z0.2 F3000
M204 S500
M621 S1A
M106 S0
M106 P2 S0
G1 X155.5 Y199.909 Z.6 F28800
G1 Z.2
G1 E2 F1800
; filament start gcode
;Prevent PLA from jamming
G4 S0
G1 X155.000 Y199.909
G1 Y199.409
G1 X190.000 E1.3302
G1 Y219.909 E0.7791
G1 X155.000 E1.3302
M73 P62 R4
G1 Y199.409 E0.7791
G1 X155.500 Y199.909
; CP TOOLCHANGE WIPE
; LINE_WIDTH: 0.575000
G1 X189.625 E1.4915 F990
G1 Y200.409 E0.0219
G1 X155.375 E1.4970 F1125
M73 P63 R4
G1 Y200.909 E0.0219
G1 X189.625 E1.4970 F1374
G1 Y201.409 E0.0219
G1 X155.375 E1.4970 F2625
G1 Y201.909 E0.0219
G1 X189.625 E1.4970 F2675
G1 Y202.409 E0.0219
G1 X155.375 E1.4970 F2725
G1 Y202.909 E0.0219
G1 X189.625 E1.4970 F2775
G1 Y203.409 E0.0219
G1 X155.375 E1.4970 F2825
G1 Y203.909 E0.0219
M73 P66 R3
G1 X189.625 E1.4970 F2875
G1 Y204.409 E0.0219
G1 X155.375 E1.4970 F2925
G1 Y204.909 E0.0219
G1 X189.625 E1.4970 F2975
G1 Y205.409 E0.0219
G1 X155.375 E1.4970 F3000
G1 Y205.909 E0.0219
G1 X189.625 E1.4970
G1 Y206.409 E0.0219
M73 P67 R3
G1 X155.375 E1.4970
G1 Y206.909 E0.0219
G1 X189.625 E1.4970
G1 Y207.409 E0.0219
G1 X155.375 E1.4970
G1 Y207.909 E0.0219
G1 X189.625 E1.4970
G1 Y208.409 E0.0219
G1 X155.375 E1.4970
G1 Y208.909 E0.0219
G1 X189.625 E1.4970
G1 Y209.409 E0.0219
G1 X155.375 E1.4970
G1 Y209.909 E0.0219
G1 X189.625 E1.4970
G1 Y210.409 E0.0219
G1 X155.375 E1.4970
G1 Y210.909 E0.0219
G1 X189.625 E1.4970
G1 Y211.409 E0.0219
G1 X155.375 E1.4970
G1 Y211.909 E0.0219
G1 X189.625 E1.4970
G1 Y212.409 E0.0219
G1 X155.375 E1.4970
G1 Y212.909 E0.0219
G1 X189.625 E1.4970
G1 Y213.409 E0.0219
G1 X155.375 E1.4970
G1 Y213.909 E0.0219
G1 X189.625 E1.4970
G1 Y214.409 E0.0219
M73 P68 R3
G1 X155.375 E1.4970
G1 Y214.909 E0.0219
M73 P69 R3
G1 X189.625 E1.4970
G1 Y215.409 E0.0219
G1 X155.375 E1.4970
G1 Y215.909 E0.0219
M73 P70 R3
G1 X189.625 E1.4970
G1 Y216.409 E0.0219
G1 X155.375 E1.4970
G1 Y216.909 E0.0219
G1 X189.625 E1.4970
G1 Y217.409 E0.0219
G1 X155.375 E1.4970
G1 Y217.909 E0.0219
G1 X189.625 E1.4970
G1 Y218.409 E0.0219
G1 X155.375 E1.4970
G1 X188.750 F7200
; LINE_WIDTH: 0.500000
G1 F28800
G4 S0
G92 E0
; CP TOOLCHANGE END
;------------------
M73 P71 R3
G1 X155.500 Y219.409 F7200
; LAYER_HEIGHT: 0.2
; FEATURE: Prime tower
; LINE_WIDTH: 0.5
G1 Y218.909 E0.0190 F3000
G1 X189.500 E1.2922
G1 Y219.409 E0.0190
G1 X155.500 E1.2922
G1 Y218.909
G1 X154.543
G1 Y220.366
G1 Y198.952 E0.8139
G1 X190.457 E1.3650
G1 Y220.366 E0.8139
G1 X154.543 E1.3650
G1 X154.086
G1 Y220.823
G1 Y198.495 E0.8486
M73 P72 R3
G1 X190.914 E1.3997
G1 Y220.823 E0.8486
G1 X154.086 E1.3997
G1 X153.629
G1 Y221.280
G1 Y198.038 E0.8834
G1 X191.371 E1.4345
M73 P73 R2
G1 Y221.280 E0.8834
G1 X153.629 E1.4345
G1 X153.172
G1 Y221.737
G1 Y197.581 E0.9181
G1 X191.828 E1.4692
G1 Y221.737 E0.9181
G1 X153.172 E1.4692
G1 X152.715
G1 Y222.194
G1 Y197.124 E0.9528
G1 X192.285 E1.5039
G1 Y222.194 E0.9528
G1 X152.715 E1.5039
M73 P74 R2
G1 X152.258
G1 Y222.651
G1 Y196.667 E0.9876
G1 X192.742 E1.5387
G1 Y222.651 E0.9876
G1 X152.258 E1.5387
G1 X151.800
G1 Y223.109
G1 Y196.209 E1.0223
G1 X193.200 E1.5734
G1 Y223.109 E1.0223
G1 X151.800 E1.5734
G1 E-.56 F1800
; WIPE_START
G1 F23040
G1 X151.8 Y221.109 E-.228
; WIPE_END
G1 E-.012 F1800
G17
M73 P75 R2
G3 Z.6 I1.195 J-.232 P1 F28800
G1 X134.75 Y133.25 Z.6
G1 Z.2
G1 E.8 F1800
; FEATURE: Outer wall
; LINE_WIDTH: 0.5
; LAYER_HEIGHT: 0.2
G1 F3000
G1 X125.25 Y133.25 E.35384
G1 X125.25 Y132.75 E.01862
G1 X134.75 Y132.75 E.35384
G1 X134.75 Y133.19 E.01639
G1 X134.67 Y133.249 F28800
M106 S255
M106 P2 S178
; CHANGE_LAYER
; Z_HEIGHT: 0.4
; LAYER_HEIGHT: 0.2
G1 E-.56 F1800
; WIPE_START
G1 F23040
G1 X132.75 Y133.203 E-.228
; WIPE_END
G1 E-.012 F1800
; layer num/total_layer_count: 2/2
M622.1 S1 ; for prev firware, default turned on
M1002 judge_flag timelapse_record_flag
M622 J1
; timelapse without wipe tower
M971 S11 C10 O0
M623
; update layer progress
M73 L2
M991 S0 P1 ;notify layer change
; open powerlost recovery
M1003 S1
M976 S1 P1 ; scan model before printing 2nd layer
M400 P100
G1 E.8
M204 S10000
G1 E-.8
G17
G3 Z.6 I-.052 J1.216 P1 F28800
G1 X134.79 Y133.29 Z.6
M73 P76 R2
G1 Z.4
G1 E.8 F1800
M204 S5000
; FEATURE: Outer wall
; LINE_WIDTH: 0.42
; LAYER_HEIGHT: 0.2
G1 F9547.055
G1 X125.21 Y133.29 E.29437
G1 X125.21 Y132.71 E.01782
G1 X134.79 Y132.71 E.29437
G1 X134.79 Y133.23 E.01598
M204 S10000
G1 X134.71 Y133.288 F28800
G1 X134.594 Y133
; FEATURE: Gap infill
; LINE_WIDTH: 0.230842
G1 F15000
G1 X125.406 Y133 E.1407
; LAYER_HEIGHT: 0.2
; FEATURE: Prime tower
; LINE_WIDTH: 0.5
;--------------------
; CP TOOLCHANGE START
; toolchange #2
; material : PLA -> PLA
;--------------------
M220 S100
; filament end gcode
M106 P3 S0
G1 E-1.4 F1800
; WIPE_START
G1 F23040
G1 X127.406 Y133 E-.57
; WIPE_END
G1 E-.03 F1800
M620 S0A
M204 S9000
G17
G2 Z0.8 I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift
M73 P77 R2
G1 Z3.4 F1200
G1 X70 F21000
G1 Y245
G1 Y265 F3000
M400
M106 P1 S0
M106 P2 S0
M104 S220
G1 X90
G1 Y255 F4000
G1 X100 F5000
G1 X120 F15000
G1 X20 Y50 F21000
G1 Y-3
M620.1 X F21000
T0
M620.1 E F523
; always use highest temperature to flush
M400
M109 S240
M400
G92 E0
; FLUSH_START
G1 E23.7 F299 ; do not need pulsatile flushing for start part
G1 E0.773255 F50
G1 E8.89243 F299
G1 E0.773255 F50
G1 E8.89243 F523
G1 E0.773255 F50
G1 E8.89243 F523
G1 E0.773255 F50
G1 E8.89243 F523
; FLUSH_END
M73 P78 R2
G1 E-2 F1800
G1 E2 F300
; FLUSH_START
G1 E11.2253 F523
G1 E1.24726 F50
G1 E11.2253 F523
G1 E1.24726 F50
G1 E11.2253 F523
G1 E1.24726 F50
G1 E11.2253 F523
G1 E1.24726 F50
G1 E11.2253 F523
G1 E1.24726 F50
; FLUSH_END
G1 E-2 F1800
G1 E2 F300
; FLUSH_START
M73 P79 R2
G1 E11.2253 F523
G1 E1.24726 F50
G1 E11.2253 F523
G1 E1.24726 F50
G1 E11.2253 F523
G1 E1.24726 F50
G1 E11.2253 F523
G1 E1.24726 F50
G1 E11.2253 F523
G1 E1.24726 F50
; FLUSH_END
G1 E-2 F1800
G1 E2 F300
; FLUSH_START
M400
M109 S220
G1 E2 F523 ;Compensate for filament spillage during waiting temperature
; FLUSH_END
M400
G92 E0
G1 E-2 F1800
M106 P1 S255
M400 S3
G1 X80 F15000
G1 X60
M73 P80 R2
G1 X80
G1 X60; shake to put down garbage
G1 X70 F5000
G1 X90 F3000
G1 Y255 F4000
G1 X100 F5000
G1 Y265
G1 X70 F10000
G1 X100 F5000
G1 X70 F10000
G1 X100 F5000
G1 X165 F15000; wipe and shake
G1 Y256 ; move Y to aside, prevent collision
M400
G1 Z0.4 F3000
M204 S10000
M621 S0A
M106 S255
M106 P2 S178
G1 X155.5 Y199.909 Z.8 F28800
M73 P81 R2
G1 Z.4
G1 E2 F1800
; filament start gcode
G4 S0
G1 X155.000 Y199.909
G1 Y199.409
G1 X190.000 E1.3302
G1 Y219.909 E0.7791
G1 X155.000 E1.3302
G1 Y199.409 E0.7791
G1 X155.500 Y199.909
; CP TOOLCHANGE WIPE
G1 X189.625 E1.2970 F1584
G1 Y201.242 E0.0507
G1 X155.375 E1.3017 F1800
G1 Y202.576 E0.0507
M73 P86 R1
G1 X189.625 E1.3017 F2198
G1 Y203.909 E0.0507
G1 X155.375 E1.3017 F4200
G1 Y205.242 E0.0507
G1 X189.625 E1.3017 F4250
G1 Y206.576 E0.0507
G1 X155.375 E1.3017 F4300
G1 Y207.909 E0.0507
G1 X189.625 E1.3017 F4350
G1 Y209.242 E0.0507
G1 X155.375 E1.3017 F4400
G1 Y210.576 E0.0507
G1 X189.625 E1.3017 F4450
G1 Y211.909 E0.0507
G1 X155.375 E1.3017 F4500
G1 Y213.242 E0.0507
G1 X189.625 E1.3017 F4550
G1 Y214.576 E0.0507
G1 X155.375 E1.3017 F4600
G1 Y215.909 E0.0507
G1 X189.625 E1.3017 F4650
G1 Y217.242 E0.0507
G1 X155.375 E1.3017 F4700
G1 Y218.576 E0.0507
G1 X189.625 E1.3017 F4750
G1 X156.250 F7200
G1 F28800
G4 S0
G92 E0
; CP TOOLCHANGE END
;------------------
G1 X189.500 Y219.409 F7200
; LAYER_HEIGHT: 0.2
; FEATURE: Prime tower
; LINE_WIDTH: 0.5
G1 X155.500
G1 X154.543
M73 P87 R1
G1 Y220.366
G1 Y198.952 E0.8139
M73 P88 R1
G1 X190.457 E1.3650
G1 Y220.366 E0.8139
G1 X154.543 E1.3650
G1 X154.086
G1 Y220.823
G1 Y198.495 E0.8486
M73 P89 R1
G1 X190.914 E1.3997
G1 Y220.823 E0.8486
G1 X154.086 E1.3997
G1 X153.629
G1 Y221.280
G1 Y198.038 E0.8834
M73 P90 R1
G1 X191.371 E1.4345
G1 Y221.280 E0.8834
G1 X153.629 E1.4345
G1 X153.172
G1 Y221.737
M73 P91 R0
G1 Y197.581 E0.9181
G1 X191.828 E1.4692
G1 Y221.737 E0.9181
G1 X153.172 E1.4692
G1 X152.715
G1 Y222.194
G1 Y197.124 E0.9528
M73 P92 R0
G1 X192.285 E1.5039
G1 Y222.194 E0.9528
G1 X152.715 E1.5039
G1 E-.56 F1800
; WIPE_START
M73 P93 R0
G1 F23040
G1 X152.715 Y220.194 E-.228
; WIPE_END
G1 E-.012 F1800
G17
G3 Z.8 I1.197 J-.221 P1 F28800
G1 X134.79 Y123.29 Z.8
G1 Z.4
G1 E.8 F1800
M204 S5000
; FEATURE: Outer wall
; LINE_WIDTH: 0.42
; LAYER_HEIGHT: 0.2
G1 F12000
G1 X125.21 Y123.29 E.29437
G1 X125.21 Y122.71 E.01782
G1 X134.79 Y122.71 E.29437
G1 X134.79 Y123.23 E.01598
M204 S10000
G1 X134.71 Y123.288 F28800
M73 P94 R0
G1 X134.594 Y123
; FEATURE: Gap infill
; LINE_WIDTH: 0.230842
G1 F15000
G1 X125.406 Y123 E.1407
; close powerlost recovery
M1003 S0
G1 E-.56 F1800
; WIPE_START
G1 F23040
G1 X127.406 Y123 E-.228
; WIPE_END
G1 E-.012 F1800
M106 S0
M106 P2 S0
M981 S0 P20000 ; close spaghetti detector
; FEATURE: Custom
; filament end gcode
M106 P3 S0
;===== date: 20230110 =====================
M991 S0 P-1 ;end traditional timelapse immediately
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-0.8 F1800 ; retract
G1 Z0.9 F900 ; lower z a little
G1 X65 Y245 F12000 ; move to safe pos
G1 Y265 F3000
G1 X65 Y245 F12000
G1 Y265 F3000
M140 S0 ; turn off bed
M106 S0 ; turn off fan
M106 P2 S0 ; turn off remote part cooling fan
M106 P3 S0 ; turn off chamber cooling fan
G1 X100 F12000 ; wipe
; pull back filament to AMS
M620 S255
G1 X20 Y50 F12000
G1 Y-3
T255
G1 X65 F12000
M73 P95 R0
G1 Y265
G1 X100 F12000 ; wipe
M621 S255
M104 S0 ; turn off hotend
M400 ; wait all motion done
M17 S
M17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom
G1 Z100.4 F600
G1 Z98.4
M400 P100
M17 R ; restore z current
G90
G1 X128 Y250 F3600
M220 S100 ; Reset feedrate magnitude
M201.2 K1.0 ; Reset acc magnitude
M73.2 R1.0 ;Reset left time magnitude
M1002 set_gcode_claim_speed_level : 0
M17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power
M73 P100 R0
; EXECUTABLE_BLOCK_END
$material = 0; // [0: All, 1: First, 2: Second]
module mat1()
if ($material == 0 || $material == 1)
color("red") children();
module mat2()
if ($material == 0 || $material == 2)
color("blue") children();
layer_height=0.2;
size=10;
line_thickness=1;
mat1()
cube([size, line_thickness, 4*layer_height]);
mat2()
translate([0, 10, 0])
cube([size, line_thickness, 4*layer_height]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment