Solved Layers Not being detected correctly (version 2.02)
I have looked at the other related issues, and kept up to date with what happened with them, which mostly have been solved, but my issue remains (I did not always run the latest RC so testing this against them did not happen). While it is not super important or urgent, it would be nice to have it working as it should.
From all of the tests I have done, the issue appears to have come from my starting g-code, during which I make an extrusion at 1.5mm above the bed. During this extrusion, I prime the nozzle with a bunch of filament, laying it down in a thick line (at this point, the machine was homed, temperatures are stabilized etc):
G0 Z1.5 ; move nozzle to 1.5mm above print surface G0 X25 Y10 F3000 ; bring extruder to the front G92 E0 ; zero the extruded length G0 Y60 E50 F100 ; purge nozzle with 50mm of filament while moving in Y direction G0 X30 F2100 ; stop extrusion and continue movement G0 X35 Y65 Z0.5 F2100 ; stop extrusion and continue movement
I found the 50mm creates a nice big line at these height and simply works. Other people rely on a skirt/brim to purge their nozzles, but I use the skirt to ensure first layer is perfect (adjusting the screws slightly while it prints the skirt), so it needs to be ready at that time (and I did not like the purging while in mid air, before smashing the nozzle into it).
Based on other threads, I have changed the G0 to be G0 from G1, but this did not work for me - same result.
Here is a small 10x10x10 cube, sliced with my profile: 0_1545825079560_duet-test.gcode.
I am running the latest versions of everything.
I had a similar issue with my prime gcode that caused the layer height to be detected incorrectly. My solution was to move the prime gcode into a seperate macro that gets called from the slicer start gcode rather than embedding the extrusion move in slicer gcode. This solved the problem because the firmware scans the print gcode for the first extrusion move, and now instead of finding the nozzle prime, it finds the first layer height.
So my suggestion for the most low effort solution would be to just move the nozzle prime gcode into a macro.
Ok, I have now created the macros. Added bonus of the macros - whenever I make a change to it, older sliced files will also use the newer starting gcode.