diff --git a/config/sample-macros.cfg b/config/sample-macros.cfg index 7b68f5d0..5132e1c9 100644 --- a/config/sample-macros.cfg +++ b/config/sample-macros.cfg @@ -10,7 +10,7 @@ ###################################################################### # Replace the slicer's custom start and end g-code scripts with -# START_PRINT and END_PRINT. +# START_PRINT and END_PRINT. See docs/Slicers.md for more information on using these macros. [gcode_macro START_PRINT] gcode: diff --git a/docs/Slicers.md b/docs/Slicers.md index 5cc678ec..cb0f5e6d 100644 --- a/docs/Slicers.md +++ b/docs/Slicers.md @@ -87,3 +87,37 @@ Klipper's maximum extrusion cross-section check. In contrast, it is okay (and often helpful) to use a slicer's "retract" setting, "wipe" setting, and/or "wipe on retract" setting. + +## START_PRINT macros + +When using a START_PRINT macro or similar, it is useful to sometimes +pass through parameters from the slicer variables to the macro. + +In Cura, to pass through temperatures, the following start gcode +would be used: + +``` +START_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0} +``` + +In slic3r derivatives such as PrusaSlicer and SuperSlicer, the +following would be used: + +START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature] + +Also note that these slicers will insert their own heating codes when +certain conditions are not met. In Cura, the existence of the +`{material_bed_temperature_layer_0}` and `{material_print_temperature_layer_0}` +variables is enough to mitigate this. In slic3r derivatives, +you would use: + +``` +M140 S0 +M104 S0 +``` + +before the macro call. Also note that SuperSlicer has a +"custom gcode only" button option, which achieves the same outcome. + +An example of a START_PRINT macro using these paramaters can +be found in config/sample-macros.cfg