12
$\begingroup$

On the reprap wiki it says using Znnn it sets a new axis position. But then it says "No physical motion will occur". What would the line G92 E0 be used for?

$\endgroup$
12
$\begingroup$

The G92 command is used to set the start position (origin) of one of more axes (including the current extruder) to any arbitrary value. The command G92 E0 is often used to perform retraction and nozzle priming. For example, the following commands are often used in start-gcode sequences (prologues) to prime the current extruder by extruding a small amount of filament:

G92 E0     ; Reset the extruder's origin
G1 F200 E3 ; Extrude 3 millimetres of filament
G92 E0     ; Reset the extruder's origin

RepRap Wiki: G92: Set Position

$\endgroup$
5
  • 1
    $\begingroup$ But what does it mean to reset the extruders origin? What would happen if you did the “G1 F200 E3” without first resetting the extruders origin? G92 makes perfect sense for x, y, and z, but can’t wrap my head around it for the extruder. $\endgroup$
    – Michael
    Jan 2 '20 at 13:38
  • $\begingroup$ @Michael Why, it is exactly the same. Maybe you should not read it as "reset", but as "set" instead. From the top of my head I don't know what is taken when you omitted the first G92 E0, I assume it will start at zero anyways. But, it sets the filament extrusion to a certain length to zero, after priming it makes perfect sense to set the length to zero. Slicers (some) set the length back to zero after completion of a print layer, this prevents very large values for the filament length. $\endgroup$
    – 0scar
    Jul 20 '20 at 8:28
  • 1
    $\begingroup$ Hi @Michael , thanks for your question, as I was thinking the same thing. However, as you're probably aware, questions (even good questions like yours) shouldn't be in comments. Could you post your question as a new question (referring back to Mick's answer - as it is the source of your query), and then Davo's answer below would make more sense there... if you see what I mean? :-) $\endgroup$
    – Greenonline
    Aug 10 '20 at 16:59
  • $\begingroup$ @Greenonline my question would make no sense as its own question. It only makes sense in the context of this answer. $\endgroup$
    – Michael
    Aug 10 '20 at 19:27
  • 1
    $\begingroup$ @Michael That is exactly why you should refer to this answer! The context can be found through the reference, this is not uncommon, this has happened more often. Sometimes answers spawn other questions. $\endgroup$
    – 0scar
    Aug 10 '20 at 21:28
6
$\begingroup$

To supplement the accepted answer, and answer a question in the answer's comments (which should not be there), consider the E value as another axis - the axis of the filament.

If you executed:

G92 E0     ; Reset the extruder's origin
G1 F200 E3 ; Extrude 3 millimetres of filament at a rate of 200 units per second

and then went on to printing, the first filament move would have to take you from E3 to whatever E value the next move specified.

If the next move assumed starting at E0, you'd already be 3 mm further along, and the first move would probably be a retract, so for example, if the next printing move was:

G1 Xnnn Ynnn E0.5 ; Extrude 0.5 millimetres of filament

then instead of extruding 0.5 mm, you would actually retract 2.5 mm, to get from 3.0 to 0.5. Just like moving in a negative direction on any other axis.

$\endgroup$
6
  • $\begingroup$ I think the comment refers to the first G92, not the second. $\endgroup$
    – 0scar
    Jul 20 '20 at 8:32
  • 1
    $\begingroup$ @0scar - Davo has made a good point about the question in comments under Mick's answer... Davo, I assume you mean the comment from Michael (who is not the OP)?. That question (in the comments) should really have been a new question, referring back to this question (I guess), to which Davo's answer would have been the answer to... if you follow me... Man, this is a bit of a muddle..! :-) $\endgroup$
    – Greenonline
    Aug 10 '20 at 16:48
  • 1
    $\begingroup$ @Greenonline I can post that question as a stand-alone, and self-answer it, if you think that will improve the site. $\endgroup$
    – Davo
    Aug 10 '20 at 17:28
  • $\begingroup$ Hi Davo. Yeah, that's an idea I guess... However, I have just left Michael a comment to see if he wants to post his comment as a new question though. Maybe we should wait to see if he wants to? $\endgroup$
    – Greenonline
    Aug 10 '20 at 17:31
  • 1
    $\begingroup$ Thank you so much for this great explanation. I was wondering why my initial purtge of filament always results in a massive retraction and this is exactly why. I had my start script modifyed to achieve a nice filled nozzle at start $\endgroup$
    – LostKatana
    Nov 7 '20 at 12:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.