Updated KNCM_settings.cfg with printer_variables: - variable_printer_bed_y_max: 330 (N4Plus) Was: 229 (N4 - wrong!) Added all KNCM variables for customization: - Clean position (X, Y, Z) - Park position (X, Y, Z) - Purge line settings (start, end, Y, Z, amount) Macros now use variables for consistent positioning: - CLEAN_NOZZLE uses variable_clean_* - SMART_PARK uses variable_park_* - LINE_PURGE uses variable_purge_* This ensures macros use correct bed dimensions for N4 Plus.
123 lines
4.4 KiB
INI
123 lines
4.4 KiB
INI
# ============================================================================
|
|
# KNCM - Nozzle Cleaning Macros
|
|
# Simplified nozzle cleaning for reliable prints
|
|
# ============================================================================
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# PRINTER VARIABLES - Neptune 4 Plus
|
|
# ----------------------------------------------------------------------------
|
|
# Adjust these values for your specific printer model!
|
|
# ----------------------------------------------------------------------------
|
|
|
|
[gcode_variable printer_settings]
|
|
# Bed dimensions (not nozzle travel, but usable bed area)
|
|
# N4=229, N4Plus=330, N4Max=430
|
|
variable_printer_bed_y_max: 330
|
|
|
|
# Nozzle clean position (front-left corner, adjust for your brush/cloth)
|
|
variable_clean_x: 0
|
|
variable_clean_y: 0
|
|
variable_clean_z: 0.5
|
|
|
|
# Park position (front center for easy access)
|
|
variable_park_x: 165
|
|
variable_park_y: 10
|
|
variable_park_z: 50
|
|
|
|
# Purge line settings
|
|
variable_purge_start_x: 10
|
|
variable_purge_end_x: 300
|
|
variable_purge_y: 10
|
|
variable_purge_z: 0.2
|
|
variable_purge_amount: 30
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# CLEAN_NOZZLE - Wipe nozzle on brush/cloth
|
|
# ----------------------------------------------------------------------------
|
|
[gcode_macro CLEAN_NOZZLE]
|
|
description: Clean nozzle on brush or cloth
|
|
gcode:
|
|
{% set FILAMENT_TYPE = params.FILAMENT_TYPE|default("PLA")|upper %}
|
|
{% set CLEAN_X = params.CLEAN_X|default(printer_settings.clean_x)|int %}
|
|
{% set CLEAN_Y = params.CLEAN_Y|default(printer_settings.clean_y)|int %}
|
|
{% set CLEAN_Z = params.CLEAN_Z|default(printer_settings.clean_z)|float %}
|
|
{% set PASSES = params.PASSES|default(3)|int %}
|
|
|
|
RESPOND MSG="Cleaning nozzle..."
|
|
|
|
# Move to clean position
|
|
G1 X{CLEAN_X} Y{CLEAN_Y} Z{CLEAN_Z} F3000
|
|
|
|
# Wipe passes
|
|
{% for i in range(PASSES) %}
|
|
G1 X{CLEAN_X + 10} F1800
|
|
G1 X{CLEAN_X} F1800
|
|
{% endfor %}
|
|
|
|
# Lift Z
|
|
G1 Z10 F600
|
|
|
|
RESPOND MSG="Nozzle clean complete!"
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# SMART_PARK - Park near front for easy access
|
|
# ----------------------------------------------------------------------------
|
|
[gcode_macro SMART_PARK]
|
|
description: Park nozzle at front of bed for easy access
|
|
gcode:
|
|
{% set PARK_X = params.PARK_X|default(printer_settings.park_x)|int %}
|
|
{% set PARK_Y = params.PARK_Y|default(printer_settings.park_y)|int %}
|
|
{% set PARK_Z = params.PARK_Z|default(printer_settings.park_z)|int %}
|
|
|
|
G1 X{PARK_X} Y{PARK_Y} Z{PARK_Z} F6000
|
|
|
|
RESPOND MSG="Printer parked at front"
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# LINE_PURGE - Print purge line at start of bed
|
|
# ----------------------------------------------------------------------------
|
|
[gcode_macro LINE_PURGE]
|
|
description: Print purge line at start of bed
|
|
gcode:
|
|
{% set PURGE_START_X = params.START_X|default(printer_settings.purge_start_x)|int %}
|
|
{% set PURGE_END_X = params.END_X|default(printer_settings.purge_end_x)|int %}
|
|
{% set PURGE_Y = params.Y|default(printer_settings.purge_y)|int %}
|
|
{% set PURGE_Z = params.Z|default(printer_settings.purge_z)|float %}
|
|
{% set PURGE_AMOUNT = params.AMOUNT|default(printer_settings.purge_amount)|int %}
|
|
|
|
# Move to purge start
|
|
G1 X{PURGE_START_X} Y{PURGE_Y} Z{PURGE_Z} F3000
|
|
|
|
# Extrude purge line
|
|
G1 X{PURGE_END_X} E{PURGE_AMOUNT} F600
|
|
|
|
# Lift Z
|
|
G1 Z2 F600
|
|
|
|
RESPOND MSG="Purge line printed"
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Frame Light Control (Neptune 4 Plus)
|
|
# ----------------------------------------------------------------------------
|
|
[gcode_macro Frame_Light_ON]
|
|
description: Turn on frame LED lights
|
|
gcode:
|
|
SET_PIN PIN=frame_light VALUE=255
|
|
|
|
[gcode_macro Frame_Light_OFF]
|
|
description: Turn off frame LED lights
|
|
gcode:
|
|
SET_PIN PIN=frame_light VALUE=0
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Part Light Control (Neptune 4 Plus)
|
|
# ----------------------------------------------------------------------------
|
|
[gcode_macro Part_Light_ON]
|
|
description: Turn on part cooling fan light
|
|
gcode:
|
|
SET_PIN PIN=part_light VALUE=255
|
|
|
|
[gcode_macro Part_Light_OFF]
|
|
description: Turn off part cooling fan light
|
|
gcode:
|
|
SET_PIN PIN=part_light VALUE=0
|