This post has been de-listed
It is no longer included in search results and normal feeds (front page, hot posts, subreddit posts, etc). It remains visible only via the author's post history.
I'm trying to modify gcode in an existing file to do an automatic temperature change at a given layer. Cura's "ChangeAtZ" function works, except that it uses an M104 command, so it doesn't wait until the temperature change actually happens. I'd prefer to use the M109 command, so printing resumes only when the nozzle is up to temp.
The following code:
G10; Retract
M109 S220.0; Change nozzle temp to 220C, waiting until temp is stable
G11; Recover
works fine, but the head sits in the active spot while the nozzle is changing temp, which inevitably causes a blivot in the print. I've tried parking the head by adding a couple of lines:
G10; Retract
G60 S0; Save current position to first memory "slot"
G27 P2; Raise Z axis and park XY
M109 S220.0; Change nozzle temp to 220C, waiting until temp is stable
G11; Recover
G61 S0 XYZ; Move all three axes back to position saved in first "slot"
This works except that the G61 command doesn't restore the Z axis -- after the head heats up, and it tries to resume printing, the X and Y positions are correct, but the Z axis is off by the default Z axis backoff.
Is this a bug or it it working as intended, and I'm just not doing something right? I'd really like the filament to retract, the head to go to its neutral (parking) corner, heat up, return to the active position, un-retract the filament, and resume printing. Has anybody worked this through?
Subreddit
Post Details
- Posted
- 3 years ago
- Reddit URL
- View post on reddit.com
- External URL
- reddit.com/r/MarlinFirmw...