* Adaptive Pressure advance options setup * Dynamic PA - PCHIP interpolator code and tests * Integrate dynamic PA with slicing code - emit new PA values per speed change * Link adaptive PA to role change instead of speed change * Adaptive PA - Alpha 2 Reduce the frequency of requested PA changes by introducing a "state" variable. Implement user toggle for adapting PA for external walls for overhangs * Hide adaptive PA for overhangs * Convert Adaptive PA to use volumetric flow model and start preparing for converting to Gcode post processor * Converted Dynamic PA to a post processing filter. Reverted changes in GCode cpp and created tagging mechanism to allow filter to apply PA changes. * Removed adaptive PA for overhangs * Foundations for two dimensional adaptive PA based on acceleration and volumetric flow speed * Minor code cleanup and updating of tooltips * Renaming files for better clarity and generate classes documentation * Update src/libslic3r/PrintConfig.cpp Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com> * Update src/libslic3r/PrintConfig.cpp Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com> * Update src/libslic3r/PrintConfig.cpp Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com> * Introduce average mm3_mm over the length of a multipath for adaptive PA * Updates for multipath handling part 2 * Introduce average mm3_mm over the length of a multipath for adaptive PA * Trigger PA evaluation more frequently to catch edge cases where speed changes across islands of the same feature type. * Updates for multipath handling part 2 * Adaptive PA: Implement average flow estimation on loops * Code formatting * Fix adaptive PA not adapting for small disconnected external wall line segments. * Updated to take max print speed of upcoming feature to calculate new PA value. This is to resolve issue of incorrect PA value used when starting a new feature at an overhang. * Code clean up * Performance tuning * Further performance tuning by reducing use of regex commands in the nested loops and fix bug preventing gcode line output * Further performance tuning and tweaks to stop searching for max speed after the first travel move. * Reduce debug information * Updated debug info * Fix an issue on seams on specific models when wipe before external perimeter was enabled. Also cleanup documentation and add new to-do's * Prepare for adaptive PA for overhangs, fix wipe bug & clean up code and comments * Initial commit for adapting PA when extruding fully overhanging perimeters * Ignore wipe command when identifying current print speed * Option to evaluate adaptive PA on overhang regions in preparation for Klipper experimental option testing * Update to issue PA changes for varying flow conditions within the same feature * Fix bug where adaptive PA was enabled erroneously for role changes and ignoring user's preference. * Refactored some code * More refactoring * Some bug fixes and enabled comments only when verbose g-code is enabled * Introduced dedicated PA option for bridges * Code refactoring to optimise initialisation of PA processor (making it faster). Fix a bug where PA was not always set after a toolchange. Improve general error handling and robustness. * Updates to adaptive PA tooltips * Bridging PA check with Epsilon instead of 0. * Adaptive PA: addressing comments --------- Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com> |
||
---|---|---|
.devcontainer | ||
.github | ||
.idea | ||
cmake | ||
deps | ||
doc | ||
flatpak | ||
lib | ||
linux.d | ||
localization/i18n | ||
resources | ||
sandboxes | ||
scripts | ||
SoftFever_doc | ||
src | ||
t | ||
tests | ||
tools | ||
xs | ||
.clang-format | ||
.dockerignore | ||
.doxygen | ||
.gitattributes | ||
.gitignore | ||
Build.PL | ||
build_release.bat | ||
build_release_macos.sh | ||
build_release_vs2022.bat | ||
BuildLinux.sh | ||
CMakeLists.txt | ||
DockerBuild.sh | ||
Dockerfile | ||
DockerRun.sh | ||
LICENSE.txt | ||
localazy.json | ||
OrcaSlicer.mo | ||
README.md | ||
Readme.txt | ||
run_gettext.bat | ||
run_gettext.sh | ||
SECURITY.md | ||
version.inc |
Orca Slicer
Orca Slicer is an open source slicer for FDM printers.
Join community: OrcaSlicer Official Discord Server
Main features
- Auto calibrations 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
- More features can be found in change notes
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 following 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:
- Option 2:
Linux(Ubuntu):
- If you run into trouble to execute it, try this command in 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
- You can install most of them by running
- run
build_release_macos.sh
- 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
-
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 -dsir'
- Dependencies Will be auto installed with the shell script:
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.