The given fork introduces tool aggregation features. The basis of the algorithm is to redistribute the fabrication order of color regions based on the maximum batch height and the degree of intersection of adjacent regions.
Regular printing | Tool clustering |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- ✅ Interlayer tool clustering
- ✅ Critical height tracking
- ✅ Adjustable level of intersections between neighboring regions
- ✅ GUI-integrated controls
- ✅ Updated wipe tower generation
- ✅ Support clustering along with sliced layers
- ✅ Updated print statistics
- ✅ Processed g-code visualization in GUI
- ✅ Added slide bar for clustered g-code regions in GUI
- ✅ Added slide bar for region intersections in GUI
- ❌ Tool clustering for multi-object projects
- ❌ Adaptive region intersections
- ❌ Adaptive batch height
The main variables are "Safe batch height" and "Max color intersection area".
Added two sliders to the legend: ITC layer batching and ITC critical intersections
Video from an endoscope camera. Various models printed using tool clustering.
- Enable wipe tower (Print settings -> Multiple extruders -> Wipe tower -> Enable -> check)
- Disable sequential printing (Print settings -> Output options -> Sequential printing -> Complete individual objects -> uncheck)
- Extruder lift Z retraction (Printer settings -> Extruder X -> Retraction -> Lift Z = 1.6+ mm for each extruder)
bool allow_layer_batching = true; // src/PrusaSlicer.cpp
double safe_height = 0.35; // in mm, src/libslic3r/Print.cpp
double critical_intersection = 0.05; // unscaled units, src/libslic3r/Print.cpp
m_print_config.option<ConfigOptionFloats>("retract_lift")->values[working_extruder_idx] = 4.0; // in mm, Lift Z
cd C:\src\PrusaSlicer\build\src\Release
prusa-slicer-console --export-gcode --output filename.gcode filename.3mf
- src/PrusaSlicer.cpp
- src/libslic3r/Layer.hpp
- src/libslic3r/Print.cpp
- src/libslic3r/Print.hpp
- src/libslic3r/PrintBase.hpp
- src/libslic3r/SLAPrint.cpp
- src/libslic3r/SLAPrint.hpp
- src/libslic3r/GCode.cpp
- src/libslic3r/GCode.hpp
Added private members and methods to Slic3r::Layer and Slic3r::Print objects.
PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into G-code instructions for FFF printers or PNG layers for mSLA 3D printers. It's compatible with any modern printer based on the RepRap toolchain, including all those based on the Marlin, Prusa, Sprinter and Repetier firmware. It also works with Mach3, LinuxCNC and Machinekit controllers.
PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community. See the project homepage and the documentation directory for more information.
1. Install the tools
Install Visual Studio Community 2019 from visualstudio.microsoft.com/vs/. Older versions are not supported as PrusaSlicer requires support for C++17. Select all workload options for C++ and make sure to launch Visual Studio after install (to ensure that the full setup completes).
Install git for Windows from gitforwindows.org Download and run the exe accepting all defaults.
2. Download sources Clone the respository. To place it in C:\src\PrusaSlicer, run:
c:> mkdir src
c:> cd src
c:\src> git clone https://github.com/prusa3d/PrusaSlicer.git
3. Compile the dependencies Dependencies are updated seldomly, thus they are compiled out of the PrusaSlicer source tree. Go to the Windows Start Menu and Click on "Visual Studio 2019" folder, then select the ->"x64 Native Tools Command Prompt" to open a command window and run the following:
cd c:\src\PrusaSlicer\deps
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -DDESTDIR="c:\src\PrusaSlicer-deps"
msbuild /m ALL_BUILD.vcxproj
4. Generate Visual Studio project Go to the Windows Start Menu and Click on "Visual Studio 2019" folder, then select the ->"x64 Native Tools Command Prompt" to open a command window and run the following:
cd c:\src\PrusaSlicer\
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -DCMAKE_PREFIX_PATH="c:\src\PrusaSlicer-deps\usr\local"
5. Compile PrusaSlicer Double-click c:\src\PrusaSlicer\build\PrusaSlicer.sln to open in Visual Studio 2019. Select PrusaSlicer_app_gui as your startup project (right-click->Set as Startup Project).
Run Build->Rebuild Solution once to populate all required dependency modules. This is NOT done automatically when you build/run. If you run both Debug and Release variants, you will need to do this once for each.
Debug->Start Debugging or press F5
PrusaSlicer should start. You're up and running!
note: Thanks to @douggorgen for the original guide, as an answer for an issue.
PrusaSlicer is licensed under the GNU Affero General Public License, version 3. The PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
Please refer to the Command Line Interface wiki page.