Vì vậy, tôi có Raise3D Pro2 và tôi đang tìm cách hoàn thiện một kịch bản thay đổi công cụ cho nó, mục tiêu của nó là giảm hoặc loại bỏ nhựa thừa có xu hướng tích tụ trên vòi phun khi sử dụng máy đùn kép. Máy in sử dụng hương vị mã G của Marlin và mặc dù tôi không chắc vấn đề này, tôi đang cắt lát trong ý tưởng. Kịch bản được cho là chảy như sau:
- Rút lại công cụ hiện tại
- Di chuyển đến X30 Y300
- Kiểm tra xem công cụ hoạt động mới là T0
- Nếu T0, lau vòng tròn 2 mm
- Nếu T0, làm mát T1 đến 165C
- Nếu T0, đun nóng T0 đến 230C
- Nếu T0 và không phải lớp 1, phục hồi
- Nếu T0, lau lại vòi phun, lần này là cho công cụ mới
- Kiểm tra xem công cụ hoạt động mới có phải là T1 không
- Nếu T1, lau vòng tròn 2 mm
- Nếu T1, làm mát T0 đến 165C
- Nếu T1, làm nóng T1 đến 230C
- Nếu T1 và không phải lớp 1, phục hồi
- Nếu T1, lau lại vòi phun, lần này là cho công cụ mới
Kịch bản hiện tại tôi có như thế này:
; extruder switch gcode start
G10 S1; Retract for current nozzle
G1 X30 Y300 F6000; Move to X:30 Y:300
[if {new_extruder}=0]; LEFT Extruder is active (T0)
[if {new_extruder}=0]G12 P2 R2; Clean inactive nozzle 2mm circle
[if {new_extruder}=0]M104 S165 T1; Cool inactive extruder to 165c (T1)
[if {new_extruder}=0]M109 S230 T0; Heat active extruder to 230c (T0) and wait.
[[if {new_extruder}=0] and [{layer_index} NE 1]]G11; Recover current nozzle when not first layer
[if {new_extruder}=0]G12 P2 R2; Clean active nozzle 2mm circle
[if {new_extruder}=1]; RIGHT Extruder is active (T1)
[if {new_extruder}=1]G12 P2 R2; Clean inactive nozzle 2mm circle
[if {new_extruder}=1]M104 S165 T0; Cool inactive extruder to 165c (T0)
[if {new_extruder}=1]M109 S230 T1; Heat active extruder to 230c (T1) and wait.
[[if {new_extruder}=1] and [{layer_index} NE 1]]G11; Recover current nozzle
[if {new_extruder}=1]G12 P2 R2; Clean active nozzle 2mm circle
; extruder switch gcode end
Vấn đề là, khi tôi chạy một bản in với điều này, nó dường như không chạy tất cả các lệnh. Nó di chuyển và làm mát / sưởi ấm, nhưng rút lại / thu hồi và lau vòi dường như không đọc được. Tôi không chắc đó là do vấn đề về máy in hay cú pháp hay do các lệnh đó không hoạt động theo cách tôi nghĩ.
EDIT: (bởi Pᴀᴜʟsᴛᴇʀ2 - Đã thêm mã mới và logic trở lại)
Logic mới:
- Rút lại công cụ hiện tại
- Di chuyển đến X30 Y300
- Kiểm tra xem công cụ hoạt động mới là T0
- Nếu T0, lau vòng tròn 2 mm
- Nếu T0, làm mát T1 đến 165C
- Nếu T0, đun nóng T0 đến 230C
- Nếu T0 và không phải lớp 1, phục hồi
- Nếu T0, lau lại vòi phun, lần này là cho công cụ mới
- Kiểm tra xem công cụ hoạt động mới có phải là T1 không
- Nếu T1, lau vòng tròn 2 mm
- Nếu T1, làm mát T0 đến 165C
- Nếu T1, làm nóng T1 đến 230C
- Nếu T1 và không phải lớp 1, phục hồi
- Nếu T1, lau lại vòi phun, lần này là cho công cụ mới
Kịch bản mới tôi có như thế này:
; extruder switch gcode start
G10 S1; Retract for current nozzle
G1 X30 Y300 F6000; Move to X:30 Y:300
[if {new_extruder}=0]; LEFT Extruder is active (T0)
[if {new_extruder}=0]G12 P2 R2; Clean inactive nozzle 2mm circle
[if {new_extruder}=0]M104 S165 T1; Cool inactive extruder to 165c (T1)
[if {new_extruder}=0]M109 S230 T0; Heat active extruder to 230c (T0) and wait.
[[if {new_extruder}=0] and [{layer_index} NE 1]]G11; Recover current nozzle when not first layer
[if {new_extruder}=0]G12 P2 R2; Clean active nozzle 2mm circle
[if {new_extruder}=1]; RIGHT Extruder is active (T1)
[if {new_extruder}=1]G12 P2 R2; Clean inactive nozzle 2mm circle
[if {new_extruder}=1]M104 S165 T0; Cool inactive extruder to 165c (T0)
[if {new_extruder}=1]M109 S230 T1; Heat active extruder to 230c (T1) and wait.
[[if {new_extruder}=1] and [{layer_index} NE 1]]G11; Recover current nozzle
[if {new_extruder}=1]G12 P2 R2; Clean active nozzle 2mm circle
; extruder switch gcode end