Линия очистки сопла для клипера

Правила форума
Размещаем только по Klipperу. Нарушая данное правило можно получить банан.
Ответить
Сообщение
Автор
Oleg
Site Admin
Site Admin
Сообщения: 7
https://www.facebook.com/wroclaw.meble.kuchenne/
Зарегистрирован: Пт дек 10, 2021 12:10 pm
Поблагодарили: 4 раза

Линия очистки сопла для клипера

#1 Сообщение Oleg »

Данный Код прописывается в printer.cfg после стартовогою
После успешногого сохранения и перезапуска петатается 10 см линия по оси Y c края стола
[gcode_macro START_PRINT]
variable_retract: 5
gcode:
{% set extruder_temp = params.EXTRUDER_TEMP|default(230)|float %}
{% set bed_temp = params.BED_TEMP|default(60)|float %}
{% set E = printer["gcode_macro START_PRINT"].retract|float %}
CLEAR_PAUSE
M220 S100 # reset feedrate
M221 S100 # reset flowrate
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp} # set bed t℃
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp * 0.75} # wait until bed is partially heated
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={extruder_temp} # set nozzle t℃
G90 # absolute positioning
M82 # absolute extrusion mode
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={bed_temp} # wait until
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={extruder_temp} # wait until
G28 # home
G0 Z10 F1500 # raise Z
G92 E0 # reset extruder
G1 E{E} F1500 # prime
G92 E0

[gcode_macro END_PRINT]
gcode:
{% set E = printer["gcode_macro START_PRINT"].retract|float %}
TURN_OFF_HEATERS
M107 # turn off fan
G91 # relative positioning
G1 E-{E} F1500 # retract
G0 X5 Y5 Z0.2 F5000 # wipe
G0 Z2 F1500 # raise Z
G90 # absolute positioning
PARK
M84 # turn off all motors
BEEP P=200 S=250

[gcode_macro PARK]
gcode:
{% set x_park = params.X|default(0)|float %}
{% set y_park = params.Y|default(-4)|float %}
{% set z_park = params.Z|default(10)|float + printer.toolhead.position.z|float %}
{% set x_max = printer.toolhead.axis_maximum.x|float %}
{% set y_max = printer.toolhead.axis_maximum.y|float %}
{% set z_max = printer.toolhead.axis_maximum.z|float %}
{% if x_park > x_max %}
{% set x_park = x_max %}
{% endif %}
{% if y_park > y_max %}
{% set y_park = y_max %}
{% endif %}
{% if z_park > z_max %}
{% set z_park = z_max %}
{% endif %}
SAVE_GCODE_STATE NAME=PARK_STATE
G90 # absolute positioning
G1 Z{z_park} F1500
G1 X{x_park} Y{y_park} F5000
RESTORE_GCODE_STATE name=PARK_STATE

[gcode_macro PRIME_LINE]
gcode:
{% set feedrate = params.F|default(10)|float * 60 %}
{% set length = 100.0 %}
{% set width = printer.configfile.settings.extruder.nozzle_diameter|float %}
{% set height = ( (width / 0.04)|int - (width / 0.04 / 4)|int )|float * 0.04 %}
{% set extrude = length * width * height / 1.6 %}
SAVE_GCODE_STATE NAME=PRIME_LINE_STATE
SET_IDLE_TIMEOUT TIMEOUT=7200
{% if 'Y' in params %}
{% set y_start = (printer.toolhead.axis_maximum.x|float - 100) / 2 %}
{% set x_start = 1.0 %}
G0 Y{y_start} X{x_start} F5000 # move to start position
G0 Z{height} F1500
G91 # relative positioning
G1 E4 F{feedrate} # prime
G1 Y100 E{extrude} F{feedrate} # draw the 1st line (X)
G0 X{width} F5000 # move to the next line (Y)
G1 Y-100 E{extrude} F{feedrate} # (X)
#{% set x_start = 1.0 %}
# {% set y_start = (printer.toolhead.axis_maximum.y|float - 100) / 2 %}
#G0 X{x_start} Y{y_start} F5000 # move to start position
# G0 Z{height} F1500
# G91 # relative positioning
# G1 Y100 E{extrude} F{feedrate} # draw the 1st line
# G0 X{width} F5000 # move to the next line
# G1 Y-100 E{extrude} F{feedrate} # draw the 2nd line
{% else %}
{% set y_start = (printer.toolhead.axis_maximum.x|float - 100) / 2 %}
{% set x_start = 1.0 %}
G0 Y{y_start} X{x_start} F5000 # move to start position
G0 Z{height} F1500
G91 # relative positioning
G1 E4 F{feedrate} # prime
G1 Y100 E{extrude} F{feedrate} # draw the 1st line
G0 X{width} F5000 # move to the next line
G1 Y-100 E{extrude} F{feedrate} # draw the 2nd line
{% endif %}
RESTORE_GCODE_STATE NAME=PRIME_LINE_STATE
Последующий Код пишем в Cura
; XY-2 Start Code
START_PRINT EXTRUDER_TEMP={material_print_temperature_layer_0} BED_TEMP={material_bed_temperature_layer_0}
PRIME_LINE F={speed_print_layer_0}
Аватара пользователя
admin
Site Admin
Site Admin
Сообщения: 115
Зарегистрирован: Пт дек 10, 2021 1:33 am
Благодарил (а): 6 раз
Поблагодарили: 2 раза

Re: Линия очистки сопла для клипера

#2 Сообщение admin »

Нормально, только тут не только старт принт скрипт
Не бойся поломать. Бойся не починить ))

Изображение
Ответить