Convert Figma logo to code with AI

SoftFever logoOrcaSlicer

G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)

10,029
1,263
10,029
1,020

Top Related Projects

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)

6,588

3D printer / slicing GUI built on top of the Uranium framework

3,456

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.

6,588

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.

3,456

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Orca Slicer

Build all

Orca Slicer is an open source Next-Gen Slicing Software for Precision 3D Prints.
Optimize your prints with ultra-fast slicing, intelligent support generation, and seamless printer compatibility—engineered for perfection.

Official links and community

Official Website:

orcaslicer.com

Github Repository:

GitHub Logo

Follow us:

X Logo

Join our Discord community:

discord logo

[!CAUTION] There are multiple unofficial and potentially malicious websites pretending to be related to OrcaSlicer. These sites may redirect you to dangerous downloads or contain misleading information.

If you come across any of these in search results, please report them as unsafe or spam to help keep the community secure.

Main features

  • Advanced Calibration Tools
    Comprehensive suite: temperature towers, flow rate, retraction & more for optimal performance.
  • Precise Wall and Seam Control
    Adjust outer wall spacing and apply scarf seams to enhance print accuracy.
  • Sandwich Mode and Polyholes Support
    Use varied infill patterns and accurate hole shapes for improved clarity.
  • Overhang and Support Optimization
    Modify geometry for printable overhangs with precise support placement.
  • Granular Controls and Customization
    Fine-tune print speed, layer height, pressure, and temperature with precision.
  • Network Printer Support
    Seamless integration with Klipper, PrusaLink, and OctoPrint for remote control.
  • Mouse Ear Brims & Adaptive Bed Mesh
    Automatic brims and adaptive mesh calibration ensure consistent adhesion.
  • User-Friendly Interface
    Intuitive drag-and-drop design with pre-made profiles for popular printers.
  • Open-Source & Community Driven
    Regular updates fueled by continuous community contributions.
  • Wide Printer Compatibility
    Supports a broad range of printers: Bambu Lab, Prusa, Creality, Voron, and more.
  • 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!

Access the wiki here Contribute to the wiki

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 Windows Installer exe for your preferred version from the releases page.

Windows Package Manager:

winget install --id=SoftFever.OrcaSlicer --e

Mac:

  1. Download the DMG for your computer: arm64 version for Apple Silicon and x86_64 for Intel CPU.

  2. Drag OrcaSlicer.app to Application folder.

  3. If you want to run a build from a PR, you also need to follow the instructions below:

    Quarantine
    • 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`
      
    • Option 3:

      • Step 1: open the app, a warning window will pop up
        mac_cant_open
      • Step 2: in System Settings -> Privacy & Security, click Open Anyway: mac_security_setting

Linux (Ubuntu):

  1. If you run into trouble executing it, try this command in the terminal: chmod +x /path_to_appimage/OrcaSlicer_Linux.AppImage

How to Compile

All updated build instructions for Windows, macOS, and Linux are now available on the official OrcaSlicer Wiki - How to build page.

Please refer to the wiki to ensure you're following the latest and most accurate steps for your platform.

Klipper 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:

QIDI BIGTREE TECH

Backers:

Ko-fi supporters ☕: Backers list

Support me

Some background

OrcaSlicer was 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.