* Shorten the travel between extrusion paths chain_and_reorder_extrusion_entities() builds the print order of the infill, ironing and support paths of a region from the nozzle position. It took the greedy chain, which leaves its longest joins for last; it now shortens it: - Up to eight paths, chain_segments_exact() finds the shortest chain over every order and allowed reversal, by dynamic programming over the subsets of paths, with a fixed start and a free end. - Longer chains are refined by local search: 2-opt, or-opt of up to three paths, and moving a run of any length next to the nozzle to the front, each tried only toward the 32 end points nearest a link, which come from a uniform grid. A move is applied only if it shortens the chain, so the result is never longer than the greedy one. - A nearest-next chain is built too, and refined and used instead when it is already shorter than the refined greedy chain, which happens when the greedy chain sweeps away from the nozzle and has to come back with a long jump. The shared greedy chaining also chains two to four segments exactly, which covers the islands of a layer and the loops of a perimeter collection. Paths that cannot reverse, such as Grid's, are only reordered, and collections that keep their order are left alone. The overload without a start point keeps the greedy chain. Co-authored-by: Tobias Gloth <tobias.gloth@3dsystems.com> * Order objects and islands along shorter tours Objects under print_order Default, and the tour of islands across objects, are visited in the same order on every layer, so chain_points_with_postprocessing() orders them as a closed tour. Up to ten points, tsp_exact_cycle() finds the shortest tour by dynamic programming over subsets, starting at the point nearest the start point when one is given. Larger sets add or-opt to the existing 2-opt and crossing removal: runs of up to three points move next to one of the eight points nearest an end of the run, reversed or not, and crossing removal runs last so no crossing is left. Snake ordering is unchanged; Best of strategies gets the shorter Default tour as a candidate. * Join infill lines into fewer paths Every separate infill path costs a travel to it, so the fill generators now leave fewer of them: - connect_infill() pairs the line ends along each wall in the order that joins the most lines: besides shortest arc first, it replays arcs of about the same length taken along each contour, forwards and backwards, including the last pass that joins neighboring open ends, and keeps the order that joins the most. Regular patterns no longer leave loose ends where the pairs along a wall fall out of step, and multiline copies print out and back. - Ends whose anchors would meet are joined along the wall instead, up to two anchors and a line width apart. - An unpaired end anchors toward the nearest open end of another path, where the next path usually starts, instead of the side with more free wall. With multiline infill, an anchor toward a copy of the same line stops short of the copy instead of printing over it. - Last, sparse infill lines whose ends are at most two line spacings apart are joined with a straight piece, shortest first, without closing a loop or crossing a line; with anchors off this is the only joining. Copies of neighboring multiline groups are joined at the same side, and lines that cannot reverse only join end to start. * Describe the travel optimization design How the extrusion chains, the object and island tours and the infill line joining shorten the travel, and why each part is built the way it is. --------- Co-authored-by: Tobias Gloth <tobias.gloth@3dsystems.com>
OrcaSlicer: 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:
Github Repository:
Follow us:
Join our Discord community:
|
⚠️ CAUTION: Several clickbait and malicious websites, such as orca-slicer[.]com and orcaslicer[.]net, are pretending to be the official OrcaSlicer site. These sites may redirect you to dangerous downloads or contain misleading information. Our only official website is www.orcaslicer.com. If you come across any of these in search results, please report them as unsafe or phishing to help keep the community secure with: - Google Safe Browsing - Microsoft Security Intelligence - IPThreat |
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. - Belt Printer Support
Slice for belt / conveyor (infinite-Z) printers, with belt-aware supports and a tilted-bed preview. Contributed by Joseph Robertson (@HarrierPigeon). - IDEX/IQEX Parallel Printing Support
Print copies or mirror images of a part on every carriage of an IDEX or IQEX printer at once, with the mode chosen per plate and nozzle clearance zones shown on the bed. Contributed by Clifford (@cgarwood82). - Additional features can be found in the change notes.
Wiki
The wiki 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.
Download
Stable Release
📥 Download the Latest Stable Release
Visit our GitHub Releases page for the latest stable version of OrcaSlicer, recommended for most users.
Windows release binaries are code signed; see our Code signing policy.
Nightly Builds
🌙 Download the Latest Nightly Build
Explore the latest developments in OrcaSlicer 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. Both x64 and arm64 installers are published — pick the one matching your CPU.
-
For convenience there is also a portable build available.
Troubleshooting
- 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
Microsoft Store
Install from the Microsoft Store when you prefer a Store-signed package (helps on Windows 11 Smart App Control).
Windows Package Manager
winget install --id=SoftFever.OrcaSlicer -e
Mac
-
Download the universal DMG, which runs on both Apple Silicon and Intel Macs.
-
Drag OrcaSlicer.app to Application folder.
-
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:
-
Homebrew Cask
brew install --cask orcaslicer
The Homebrew cask installs the official macOS DMG from GitHub Releases.
Linux
Flathub (Recommended)
OrcaSlicer is available through FlatHub:
Install from the command line:
flatpak install flathub com.orcaslicer.OrcaSlicer
flatpak run com.orcaslicer.OrcaSlicer
It can also be installed through graphical software managers (KDE Discover, GNOME Software, etc.) when Flathub is enabled. Search for OrcaSlicer in your software center.
AppImage
AppImages are published for both x86_64 and aarch64 (ARM64). Pick the file matching your CPU — the ARM64 build has aarch64 in its name (e.g. OrcaSlicer_Linux_AppImage_Ubuntu2404_aarch64_*.AppImage).
-
Download App image from the releases page.
-
Double click the downloaded file to run it.
-
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
OrcaSlicer is an open-source project, and we're deeply grateful to all our sponsors and backers.
Their generous support helps fund filaments and other essential 3D printing materials for the project.
Thank you! :)
Sponsors
|
|
Backers:
Ko-fi supporters ☕: Backers list
Support the project
Some Background
Open-source slicing has always been built on a tradition of collaboration and attribution. Slic3r, created by Alessandro Ranellucci and the RepRap community, laid the foundation. PrusaSlicer by Prusa Research built on Slic3r and acknowledged that heritage. Bambu Studio in turn forked from PrusaSlicer, and SuperSlicer by @supermerill extended PrusaSlicer with community-driven enhancements. Each project carried the work of its predecessors forward, crediting those who came before.
OrcaSlicer began in that same spirit, drawing from BambuStudio, PrusaSlicer, and ideas inspired by CuraSlicer and SuperSlicer. But it has since grown far beyond its origins. Through relentless innovation — introducing advanced calibration tools, precise wall and seam control, tree supports, adaptive slicing, and hundreds of other features — OrcaSlicer has become the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry.
The OrcaSlicer logo was designed by community member Justin Levine.
Code Signing Policy
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
Windows release binaries are built by GitHub Actions from this repository and signed through the SignPath Foundation program. Every signing request is manually approved.
Team roles: SoftFever is the committer, reviewer and approver for all signed releases.
Privacy policy: See the OrcaSlicer privacy policy.
License
- OrcaSlicer is licensed under the GNU Affero General Public License, version 3.
- 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.
- OrcaSlicer 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 OrcaSlicer and provides extended functionalities for Bambulab printer users.


