实现二喷头的偏移值校准功能
This commit is contained in:
parent
9be203c58f
commit
9925c78644
@ -362,7 +362,11 @@ gcode:
|
||||
gcode:
|
||||
SET_SERVO SERVO=switch_nozzle angle=135
|
||||
G4 P500
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y=0
|
||||
SET_GCODE_OFFSET X=0
|
||||
SET_SERVO SERVO=switch_nozzle angle=45
|
||||
@ -372,12 +376,17 @@ gcode:
|
||||
[gcode_macro T1]
|
||||
gcode:
|
||||
{% set sv = printer.save_variables.variables %}
|
||||
{% set x_offset = sv.dual_x_offset|default(60)|float %}
|
||||
{% set y_offset = sv.dual_y_offset|default(0)|float %}
|
||||
{% set z_offset = sv.dual_z_offset|default(0)|float %}
|
||||
{% set x_offset = sv.nozzle_x_offset_val|default(0)|float %}
|
||||
{% set y_offset = sv.nozzle_y_offset_val|default(0)|float %}
|
||||
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
|
||||
{% set x_offset = x_offset - 59 %}
|
||||
SET_SERVO SERVO=switch_nozzle angle=135
|
||||
G4 P500
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z={z_offset} MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y={y_offset}
|
||||
SET_GCODE_OFFSET X={x_offset}
|
||||
SET_SERVO SERVO=switch_nozzle angle=225
|
||||
@ -1001,3 +1010,27 @@ gcode:
|
||||
|
||||
_BED_MESH_CALIBRATE PROFILE={default_profile} mesh_min={adapted_x_min},{adapted_y_min} mesh_max={adapted_x_max},{adapted_y_max} ALGORITHM={algorithm} PROBE_COUNT={points_x},{points_y} # End of verbose
|
||||
BED_MESH_PROFILE LOAD={default_profile}
|
||||
|
||||
########################################
|
||||
# Nozzle Calibrate
|
||||
########################################
|
||||
|
||||
[gcode_shell_command fetch_assets]
|
||||
command: sh /home/klipper/klipper/scripts/fetch_assets.sh
|
||||
timeout: 5.
|
||||
verbose: False
|
||||
|
||||
[gcode_macro _NOZZLE_Z_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
G28 X Y
|
||||
G28 Z
|
||||
G91
|
||||
G0 x-60 F6000
|
||||
SET_GCODE_OFFSET Z=0 MOVE=0
|
||||
SET_SERVO SERVO=switch_nozzle angle=225
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
|
||||
[gcode_macro _NOZZLE_XY_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=fetch_assets PARAMS="\"Gcode\" \"D1000HS\" \"NozzleAglin.zip\""
|
||||
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
|
@ -298,7 +298,11 @@ gcode:
|
||||
gcode:
|
||||
SET_SERVO SERVO=switch_nozzle angle=135
|
||||
G4 P500
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y=0
|
||||
SET_GCODE_OFFSET X=0
|
||||
SET_SERVO SERVO=switch_nozzle angle=45
|
||||
@ -308,12 +312,17 @@ gcode:
|
||||
[gcode_macro T1]
|
||||
gcode:
|
||||
{% set sv = printer.save_variables.variables %}
|
||||
{% set x_offset = sv.dual_x_offset|default(60)|float %}
|
||||
{% set y_offset = sv.dual_y_offset|default(0)|float %}
|
||||
{% set z_offset = sv.dual_z_offset|default(0)|float %}
|
||||
{% set x_offset = sv.nozzle_x_offset_val|default(0)|float %}
|
||||
{% set y_offset = sv.nozzle_y_offset_val|default(0)|float %}
|
||||
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
|
||||
{% set x_offset = x_offset - 59 %}
|
||||
SET_SERVO SERVO=switch_nozzle angle=135
|
||||
G4 P500
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z={z_offset} MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y={y_offset}
|
||||
SET_GCODE_OFFSET X={x_offset}
|
||||
SET_SERVO SERVO=switch_nozzle angle=225
|
||||
@ -937,3 +946,27 @@ gcode:
|
||||
|
||||
_BED_MESH_CALIBRATE PROFILE={default_profile} mesh_min={adapted_x_min},{adapted_y_min} mesh_max={adapted_x_max},{adapted_y_max} ALGORITHM={algorithm} PROBE_COUNT={points_x},{points_y} # End of verbose
|
||||
BED_MESH_PROFILE LOAD={default_profile}
|
||||
|
||||
########################################
|
||||
# Nozzle Calibrate
|
||||
########################################
|
||||
|
||||
[gcode_shell_command fetch_assets]
|
||||
command: sh /home/klipper/klipper/scripts/fetch_assets.sh
|
||||
timeout: 5.
|
||||
verbose: False
|
||||
|
||||
[gcode_macro _NOZZLE_Z_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
G28 X Y
|
||||
G28 Z
|
||||
G91
|
||||
G0 x-60 F6000
|
||||
SET_GCODE_OFFSET Z=0 MOVE=0
|
||||
SET_SERVO SERVO=switch_nozzle angle=225
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
|
||||
[gcode_macro _NOZZLE_XY_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=fetch_assets PARAMS="\"Gcode\" \"D1000HS\" \"NozzleAglin.zip\""
|
||||
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
|
@ -362,7 +362,11 @@ gcode:
|
||||
gcode:
|
||||
SET_SERVO SERVO=switch_nozzle angle=135
|
||||
G4 P500
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y=0
|
||||
SET_GCODE_OFFSET X=0
|
||||
SET_SERVO SERVO=switch_nozzle angle=45
|
||||
@ -372,12 +376,17 @@ gcode:
|
||||
[gcode_macro T1]
|
||||
gcode:
|
||||
{% set sv = printer.save_variables.variables %}
|
||||
{% set x_offset = sv.dual_x_offset|default(60)|float %}
|
||||
{% set y_offset = sv.dual_y_offset|default(0)|float %}
|
||||
{% set z_offset = sv.dual_z_offset|default(0)|float %}
|
||||
{% set x_offset = sv.nozzle_x_offset_val|default(0)|float %}
|
||||
{% set y_offset = sv.nozzle_y_offset_val|default(0)|float %}
|
||||
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
|
||||
{% set x_offset = x_offset - 59 %}
|
||||
SET_SERVO SERVO=switch_nozzle angle=135
|
||||
G4 P500
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z={z_offset} MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y={y_offset}
|
||||
SET_GCODE_OFFSET X={x_offset}
|
||||
SET_SERVO SERVO=switch_nozzle angle=225
|
||||
@ -994,3 +1003,27 @@ gcode:
|
||||
|
||||
_BED_MESH_CALIBRATE PROFILE={default_profile} mesh_min={adapted_x_min},{adapted_y_min} mesh_max={adapted_x_max},{adapted_y_max} ALGORITHM={algorithm} PROBE_COUNT={points_x},{points_y} # End of verbose
|
||||
BED_MESH_PROFILE LOAD={default_profile}
|
||||
|
||||
########################################
|
||||
# Nozzle Calibrate
|
||||
########################################
|
||||
|
||||
[gcode_shell_command fetch_assets]
|
||||
command: sh /home/klipper/klipper/scripts/fetch_assets.sh
|
||||
timeout: 5.
|
||||
verbose: False
|
||||
|
||||
[gcode_macro _NOZZLE_Z_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
G28 X Y
|
||||
G28 Z
|
||||
G91
|
||||
G0 x-60 F6000
|
||||
SET_GCODE_OFFSET Z=0 MOVE=0
|
||||
SET_SERVO SERVO=switch_nozzle angle=225
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
|
||||
[gcode_macro _NOZZLE_XY_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=fetch_assets PARAMS="\"Gcode\" \"D600Pro2HS\" \"NozzleAglin.zip\""
|
||||
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
|
@ -298,7 +298,11 @@ gcode:
|
||||
gcode:
|
||||
SET_SERVO SERVO=switch_nozzle angle=135
|
||||
G4 P500
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y=0
|
||||
SET_GCODE_OFFSET X=0
|
||||
SET_SERVO SERVO=switch_nozzle angle=45
|
||||
@ -308,12 +312,17 @@ gcode:
|
||||
[gcode_macro T1]
|
||||
gcode:
|
||||
{% set sv = printer.save_variables.variables %}
|
||||
{% set x_offset = sv.dual_x_offset|default(60)|float %}
|
||||
{% set y_offset = sv.dual_y_offset|default(0)|float %}
|
||||
{% set z_offset = sv.dual_z_offset|default(0)|float %}
|
||||
{% set x_offset = sv.nozzle_x_offset_val|default(0)|float %}
|
||||
{% set y_offset = sv.nozzle_y_offset_val|default(0)|float %}
|
||||
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
|
||||
{% set x_offset = x_offset - 59 %}
|
||||
SET_SERVO SERVO=switch_nozzle angle=135
|
||||
G4 P500
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z={z_offset} MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y={y_offset}
|
||||
SET_GCODE_OFFSET X={x_offset}
|
||||
SET_SERVO SERVO=switch_nozzle angle=225
|
||||
@ -930,3 +939,27 @@ gcode:
|
||||
|
||||
_BED_MESH_CALIBRATE PROFILE={default_profile} mesh_min={adapted_x_min},{adapted_y_min} mesh_max={adapted_x_max},{adapted_y_max} ALGORITHM={algorithm} PROBE_COUNT={points_x},{points_y} # End of verbose
|
||||
BED_MESH_PROFILE LOAD={default_profile}
|
||||
|
||||
########################################
|
||||
# Nozzle Calibrate
|
||||
########################################
|
||||
|
||||
[gcode_shell_command fetch_assets]
|
||||
command: sh /home/klipper/klipper/scripts/fetch_assets.sh
|
||||
timeout: 5.
|
||||
verbose: False
|
||||
|
||||
[gcode_macro _NOZZLE_Z_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
G28 X Y
|
||||
G28 Z
|
||||
G91
|
||||
G0 x-60 F6000
|
||||
SET_GCODE_OFFSET Z=0 MOVE=0
|
||||
SET_SERVO SERVO=switch_nozzle angle=225
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
|
||||
[gcode_macro _NOZZLE_XY_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=fetch_assets PARAMS="\"Gcode\" \"D600Pro2HS\" \"NozzleAglin.zip\""
|
||||
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
|
@ -447,11 +447,15 @@ gcode:
|
||||
_PARK_{printer.toolhead.extruder}
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder
|
||||
SET_DUAL_CARRIAGE CARRIAGE=0
|
||||
SET_GCODE_OFFSET Z=0
|
||||
RESTORE_GCODE_STATE NAME=park0
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y=0
|
||||
SET_GCODE_OFFSET X=0
|
||||
G1 X0 F6000
|
||||
RESTORE_GCODE_STATE NAME=park0
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro _PARK_extruder1]
|
||||
@ -478,11 +482,15 @@ gcode:
|
||||
_PARK_{printer.toolhead.extruder}
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
SET_DUAL_CARRIAGE CARRIAGE=1
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
RESTORE_GCODE_STATE NAME=park1
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z={z_offset} MOVE=1
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z={z_offset}
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y={y_offset}
|
||||
SET_GCODE_OFFSET X={x_offset}
|
||||
G1 X455 F6000
|
||||
RESTORE_GCODE_STATE NAME=park1
|
||||
{% endif %}
|
||||
|
||||
|
||||
@ -1157,3 +1165,28 @@ gcode:
|
||||
|
||||
_BED_MESH_CALIBRATE PROFILE={default_profile} mesh_min={adapted_x_min},{adapted_y_min} mesh_max={adapted_x_max},{adapted_y_max} ALGORITHM={algorithm} PROBE_COUNT={points_x},{points_y} # End of verbose
|
||||
BED_MESH_PROFILE LOAD={default_profile}
|
||||
|
||||
########################################
|
||||
# Nozzle Calibrate
|
||||
########################################
|
||||
|
||||
[gcode_shell_command fetch_assets]
|
||||
command: sh /home/klipper/klipper/scripts/fetch_assets.sh
|
||||
timeout: 5.
|
||||
verbose: False
|
||||
|
||||
[gcode_macro _NOZZLE_Z_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
G28
|
||||
G90
|
||||
_PARK_extruder
|
||||
G0 Z5
|
||||
SET_GCODE_OFFSET Z=0 MOVE=0
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
SET_DUAL_CARRIAGE CARRIAGE=1
|
||||
G1 X200 F6000
|
||||
|
||||
[gcode_macro _NOZZLE_XY_OFFSET_CALIBRATE]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=fetch_assets PARAMS="\"Gcode\" \"F430NX\" \"NozzleAglin.zip\""
|
||||
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
|
63
scripts/fetch_assets.sh
Normal file
63
scripts/fetch_assets.sh
Normal file
@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get model name and type
|
||||
Type="$1"
|
||||
Model="$2"
|
||||
Filename="$3"
|
||||
|
||||
echo "Type: ${Type}"
|
||||
echo "Model: ${Model}"
|
||||
echo "Filename: ${Filename}"
|
||||
|
||||
# Check if model name is provided
|
||||
if [ -z "$Model" ]; then
|
||||
echo "Error: Model name not provided"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if the Type is Gcode
|
||||
if [ "$Type" = "Gcode" ]; then
|
||||
# Define download path and filename
|
||||
download_path="$HOME/.temp/"
|
||||
download_filename="${download_path}NozzleAglin.zip"
|
||||
download_url="https://www.creatbot.com/downloads/3dmodels/gcode/${Model}/NozzleAglin.zip"
|
||||
|
||||
# Create temporary download directory
|
||||
mkdir -p "${download_path}"
|
||||
|
||||
# Define target folder for extracted file
|
||||
target_folder="$HOME/printer_data/gcodes/.PresetModel/"
|
||||
|
||||
# Check if the target folder already contains the extracted file
|
||||
if [ -f "${target_folder}NozzleAglin.gcode" ]; then
|
||||
echo "Target file 'NozzleAglin.gcode' already exists, skipping download and extraction."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# If the file does not exist, start downloading the file
|
||||
wget -q -O "${download_filename}" "${download_url}"
|
||||
|
||||
# Check if wget successfully downloaded the file
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Download failed, the URL might be invalid or there is a network issue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create target extraction directory if it doesn't exist
|
||||
mkdir -p "$target_folder"
|
||||
|
||||
# Extract the downloaded file to the target directory, using -o to overwrite existing files
|
||||
unzip -o -q "${download_filename}" -d "$target_folder"
|
||||
|
||||
# Check if the extraction was successful
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Extraction failed, please check if the file is corrupted or the path is correct."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Remove the temporary download folder
|
||||
rm -rf "${download_path}"
|
||||
|
||||
echo "Download and extraction completed successfully."
|
||||
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user