1. About
  2. Features
  3. Explore

I was in the process of printing a 16 hour print, but I must have failed to copy the G-code correctly, because the print stopped after 107 of 223 layers. Looking at the G-code, It also stops there.

However, I had the full G-code on my computer, and decided to try and resume the print from layer 108. It seemed to work, with the exception of a little excess extrusion at a single point in the beginning, but after three layers, i noticed that it wasn't extruding anymore. I am not completely positive that it isn't due to nozzle jamming, but I have a strong feeling that the problem is the G-code itself, as it does extrude some plastic just before printing starts.

Here are the first lines of my manually edited G-code. Can anyone see why I get the blob in the beginning, or why I don't get anything at all later on? Or does it look good, and my problem is probably the nozzle?

;FLAVOR:UltiGCode ;TIME:60308 ;MATERIAL:119047 ;MATERIAL2:0 ;NOZZLE_DIAMETER:0.400000 ;NOZZLE_DIAMETER2:0.400000 ;MTYPE:PLA ;Layer count: 222 ;LAYER:109 G0 F9000 X208.213 Y107.948 Z16.610 ;TYPE:FILL G1 F3600 X210.390 Y105.771 E4104.65185 G0 F9000 X210.390 Y103.170 G1 F3600 X168.331 Y61.111 E4107.77457 G0 F9000 X167.074 Y61.111 G1 F3600 X120.237 Y107.949 E4111.25208 G0 F9000 X121.695 Y107.949 G1 F3600 X74.857 Y61.111 E4114.72962 G0 F9000 X73.600 Y61.111 G1 F3600 X26.763 Y107.948 E4118.20709 

1 Answer 1

According to the RepRap.org list of G-Code commands, see G0 & G1: Move:

The Ennn command is The amount to extrude between the starting point and ending point.

However, according to this a discussion, that is now deleted from GitHub, about the Cura slicing engine:

The E values are in absolute mode, so perhaps the firmware is attempting to move the stepper motor to the absolute position (which is almost 50% through your print). This may lead to clogging or skipping depending on how hot your extruder is at that point.

As a last resort, you can perform a Boolean subtract on your model of the section that's already printed and re-slice the model to print the remaining bit. Then glue, or ABS weld, the remaining piece to the main print. I've done this in the past, it's not super glamorous, but it gets the job done if the part doesn't require a lot of structural integrity.

I was incorrect with the following statements with regard to the Cura slicing engine:

It's been a while since I've looked at 3D printer G-Code, but from what I remember, E values can be the bane of any manually written G-Code. Usually the slicing engine generates the E value as an incremental step value throughout the G-Code (at least this was true for Skeinforge and early MakerWare, please verify this). So, if the value is incremental and depending on the controller, this value could be lost or corrupt if a new print is initialized.

I would hope, that if you're using a slicing engine's custom G-Code input, that the software would be able to compensate situations like this and reformat your provided G-Code to match the value of E or any similar command.