explaingit

ultimaker/cura

6,957PythonAudience · generalComplexity · 3/5Setup · easy

TLDR

Ultimaker Cura is a free desktop app that converts 3D model files into printer instructions, letting you adjust layer thickness, infill density, and supports before sending the job to hundreds of supported 3D printer models.

Mindmap

mindmap
  root((Cura))
    What it does
      Slice 3D models
      Generate G-code
      Printer profiles
    Tech Stack
      Python backend
      Qt interface
      C++ slicer engine
    Use Cases
      Print preparation
      Custom profiles
      Plugin development
    Workflow
      Open model
      Adjust settings
      Export or send to printer
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Slice a 3D model file and export G-code ready to send to a 3D printer with settings tuned for your material and printer.

USE CASE 2

Adjust print settings like layer height, infill density, and support structures using printer-specific presets.

USE CASE 3

Add a new printer profile to Cura for a brand not in the default list so the slicer knows your machine's dimensions and limits.

USE CASE 4

Build a Cura plugin that adds a new post-processing step or tool to the application without waiting for an official update.

Tech stack

PythonQtC++

Getting it running

Difficulty · easy Time to first run · 5min

Ready-made installers are available for regular users, building from source requires following the project wiki and setting up a full Python and C++ toolchain.

In plain English

Ultimaker Cura is a desktop application for 3D printing preparation. Its job is to take a 3D model file and convert it into the specific set of instructions a 3D printer needs to actually print the object. This conversion step is called slicing, because the software literally slices the model into thin horizontal layers and works out how the printer should trace each one. Cura is made by Ultimaker, a Dutch 3D printer manufacturer, but it works with hundreds of printers from many different brands. When you open a model in Cura, you can adjust settings like layer thickness, infill density (how solid the inside of the print is), print speed, and support structures. Cura ships with many preset profiles tuned for specific printers, and the community contributes additional profiles. Once you are happy with the settings, Cura exports a file in a format called G-code that goes onto an SD card or sends directly to the printer. The software is open source and written in Python with a Qt-based graphical interface. It has a plugin system so the community can add new features, printer profiles, and integrations without waiting for an official update. The README for this repository is brief and primarily serves as a navigation hub. It links out to guides for building Cura from source, adding printer profiles, contributing translations, and understanding settings. The actual documentation and setup instructions live in the project wiki rather than the README itself. If you just want to use Cura rather than develop it, you download a ready-made installer from the releases page. The source code here is for developers who want to contribute to the application or build it themselves.

Copy-paste prompts

Prompt 1
Slice my STL file in Ultimaker Cura for a Prusa MK4 with 0.2mm layers, 20 percent gyroid infill, and tree supports, what settings do I need?
Prompt 2
How do I build Ultimaker Cura from source on Ubuntu so I can contribute a bug fix to the Python codebase?
Prompt 3
Write a Cura plugin in Python that automatically adds a prime tower whenever a multi-material profile is selected.
Prompt 4
Create a custom Cura printer profile for a DIY CoreXY machine with a 300x300mm build plate and a 0.4mm nozzle.
Prompt 5
How do I add a community-contributed printer profile to Cura without waiting for it to be merged into the official release?
Open on GitHub → Explain another repo

← ultimaker on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.