One of the most important pieces of the 3D printing workflow is the slicer. Today, most makers and companies use Cura, a free and open-source program from Ultimaker. From its inception, Cura has been constantly evolving, adding new features and plug-ins that make it more powerful.
While there are a few open-source slicers on the market, what sets Cura apart is their commitment to hosting third-party manufacturers’ printers and printer profiles on their software. Although this helps Ultimaker’s direct competitors and could mean a loss of business, they continue to do so. We surmise that it’s really a win–win for Cura and its community, attracting developers and testers who speed up the process of Cura’s development.
In this article, we’ll be going over the process to add your printer to Cura. But first, we’ll need to look at where an important piece of this process takes place: GitHub.
GitHub is a website that helps developers from around the world collaborate on projects they love. The platform allows creators to keep track of project development and records changes made along the way, known as version control. GitHub also tracks collaborators’ contributions, including the exact lines of code added or removed by them.
To keep it simple when adding a printer, we’re going to show you how to “fork” a project (marked as 1 in the above image). Forking a project means we’re making our own personal copy of a project, so we can play around and make changes without accidentally creating bugs in the main source code.
After forking the project, we’ll add our machine files under the resources folder (marked as 2). Once we’ve done that, we can then submit a pull request (marked as 3). The pull request tells the project owner to check the addition and make sure everything’s fine.
Let’s begin!
Before we fully get into the project, there are a few preparatory things that you’ll need to do.
For this project, we’re going to create a machine called All3DP2020 that has a build volume of 200 x 200 x 200 mm, a single extruder, and a heated bed. The steps are the same if you’ll be adding your own machine.
The first thing to do is to create a machine definition file.
We’ll now follow Cura’s guide on setting up the definition file. We can also make use of the example file that’s set up for the Ultimaker Original printer as a template. The definition file for the All3DP machine can be downloaded and also used as a reference.
With that, let’s get into a few details of the definition file and understand what it does and how it does it.
Once done with the definition file, let’s add our extruder profile.
Navigate to the resources folder, then the extruders folder, and create a definition file. You can create a file by simply copying and pasting an existing definition file and changing its name. Make sure the name of your file is the same as what you listed under “machine_extruder_trains”.
For our case, we’ll name the file “all3dp2020_extruder_0” and open the file using Notepad++. As mentioned before, you can download our sample file if you’d like.
Additionally, the following can be helpful as you are creating an extruder profile:
Finally, we can add our bed mesh as an STL file.
Once you’re done with adding your files into the respective folders, you can now open Cura and add your machine by hitting the “Add Printer” button. Go through the various settings and see if anything should be added or removed.
Cura has thousands of settings under the profile section, so be careful, as some of the default values may not be ideal for your setup. For example, the retraction length is set to 6.5 mm and this could clog an E3D extruder.
Now that you’ve added your printer, let’s take a look at creating our own built-in profiles.
To set up custom profiles, create a folder for your printer in the quality folder (under the main resources folder). In this case, ours is called All3DP2020.
In the quality folder, you’ll find generic quality files that load for any custom 3D printer that’s added. We’ll copy the Draft, Fine, and Normal files, as we want to have three profiles for our machine. Paste these files into the folder (the All3DP2020 folder in this case) that you created earlier. Note that these files have an extension of .inst.cfg.
Let’s look at the settings that can be modified:
Now that you’re done creating and testing your machine locally, it’s time to upload your files to GitHub and create a pull request.
Once your settings are approved, Cura will usually push it out with an update in the next version. When that next version comes out with your printer in it, celebrate!
Lead image source: RZtronics via YouTube
License: The text of "Cura Profile: Add Your Custom Machine to Cura" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.