PRUSASLICER CHANGELOG

Version 2.7.4

5. 4. 2024

This is a small patch release:

  • Objects from 3MFs generated by BambuStudio now retain multimaterial painting when loaded
  • Fixed a bug where downloading files from Printables did not work when enabled in Preferences

Version 2.7.3

28. 3. 2024

This is the stable release, bringing minor improvements and several bugfixes.

Improvements to multi-material printing

We implemented changes to the printing volume settings and new filament tip routines used by the MMU3 on the MK4.

Vase mode smoothing

When using spiral vase mode, the toolpaths are generated as usual and the resulting extrusions are then extruded while gradually increasing z. This approach led to seam-like artifacts on the print in places where the layer transitions would normally be. In addition, the last layer would end abruptly, creating a sharp “edge” where the extrusion ends.

Both these issues were addressed by @andrewboktor by interpolating between adjacent layers and by gradually reducing extrusion flow at the very end of the print. The improvement was recently merged into OrcaSlicer, and we got a pull request with a port to PrusaSlicer. After we evaluated the feature, we decided to merge it because it is well written, well working and very useful.

Thanks to @andrewboktor for the time and effort invested into the issue, and to both @vovodroid and @tg73 for providing a pull request with a port from OrcaSlicer

Support for 3MF files generated in BambuStudio

PrusaSlicer is now able to open 3MF files generated by BambuStudio and load geometry from them. (#10718, PR #10808, thanks to @cmguo). Please note that BambuStudio allows to save a 3MF containing G-code only, which is not supported by PrusaSlicer and loading of such 3MFs will fail.

Metadata with boundary polygon of each object

Metadata of binary G-code have a new item named objects_info, which lists all the objects in the print and their boundary polygons. The same info was added into the comments at the end of ASCII G-codes. This is useful for controlling the Cancel object feature remotely via Prusa Connect.

Version 2.7.2

29. 2. 2024

This is the stable release, bringing minor improvements and several bugfixes.

Improved Multi-Material Painting

We implemented several mechanisms to detect a non-valid Voronoi diagram, and by manipulating the input, we could ensure that the Voronoi diagram would be valid. We also reimplemented a significant part of multi-material painting from scratch, which, together with the changes above, should resolve all issues with spilled layers for multi-material segmentation.

Color Change (M600) Community-Driven Improvement

Previously, PrusaSlicer placed the color change (M600) right after the previous layer was finished. The default implementation of color change in pretty much all firmwares returns the nozzle to the exact same position as before the color change started. As a result of this behavior, a small blob of filament with the newly loaded color would get stuck to the print.

Our community, especially @Nohus, came up with a solution of placing the color change after moving to the next layer and position, which proved to be much easier and more universal solution than changing the M600 implementation on the firmware side. Thank you, Nohus, for your implementation and all of you who participated in testing his change.

Ramping Travel Moves: Smoother and More Efficient

We’ve replaced helical layer changes introduced in 2.7.1 with a more refined ramping profile. While the helical layer changes helped to reduce stringing, they sometimes caused color blobs and artifacts. With the new and refined ramping profile stringing is still mitigated without the disadvantages of the helical movements.

SLA Overrides

For SLA printing, we’ve introduced Material Overrides. This new feature, mirroring the flexibility of FDM slicing, allows to override selected configuration options from Print or Printer Settings in Material Settings. There is a new parameter page in Material Settings, which allows to check the parameters which would be overridden and to redefine their value.

A Farewell to Pearl

PrusaSlicer’s origin is based on the Slic3r project, which was originally written in Pearl scripting language. Over the years, we’ve rewritten nearly all of the code. First the slicing core, then the user interface. We have now rewritten all remaining unit tests still depending on Pearl into C++. Goodbye, Pearl. You will not be missed.

Version 2.7.1

14. 12. 2023

This is the stable release, bringing minor improvements and several bugfixes.

Binary G-code settings

The option Export as binary G-code was removed from Print Settings. Instead, there is a new option in Printer Settings named Supports binary G-code so it can be set at printer level. There is also a new global switch in Preferences->Other, which controls whether binary G-code will be generated for printers which support it. It is now much easier to turn the feature on or off without doing any changes in profiles.

Wipe tower weight

Wipe tower weight was added into G-code metadata so it can be easily displayed in the print statistics on the printer’s display.

Bugs fixed with respect to 2.7.0

Fixed the issue where when ramping travels were enabled, sometimes a perimeter was missing at the layer where the spiral starts.
Fixed a crash when selecting embossed text while an SVG tool is opened.
Fixed a case where helical layer changes could result in out of bed moves.
Fixed a case where helical layer change was enabled even when there was no retraction on layer change.

Version 2.7

8. 12. 2023

SVG emboss tool

In addition to the text embossing tool first presented in PrusaSlicer 2.6.0, it is now possible to emboss SVG images onto the models. The feature can be accessed through right button click and it allows similar options for projection and manipulation like the text tool. You can now just drag and drop an SVG logo, title, or even a QR code and merge it with an existing 3D model.

New Binary G-code format

G-code files are easy to read and interpret, but their downside is that the data is not saved efficiently and the file size is often very large. Compression of the file is problematic because the printers usually run on limited hardware and they may not have enough memory and/or CPU power to decompress it. Several solutions to the problem were proposed by members of the community, such as MeatPack encoding (utilizing the fact that the character set of a typical G-code is very limited) or heatshrink compression algorithm (designed to have very small memory requirements).

We are proposing a new standard for a binary G-code format for encoding and compressing ASCII G-code files (see the specification). The format is flexible and the encoding and compression of individual blocks is variable. We also provide libbgcode library which contains the routines to convert ASCII G-codes to binary and vice versa. The library is written in C++ and the repository includes bindings for Python.

Regarding comparison of ASCII vs binary G-code sizes, the result depends on the contents of the G-code. Our testing shows that using binary G-code reduces the size by about 70 % on average. Using arc fitting (described above) at the same time can reduce the size even further. Following chart shows the comparison for 10 randomly selected 3MF projects:

The support for the new .bgcode file format was implemented in PrusaSlicer, including its export, loading configs, previewing G-code or file associations. Exporting binary G-code can be enabled in Print Settings->Output options->Export as binary G-code. An option to convert ASCII G-code to binary (or the opposite) has been added into File menu.

To print a binary G-code, it has to be supported by firmware of the printer. For Original Prusa MINI, MK4 and XL printers, this is supported since version 5.1.0-alpha2. It is necessary to update printer firmware before using the binary G-code format.

We would like to thank Scott Vokes (@atomicobject) for his work on heatshrink and
Scott Mudge (@scottmudge) for developing and maintaining MeatPack.

More improvements

  • Custom G-code editor
  • Cancel Object feature
  • Improved user interface
  • Generate Wi-Fi credentials for your MK4 / MK3.9 / XL / MINI 3D printer for easier network connection
  • PrusaConnect print host is now available for Original Prusa MINI printer

Version 2.6.1

6. 9. 2023

Improved Arrange Tool

The Arrange feature has been significantly improved and it is now able to place objects inside concave areas formed by other objects.

Currently there are three distinct levels of geometry handling, which can be selected using a drop-down in the Arrange dialog:

  • Fast – essentially the old behavior considering only the convex hulls of each object
  • Balanced – still reasonably fast profile considering the full shape complexity of objects which are not being arranged and the convex hull of the currently arranged object.
  • Accurate – considers the full shape complexity of each object at all circumstances

“Balanced” profile produces very similar results to “Accurate” in most cases but it is typically faster by multiple orders of magnitude.

As another improvement, arbitrary bed shapes are now supported.

Cut Tool Improvements

New cutting mode is now available in the Cut tool. Dovetail mode automatically creates a tongue-and-groove connection that allows sliding one part into the other. The geometry of the connection is adjustable in the Cut tool dialog. Also, a new connector type was added (Snap).

Text Embossing Improvements

The Emboss tool introduced in 2.6.0 now allows much better projection on curved surfaces. The feature is accessible through a Per glyph orientation checkbox in the the Emboss dialog. When checked, the individual glyphs are (perpendicularly) projected along a curved line on the surface. The idea was inspired by the implementation in BambuStudio.

Version 2.6.0

20. 6. 2023

Organic Supports
In this release, we are presenting our significantly improved implementation of tree supports, which we call ‘Organic supports‘. We choose a new name for our supports because of their distinctly smooth shape and several differences in their behavior. Our implementation is an evolution of the tree supports by Thomas Rahm, which are significantly improved tree supports originally from Cura. We would like to thank Ultimaker Cura and Thomas Rahm for the effort they have invested into the problem.

In contrast to the previously common implementation of tree supports, the branching of our Organic supports is smarter and we made them straighter (shorter), smoother, and more stable. The cross-section perpendicular to the branch axis is guaranteed to be circular, and the algorithm automatically uses double perimeter walls for the trees where needed (this is configurable).

The Organic supports are easily removable, do not scar the surface, and are fast and cheap to print. Models can now be printed in orientations that were previously unthinkable (mirroring SLA printing capabilities) and supports for even the most complex shapes are typically easy to remove. Organic supports can be manually enforced or blocked using the Paint-on supports tool.

Automatic FDM Support Painter
PrusaSlicer now has an automatic painting tool for defining areas requiring supports, factoring in various aspects like the model’s center of mass, bed movement, potential extruder collision, material, and bridging. It can also automatically detect if a print requires supports and alert the user in the case they are not enabled.

Text embossing tool
The new Text tool lets you insert, manipulate, and edit text as a 3D object. This provides a convenient way to customize models and add elements such as notes, signs, or serial numbers directly in the slicer.

Texts can be embossed, debossed, or even used as a modifier. However, the tool even offers the ability to make the text follow curved surfaces. To change the text position, you can simply drag it on the object’s surface. The text editor automatically imports the font library installed on your device (all TrueType fonts should work).Even after closing the Text tool, the text remains fully editable. The same goes for re-opening 3MF project files. You can also create and save text styles to reuse them in future projects.

Improved Cut tool
The Planar Cut tool has been available in PrusaSlicer for a long time. It is handy for preprocessing huge models that don’t fit the build volume or which are too complicated to print in one piece. With this release, we are extending its functionality.

You can newly cut the model at any angle. Defining the precise cutting angle can be done both by a 3D gizmo or by simply drawing a cutting plane by dragging the left mouse button while holding down the Shift key. If the cutting plane intersects the model in several different regions, you can select which parts to cut and which to keep connected by right-clicking on them.

You can select if the cut part should be placed on the bed with the newly created flat surface. You can also choose to keep the alignment of the parts, for example, for printing with a multi-tool printer.

Adding connectors and dowel pins
We understand how important it is to assemble the final parts together with an emphasis on precision and simplicity. That’s why we added an option to define various types of connectors. You can control the depth, size, and tolerances of each connector and the negative hole.

Measurement Tool
PrusaSlicer now includes a measurement tool for gauging distances between vertices, edges, and planes. You can also use it to measure angles, and to scale objects uniformly by editing the measure distance.

Dynamic overhang speed (and dynamic fan speed on overhangs)
This feature lets you slow down the print speed when printing overhangs, which enables better cooling when it’s needed. The algorithm calculates extrusion overlap with the previous layer and applies speed calculated from the overhang slowdown function. Users can control the shape of the overhang slowdown function via four input points – each point has an extrusion overlap value expressed as a percentage of the full width, and desired speed on such overlap. The speeds in between the control points are calculated via linear interpolation.

Similarly, users can create custom fan speed curves, so that extreme overhangs get increased cooling. Of course, with some polymers, too much cooling will negatively impact the mechanical properties.

Extending sparse infill
A long-standing issue was connected to bridging solid infill printed over sparse infill. The shape of such infill islands was only determined by what was above, and the infill lines were often inadequately supported as a result, leading to mid-air extrusions and possibly failed prints. PrusaSlicer now extends the lines of the bridge infill so that their ends are supported by the sparse infill on the layer below. The bridge infill is now always using ‘Thick bridges’. The new algorithm works for all infill types. The comparison image below shows exactly the same model (a cube with a counterbored hole in the top face).

Improved Ensure vertical shell thickness

PrusaSlicer 2.6 improves the handling of vertical shell thickness on sloping surfaces. Previous versions used rectilinear infill to address thinning walls and potential holes in steeply sloped areas. The latest version now identifies regions where short rectilinear lines could cause vibrations and surface artifacts, replacing them with a concentric infill. This method often leads to 10-15% shorter print times without compromising quality.

Other new features

  • Option to avoid crossing curled overhangs
  • Exporting STL objects with boolean operations
  • Assigning tool heads to different features
  • Idle temperature settings for multi-tool printers
  • Wipe tower stabilizing cone
  • One-click import from Pritables.com
  • Template filament profiles
  • New experimental support for SLA
  • One-file vendor profile enables adding new printers without a new PrusaSlicer release
  • G-Code thumbnails can now be exported in JPG and QOI formats
  • SLA hollowing is now up to 10x faster
  • SLA time estimate is now more accurate for the Original Prusa SL1S Speed
  • New and updated 3rd party printer profiles
  • Arrange’ and ‘Fill bed with instances’ functions now take into account skirt and brim
  • More intuitive Klipper firmware support
  • Opening 3MF files now gives the option to import the geometry only
  • New “PrusaConnect” host type with pre-filled URL
  • It is newly possible to set acceleration separately for external perimeters, solid infill and top solid infill
  • ‘Set Number of Instances’ now works when multiple objects are selected
  • Optional scrolling to mouse cursor rather than screen center

VERSION 2.5.0

6. 9. 2022

New perimeter generator Arachne

For years, the strategy PrusaSlicer used when generating perimeters was to offset the contour of the object with an extrusion line of constant width. This caused issues in various cases, especially when printing thin walls, text, or logos.

The developers of Cura recently implemented a new strategy named Arachne based on the paper [Kuipers et al., 2020]. The Arachne generator produces perimeter loops and gap fills with varying extrusion width. Simply put, it automatically makes perimeters wider or thinner as needed. This is a major change! Before, it was nearly impossible to create a wall that would fit 2 perimeters exactly. And now? As long as the wall thickness is close enough to 2 perimeters, PrusaSlicer will take care of the rest.

The new approach produces nicer-looking prints with fewer artifacts. There is a significant reduction in gap fill, small extrusions used to fill gaps between perimeters, which also results in a reduction of print time.

Read more in our article

STEP file format support

Starting with this release, PrusaSlicer is able to import STEP files, which is a format widely used for 3D modelling data exchange. Note that the model is tessellated on import and the slicing algorithms operate on the resulting triangle mesh, i.e., the model is not sliced analytically.

We use Open CASCADE Technology (OCCT) development platform to read the STEP files. It is a CAD kernel also used e.g. by FreeCAD or KiCad. Thanks @Open-Cascade-SAS for keeping it open-source. The import implementation itself was ported from BambuStudio, thanks @bambulab.

Lightning infill

Infill serves a dual purpose – to provide structural rigidity and to support top surfaces. In case structural rigidity is not needed, a lot of material and printing time is saved with the new Lightning infill, which is optimized to support the top surfaces only. The lighting infill generates a branching structure that gets progressively denser towards the top surfaces to support them reliably.

The lighting infill is based on paper [Tricard et al., 2019]. Like the Arachne perimeter generator, we have ported the Lightning infill from Cura, thanks again for keeping Cura open source.

Read more in our article

Improved seam placement based on the visibility

Starting with this version, seam placement algorithm prefers regions which are not visible from the outside of the model at all or which are occluded from most directions. The new visibility algorithm is applied for seams set to Nearest or Aligned.

In addition, when paint-on seams are used and ‘Aligned’ is set, the resulting seam line attempts to find a sharp corner in the painted area and snap to it, leading to smoother lines along the sharp edge. Previous versions did not detect the sharp edge in this scenario.

Also the new algorithm strives to produce possibly long and smooth seams on smooth surfaces, while the old algorithm often produced disconnected random bits on such surfaces

Pressure equalizer

An FDM 3D printer consists of a motion system and an extrusion system. While the motion system loves to accelerate and decelerate smoothly to reduce vibrations, the extruder loves to extrude at a constant rate for the best extrusion consistency. That means, unfortunately, that the optimal conditions of the motion system and extruder are in conflict.

Bowden-style extruders are especially sensitive to pressure fluctuations, due to the slack in the Bowden tube, they are not able to reproduce rapid changes in extrusion rate reliably. The Pressure equalizer smooths sudden changes in speed between two features (e.g. between printing infill and perimeters) and reduces print artifacts caused by rapid extruder pressure fluctuations.

Before moving from a faster internal perimeter to a slower external perimeter, the pressure equalizer slows down gradually at the end of the internal perimeter to reach the extrusion rate of the external perimeter. Similarly, when moving from the external perimeter to the infill, the start of the infill is slowed down to the external perimeter speed and accelerated gradually.

New printer and material profiles

  • Added Creality Ender-3 Neo and Ender-3 S1 Plus profiles
  • Added Elegoo bundle (Neptune printers)
  • Added new Creality printers (Ender-3 V2 Neo, Ender-3 Max Neo, CR-10 SMART Pro
  • Added Infinity3D bundle

Many bugfixes and smaller improvements

  • G-Code thumbnails can now be exported in JPG and QOI formats (until now, only PNG thumbnails were supported).
  • SLA hollowing was optimized and it is now significantly faster. The difference is especially noticeable on bigger models, where it can be 10x faster than before.
  • SLA time estimate was improved and it is now more accurate for SL1S. In addition, “High viscosity tilt time” was added into Printer Settings so the time estimate is correct for printers supporting separate tilt time setting for high-viscosity SLA materials.
  • OSX specific: It is now possible to send G-Codes to OctoPrint using self-signed certificates.
  • Fixed a crash when using a selection rectangle with the cut gizmo open​.
  • Windows specific: Dialog asking to send system info shown at startup no longer pops up in case the internet connection is not available.​
  • Fixed a crash when using auto-rotation with some specific models​.
  • When using arrange in sequential printing mode, it sometimes tightly violated desired extruder clearance.
  • Fixed flickering of colored rectangles in legend in the stand-alone G-Code Viewer.​
  • When using wipe tower with no sparse layers, the first layer might have ended up too thin and ruined the print.
  • OSX specific: Cmd+M shortcut should now minimize the application as expected, restoring the application using the “View All Windows” works.
  • When clicking the “Detach from system preset” button in Dependencies section of a profile, the button did not disappear. Also, detaching a printer profile from a system profile broke rendering of custom bed model for both the parent and child profile. Both issues are fixed now.
  • Fixed a very rare issue which led to generating a G-Code with commas instead of decimal points (caused by incorrectly set locales on one of the threads).
  • Windows specific: Improved detection of corrupted PrusaSlicer.ini configuration file. Very rarely for some unknown reason PrusaSlicer.ini is partially or fully filled in with binary zeros, most likely due to power outage or a bug in hard drive driver.
  • OSX specific: When trying to open a G-Code file using drag and drop or “Open with” option, G-Code Viewer would report the file extension as unknown when PrusaSlicer was not already running.
  • Filament usage estimate was incorrect when using MMU. The loading and unloading moves were not correctly accounted for, leading to much higher estimate then reality. Only the ‘Sliced Info’ box was affected, the statistics at the end of the G-Code were correct.
  • Fixed a crash when rescaling the windows or changing color mode (Windows, OSX). This should fix some spurious crashes happening when moving PrusaSlicer window between two monitors etc.
  • Fixed inadvertent deselection after changing and confirming object-specific settings.
  • Changing object-specific settings incorrectly inserted two undo/redo snapshots.
  • Some configuration options always showed as modified in profiles inherited from the —default— profile.
  • Fixed a crash when pressing Ctrl+A while using a painter tool or editing SLA support points or drainage holes.
  • Linux specific: Fixed a crash when confirming a value in Height range modifier.
  • Drivers & Apps Installer is now able to use offline unattended installation – it should be useful for mass deployment, for example on schools. To make this happen, launch the installator with parameter /VERYSILENT /SUPPRESSMSGBOXES
  • We are leaving support for Win32.

VERSION 2.4.2

27. 4. 2022

Bugs fixed

  • SLA mode incorrectly handled 3MFs from 3rd party software, resulting in misplaced SLA support points and holes in some cases.
  • Vase mode preview did not show in cases when Custom Start G-Code lacked moves in Z.
  • When loading a 3rd party 3MF using drag and drop. PrusaSlicer no longer asks if the 3MF shall be loaded as a project (which makes no sense since it contains no config) and loads the geometry only.
  • Using the Layer Height Modifier with the wipe tower was impossible with multiple objects. The wipe tower reported that the layer height profile is different, even though it was in fact set the same on all objects.
  • Fixed a crash on “Convert from/to units” when several objects were selected.
  • Automatic color change for logo crashed PrusaSlicer in certain cases (when a one-layer object was present).
  • macOS specific: It is now possible to restore PrusaSlicer by clicking the dock icon after minimizing it. Partial fix was already in 2.4.1, this release should fix it for good on all macOS versions both Intel and ARM.
  • Linux specific: Fixed a crash on opening projects in some cases

Localization

  • Fixed minor errors in German translation.
  • Updated Simplified Chinese localization.
  • Updated Brazilian Portuguese dictionary.

Profiles

  • Added Snapmaker bundle (Snapmaker A250, Snapmaker A350).
  • Added profiles for Zonestar printers (Z5, Z6, Z5X, Z8, Z9

VERSION 2.4.1

24. 3. 2022

G-Code substitutions

PrusaSlicer supports processing of the generated G-code with an external post-processor for a long time. Launching an external post-processor is versatile, however it is complex to setup, the post-processing scripts must be distributed with the project and the interpreter running the post-processing script (for example Python) has to be available. We collected many real world use-cases for the post-processing scripts and concluded that many of them could be covered by a simple “Find and Replace” tool with regular expression matching and substitutions.

To make life easier for everyone who only needs basic post-processing, we now integrated such a tool directly into PrusaSlicer. It is accessible from Print Settings -> Output options and allows to add a number of find and replace pairs, with optional regex matching, case sensitivity and whole word matching, similar to what common text editors offer. The G-Code is processed before it is previewed, so your changes will be visible in the G-Code preview.

Other improvements

  • Seam placement was improved.
  • In Spiral Vase mode, the G-code viewer used to assign a layer to each G-code segment of a spiral producing an excessive number of layers thus making G-code inspection difficult. The G-code viewer newly assigns a layer to a single spiral turn.
  • A new option “Ask for unsaved changes in project” was added into Preferences to control whether the user shall be asked to save a project on closing an application or when loading a different project.
  • New placeholders for output file name.
  • New option “Restore window position on start” was added to Preferences.
  • Added Catalan and Hungarian localization.

Bugs fixed

  • Windows specific: Fixed crash on some machines at the very start of the application.
  • Windows specific: Dark mode is now enabled for all the new Windows builds.
  • ‘Place on face’ function is much faster on complex models.
  • When ‘Reload from disk’ attempts to load an invalid file, an error message is newly shown, while previously the error was silently ignored.
  • Fixed crash during slicing when a negative volume was used on painted areas of a multi-material model.
  • Removed empty G1 command which appeared before bridging perimeters were printed.
  • Fixed some text encoding issues in Print host queue dialog.
  • Fixed crash when editing thumbnails in Printer settings.
  • Fixed wrapping of text in modal dialogs, unnecessary line breaks were sometimes present.
  • ‘Compare presets’ dialog was missing an info text about values being truncated
  • Fixed an issue with a gap in the brim when the inner brim was used
    When the outer brim of an object was very wide, it could overflow into a hole in another object
  • Saving a preset after a modification incorrectly marked the currently opened project as saved
  • Some settings showed confusing indeterminate labels when they were modified per object in Object Manipulation panel
  • Improved robustness of multi-material painting, which sometimes produced gaps in the painted area of did not propagate it deep enough into the original volume
  • Linux specific: Print Settings and Filament/Material Settings controls were disabled after a specific sequence of loading projects and switching between FDM and SLA mode.
  • Fixed incorrectly shown cut contour in the Cut tool when cutting in SLA mode and the object was elevated because of supports
  • G-Code Substitutions were incorrectly applied on initial and final M73 internal placeholders, which unexpectedly mangled the M73 commands 
  • G-Code Substitutions were incorrectly applied on the commented-out configuration block at the end of the G-Code 
  • Windows specific: When loading a 3MF by double clicking the file, the project name was sometimes (depending on current local codepage) mangled when the file name contained non-ASCII characters. This could also have caused occasional crashes when sending file to print host

VERSION 2.4.0

27. 1. 2022

Summary

Multi-Material Painting

To make coloring models for MMU printing quick and easy, we implemented the Smart fill and Bucket fill tools. With the Smart fill tool selected, as you hover the mouse above the model, you get a real-time preview of the automatically detected region to paint. The paint fills a region below the mouse cursor up to a sharp edge, with the threshold angle adjustable. You can also quickly swap continuous patches of color with the Bucket fill tool. Of course, you can also zoom in and use the Brush tool to paint manually. It will automatically split big triangles into smaller ones. During slicing, the painted regions are cleverly extended inwards, giving the different colors/polymers the best chance of binding together.

Improved FDM Supports

We introduce a new type of “Snug” supports. These supports maintain the shape of the overhang, so they do not leak to the walls. The trade-off is the possibility of lower stability of tall and thin support pillars. We are leaving the grid supports as the default, for now.

You can now set the support contact distance on the top and bottom independently. If you enable “Support on build plate only”, the support columns will be trimmed to not land on top of the object. The expansion of the first layer is now configurable (very common request). Prints on top of a raft now look better. When you use support enforcers (paint-on or modifier shapes), they will take over “supports on build plate only” and over “don’t support bridges”. You can highlight overhangs when painting supports. Using a new checkbox you can limit the brush strokes only to the highlighted overhanging triangles. Lastly, the “Smart fill” tool is also available when painting supports.

New Bridging Mode

The new default behavior uses your current layer height for bridging, making bridging reliable for shorter distances, but looking significantly better. This is the strategy that most modern slicers use. You can switch to the old behavior by enabling the “Thick bridges” option. Since the first solid layer above supports uses the bridging settings, this change also has a big impact on how supported overhangs look.

Shape Gallery

The new built-in shape gallery provides a quick and easy way to access your most used models, whether you use them as modifiers or to be placed on the platter and printed. The default shapes include basic primitives (cube, cylinder, sphere…) as well as other useful objects, such as a helper disk or a recycling symbol. You can expand the library with your own models. If you add a model, it will get an automatically generated thumbnail. However, you can replace the generated PNG thumbnail with your own image.

Fuzzy Skin

Fuzzy skin lets you create a rough fiber-like texture on the sides of your models by randomly offsetting the perimeter points. It produces surprisingly nice results suitable for tool handles or just to give the print surface a new interesting look. Or to hide print imprecisions. You can also use modifiers to apply fuzzy skin only to a portion of your model.

2-4× Faster G-code Generation

We have parallelized and optimized the G-Code export. This results in significant improvement of performance. The total slicing time is now 2× to 4× faster, with higher speed up achieved on high-end CPUs with many cores and threads.

Windows Dark Mode

PrusaSlicer already supported dark mode on OSX and Linux, based on popular demand, we implemented dark mode for Windows as well.

Brim For Individual Objects, Inner Brim

Brim settings are now object-specific. That means you can turn on brim just for some of the objects, use different brim widths for individual objects, etc. This seemingly small change required a surprisingly significant change of PrusaSlicer’s code. You can now also select to generate outer brim, inner brim, or both.

Negative Volumes

The negative volume lets you subtract one mesh from another. Similarly how boolean operators work in other 3D programs. That way you can, for example, create easily resizable holes directly in PrusaSlicer. Or you can load one of the objects from the new Shape gallery as the negative volume.

Automatic color change for logos and signs

When PrusaSlicer detects the model looks like a logo or a sign, a notification will offer you to automatically add color changes to the correct heights. This feature was proposed by Richard Horne, thank you for the suggestion! It saves you time and removes the guesswork from inserting the color changes at the right height.

Tip Of The Day Notifications

We present “Did you know” hints inside a notification, often providing a hyperlink to highlight a user interface element (toolbar button, configuration parameter) or to open the documentation in a web browser. Every time you launch PrusaSlicer, one hint notification is displayed. You can disable them in preferences.

Model simplification

You can now reduce the number of triangles in a mesh using the Simplify mesh feature. Right-click the model and pick Simplify model from the context menu. You can limit the simplification either by detail level or by the ratio of triangles to remove. This feature can also be used to create the “Low-poly effect” directly in PrusaSlicer.

Support For 3DLabPrint Airplane Models

To allow slicing the 3DLabPrint models, PrusaSlicer implements a new “Slicing Mode” option, allowing one to switch between the “Positive” (default) and “Even / Odd” fill rule. Use the “Even / Odd” option to slice 3DLabPrint airplanes correctly. Yet another new “Slicing Mode” option “Close Holes” makes PrusaSlicer fill in all internal structures.

Upload Progress

When you upload the G-code via the network, a new progress bar is displayed as a special notification. And the existing “Print Host Upload Queue” dialog newly supports sorting by columns and a file size column has been added.

Sequential Print Collision Zone Visualization

The clearance areas are now visualized in the scene when moving objects and in case of a collision. This makes it very easy to spot potential collisions.

SLA Auto Orientation

We newly let the user choose from 3 different auto-orientation algorithms:

  • Best surface quality
  • Reduced overhang slopes (minimum supports)
  • Lowest Z height (lowest print time)

Compare Profiles

You can now easily compare the differences between 2 profiles with a special view. Enable it by selecting Window-Compare presets.

G-Code Text Viewer On The Side

When you drag the horizontal slider in the preview screen, you can inspect the order of moves in the current layer. Newly, we also display the generated G-code on the left side of the screen, including the line number. This can be used for advanced G-code analysis.

Send System Info

In order to focus our future efforts, we decided to optionally collect some general information about the systems PrusaSlicer is commonly executed on. Such system information will help us to deprecate support of obsolete platforms in order to concentrate on up-to-date hardware and operating systems to reduce maintenance cost, improve PrusaSlicer performance and bring up new features. The system configuration data collected are strictly anonymous and you can inspect the full content in the “Send system info” dialog. This prompt is only displayed once. We want to thank in advance everyone who decides to share their system configuration with us.

Moving The Object Below The Print Bed

Based on many requests, we are newly allowing an object to be moved below the print bed to print just the part of the object above the print bed. Arguably this was already doable with the “Cut” tool. But the new way is much simpler to use and very handy, for example, if you just need to flatten the bottom of an uneven object to be printable without a raft. There is also a new button “Drop to bed” at the object manipulation panel to move the object back to the print bed. The intersection of the model with the bed is visualized with a white outline. Moving objects below the print bed is not allowed in SLA mode, for now. It would make the placement of SLA supports confusing.

VERSION 2.3.3

21. 7. 2021
  • Patch release – fixing the bug in handling FDM multi-material project and configuration files

VERSION 2.3.2

8. 7. 2021

Summary

  • Support of the Original Prusa SL1S SPEED
  • Firmware updater for the Original Prusa CW1S
  • Support for a new PrusaLink host type
  • Installation wizard improvements
  • Smoother surface with Monotonic infill
  • Support for forward compatibility of configurations
  • Bug fixes

SL1S SPEED and CW1S support

Support for Prusa SL1S printer. Files to be printed on Prusa SL1 resp. SL1S printers are exported with an “.sl1” resp. “.sl1s” extension. The firmware updater now supports CW1S.

Prusalink host type

Support for a new PrusaLink host type. PrusaLink is a new name for the networking interface of our printers (SL1/SL1S, MK3 with a PrusaLink Raspberry PI zero image) – you may also know it as Prusa Connect Local. We are also working on PrusaLink for Prusa Mini. The host type of SL1 in PrusaSlicer has been renamed to PrusaLink for clarity.

Smoother surface with Monotonic infill

In PrusaSlicer 2.3.0 we have introduced the Monotonic infill for top/bottom surfaces. We received feedback, that the top surfaces were not always smooth because the monotonic infill was only applied to the topmost infill, but not to the solid infills below. In PrusaSlicer 2.3.2, if the top solid infill is Monotonic, all internal solid infill is newly Monotonic as well.

Installation wizard improvements

When opening the Installation Wizard to install a new printer or a new filament / SLA material, PrusaSlicer newly offers to install configuration updates first before opening the Wizard, because otherwise the user may not be presented with all printers, filaments or SLA materials available.

Support for forward compatibility of configurations

Support for forward compatibility of configurations. Imagine a new infill type is added to a future PrusaSlicer release. If a 3MF was created using the new infill type, PrusaSlicer 2.3.1 would refuse to load the 3MF, while PrusaSlicer 2.3.2 will substitute the unknown infill type with its default and it will present the substitution to the user. The “forward compatibility” feature supports not only adding new enumerated values. For example infill types or firmware flavors) to existing configuration keys, but also turning booleans (on/off) to enumerated values (for example, “draft shield” will change from “enabled/disabled” to “enabled/disabled/limited” in PrusaSlicer 2.4.0.

Bug fixes and other improvements

  • Fixed import of some OpenSCAD generated STLs. 
  • Fixed performance issue in bridging calculation
  • Fixed blobs on print after returning from M600 G-code after the manual color change.
  • TriLab AzteQ Industrial printer was added.
  • Various improvements of Anycubic, Artillery, and Creality profiles.
  • Updated Russian and Ukrainian translations

VERSION 2.3.1

21. 4. 2021

Summary

  • Universal OSX builds, Apple Silicon support
  • Chrome OS support
  • New 3rd party printer profiles
  • Vulnerability issues fixed
  • Bugs fixed with respect to PrusaSlicer 2.3.0

Universal OSX builds, Apple Silicon support

Starting with this release, PrusaSlicer supports the new Apple Silicon MacBooks and MacMinis natively, running about 30% faster than emulated x86-64. The new Universal builds contain binaries of both x86-64 and ARM platforms, thus the distributed package is somehow larger than the previous PrusaSlicer.

Chrome OS support

Chromebooks are getting increasingly popular due to their low price, good usability and stability. This makes the Chromebooks the number 1 pick for the US educational institutions. Luckily Google now offers a containerized Linux on modern Chromebooks out of the box and PrusaSlicer runs in the virtualized Linux environment nicely.

Some users managed to run PrusaSlicer on Chrome OS before, see this post.

We have documented installation of PrusaSlicer on Chrome OS in our installation guide.

New 3rd party printer profiles

  • Multiple Creality printers profiles were added (Ender-3 Max, Ender-4, Ender-6, CR-5 Pro, CR-5 Pro H, CR-6 SE, CR-6 Max, CR-10 Max, CR-200B, CR-8), thanks @pmjdebruijn.
  • Added Artillery printer profiles (Sidewinder X1, Genius), thanks @SzabolcsHornyak.
  • Added INAT printer profiles, thanks @MarkINAT.
  • Updated Anycubic Kossel bed texture (thanks @brunosso) and Anycubic Kossel bed STL.

Vulnerability issues fixed

The Talos Cisco Intelligence Group did a great job identifying potential security issues in loading invalid and potentially malicious AMF and 3MF files, see their vulnerability reports TALOS-2020-1222 and TALOS-2020-1218. We fixed these two potential security issues with this release of PrusaSlicer.

Bugs fixed with respect to PrusaSlicer 2.3.0

  • The OpenGL changes mentioned in the “Universal OSX builds” section also fixed some OpenGL related issues on Linux #5889 #6304.
  • Reduced number of hits shown by the “Find config option” dialog, fixed case insensitive search for non-Latin1 languages #5202.
  • Fixed G-code preview with coloring by a tool and visualization of travels enabled #6095.
  • Fixed opening of drop down menus at the bottom of the screen on multi-monitor setups #2999 #5911 #5957. This issue has been fixed by us in wxWidgets and accepted by the upstream.

VERSION 2.3.0

11. 1. 2021

Summary

Paint-on supports

The new Paint-on supports tool lets you paint directly on the object and select areas, where supports should be enforced or blocked. You can visualize overhangs and automatically paint the model based on a set overhang angle. Paint-on supports are also saved in the 3MF project file.

Ironing

Ironing lets you smooth flat top surfaces by running a special second infill phase in the same layer. As the hot nozzle travels over the just printed top layer, it flattens any plastic that might have curled up. The nozzle also extrudes a small amount of filament to fill in any holes in the top surface.

Monotonic infill

A new default infill pattern for the top and bottom layers. The infill lines are extruded always in the same direction, left to right monotonically. This leads to a homogenous texture without ridges.

Adaptive cubic infills

Adaptive cubic infill gets automatically more or less dense, depending on the distance to the nearest wall. This results in a shorter print time and lower filament consumption. The Support cubic infill works similarly, but it gets automatically denser depending only on the distance to the nearest top layer.

Print time per feature analysis

The legend in the preview now shows a breakdown of print time by feature. You can also click any of the features to hide them in the preview.

Standalone G-code Viewer application

The PrusaSlicer G-code Viewer is a lightweight application, which you can use to quickly preview G-codes from all popular slicers. Its behavior is identical to the preview in PrusaSlicer (the same code is used), however, you can load an external G-code file. 

Better auto-arrange with a customizable gap

The Arrange function is newly customizable. Right-clicking the ‘Arrange’ icon at the top toolbar opens a dialog to tune the distance between objects and to allow rotation of objects around their Z-axis during the arrangement.

Transfer settings / unsaved changes dialog

If you make any changes to settings and then decide to choose a different print profile, you’ll be offered to transfer your changes to the new profile, discard the changes, save them as a new profile or cancel the operation.

Fill bed with instances function

Fill bed with instances feature fills the print bed with the maximum number of copies of a selected object. This feature is accessible from the context menu after right-clicking on an object.

Search function for settings

The new search function in the top toolbar allows you to quickly access a particular settings page and parameter field. The search is accessible from both the Plater top toolbar and from the Print/Filament/Printer parameter pages, or with the familiar Ctrl+F shortcut.

Reworked Avoid crossing perimeters function

Avoid crossing perimeters is an algorithm to minimize crossings of external perimeters during travels, which reduces stringing and improves overall print quality. The new algorithm is much more accurate and significantly faster.

Physical printers (network settings)

PrusaSlicer separates the physical printer connection settings from the Printer profile into new Physical Printer profiles.

Many new 3rd party printer profiles

Thanks to the community submissions, PrusaSlicer now has more built-in profiles for Anycubic, Creality, Trilab, and Lulzbot machines.

.SL1 archive file import

It is newly possible to import both a model and its print profile from an existing .SL1 archive. Note that the original model is not available in the SL1 archive, it has to be reconstructed from the slices. The imported mesh will be visibly discretized and the supports (if they were used) will be fused with the object.

SLA mini supports

Mini supports are now generated in regions where the normal supports would not fit.

Non-modal settings window

You can now choose to display settings in a non-modal window (Configuration-Preferences-GUI). This is especially useful in a multi-monitor setup.

Collapsible sidebar

The sidebar can be hidden with a button or by pressing the Shift+Tab shortcut. This is especially useful when working on a smaller laptop screen.

New notification system

The new notification system replaces some of the old pop-up windows and informs the user about possible warnings, errors or actions (eject removable media).

Copy-paste for modifiers and custom settings

Modifiers and custom settings can now be copied and pasted to another object in the object list.

Customizable infill anchoring

Anchoring of sparse infill to an inner-most perimeter has been reworked to never overlap anchor lines over each other. The length of the sparse infill anchors can be configured with the new “infill_anchor” parameter.

Faster start-up

PrusaSlicer now starts significantly faster and has a splash screen.

More changes

  • PrusaSlicer can now convert to and from imperial units
  • Added support for Repetier server print host
  • New horizontal slider for layer preview
  • Configuration updates now use https instead of http
  • And we’ve reworked the preferences window, it now has tabs.

More info at full Github changelogs: 2.3.0-rc2, 2.3.0-rc1, 2.3.0-beta3, 2.3.0-beta2, 2.3.0-beta1, 2.3.0-alpha4, 2.3.0-alpha3, 2.3.0-alpha2 and 2.3.0-alpha1.

VERSION 2.2.0

23. 3. 2020

Summary

SLA Hollowing

In the SLA mode, we’ve added hollowing with drainage hole generation. Hollowing a model is a great way to reduce resin consumption and internal stress in bigger models.

Bundled profiles for 3rd party printers

We’ll be working with you, the community to select and manage profiles for each vendor.

The adaptive elephant foot compensation

When printing the first layer is squished against the heated print bed and as a result, it’s usually a bit wider than it should be. The elephant foot compensation is a handy feature, which prevents this from happening, by shrinking the first layer a bit. However, previous PrusaSlicer versions would also shrink thin lines, which was a problem. The new adaptive version now properly respects thin lines but shrinks everything else by the set value. Official Prusa profiles will have this feature turned on by default from now on.

Automatic variable layer height

The variable layer height can now be calculated automatically, but you can still adjust the height curve manually.

Save to SD/USB, eject

If you insert an SD card or USB flash drive a dedicated button for Saving G-codes to removable media will automatically appear. And the eject button is here too.

3MF thumbnails

Saved 3MF project files now have handy thumbnails,  which are by the way supported by prusaprinters.org.

Filament profiles installation

Filament profiles filtering has been added to the configuration wizard.

Better path planning

The path planning has been improved and now produces fewer travel moves.

Reload from disk on 3MF files

The Reload from disk function now works even in re-opened 3MF files. This feature is great for cases, where you created a newer version of your model and you want to replace the old version in PrusaSlicer without having to set up things like custom supports or modifier meshes all over again.

Insert pause/ custom G-code at a certain height

A feature that was heavily requested by the community is inserting a pause at a certain height. That can be used to insert magnets, weights or nuts into your prints. And you’ll get time estimates till each pause. And in a similar way, you can now insert a custom G-code at a certain height. That’s useful for advanced users when creating calibration G-codes like a temperature tower.

Assigning colors in Color Print with a color picker

When adding a Color change you can now pick the color and get an accurate preview.

Color Print for the MMU2 & smaller wipe tower without sparse layers

We’ve added Color Print for the MMU. This is rather complex, but a simple use-case is replacing manual color change with an automatic swap done by the MMU. Speaking of the MMU, we added the option to make the wipe tower without sparse layers. Which reduces wasted filament and often the print time as well.

Top/bottom minimum thickness setting

You can now set a top and bottom minimum wall thickness, which is especially useful when using the variable layer height function.

Sequential printing (ordering objects, labels in the 3D scene)

Sequential printing now follows the order of models in the object list. You can change the order simply by drag and dropping. Plus by pressing the E key you can see the object number and name in the 3D view.

More changes

  • 3dconnexion SpaceMouse support (free camera support)
  • Basic shapes can now be added directly in the 3D view.
  • SLA statistics
  • We now provide builds for the Raspberry Pi4, so you can run PrusaSlicer on the same device as for example an Octoprint server.
  • On OSX we’ve added support for Dark Mode.
  • And we’ve reworked the keyboard shortcuts window.
  • More info at full Github changelogs: 2.2.0-rc52.2.0-rc42.2.0-rc32.2.0-rc22.2.0-rc2.2.0-beta2.2.0-alpha4, non-public 2.2.0-alpha3, alpha2 and alpha1


VERSION 2.1.0

16. 9. 2019

Undo/Redo
All the actions accessible from the Plater are now undoable including object selection, actions at the side bar (adding modifiers, changing their attributes). We believe we have the best Undo / Redo implementation in the world of FFF and SLA desktop printing software. 😉

Height range modifiers
Just like modifier meshes, they let you change settings for a specific part of the model. However, modifier meshes are geometry-based (e.g. a cylinder-shaped area defines where supports shouldn’t be created – support blocker), while height range modifiers are based on, surprise, height information. So you can easily set different infill density for the base of the model and for the rest of the model. Height range modifiers can be used in a variety of ways, including changing the layer height for various parts of the model.

SLA pad around object
Starting with PrusaSlicer 2.1, it is now possible to place the object directly onto the printing platform and generate supports wherever necessary or even add a pad around the object.

Perspective camera
You can now switch between orthographic camera (old default) and perspective camera (new default). The perspective camera represents our view of the world more faithfully (objects farther away from the camera are smaller). Maybe you will start switching the cameras on the fly, because each of them has its advantages.

Toolpath export as OBJ
FDM tool paths can now be exported into an OBJ file to be rendered by a photo realistic renderer. The initial idea and code was provided by Paul Arden, see his wonderful renders on twitter. The tool paths could be exported after the G-code is generated by menu File->Export->Export Tool Paths

Custom print bed models
PrusaSlicer now supports custom print bed textures and models #1875 #2169 #2496. Both PNG and SVG formats are supported for the print bed texture. The image and model files are assigned to the Printer profile from the “Bed Shape” dialog, and the full path to these files is stored into “bed_custom_texture” and “bed_custom_model” Print profile variables.

Other improvements

  • Partial arrangement – great for a situation in which you already have several objects on the virtual print bed, and you add some more. You can select the new ones and arrange them by pressing Shift+A so they fill the gaps between already placed objects
  • Max scale – Select an object, switch to Scale mode (the S key) and press the F key to scale the model so it covers the entire print bed
  • Toolpath export – you can do photorealistic renders of the G-code
  • Color change improved
  • Translations into Czech, German, Polish, Spanish, French and Italian
  • Faster start-up
  • Faster tree support generation for the SL1 / MSLA 3D printers
  • Selective slicing
  • Modifier meshes and model parts can be dropped onto the print bed

VERSION 2.0.0

15. 4. 2019
  • Name change from Slic3r PE to PrusaSlicer
  • User interface improvements – Reworked UI to expose all the power features
  • Simple / Advanced / Expert modes – Green: safe to be tinkered with by a beginner; Yellow – the advanced user may want to modify these parameters; Red – expert settings most of which should only be touched if you’re making a profile for a new printer
  • New toolbars, icons, and shortcuts – Both the top and left toolbars have been re-worked. We’ve re-drawn all of the icons and implemented support for vector icons.
  • Everything directly in 3D view
  • Move, rotate and scale gizmos + object manipulation sidebar – We added new object manipulation gizmos for translation, rotation and scaling along all three axes, anisotropic scaling is supported as well.
  • Object list, scene hierarchy, and instances – The object list in the right sidebar now displays a hierarchy of objects, their instances, object’s parameters, object’s volumes, and modifier meshes.
  • Custom supports – The model context menu (right-click on a model) now lets you create support blockers and enforcers.
  • MSLA slicing – PrusaSlicer is the first high-quality open-source MSLA slicer available.
  • Color change directly in PrusaSlicer
  • Pearl source code was rewritten to C++
  • Project file – File/Save Project now saves a 3MF file containing all objects, settings, modifiers and their parameters.
  • HiDPI support – Correct scaling on high-resolution displays
  • Time & material use estimate is now calculated before export
  • Background processing – redesigned to work reliably, only those slicing steps that were invalidated by the user action will be re-sliced
  • Multi-material improvements – easier assigning of colors and more
  • Octoprint upload queue – sending to Octoprint would previously block the user interface
  • “Slice now” and “Export” buttons merged into a single button
  • Support for OctoPrint Cancelobject plugin – thanks to @supermerill
  • Anisotropic scaling – hold CTRL and drag one point of the scaling gizmo (not corners) to adjust the scale of the model in one axis

Full release log at Github.com

The release article and video at prusaprinters.org

VERSION 1.41.3

12. 2. 2019
  • Printer profiles for new printer variants – MK2.5S, MK3S, MMU2S
  • Updated Configuration Wizard (Assistant) GUI

Full release log at Github.com

VERSION 1.41.2

23. 11. 2018
  • Improved OpenGL rendering performance on OSX Mojave
  • Fixed some crashes when slicing multi-material prints
  • Fixed invalid extruder assignment after switching from a multi-material printer profile to a single-material printer profile.

Full release log at Github.com

VERSION 1.41.1

27. 10. 2018
  • Custom supports – support blocker & enforcer modifier meshes
  • Improved quality of supports
  • Multi Material fixed and improvements

Full release log at Github.com

VERSION 1.41.0

30. 8. 2018
  • Multi Material 2.0 upgrade support
  • Wipe into infill and/or into object
  • Reworked object arrangement (place on bed)
  • Accurate print time estimates for the stealth mode
  • “Remaining time to finish” feature implemented (firmware 3.3.0 or higher required)
  • Rotation & scaling of the object
  • Upgraded “out of build volume” detection
  • Improved wipe tower

Full release log at Github.com

VERSION 1.40.1

5. 7. 2018
  • Extension of the firmware updater for the MK3 (allowing flash firmware 3.3.0 and higher with the support of localization to CZ, IT, DE, PL, and ES)
  • Showing the print bed image for the MK2 and MK3
  • Support for the NetFabb STL fixing service under Windows 10
  • Improved Octoprint integration
  • Improved loading of the AMF files
  • Bug fixes

Full release log at Github.com

VERSION 1.40.0

14. 6. 2018
  • Improved G-code preview
  • Automatic download of presets
  • Printer-specific icons removed. New settings management for all printers and a new configuration wizard
  • Enhanced Multi Material support
  • Full localization into 7 languages (Czech, French, German, Italian, Polish, Spanish and Ukrainian)
  • Detection whether a model fits inside the print volume
  • Gyroid infill
  • 3MF format support, AMF compression
    And many more (see full Github release log below)

Full release log at Github.com