Random X Purge Line - Tùy chỉnh vị trí vạch làm sạch đầu phun
Đoạn G-Code này giúp tạo một biến X ngẫu nhiên để xác định vị trí bắt đầu của vạch purge (làm sạch đầu phun), giúp tránh mòn bề mặt bàn in tại một điểm cố định.
Mô tả
Mình tạo cái này dựa trên các thiết lập cho máy MK4S của mình. Mình không rõ nó có hoạt động ổn định trên các dòng máy khác không, mọi người tự trải nghiệm nhé.
Bạn hãy sao chép và dán đoạn mã này vào phần Start G-Code trong tab Printers của PrusaSlicer. Nhớ sao lưu đoạn mã G-Code gốc của bạn vào Notepad trước để đề phòng trường hợp cần khôi phục lại nhé.
{local rnd_x = random(20, 80)*0.1}
{local purge_x = random(0, (print_bed_max[0] - 51) 10) 0.1}
M17 ; enable steppers
M862.1 P[nozzle_diameter] A{(filament_abrasive[0] ? 1 : 0)} F{(nozzle_high_flow[0] ? 1 : 0)} ; nozzle check
M862.3 P "[printer_model]" ; printer model check
M862.5 P2 ; g-code level check
M862.6 P"Input shaper" ; FW feature check
M115 U6.1.3+7898
M555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}
G90 ; use absolute coordinates
M83 ; extruder relative mode
M140 S[first_layer_bed_temperature] ; set bed temp
M104 T0 S{((filament_notes[0]=~/.HT_MBL10./) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.PET./) ? 175 : 170)} ; set extruder temp for bed leveling
M109 T0 R{((filament_notes[0]=~/.HT_MBL10./) ? (first_layer_temperature[0] - 10) : (filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX") ? 210 : (filament_type[0]=~/.PET./) ? 175 : 170)} ; wait for temp
M84 E ; turn off E motor
G28 ; home all without mesh bed level
G1 X{rnd_x} Y-4 Z5 F4800; (Original G1 X42 Y-4 Z5 F4800)
M302 S160 ; lower cold extrusion limit to 160C
{if filament_type[initial_tool]=="FLEX"}
G1 E-4 F2400 ; retraction
{else}
G1 E-2 F2400 ; retraction
{endif}
M84 E ; turn off E motor
G29 P9 X10 Y-4 W32 H4
{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}
G0 Z40 F10000
M190 S[first_layer_bed_temperature] ; wait for bed temp
M107
;
; MBL
;
M84 E ; turn off E motor
G29 P1 ; invalidate mbl & probe print area
G29 P1 X0 Y0 W50 H20 C ; probe near purge place
G29 P3.2 ; interpolate mbl probes
G29 P3.13 ; extrapolate mbl outside probe area
G29 A ; activate mbl
; prepare for purge
M104 S{first_layer_temperature[0]}
G0 X{purge_x} Y-4 Z15 F4800 ; move away and ready for the purge
M109 S{first_layer_temperature[0]}
G92 E0
M569 S0 E ; set spreadcycle mode for extruder
;
; Extrude purge line
;
G92 E0 ; reset extruder position
G1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning
G0 E7 X{purge_x + 15} Z0.2 F500 ; purge
G0 X{purge_x + 25} E4 F500 ; purge
G0 X{purge_x + 35} E4 F650 ; purge
G0 X{purge_x + 45} E4 F800 ; purge
G0 X{purge_x + 48} Z0.05 F8000 ; wipe, move close to the bed
G0 X{purge_x + 51} Z0.2 F8000 ; wipe, move quickly away from the bed
G92 E0
M221 S100 ; set flow to 100%
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!