Skip to content

ratdoux/OrcaSlicer-FullSpectrum

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25,902 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full Spectrum

A Snapmaker Orca Fork with Mixed-Color Filament Support

Build all


☕ Support Development

If you find this fun or interesting!

Buy Me A Coffee


⚠️ IMPORTANT DISCLAIMER ⚠️

**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

Stable Release

📥 Download the Latest Stable Release
Visit our GitHub Releases page for the latest stable version of Full Spectrum, recommended for most users.

Features

Mixed-Color Filaments

Full Spectrum includes support for virtual mixed-color filaments designed for the Snapmaker U1 multi-color printer with independent print heads.

How It Works

  • 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)

Features

  • 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

Using Mixed Filaments

  1. Load 2 or more physical filaments in your printer
  2. The "Mixed Colors" panel will automatically appear in the sidebar
  3. 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
  4. Mixed filaments can be assigned to objects just like physical filaments
  5. During slicing, the mixed filament resolves to alternating layers of its components

Dithering Settings

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:

Dithering Cadence Height A & B

  • 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

Dithering Step Size

  • 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.

Technical Details

  • 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

How to install

Windows:

  1. Download the installer for your preferred version from the releases page.

Mac:

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

  2. Drag Snapmaker_Orca.app to Application folder.

  3. 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.app
          softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/Snapmaker_Orca.app
    • Option 3:
      • Step 1: open the app, a warning window will pop up
        image
      • Step 2: in System Settings -> Privacy & Security, click Open Anyway:
        image

Linux (Ubuntu):

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

How to compile

  • Windows 64-bit

    • Tools needed: Visual Studio 2019, Cmake, git, git-lfs, Strawberry Perl.
    • Run build_release.bat in x64 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
  • 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
    • 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
      • menu bar: Product => 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 -dsir'

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

Some background

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)

Acknowledgements

Special thanks to u/Aceman11100 for the inspiration and idea behind the mixed-color filament feature!

License

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.

Feedback & Contribution

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.

About

G-code generator for Snapmaker U1 with Full Spectrum layer blending

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

No contributors

Languages

  • C++ 76.7%
  • JavaScript 12.2%
  • C 8.1%
  • HTML 1.6%
  • CMake 0.5%
  • CSS 0.2%
  • Other 0.7%