If you find this fun or interesting!
**This fork is currently in active development and has NOT been tested on actual hardware! **
- Not Production Ready: The mixed-color filament feature is experimental and untested
- No U1 Access: Development is being done without access to a Snapmaker U1 printer
- Help Needed: If you have a U1 and are willing to test this fork, please reach out!
- Use at Your Own Risk: This software may produce incorrect G-code or unexpected behavior
I am actively seeking testers with Snapmaker U1 printers to help validate and improve this feature.
Full Spectrum is an open source slicer for FDM printers based on Snapmaker Orca and OrcaSlicer, optimized for Snapmaker's U1 multi-color 3D printer with independent tool heads. This fork adds support for virtual mixed-color filaments, enabling you to create new colors by alternating layers between physical filaments.
📥 Download the Latest Stable Release
Visit our GitHub Releases page for the latest stable version of Full Spectrum, recommended for most users.
Full Spectrum includes support for virtual mixed-color filaments designed for the Snapmaker U1 multi-color printer with independent print heads.
- Create new colors by mixing: Combine two physical filaments to create a new color appearance through layer alternation
- Example: One layer of red + one layer of green = apparent yellow color
- Customizable ratios: Adjust the alternation pattern (e.g., 2:1 ratio = two layers of filament A, one layer of filament B)
- Automatic generation of all possible color combinations from your loaded filaments
- Visual preview showing the additive color blend
- Enable/disable individual mixed filaments
- Per-layer resolution control with customizable ratios
- Seamless integration with the existing filament management system
- Load 2 or more physical filaments in your printer
- The "Mixed Colors" panel will automatically appear in the sidebar
- Each combination shows:
- Color preview swatch
- Component filaments (e.g., "Filament 1 + Filament 2")
- Layer ratio controls (spin controls for fine-tuning)
- Enable/disable checkbox
- Mixed filaments can be assigned to objects just like physical filaments
- During slicing, the mixed filament resolves to alternating layers of its components
Full Spectrum includes advanced dithering controls to fine-tune the layer alternation behavior for mixed filaments. These settings are found in Others → Dithering in the print settings:
- What it does: Controls the height (in mm) of each alternating segment for the two component filaments
- Cadence Height A: The height of layers using the first filament in the mix
- Cadence Height B: The height of layers using the second filament in the mix
- Example: Setting A=0.3mm and B=0.15mm creates a 2:1 ratio pattern where you get twice as much of filament A as filament B
- Use case: Fine-tune color intensity by adjusting the relative amounts of each component color
- What it does: Defines the Z-height increment (in mm) for each dithering step
- Purpose: Controls the resolution of the layer alternation pattern
- Default: Typically matches your layer height setting
- Advanced usage: Set smaller values for smoother color transitions, or larger values for more distinct color banding
- Compatibility: Must be compatible with your printer's Z-axis resolution
These settings give you precise control over how your mixed colors appear in the final print, allowing you to achieve different visual effects from the same filament combinations.
- Virtual filament IDs start after physical filaments (e.g., with 4 physical filaments, first mixed ID is 5)
- Layer-based alternation is computed during tool ordering
- Works with all existing features: supports, infill, and multi-material painting
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:
arm64version for Apple Silicon andx86_64for Intel CPU. -
Drag Snapmaker_Orca.app to Application folder.
-
If you want to run a build from a PR, you also need to follow the instructions below:
Details
- 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/Snapmaker_Orca.appsoftfever@mac:~$ xattr -dr com.apple.quarantine /Applications/Snapmaker_Orca.app - Option 3:
- Option 2:
Linux (Ubuntu):
- If you run into trouble executing it, try this command in the terminal:
chmod +x /path_to_appimage/Snapmaker_Orca_Linux.AppImage
-
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.batinx64 Native Tools Command Prompt for VS 2019 - Note: Don't forget to run
git lfs pullafter 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`/Snapmaker_Orca.Xcodeproj - menu bar: Product => Scheme => Snapmaker_Orca
- 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:
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
Full Spectrum is forked from Snapmaker Orca, which is originally forked from Orca Slicer by SoftFever.
Orca Slicer 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)
Special thanks to u/Aceman11100 for the inspiration and idea behind the mixed-color filament feature!
Full Spectrum is licensed under the GNU Affero General Public License, version 3. Full Spectrum is based on Snapmaker Orca.
Snapmaker Orca is licensed under the GNU Affero General Public License, version 3. Snapmaker Orca is based on Orca Slicer by SoftFever.
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.
Filament color blending is powered by FilamentMixer, an openly licensed library.
We greatly value feedback and contributions from our users. Your feedback will help us to further develop Full Spectrum for our community.
- To submit a bug or feature request, file an issue in GitHub Issues.
- To contribute some code, make sure you have read and followed our guidelines for contributing.


