-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Adding new machine profiles to Cura
If your make of printer is not in the list of supported printers, and using the Custom FDM Printer does not offer enough flexibility, you can follow this guide to create machine profiles for your printer.
For your printer, you need at least 2 types of files which we call definition files:
- A machine definition file which defines the attributes of your machine. You can use this as a template. For more details, you can check the Machine Definition Files page.
- A number of extruder definition files which defines the attributes of the extruders on your machine. If your machine only has 1 extruder, then you just need 1 extruder definition file. See Machine Definition Files page for more details.
For your machine, let's say "My Machine", you can follow the steps below:
- Create a machine definition file and give it a unique machine ID, e.g.
my_machine.def.json
- Create extruder definition file(s) and give them unique names, such as
my_machine_extruder_0.def.json
,my_machine_extruder_1.def.json
, etc. It depends on how many extruders your machine has. - Open
my_machine.def.json
and edit it to fit your machine's attributes. - Do the same for your extruder definition files, so the files contain the correct information about your machine.
- For the machine definition file, you need to put it in
resources/definitions
- For the extruder definition files, you need to put them in
resources/extruders
- If you have a 3D model of your platform you can put it in
resources/meshes
and put its name under platform. - Set your machine's dimensions with
machine_width
,machine_depth
, andmachine_height
. For multi-extrusion printers, this volume needs to be the union of all positions that any nozzle can reach! Big offsets between different nozzles may cause the build volume to need to become larger, if the gantry is the limiting factor of your printer's size. - If your printer's origin is in the center of the bed, set
machine_center_is_zero
to true. - Set your print head dimensions with the
machine_head_shape
parameters. - Set the start and end gcode in
machine_start_gcode
andmachine_end_gcode
.
Once you are done, put the profile you have made into resources/definitions
, or in definitions
the user settings folder. For extruder definition files, you need to put them in resources/extruders
, or in extruders
the user settings folder.
If you want to make a definition for a multi-extrusion printer, have a look at this as a template, along with the two extruder definitions it references here and here
- Other printer definitions can be found here
- Different extruders can be found here
- Material and Quality profiles (for the UM3) can be found here
- Examples of custom nozzle profiles can be found here
- Make sure extruder and printer definitions are not overwriting the default values in fdmextruder.def.json and fdmprinter.def.json with the same default value that is defined in these files. These values only bulk up the definition files without doing anything.
- Don't delete quality profiles without creating an upgrader script.
To publish your new machine definition and qualities, please submit a pull request on the main
branch of the Ultimaker/Cura repository.
If you have made your profiles we would be very happy to add them to Cura, please contact us.
- Welcome
- Getting Started
- Reporting An Issue
- Core Development
- Plugins & Material Packages
- Printers
- Translations
- Best Practices
- Settings
- 3D Scene
- Profiling
- Cura User Files
- GitHub Actions