-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmacros.cfg
232 lines (205 loc) · 7.98 KB
/
macros.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
################################################################################
### macros
################################################################################
[gcode_macro START_PRINT]
gcode:
# Clear Any Paused State
CLEAR_PAUSE
# Get Params
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(0)|float %}
{% set BED_TEMP = params.BED_TEMP|default(0)|float %}
{% set MATERIAL_ID = params.MATERIAL_ID|string %}
# Start
M117 Start Print
M104 S{EXTRUDER_TEMP} ; set extruder temperature
M140 S{BED_TEMP} ; set bed temperature
MATERIAL_SETTINGS MATERIAL_ID={MATERIAL_ID} ; set Material individual settings
{% if printer.homed_axes != 'xyz' %}
M190 S{BED_TEMP}
G28 #Home All Axes
{% endif %}
G90 ; absolut positioning
M190 S{BED_TEMP} ; wait for bed temperature
M109 S{EXTRUDER_TEMP} ; wait for extruder temperature
G92 E0 ; reset extruder
M82 ; extruder absolute mode
M117 Printing ...
### Set material settings
[gcode_macro MATERIAL_SETTINGS]
gcode:
# Get Material ID
{% set MATERIAL_ID = params.MATERIAL_ID|string %}
# Remove ' from SuperSlicer
# {% MATERIAL_ID|replace("\'", "") %}
# Determine settings values depending on Material
{% if MATERIAL_ID == "PLA-Creality"|string %}
{% set PRESSURE_ADVANCE = 0.75|float %}
# {% elif MATERIAL_ID == '' %}
{% else %}
{% set PRESSURE_ADVANCE = 0.75|float %}
{% endif %}
# Overwrite default values
SET_PRESSURE_ADVANCE ADVANCE={PRESSURE_ADVANCE}
### Print Prime Line
[gcode_macro PRIME_LINE]
gcode:
M83 ; extruder relative mode
G92 E0 ; reset extruder
G1 Z2.0 F3000 ; move Z axis up a little to prevent scratching heat bed
G1 X0.1 Y20 Z5.0 F5000.0 ; move to start position
G1 X0.1 Y20 Z0.3 F5000.0 ; move to start for purge line
G1 X0.1 Y150.0 Z0.3 F1500.0 E15 ; draw 1st line
G1 X0.4 Y150.0 Z0.3 F5000.0 ; move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E20 ; draw 2nd line
G1 Z5.0 F3000 ; move Z up a little
G92 E0 ; reset extruder
[gcode_macro END_PRINT]
gcode:
G91 ; relative positioning
# Retract a bit
G1 E-2 F2700
G1 E-2 Z0.2 F2400
G1 X5 Y5 F3000
TURN_OFF_HEATERS
M107 ; deactivate partcooling fan
M84 X Y E ; disable steppers
G1 Z10 ; deliver print
G90 ; absolute positioning
G1 X220 Y220 ; deliver print
BED_MESH_CLEAR ; clear bed mesh
M117 Print done
# Home only if not Homed already
[gcode_macro HOME]
gcode:
{% if printer.toolhead.homed_axes != "xyz" %}
G28
{% endif %}
### Autobedleveling
[gcode_macro G29]
gcode:
G28
BED_MESH_CALIBRATE
G0 X0 Y0 Z10 F6000
BED_MESH_PROFILE save=default
### Move Head to Maintenance Position
[gcode_macro HEAD_MAINTANANCE]
gcode:
HOME
G90
G1 X110 Y110 Z300 F5000
[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
TURN_OFF_HEATERS
CLEAR_PAUSE
SDCARD_RESET_FILE
BASE_CANCEL_PRINT
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
gcode:
##### set defaults #####
{% set x = params.X|default(220) %} #edit to your park position
{% set y = params.Y|default(220) %} #edit to your park position
{% set z = params.Z|default(10)|float %} #edit to your park position
{% set e = params.E|default(1) %} #edit to your retract length
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% set lift_z = z|abs %}
{% if act_z < (max_z - lift_z) %}
{% set z_safe = lift_z %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{e} F2100
G1 Z{z_safe}
G90
G1 X{x} Y{y} F6000
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
##### set defaults #####
{% set e = params.E|default(1) %} #edit to your retract length
G91
G1 E{e} F2100
G90
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
BASE_RESUME
[gcode_macro SEARCH_VARS]
gcode:
{% set search = params.S|lower %}
{% set ns = namespace() %}
{% for item in printer %}
{% if ' ' in item %}
{% set ns.path = ['printer', "['%s']" % (item), ''] %}
{% else %}
{% set ns.path = ['printer.', item, ''] %}
{% endif %}
{% if search in ns.path|lower %}
{ action_respond_info(ns.path|join) }
{% endif %}
{% if printer[item].items() %}
{% for childkey, child in printer[item].items() recursive %}
{% set ns.path = ns.path[:loop.depth|int + 1] %}
{% if ' ' in childkey %}
{% set null = ns.path.append("['%s']" % (childkey)) %}
{% else %}
{% set null = ns.path.append(".%s" % (childkey)) %}
{% endif %}
{% if child is mapping %}
{ loop(child.items()) }
{% else %}
{% if search in ns.path|lower %}
{ action_respond_info("%s : %s" % (ns.path|join, child)) }
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
# Load or Unload filament
[gcode_macro FILAMENT]
gcode:
{% set MODE = params.MODE|string|lower %}
{% set MOVE_HEAD = params.MOVE_HEAD|lower %}
{% set TUBING_LENGTH = 620 %}
{% if MODE == 'load' %}
M104 S200 ; set Extruder Temp to 200
HOME ; home if necessary
G90 ; set absolute positioning
{% if MOVE_HEAD == 'true' %}
G1 X110 Y110 Z50 ; move head to middle and move up a little
{% endif %}
M109 S200 ; set Extruder Temp to 200 and wait
M83 ; extruder relative mode
G1 E{TUBING_LENGTH - 50} F1500 ; load filament fast most of the way
G1 E50 F600 ; Extrude a little to push out other color
G1 E-4 ; Retract
M104 S0 ; set Extruder Temp to 0
G92 E0 ; reset extruder
{% elif MODE == 'unload' %}
M104 S200 ; set Extruder Temp to 200
HOME ; home if necessary
G90 ; set absolute positioning
{% if MOVE_HEAD == 'true' %}
G1 X110 Y110 Z50 ; move head to middle and move up a little
{% endif %}
M109 S200 ; set Extruder Temp to 200 and wait
M83 ; extruder relative mode
G1 E-50 F600 ; unload filament from nozzel
M104 S0 ; set Extruder Temp to 0
G1 E-{TUBING_LENGTH - 50} F1500 ; unload filament further
G92 E0 ; reset extruder
{% endif %}
########################################
# Empty Macros
########################################
[gcode_macro m201]
gcode:
[gcode_macro m203]
gcode:
[gcode_macro m205]
gcode: