At first glance, a 3D model file (such as STL or 3MF) can seem to be almost identical to a G-code file, as they both carry the information related to a 3D model and are commonly used for the purposes of 3D printing, with the added fact that a G-code file is essentially produced from a 3D model file by the slicer software.
On the other hand, while they carry similar data, a G-code file is entirely different than a 3D model file, both in terms of the exact data contained within and the syntax of how the data is structured, meaning that slicer software won’t be able to treat these two files similarly, introducing some limitations to what’s possible and what is not between these two file types.
In today’s article, our topic will be the process of editing G-code files, specifically in Cura, in particular, where we will find out whether Cura makes it possible to directly edit the G-code files that it has produced after it completes slicing a 3D model and makes it ready for printing.
So, is it possible to edit G-code directly in Cura?
Unfortunately, it’s not possible to directly edit a G-code file in Cura. On the other hand, a Cura project file, which practically combines the 3D model you have imported and the modifications you have performed in Cura into a single file, is what you can utilize for changes and to create a new G-code file that contains them.
Moving forward, we will further discuss the G-code editing capabilities of Cura, find out how Cura converts STL files to G-code files, examine whether it’s possible to open and view a G-code file in Cura, and finally, take a glance at the start G-code and end G-code features in Cura.
Is It Possible to Edit G-Code Directly in Cura?
Even though directly editing a G-code file sounds counterintuitive, as the whole purpose of using slicer software is to make any changes through the interface and let the slicer produce the G-code file accordingly, in some cases, it can be necessary to make slight modifications.
Technically speaking, you won’t be able to import a G-code file into Cura and perform direct modifications to it, as the Print Settings section of Cura will automatically be disabled once it detects that the file you have imported is G-code and not a 3D model or project file.
On the other hand, this does not mean that there is absolutely no way to edit a G-code file, as there are a few different and more indirect approaches you can take to apply the changes you need, with or without Cura involved.
Our primary recommendation to comfortably achieve the same effect as editing a G-code file in Cura would be to utilize a Cura project file, which you can save and store separately after you perform the necessary configuration and go through the slicing process.
As the project file will both contain the 3D model(s) you have imported and the modifications you have performed in Cura, it will essentially allow you to perform any adjustments of your choice on top of it and re-slice the model, which practically comes down to the same thing as editing the G-code file itself.
On the other hand, if you don’t have access to the project file and can’t create one either, which usually is the case, another method that you can utilize is to import the G-code file you would like to edit as a profile in Cura, which, provided that you have created the G-code file in Cura, will create a custom profile that contains all the configuration you have added.
With the custom profile at hand, all you will need to do is to import the 3D model file and activate the corresponding profile, which will essentially create a scenario that is no different than loading the project file, allowing you to perform the modifications you need, re-slice, and save the project file for later use.
Please note that the G-code profile import method may not always be a reliable option, with Cura sometimes failing to detect and convert the configuration within the G-code file to a custom profile, most likely in cases where there are version mismatches.
Finally, for very minor fixes, such as modifying a single line, it’s always possible to open the G-code file in your favorite text editor and perform the edits manually, as the G-code commands in the file will be in a human-readable format that you can interpret and adjust based on your needs.
How Does Cura Convert STL Files to G-Code Files?
Taking a deeper look into how Cura converts an STL file to a G-code file is the best way to understand the distinction between STL files and G-code files, which will also make the reasoning behind the limitations of these files more transparent.
When you click the Slice button in Cura, it puts together the 3D model (the STL file) and the configuration you have performed, utilizing this combined data to map out every single action that the 3D printer needs to take to bring the 3D model you’re seeing on your screen to life.
The word “slicer” comes from the fact that slicer software, such as Cura, essentially “slice” the model into individual layers, as the approach that FDM printing follows is putting each of the layers on top of each other to create the final product.
For instance, while the coordinates that the printhead will be traveling to come from the 3D model, the temperature that will be used for the printing process comes from the Cura configuration, with the 3D printer needing both of these data points to be able to print the model.
As G-code commands are simple instructions, every single movement, every temperature change, and practically anything else you can think of corresponds to a single line of G-code, with even a standard calibration cube requiring tens of thousands of G-code command lines.
At this state, while the G-code file contains all the data required for the 3D printer to conduct the printing process successfully, it stops being a format that Cura can modify.
Can You Open and View a G-Code File in Cura?
Editing is not the only potential reason behind wanting to open a G-code file, as, in some cases, it becomes necessary to preview the G-code file and have an idea of how your 3D printer will perform when it’s running the commands contained within.
It is entirely possible to open a G-code file in Cura for the purposes of viewing, which will cause Cura to switch to the Preview tab directly, where you can see a simulation of how the printhead will move during the printing of each layer, how the layers will look, and the type of the structures contained within in a color-coded way.
On the other hand, as it’s not possible to view a G-code file in text format by importing it into Cura, you will need to open the file in your favorite text editor instead, which will allow you to see each of the G-code commands that the file comprises in a human-readable format.
Understanding the Cura Start G-Code & End G-Code Features
While Cura does not directly allow the editing of an individual G-code file, it offers the features of start G-code and end G-code, which give us some control over the individual G-code commands that the 3D printer will run once the G-code file is loaded.
In a nutshell, the Start G-code and End G-code sections you can find in Cura allow you to prepend and append blocks of G-code commands to the G-code file created by Cura, where the former block runs when the 3D printing process first starts, and the latter block runs at the end.
This way, it becomes possible to add the G-code commands that you would like to run at the start and at the end of every 3D printing process, regardless of the model file you’re printing with and the configuration you have used in Cura, removing the necessity to add these commands into the G-code file manually.
Even though the need to directly edit a G-code file is definitely considered niche, considering the correct and also the more user-friendly way to perform adjustments to the G-code file is to modify the print parameters through the slicer software and reproduce the G-code file with the intended modifications, there are some scenarios where this may not exactly be possible.
To quickly recap, as a G-code file is meant to be the final product of the slicing process, created with the purpose of being read and interpreted by the 3D printer, it’s not a type of file that you will be able to edit directly by importing it into Cura as you would with a 3D model file.
On the other hand, utilizing a Cura project file, which essentially contains all the data contained within a G-code file in a modifiable format, using the Cura G-code profile import trick, or even editing the G-code file with a text editor will most likely allow you to perform the necessary modifications, meaning that you certainly aren’t out of options.
Mike started his 3D printing journey with the Anet A8 when it first came out back in 2017, and has been obsessed with 3D printers ever since. Nowadays, he primarily uses his Ender 3 to print functional parts that make his life more convenient whenever possible.