-
-
Save orther/a1e45d9a4ceaab964cc55e786cd3c854 to your computer and use it in GitHub Desktop.
SuperSlicer Super Start for Klipper
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
[gcode_macro PREP_PRINT] | |
description: Loads and starts the print | |
variable_x_max: 0 | |
variable_y_max: 0 | |
variable_z_max: 0 | |
variable_nozzle: 0 | |
variable_fila_dia: 0 | |
variable_bed_temp: 0 | |
variable_extruder_temp: 0 | |
variable_chamber_temp: 0 | |
variable_layer_count: 0 | |
variable_tool_changes: 0 | |
variable_cur_layer: 0 | |
variable_num_layers: 0 | |
variable_layer_z: 0 | |
gcode: | |
M117 Print intializing... | |
#Get Printer built volume dimensions | |
{% set X_MAX = printer.toolhead.axis_maximum.x|default(100)|float %} | |
{% set Y_MAX = printer.toolhead.axis_maximum.y|default(100)|float %} | |
{% set Z_MAX = printer.toolhead.axis_maximum.z|default(100)|float %} | |
#Get Nozzle diameter and filament width for conditioning | |
{% set NOZZLE = printer.extruder.nozzle_diameter|default(0.4)|float %} | |
{% set FILADIA = printer.extruder.filament_diameter|default(1.75)|float %} | |
#Set Start coordinates of priming lines | |
{% set X_START = 10.0|default(10.0)|float %} | |
{% set Y_START = 20.0|default(20.0)|float %} | |
#Calculate Primer line extrusion volume and filament length | |
{% set PRIMER_WIDTH = 0.75 * NOZZLE %} | |
{% set PRIMER_HEIGHT = 0.70 * NOZZLE %} | |
{% set PRIMER_SECT = PRIMER_WIDTH * PRIMER_HEIGHT %} | |
{% set PRIMER_VOL = PRIMER_SECT * (X_MAX - 3 * X_START) %} | |
{% set FILA_SECT = 3.1415 * ( FILADIA / 2.0)**2 %} | |
{% set FILA_LENGTH = 1.55 * PRIMER_VOL / FILA_SECT %} | |
{% set FILAMENT_TYPE = params.FILAMENT|default(PLA)|string %} | |
#Get Bed, Extruder, and Chamber temperatures from Slicer GCode | |
{% set BED_TEMP = params.BED|default(60)|float %} | |
{% set EXTRUDER_TEMP = params.EXTRUDER|default(210)|float %} | |
{% set CHAMBER_TEMP = params.CHAMBER|default(50)|float %} | |
# Get Number of Layers | |
{% set NUM_LAYERS = params.COUNT|default(0)|float %} | |
{% set CUR_LAYER = params.NUM|default(0)|float + 1 %} | |
# Get Number of Tool Changes Required | |
{% set TOOL_CHANGES = params.TOOLS|default(0)|float %} | |
# Save print configuration specs for later use | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=x_max VALUE={X_MAX} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=y_max VALUE={Y_MAX} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=z_max VALUE={Z_MAX} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=nozzle VALUE={NOZZLE} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=fila_dia VALUE={FILADIA} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=bed_temp VALUE={BED_TEMP} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=extruder_temp VALUE={EXTRUDER_TEMP} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=chamber_temp VALUE={CHAMBER_TEMP} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=cur_layer VALUE={CUR_LAYER} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=num_layers VALUE={NUM_LAYERS} | |
SET_GCODE_VARIABLE MACRO=PREP_PRINT VARIABLE=tool_changes VALUE={TOOL_CHANGES} | |
# Turn on the lights! | |
WLED_ON PRESET=1 | |
# Begin preheating and prepping for print | |
G90 ; use absolute coordinates | |
M83 ; extruder relative mode | |
M117 Preheating bed for homing... | |
M104 S150 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling | |
G4 S10 ; allow partial nozzle warmup | |
M190 S{BED_TEMP} ; set final bed temp | |
M117 Homing all axis... | |
G28 ; home all axis | |
BED_MESH_PROFILE LOAD="default" | |
G1 Z50 F240 | |
G1 X2 Y10 F3000 | |
M117 Waiting for temperatures to stabilize... | |
M104 S{EXTRUDER_TEMP} ; set final nozzle temp | |
M190 S{BED_TEMP} ; wait for bed temp to stabilize | |
M109 S{EXTRUDER_TEMP} ; wait for nozzle temp to stabilize | |
WIPE_LINE | |
M117 Print Started |
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
[include variables.cfg] | |
[include WIPE_LINE.cfg] | |
[include PREP_PRINT.cfg] |
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
prep_print EXTRUDER={first_layer_temperature[initial_extruder] + extruder_temperature_offset[initial_extruder]} BED={first_layer_bed_temperature} CHAMBER={chamber_temperature} FILAMENT={filament_type} COUNT={total_layer_count} TOOLS={total_toolchanges} NUM=1;Load print settings |
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
[save_variables] | |
filename: ~/klipper_config/variables.cfg | |
[gcode_macro SAVE_AT_END] | |
variable_save: 0 | |
gcode: | |
SET_GCODE_VARIABLE MACRO=SAVE_AT_END VARIABLE=save VALUE=1 | |
[gcode_macro SAVE_IF_SET] | |
gcode: | |
{% if printer["gcode_macro SAVE_AT_END"].save == 1 %} | |
SAVE_CONFIG | |
{% endif %} | |
[gcode_macro INITIALIZE_VARIABLE] | |
gcode: | |
{% if 'VARIABLE' not in params %} | |
{action_respond_info("Missing VARIABLE parameter")} | |
{% elif 'VALUE' not in params %} | |
{action_respond_info("Missing VALUE parameter")} | |
{% else %} | |
{% set svv = printer.save_variables.variables %} | |
{% if params.VARIABLE not in svv %} | |
{% set escaped = params.VALUE|replace("\"", "\\\"") %} | |
SAVE_VARIABLE VARIABLE={params.VARIABLE} VALUE="{escaped}" | |
{% endif %} | |
{% endif %} |
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
[gcode_macro WIPE_LINE] | |
gcode: | |
{% set z = params.Z|default(0.25)|float %} | |
{% set n = params.N|default(0.4)|float %} | |
{% if printer.toolhead.homed_axes != "xyz" %} | |
{action_respond_info("Please home XYZ first")} | |
{% elif printer.extruder.temperature < 170 %} | |
{action_respond_info("Extruder temperature too low")} | |
{% else %} | |
SAVE_GCODE_STATE NAME=WIPE_LINE_state | |
M82 | |
G90 | |
G92 E0 | |
G1 X10 Y20 Z5 F3000 | |
G1 Z{z} F3000 | |
G1 X10 Y150 F1500 E10.83 | |
G1 X{ n + 10.0 } F5000 | |
G1 Y22 F1500 E21.5 | |
G1 Y20 F5000 | |
RESTORE_GCODE_STATE NAME=WIPE_LINE_state MOVE=0 | |
{% endif %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment