A fork of PrusaSlicer with non-planar slicing. Based on https://github.com/DrEricEbert/Slic3r_NonPlanar_Slicing
Find a file
Vojtech Bubnik 4cdcfe6005 DiffPresetDialog, non modal to compare two presets.
Added menu item "Window->Compare presets" to compare more than one type
of presets.
Code refactoring for PresetComboBox: Use suffix "modified" just for
PlaterPresetComboBox and TabPresetComboBox
Code refactoring. wxDataViewCtrl and related functions extracted from
DiffPresetDialog and UnsavedChangesDialog to the separate class
DiffViewCtrl
Code refactoring, Tab.cpp: Build all unregular pages on a first build of
the Printer Settings

Squashed commit of the following:

commit 91f45a8a2d97d252337c7306dd02db607fd79c00
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:34:29 2021 +0100

    Fixed after merge

commit 09aa502498b08c059ecdf334f5db1567739b4520
Merge: 6df8e83e1 0baa92fab
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:31:43 2021 +0100

    Merge remote-tracking branch 'remotes/origin/master' into ys_diff_dlg

commit 6df8e83e1af3ba096ac39d25985b6deb2e0a245b
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 09:29:53 2021 +0100

    Tiny beautification.

commit e781ceaaf7c39bc073476409cc02918d9f182930
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Wed Feb 3 18:05:19 2021 +0100

    Reworked copying of PresetBundles:
    1) Simplified by using the default copy constructors and copy operators.
    2) Made safer by not allowing PresetCollection and PhysicalPrinterPresetCollection
       to be copied or instantiated outside of PresetBundle.
    3) Fixed Preset::vendor pointers after copying PresetBundle.

commit a8f0b7aa5156465cdb3e3dbb86feb66a64bcebc0
Author: YuSanka <yusanka@gmail.com>
Date:   Mon Jan 25 16:13:53 2021 +0100

    DiffPresetsDialog: Show compatibility to print/printer presets selected in DiffPresetDialog

commit 597451f930a4330376966d8cf3350056d4f85a73
Merge: cce5b5710 59017a7da
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 21 12:14:48 2021 +0100

    Merge remote-tracking branch 'origin/master' into ys_diff_dlg

commit cce5b5710d1225c7eaa52d0abb4b3f66fbd3b6a1
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 21 12:11:40 2021 +0100

    DiffPresetDialog: Fixed crash on ASAN build

commit ad8d728d89d7a75c2ac136ea8cdbb730ab774cd9
Author: YuSanka <yusanka@gmail.com>
Date:   Wed Jan 20 16:38:28 2021 +0100

    FullCompareDialog improvements

commit 316bafbeec9bb63f731b653d296062d9e22dd02f
Author: YuSanka <yusanka@gmail.com>
Date:   Wed Jan 20 09:25:46 2021 +0100

    DiffPresetDialog improvements:
    * Update presets lists after save changes in edited preset or change printer_technology
    * Tab.cpp: Build all unregular pages on a first build of the Printer Settings

commit 01171c8ef50389d0801b0ccc5746ab0c3b731b11
Author: YuSanka <yusanka@gmail.com>
Date:   Tue Jan 19 17:26:28 2021 +0100

    DiffPresetDialog : improvements
    * This dialog is non-modal now
    * "Compare presets" menu item is moved from "View" to the "Window" menu group
    * Added info tooltips for the bitmap buttons between presets
    * Added "Show all presets" checkbox
    * Show full difference between printer presets with different count of extruders

commit 3d38b62f3c9de8aab352ed3bcff297d5c0239b2e
Merge: e50fe6de9 9a2310ae9
Author: YuSanka <yusanka@gmail.com>
Date:   Mon Jan 18 10:00:18 2021 +0100

    Merge remote-tracking branch 'origin/master' into ys_diff_dlg

commit e50fe6de984decadfef3d4b952f0eec8ab9e6670
Author: YuSanka <yusanka@gmail.com>
Date:   Sat Jan 16 02:27:24 2021 +0100

    DiffPresetDialog improvements
    Added menu item "View->Compare presets" to compare more than one type of presets

commit bf08b7c8c969ad0ca631b9eeac1bc231f474e72b
Author: YuSanka <yusanka@gmail.com>
Date:   Sat Jan 16 00:28:39 2021 +0100

    Code refactoring. wxDataViewCtrl and related functions extracted from DiffPresetDialog and UnsavedChangesDialog to the separate class DiffViewCtrl

commit 7aeb63032b0bc2bd06e60990c060008660a5c44f
Author: YuSanka <yusanka@gmail.com>
Date:   Fri Jan 15 21:35:43 2021 +0100

    DiffPresetDialog: first implementation

commit 2f23d5af9d6b5dd670dfb7d06eedbe0e6d2960c6
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Jan 14 16:28:43 2021 +0100

    Code refactoring for PresetComboBox.
    Use suffix "modified" just for PlaterPresetComboBox and TabPresetComboBox
2021-02-04 09:42:32 +01:00
.github Removing Slic3r name and links 2020-03-18 17:27:20 +01:00
cmake Fix openvdb configure process with unusable vdb_print 2021-02-03 15:27:39 +01:00
deps Bumped up wxWidgets version on OSX for X86. 2021-01-19 14:26:37 +01:00
doc Updated doc/Localization_guide.md 2021-01-15 11:53:42 +01:00
lib Reworked the Perl unit / integration tests to use the same Print 2019-06-20 20:23:05 +02:00
resources DiffPresetDialog, non modal to compare two presets. 2021-02-04 09:42:32 +01:00
sandboxes Don't use sla::EncodedRaster in SLAImport, revive opencsg sandbox 2020-08-27 23:14:42 +02:00
src DiffPresetDialog, non modal to compare two presets. 2021-02-04 09:42:32 +01:00
t Fixing vase mode Perl tests. 2020-12-09 16:37:44 +01:00
tests Squash merge of lh_brim_rework, 2021-02-03 15:12:53 +01:00
xs Squash merge of lh_brim_rework, 2021-02-03 15:12:53 +01:00
.clang-format Merge branch 'master' into tm_arrange_selection 2019-07-17 17:25:31 +02:00
.gitignore CMake: Split the globs into separate libraries. 2017-08-18 11:39:24 +02:00
Build.PL Support for Visual Studio 2019 Community 2019-06-06 11:40:35 +02:00
CMakeLists.txt Disable tests and encoding check when cross compiling 2021-02-03 15:27:39 +01:00
LICENSE Added the AGPL v3 license file 2017-10-21 16:09:25 +02:00
PrusaSlicer.mo Update on Brazilian Portuguese translation 2020-03-11 10:59:46 -03:00
PrusaSlicer.sublime-project Further renaming to PrusaSlicer 2019-05-13 15:14:33 +02:00
README.md Alessandro's name spelling fix (README, manifests) 2020-09-22 20:45:59 +02:00
version.inc Bumped up version number 2021-01-11 14:01:51 +01:00

PrusaSlicer logo

PrusaSlicer

You may want to check the PrusaSlicer project page. Prebuilt Windows, OSX and Linux binaries are available through the git releases page or from the Prusa3D downloads page.

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.

What language is it written in?

All user facing code is written in C++, and some legacy code as well as unit tests are written in Perl. Perl is not required for either development or use of PrusaSlicer.

The slicing core is the libslic3r library, which can be built and used in a standalone way. The command line interface is a thin wrapper over libslic3r.

What are PrusaSlicer's main features?

Key features are:

  • multi-platform (Linux/Mac/Win) and packaged as standalone-app with no dependencies required
  • complete command-line interface to use it with no GUI
  • multi-material (multiple extruders) object printing
  • multiple G-code flavors supported (RepRap, Makerbot, Mach3, Machinekit etc.)
  • ability to plate multiple objects having distinct print settings
  • multithread processing
  • STL auto-repair (tolerance for broken models)
  • wide automated unit testing

Other major features are:

  • combine infill every 'n' perimeters layer to speed up printing
  • 3D preview (including multi-material files)
  • multiple layer heights in a single print
  • spiral vase mode for bumpless vases
  • fine-grained configuration of speed, acceleration, extrusion width
  • several infill patterns including honeycomb, spirals, Hilbert curves
  • support material, raft, brim, skirt
  • standby temperature and automatic wiping for multi-extruder printing
  • customizable G-code macros and output filename with variable placeholders
  • support for post-processing scripts
  • cooling logic controlling fan speed and dynamic print speed

Development

If you want to compile the source yourself, follow the instructions on one of these documentation pages:

Can I help?

Sure! You can do the following to find things that are available to help with:

What's PrusaSlicer license?

PrusaSlicer is licensed under the GNU Affero General Public License, version 3. The PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.

How can I use PrusaSlicer from the command line?

Please refer to the Command Line Interface wiki page.