1. GCODE
GENERATION
WHAT IS A GCODE AND HOW TO OBTAIN IT
USING CURA SOFTWARE
Greta D’Angelo
Martí Bertran
Thomas J. Howard
2. WHAT IS A GCODE
• G-code is a language in which we tell a 3D printer how to
operate. The "how" is defined by instructions such as:
where to move, speed, path, home position
• A typical piece of Gcode sent to a RepRap machine might
look like this:
Set extruder
N3 T0
temperature to 200º
Select extruder 0 N4 M104 S200
N5 G92 E0*67
N6 G28*22 Set position
Move to Origin N7 G1 F1500.0*82 Controlled
N8 G1 X2.0 Y2.0 F3000.0*85 move
N9 G1 X3.0 Y3.0*33
“Codes for print head movements follow the NIST RS274NGC G-code standard, the same
code as CNC milling and similar applications.”
3. WHAT IS A GCODE
• Gcode contains all the information necessary to control
the 3D printer to obtain a printed part.
• Printer electronics has a firmware, which is a software able
to “interpret” Gcode, and make the hardware (stepper
motors, heat resistors, fans..) do what is written in the
code.
4. GCODE GENERATION
Workflow:
• Split an stl into layers
• Generate perimeters (nozzle trajectories)
• Generate infill (nozzle trajectories)
• Generate support structures (nozzle trajectories)
• Exporting Gcode
We can set:
• Layer thickness (most important parameter)
• Printing speed
• Part infill
• Perimeters thickness
• Supports generation...
4
6. CURA GENERAL
SETTINGS
• Open Cura software
• Go to Tools Switch to full settings
• Click “Load Model” and select the STL file we
want to print
6
7. CURA GENERAL SETTINGS
• Change the printing temperature to 190º
• In “support structures”, choose among “Exterior only” and “None” if you
want or not the use support structures
• Change the print speed to 20 mm/s, we will always be able to increase
that using the ultimaker’s controller on the machine
“Layer height: One of the most important parameters of the print. This will determine the Z axis definition. Decreasing that value we can obtain
less staircase effect and improve the smooth of the surfaces, but notice that the more we decrease that value, the more building time we will
need. Decreasing the layer height to a half, number of layers will be doubled, and the building time the same. Wall thickness: this parameter
will mean how many perimeter loops will have the surfaces before the “infill”. 0,8mm represents 2 loops of the nozzle through the perimeter of
each layer. Infill: This controls the density of the part. For a solid part we’ll use 100% (not recommended) and for an empty part 0%. Usual
values are from 20% to 40%. Raft: 2 layer net added below the print part. This helps the part to stick better and to cold more uniformly. This
helps to avoid the warping of large parts. For more info about the parameters, move your mouse over the parameter and an explanation will
appear.“ 7
8. CURA ADVANCED
SETTINGS
• Enable the option “Duplicate outlines” in order to get a
better quality print
• Then, go to Expert and click “Open expert settings”
9. CURA ADVANCED
SETTINGS
• Change the infill overlap to 85%
“This change will help to assure the nozzle always reach the perimeters
while printing the infill.”
10. EXPORTING GCODE
• When all the parameters has been introduced, we can start the
slicing engine
• Click “Prepare print” for generating the Gcode
10
11. GCODE VISUALISATION
Now, the Gcode is produced and saved at the same folder where you had
the STL file
You can see the output Gcode (printing trajectories) by clicking Topdown
View
Topdown view Gcode View Layer viewed
Infill
Perimeters
11
12. FROM GCODE TO PRINT
• Save the Gcode produced in a SD Card
• Insert the SD Card into the Ultimaker Controller
• Turn On the Ultimaker and use the controller to set the
warm up and then start the print
• Using the controller you can change some parameters of
the print like speed and temperature while the printer is
printing
12