Last active
November 29, 2024 22:46
-
-
Save alienboyxp/2f9b36e9628b67ca8b527c39b8ad1992 to your computer and use it in GitHub Desktop.
3Dwork.io - Klipper - Macro change_filament
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Current Version v_202306142036 | |
# Mas info - https://3dwork.gitbook.io/3dwork.io/klipper/mejoras/macros-mejoras/cambio-filamentos-m600 | |
###################################################################### | |
# CAMBIO DE FILAMENTO | |
###################################################################### | |
# M600 | |
# M601 | |
# CHANGE_FILAMENT | |
# LOAD_FILAMENT | |
# UNLOAD_FILAMENT | |
# NOTIFY | |
# BEEP | |
###################################################################### | |
[gcode_macro M600] | |
description: Codigo gcode para el cambio de filamento | |
gcode: | |
CHANGE_FILAMENT | |
[gcode_macro M601] | |
description: Codigo gcode que pausa la impresion | |
gcode: | |
PAUSE | |
[gcode_macro CHANGE_FILAMENT] | |
description: Cambio de filamento | |
gcode: | |
PAUSE | |
UNLOAD_FILAMENT | |
BEEP R=3 | |
[gcode_macro LOAD_FILAMENT] | |
description: Realiza la carga de filamento calentando el hotend si es necesario | |
gcode: | |
{% if printer.extruder.can_extrude %} ; se comprueba que se pueda extruir para cargar el filamento | |
_LOAD_FILAMENT | |
{% else %} | |
_TEMP_EXTRUDER | |
_LOAD_FILAMENT | |
{% endif %} | |
[gcode_macro UNLOAD_FILAMENT] | |
description: Realiza la descarga de filameno calentando el hotend si es necesario | |
gcode: | |
{% if printer.extruder.can_extrude %} ; se comprueba que se pueda extruir para descargar el filamento | |
_UNLOAD_FILAMENT | |
{% else %} | |
_TEMP_EXTRUDER | |
_UNLOAD_FILAMENT | |
{% endif %} | |
[gcode_macro NOTIFY] | |
description: Envia un texto al LCD y Consola\n Uso: NOTIFY TEXT="TEXTO" CLEAR=[0|1] limpia pantalla en 10 segundos. | |
gcode: | |
{% set TEXT = params.TEXT|default("")|string %} | |
{% set CLEAR = params.CLEAR|default(0)|int %} | |
{% if TEXT != "" %} | |
M117 {TEXT} | |
{action_respond_info("%s" % (TEXT))} | |
{% if CLEAR|int == 1 %} | |
UPDATE_DELAYED_GCODE ID=_CLEAR_DISPLAY DURATION=10 | |
{% endif %} | |
{% endif %} | |
[gcode_macro BEEP] | |
description: Emite un pitido.\n Uso BEEP [R=NUMERO DE PITIDOS] | |
gcode: | |
{% if 'output_pin beeper' in printer.configfile.settings and printer["gcode_macro M300"] is defined %} | |
{% set R = params.R|default(0)|int %} | |
{% for i in range(R) %} | |
M300 P200 | |
{% endfor %} | |
{% endif %} | |
[gcode_macro _LOAD_FILAMENT] | |
gcode: | | |
{% if printer.extruder.can_extrude %} ; se comprueba que se pueda extruir para cargar el filamento | |
{% set vg = printer["gcode_macro _VAR_GLOBALS"] %} | |
SAVE_GCODE_STATE NAME=LOAD_state | |
NOTIFY TEXT="Cargando filamento..." | |
M83 ; activar extrusion relativa | |
{% for r in range(vg.fil_num_repeats) %} ; repite la carga de filamento x veces | |
G1 E{vg.fil_length} F{vg.fil_speed} ; se carga filamento x veces para evitar el limite de longitud | |
{% endfor %} | |
G1 E-{vg.retract_length} F{vg.retract_speed} ; retrae el fimalento (indicado o configurado por firmware) | |
NOTIFY TEXT="Filamento cargado." CLEAR=1 | |
RESTORE_GCODE_STATE NAME=LOAD_state | |
BEEP | |
{% else %} | |
NOTIFY TEXT="Temperatura baja, imposible cargar el filamento." | |
{% endif %} | |
[gcode_macro _UNLOAD_FILAMENT] | |
gcode: | |
{% if printer.extruder.can_extrude %} ; se comprueba que se pueda extruir para descargar el filamento | |
{% set vg = printer["gcode_macro _VAR_GLOBALS"] %} | |
SAVE_GCODE_STATE NAME=UNLOAD_state | |
NOTIFY TEXT="Descargando filamento..." | |
M83 ; activar extrusion relativa | |
G1 E{vg.fil_length_purge} F{vg.fil_purge_speed} ; purga rapida | |
G1 E-{vg.retract_length} F{vg.retract_speed} ; retrae el fimalento (indicado o configurado por firmware) | |
G4 P1000 ; esperamos a que enfrie un poco el filamento | |
G1 E-{vg.fil_length/5} F{vg.fil_speed} ; se descarga el filamento lentamente para evitar atascos | |
{% for r in range(vg.fil_num_repeats) %} ; repite la descarga de filamento x veces | |
G1 E-{vg.fil_length} F{vg.fil_fast_speed} ; se descarga filamento x veces para evitar el limite de longitud | |
{% endfor %} | |
NOTIFY TEXT="Filamento descargado." CLEAR=1 | |
RESTORE_GCODE_STATE NAME=UNLOAD_state | |
BEEP | |
{% else %} | |
NOTIFY TEXT="Temperatura baja, imposible descargar el filamento." | |
{% endif %} | |
[gcode_macro _TEMP_EXTRUDER] | |
gcode: | |
{% if not printer.extruder.can_extrude %} ; se comprueba que NO se pueda extruir | |
{% set vg = printer["gcode_macro _VAR_GLOBALS"] %} | |
{% set min_temp = printer.extruder.min_extrude_temp|default(170) %} | |
{% set printing_temp = vg.temp_extruder_pause if printer.pause_resume.is_paused else vg.temp_extruder %} | |
BEEP | |
NOTIFY TEXT="Temperatura baja, calentando y esperando temperatura optima." | |
M104 S{min_temp} | |
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={min_temp} MAXIMUM={printing_temp}; espera hasta alcanzar la temperatura de extrusion | |
{% endif %} | |
[delayed_gcode _CLEAR_DISPLAY] | |
gcode: | |
M117 |
Donde hay que poner este script? en el laminador en la parte del gcode donde esta el cambio de filamento? solamente con eso funciona? gracias
Es una macro de Klipper, en tu printer.cfg o include de este.
https://klipper.3dwork.io/klipper/mejoras/macros-mejoras/cambio-filamentos-m600
Quizás pueda servirte de orientación para entender como funciona.
Donde hay que poner este script? en el laminador en la parte del gcode donde esta el cambio de filamento? solamente con eso funciona? gracias
Es una macro de Klipper, en tu printer.cfg o include de este. https://klipper.3dwork.io/klipper/mejoras/macros-mejoras/cambio-filamentos-m600 Quizás pueda servirte de orientación para entender como funciona.
Excelente; muchas gracias
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Donde hay que poner este script? en el laminador en la parte del gcode donde esta el cambio de filamento? solamente con eso funciona?
gracias