Top Related Projects
3D printer / slicing GUI built on top of the Uranium framework
G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
Quick Overview
PrusaSlicer is an open-source 3D printing slicer software developed by Prusa Research. It converts 3D models into G-code instructions for 3D printers, offering advanced features and optimizations for Prusa printers while also supporting a wide range of other 3D printer brands.
Pros
- Highly optimized for Prusa printers, providing excellent print quality and reliability
- Regularly updated with new features and improvements
- Supports a wide range of 3D printers beyond just Prusa models
- Offers advanced features like custom supports, variable layer heights, and multi-material printing
Cons
- Learning curve can be steep for beginners due to the abundance of settings and options
- Some users report occasional stability issues or crashes, especially with complex models
- Default profiles may not always be optimal for non-Prusa printers, requiring manual tuning
- Resource-intensive for very large or complex models, potentially causing slowdowns on older hardware
Getting Started
To get started with PrusaSlicer:
- Download the latest version from the official PrusaSlicer website.
- Install the software on your computer.
- Launch PrusaSlicer and follow the Configuration Wizard to set up your printer profile.
- Import a 3D model (STL, OBJ, or 3MF file) using File > Import.
- Adjust settings as needed in the right-side panel.
- Click "Slice now" to generate G-code.
- Save the G-code file and transfer it to your 3D printer for printing.
For more detailed instructions and tutorials, refer to the PrusaSlicer documentation.
Competitor Comparisons
3D printer / slicing GUI built on top of the Uranium framework
Pros of Cura
- More extensive machine compatibility and pre-configured printer profiles
- User-friendly interface with intuitive layout and settings organization
- Robust plugin ecosystem for extended functionality
Cons of Cura
- Slower slicing speed, especially for complex models
- Less granular control over certain advanced settings
- Occasional stability issues with large or intricate files
Code Comparison
PrusaSlicer:
void GCode::set_extruders(const std::vector<unsigned int> &extruder_ids)
{
m_writer.set_extruders(extruder_ids);
// disable E axis relative mode
m_enable_extrusion_role_markers = false;
}
Cura:
def setExtruderForMesh(self, mesh: MeshData, extruder_nr: int) -> None:
if mesh not in self._mesh_extruder_nr:
self._mesh_extruder_nr[mesh] = extruder_nr
else:
Logger.log("w", "Extruder for mesh %s was already set", mesh)
Both repositories focus on 3D printing slicing software, but they differ in implementation languages and specific features. PrusaSlicer uses C++ for core functionality, while Cura primarily utilizes Python. The code snippets demonstrate how each project handles extruder-related operations, with PrusaSlicer focusing on setting extruders for G-code generation and Cura managing extruder assignments for mesh objects.
G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
Pros of OrcaSlicer
- More frequent updates and active development
- Enhanced support for Klipper firmware and input shaping
- Additional features for resin 3D printing
Cons of OrcaSlicer
- Less stable compared to PrusaSlicer due to rapid development
- Smaller community and fewer resources for troubleshooting
- May have a steeper learning curve for new users
Code Comparison
PrusaSlicer:
void GCode::set_extruder(unsigned int extruder_id)
{
if (m_writer.extruder() == extruder_id)
return;
m_writer.set_extruder(extruder_id);
}
OrcaSlicer:
void GCode::set_extruder(unsigned int extruder_id, double print_z)
{
if (!m_writer.need_toolchange(extruder_id))
return;
m_writer.toolchange(extruder_id, print_z);
}
Both slicers use similar approaches for setting the extruder, but OrcaSlicer includes an additional parameter for print height and checks if a toolchange is necessary before proceeding.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
PrusaSlicer
You may want to check the PrusaSlicer project page. Prebuilt Windows, OSX and Linux binaries are available through the git releases page or from the Prusa3D downloads page. There are also 3rd party Linux builds available.
PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into G-code instructions for FFF printers or PNG layers for mSLA 3D printers. It's compatible with any modern printer based on the RepRap toolchain, including all those based on the Marlin, Prusa, Sprinter and Repetier firmware. It also works with Mach3, LinuxCNC and Machinekit controllers.
PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community.
See the project homepage and the documentation directory for more information.
What language is it written in?
All user facing code is written in C++.
The slicing core is the libslic3r
library, which can be built and used in a standalone way.
The command line interface is a thin wrapper over libslic3r
.
What are PrusaSlicer's main features?
Key features are:
- multi-platform (Linux/Mac/Win) and packaged as standalone-app with no dependencies required
- complete command-line interface to use it with no GUI
- multi-material (multiple extruders) object printing
- multiple G-code flavors supported (RepRap, Makerbot, Mach3, Machinekit etc.)
- ability to plate multiple objects having distinct print settings
- multithread processing
- STL auto-repair (tolerance for broken models)
- wide automated unit testing
Other major features are:
- combine infill every 'n' perimeters layer to speed up printing
- 3D preview (including multi-material files)
- multiple layer heights in a single print
- spiral vase mode for bumpless vases
- fine-grained configuration of speed, acceleration, extrusion width
- several infill patterns including honeycomb, spirals, Hilbert curves
- support material, raft, brim, skirt
- standby temperature and automatic wiping for multi-extruder printing
- customizable G-code macros and output filename with variable placeholders
- support for post-processing scripts
- cooling logic controlling fan speed and dynamic print speed
Development
If you want to compile the source yourself, follow the instructions on one of these documentation pages:
Can I help?
Sure! You can do the following to find things that are available to help with:
- Add an issue to the github tracker if it isn't already present.
- Look at issues labeled "volunteer needed"
What's PrusaSlicer license?
PrusaSlicer is licensed under the GNU Affero General Public License, version 3. The PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
How can I use PrusaSlicer from the command line?
Please refer to the Command Line Interface wiki page.
Top Related Projects
3D printer / slicing GUI built on top of the Uranium framework
G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot