OrcaSlicer
G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
Top Related Projects
G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
3D printer / slicing GUI built on top of the Uranium framework
Open Source toolpath generator for 3D printers
PC Software for BambuLab and other 3D printers
Quick Overview
OrcaSlicer is an open-source 3D printing slicer software designed to work with the Orca 3D printer. It provides a user-friendly interface for preparing and optimizing 3D models for printing, with a focus on providing a seamless experience for Orca users.
Pros
- Optimized for Orca 3D Printer: OrcaSlicer is specifically designed to work with the Orca 3D printer, ensuring compatibility and optimal performance.
- User-Friendly Interface: The software features a clean and intuitive user interface, making it easy for both novice and experienced 3D printing enthusiasts to use.
- Advanced Slicing Features: OrcaSlicer offers a range of advanced slicing features, such as support generation, infill patterns, and layer height adjustments, allowing users to fine-tune their 3D prints.
- Open-Source: As an open-source project, OrcaSlicer benefits from a community of contributors, ensuring ongoing development and improvements.
Cons
- Limited to Orca 3D Printer: OrcaSlicer is primarily focused on the Orca 3D printer, which may limit its usefulness for users with other 3D printer models.
- Potential Compatibility Issues: As an open-source project, there may be occasional compatibility issues or bugs that need to be addressed by the community.
- Learning Curve: While the user interface is generally user-friendly, some users may still need to invest time in learning the software's features and capabilities.
- Lack of Advanced Customization: Compared to some commercial slicer software, OrcaSlicer may have a more limited set of customization options for advanced users.
Code Examples
N/A (This is not a code library)
Getting Started
N/A (This is not a code library)
Competitor Comparisons
G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
Pros of PrusaSlicer
- More mature and established project with a larger user base
- Extensive documentation and community support
- Optimized profiles for Prusa printers out of the box
Cons of PrusaSlicer
- Less frequent updates compared to OrcaSlicer
- Fewer experimental features and cutting-edge slicing algorithms
- More complex user interface, which can be overwhelming for beginners
Code Comparison
PrusaSlicer:
void GCode::set_extruders(const std::vector<unsigned int> &extruder_ids)
{
m_extruders.clear();
m_extruders.reserve(extruder_ids.size());
for (unsigned int extruder_id : extruder_ids)
m_extruders.emplace_back(GCodeExtruder(extruder_id, &m_writer));
}
OrcaSlicer:
void GCode::set_extruders(const std::vector<unsigned int>& extruder_ids)
{
m_extruders.clear();
for (unsigned int extruder_id : extruder_ids)
m_extruders.emplace_back(extruder_id, &m_writer);
}
The code comparison shows that OrcaSlicer's implementation is slightly more concise, omitting the reserve
call and using a simpler constructor for GCodeExtruder
.
3D printer / slicing GUI built on top of the Uranium framework
Pros of Cura
- Larger user base and community support
- More extensive printer compatibility
- Well-established and mature software with regular updates
Cons of Cura
- Slower development cycle for new features
- Less focus on specific printer optimizations
- More complex interface for beginners
Code Comparison
OrcaSlicer:
void GCodeExport::writeMove(const Point& p, double speed, const std::string& type)
{
if (flavor == EGCodeFlavor::BFB)
{
writeMoveBFB(p.X, p.Y, p.Z, speed, type);
return;
}
writeMove(p.X, p.Y, p.Z, speed, type);
}
Cura:
def _addTravel(self, path: Polygon, extruder_nr: int) -> None:
travel = path.getPoints()
for point in travel:
self.addCommand(GCodeCommand("G0", {"X": point.x, "Y": point.y}))
if not self.firmware_retraction:
self.addCommand(GCodeCommand("G0", {"Z": self.current_layer_height}))
Note: The code snippets are examples and may not represent the most current versions of the repositories.
Open Source toolpath generator for 3D printers
Pros of Slic3r
- Longer development history and more established user base
- Open-source with a strong community-driven development model
- Supports a wide range of 3D printers and materials
Cons of Slic3r
- Less frequent updates compared to OrcaSlicer
- User interface can be less intuitive for beginners
- May lack some advanced features found in newer slicers
Code Comparison
Slic3r (C++):
void PerimeterGenerator::process_external_surfaces(
const ExPolygons &surfaces_fill,
const ExtrusionRole role,
const Flow &flow,
const bool loop_clipping)
{
// Implementation details
}
OrcaSlicer (C++):
void PerimeterGenerator::process_external_surfaces(
const ExPolygons &surfaces,
ExtrusionRole role,
Flow flow,
bool loop_clipping)
{
// Implementation details
}
Both projects use similar function signatures and coding styles, reflecting their common ancestry. OrcaSlicer, being a fork of PrusaSlicer (which itself is a fork of Slic3r), maintains much of the original codebase structure while introducing its own optimizations and features.
PC Software for BambuLab and other 3D printers
Pros of BambuStudio
- Tailored specifically for Bambu Lab printers, offering optimized settings and features
- Integrated with Bambu Lab's ecosystem, including cloud services and remote monitoring
- More frequent updates and active development from the official manufacturer
Cons of BambuStudio
- Limited compatibility with non-Bambu Lab printers
- Less customizable and flexible compared to OrcaSlicer
- Steeper learning curve for users familiar with other slicing software
Code Comparison
While both projects are based on PrusaSlicer, they have diverged significantly. Here's a small example of how they handle layer height settings:
OrcaSlicer:
void LayerHeight::set_layer_height(coordf_t layer_height)
{
m_layer_height = layer_height;
m_height_ranges.clear();
}
BambuStudio:
void LayerHeight::set_layer_height(double layer_height)
{
this->layer_height = layer_height;
this->layer_height_ranges.clear();
this->layer_height_profile.clear();
}
Both implementations are similar, but BambuStudio includes an additional clear operation for the layer_height_profile.
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
Orca Slicer
Orca Slicer is an open source slicer for FDM printers.
Join our Discord community here:
ð¨ð¨ð¨Important Security Alertð¨ð¨ð¨
The only official platforms for OrcaSlicer are our GitHub project page, orcaslicer.com, and the official Discord channel.
Please be aware that "orcaslicer.net", "orcaslicer.co" or "orca-slicer.com" are NOT an official website for OrcaSlicer and may be potentially malicious. These sites appear to use AI-generated content, lacking genuine context and seems to exist solely to profit from advertisements. Worse, it may redirect download links to harmful sources. For your safety, avoid downloading OrcaSlicer from this site as the links may be compromised.
If you see the above sites in your searches, report them as spam or unsafe to the search engine. This small action will assist everyone.
We deeply value our OrcaSlicer community and appreciate all the social groups that support us. However, it is crucial to address the risk posed by any group that falsely claims to be official or misleads its members. If you encounter such a group or are part of one, please assist by encouraging the group owner to add a clear disclaimer or by alerting its members.
Thank you for your vigilance and support in keeping our community safe!
Main features
- Auto-calibration for all printers
- Sandwich (inner-outer-inner) mode - An improved version of the
External Perimeters First
mode - Precise wall
- Polyholes conversion support: SuperSlicer Wiki: Polyholes
- Klipper support
- More granular controls
- Additional features can be found in the change notes
Wiki
The wiki below aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer.
Please note that the wiki is a work in progress. We appreciate your patience as we continue to develop and improve it!
Download
Stable Release
ð¥ Download the Latest Stable Release
Visit our GitHub Releases page for the latest stable version of Orca Slicer, recommended for most users.
Nightly Builds
ð Download the Latest Nightly Build
Explore the latest developments in Orca Slicer with our nightly builds. Feedback on these versions is highly appreciated.
How to install
Windows:
- Download the installer for your preferred version from the releases page.
- For convenience there is also a portable build available.
- If you have troubles to run the build, you might need to install following runtimes:
- MicrosoftEdgeWebView2RuntimeInstallerX64
- vcredist2019_x64
- Alternative Download Link Hosted by Microsoft
- This file may already be available on your computer if you've installed visual studio. Check the following location:
%VCINSTALLDIR%Redist\MSVC\v142
Mac:
-
Download the DMG for your computer:
arm64
version for Apple Silicon andx86_64
for Intel CPU. -
Drag OrcaSlicer.app to Application folder.
-
If you want to run a build from a PR, you also need to follow the instructions below:
- Option 1 (You only need to do this once. After that the app can be opened normally.): - Step 1: Hold _cmd_ and right click the app, from the context menu choose **Open**. - Step 2: A warning window will pop up, click _Open_- Option 2:
Execute this command in terminal:xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app
softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app
- Option 3:
- Step 1: open the app, a warning window will pop up
- Step 2: in
System Settings
->Privacy & Security
, clickOpen Anyway
:
- Step 1: open the app, a warning window will pop up
- Option 2:
Linux (Ubuntu):
- If you run into trouble executing it, try this command in the terminal:
chmod +x /path_to_appimage/OrcaSlicer_Linux.AppImage
How to compile
-
Windows 64-bit
- Tools needed: Visual Studio 2019, Cmake, git, git-lfs, Strawberry Perl.
- You will require cmake version 3.14 or later, which is available on their website.
- Strawberry Perl is available on their GitHub repository.
- Run
build_release.bat
inx64 Native Tools Command Prompt for VS 2019
- Note: Don't forget to run
git lfs pull
after cloning the repository to download tools on Windows
- Tools needed: Visual Studio 2019, Cmake, git, git-lfs, Strawberry Perl.
-
Mac 64-bit
- Tools needed: Xcode, Cmake, git, gettext, libtool, automake, autoconf, texinfo
- You can install most of them by running
brew install cmake gettext libtool automake autoconf texinfo
- If you haven't since upgrading Xcode, start Xcode and install macOS build support.
- You can install most of them by running
- run
build_release_macos.sh
- open
build_arm64/OrcaSlicer/OrcaSlicer.app
- To build and debug in Xcode:
- run
Xcode.app
- open
build_`arch`/OrcaSlicer.Xcodeproj
- menu bar: Product => Scheme => OrcaSlicer
- menu bar: Product => Scheme => Edit Scheme...
- Run => Info tab => Build Configuration:
RelWithDebInfo
- Run => Options tab => Document Versions: uncheck
Allow debugging when browsing versions
- Run => Info tab => Build Configuration:
- menu bar: Product => Run
- run
- Tools needed: Xcode, Cmake, git, gettext, libtool, automake, autoconf, texinfo
-
Linux (All Distros)
- Docker
- Dependencies: Docker Installation Instructions, git
- clone this repository
git clone https://github.com/SoftFever/OrcaSlicer
- run
cd OrcaSlicer
- run
./DockerBuild.sh
- To run OrcaSlicer:
- run
./DockerRun.sh
- For most common errors, open
DockerRun.sh
and read the comments.
- For most common errors, open
- run
- Ubuntu
- Dependencies Will be auto installed with the shell script:
libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git texinfo
- run 'sudo ./BuildLinux.sh -u'
- run './BuildLinux.sh -dsi'
- Dependencies Will be auto installed with the shell script:
- Docker
Note:
If you're running Klipper, it's recommended to add the following configuration to your printer.cfg
file.
# Enable object exclusion
[exclude_object]
# Enable arcs support
[gcode_arcs]
resolution: 0.1
Supports
Orca Slicer is an open-source project and I'm deeply grateful to all my sponsors and backers.
Their generous support enables me to purchase filaments and other essential 3D printing materials for the project.
Thank you! :)
Sponsors:
![]() |
![]() |
Backers:
Ko-fi supporters: Backers list
Support me
Some background
OrcaSlicer is originally forked from Bambu Studio, it was previously known as BambuStudio-SoftFever.
Bambu Studio is forked from PrusaSlicer by Prusa Research, which is from Slic3r by Alessandro Ranellucci and the RepRap community. Orca Slicer incorporates a lot of features from SuperSlicer by @supermerill Orca Slicer's logo is designed by community member Justin Levine(@freejstnalxndr)
License
Orca Slicer is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Bambu Studio by BambuLab.
Bambu Studio is licensed under the GNU Affero General Public License, version 3. Bambu Studio is based on PrusaSlicer by PrusaResearch.
PrusaSlicer is licensed under the GNU Affero General Public License, version 3. PrusaSlicer is owned by Prusa Research. PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
Slic3r is licensed under the GNU Affero General Public License, version 3. Slic3r was created by Alessandro Ranellucci with the help of many other contributors.
The GNU Affero General Public License, version 3 ensures that if you use any part of this software in any way (even behind a web server), your software must be released under the same license.
Orca Slicer includes a pressure advance calibration pattern test adapted from Andrew Ellis' generator, which is licensed under GNU General Public License, version 3. Ellis' generator is itself adapted from a generator developed by Sineos for Marlin, which is licensed under GNU General Public License, version 3.
The Bambu networking plugin is based on non-free libraries from BambuLab. It is optional to the Orca Slicer and provides extended functionalities for Bambulab printer users.
Top Related Projects
G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
3D printer / slicing GUI built on top of the Uranium framework
Open Source toolpath generator for 3D printers
PC Software for BambuLab and other 3D printers
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