PRUSASLICER SEZNAM ZMĚN

Version 2.9.2

10. 4. 2025

STEP file quality importer

Bug Fixes

Version 2.9.1

11. 3. 2025

Sequential printing just got way more exciting!

The PrusaSlicer team is proud to be the first to introduce Smart Sequential Printing Arrange, an advanced solver-based approach that pushes the limits of 3D printing. Our unique algorithm intelligently arranges objects to prevent collisions, making sequential printing more efficient and reliable than ever. This feature enables your printer to complete individual objects one after another rather than printing everything at once from the bottom layer up.

Sequential printing drastically reduces nozzle travel and is especially useful when you need to eliminate stringing and oozing between individual objects.  It also helps maintain consistent layer adhesion, reducing issues like delamination (layer separation) or poor bonding between layers. Moreover, it could also prevent losing multiple half-finished prints if one of the objects detaches from the print bed. Finally, you can sequentially print multiple objects in vase mode, which is impossible with normal printing!

Additionally, a 3D extruder model is rendered while browsing through the Preview with the horizontal slider (as seen above). This little “time-lapse” speaks volumes—for successful sequential printing, no part of the extruder (or axis rods and cables) can bump into any of the objects already on the plate. The calculation requires detailed information about the extruder geometry, which is why the feature is now only available for Prusa printers (except the MK2). We might add support for third-party printers later.

To try out sequential printing, just enable Complete individual objects (in Print Settings → Output options) and then use the Arrange tool (or press “A”) in the Plater view. Then, you can press “E” to display the printing sequence. 

Cooperation with academia

We implemented this feature in cooperation with Professor Pavel Surynek from the Czech Technical University in Prague, who created the advanced printing algorithm, which will even be published in a scientific paper. This is one of the excellent outcomes of our long-term collaboration with academia. After all, we are Prusa Research

Bond any filaments with multi-material interlocking!

PrusaSlicer can now interlock neighboring parts made from different materials, creating a cross-hatching boundary between them. This creates a bond for filaments that don’t usually stick together, such as PLA, PETG, and FLEX, greatly simplifying the process of printing on multi-extruder printers like Prusa XL. Before this interlocking feature, you would need cleverly designed models with anchors to lock the materials together physically.

A shopping bag carrier with a partially flexible handle for a more comfortable grip. The cross-hatching texture between the materials is hidden inside the print, while the outside remains nice and clean.

Interlocking works both for specifically designed models with separate meshes and for materials assigned with painting tools and modifiers within PrusaSlicer. This simplifies the design process and can quickly turn a regular model into a multi-material one. 

A cable passthrough grommet with a flexible cable tunnel and rigid outer structure.

To try this feature, enable “Use beam interlocking” in the Multiple Extruders settings. The slicer will handle the rest. Of course, you can fine-tune the result with various settings.

The feature was initially developed in Ultimaker Cura and subsequently ported to OrcaSlicer. With only minor modifications, it was derived and implemented in PrusaSlicer. We are grateful to everyone involved in developing this feature!

Automatically generate reliable supports for SLA

We are introducing a completely new SLA support spot generator that replaces the current solution and provides more accurate and predictable support placement. The new algorithm better identifies the areas that need support and adjusts the support strategy accordingly. It is also non-randomized, consistently producing the same results when given the same input. Overall, this represents a significant improvement over the previous algorithm, which often failed spectacularly, even in very simple cases.

Additional changes make it easier to manage supports and enhance visual feedback:

  • Support density can now be adjusted using a single slider—moving it instantly updates the preview, allowing for smooth and quick adjustments and fine-tuning.
  • A new toggle for displaying the support structure allows users to hide or show the entire support construction for better model visibility.
  • Manually added points are no longer ignored – when the user presses Automatic Support Generation, the algorithm considers them and adjusts the surrounding support density accordingly.
  • Support types are color-coded, distinguishing islands, manual edits, and overhang supports.

Simplified printing with different materials

PrusaSlicer will now prompt you to use a new setting called Bed temperature by extruder when printing with multiple materials. This setting helps you choose the appropriate temperature that would work best for all materials.

We also released an updated configuration profile for Prusa XL that includes the Breakaway presets. These are specifically designed for printing the main object and supports with different filaments, such as PLA and PETG. As mentioned above, these materials don’t stick together well, which is ideal for creating easily removable supports. 

Other improvements

We added new parameters handy for fine-tuning, which can be found in the Speed section of Print Settings. You can now separately set the First layer solid infill speed, and also the speed of infill over bridges – useful if you want to slow down only on these tricky areas specifically.

In the SLA Material printing profiles, you can now click one of the new buttons to quickly set all tilt-related fields to predefined values corresponding to the legacy profiles: Fast, Slow, and High Viscosity. 

As always, there are many more improvements and bug fixes that couldn’t fit into our blog post. Please see the Github release page for detailed information about all the changes!

Happy slicing!

Version 2.9.0

20. 12. 2024

Multiple beds and bulk export

You can now use up to 9 beds in a single scene. This allows you to handle more complicated projects (which do not fit a single bed) more easily than before. All the beds share the same print settings, so you would typically use this feature to organize multi-part prints. The Arrange tool now spreads objects across multiple beds if they would not fit on a single one. A separate button that arranges objects only within the active bed was also added.

Beds are also automatically added and removed based on your interaction. Simply move objects to the space where another bed would be, and it will spawn. The beds are always arranged in the same 3 x 3 grid, making them easy to keep track of.

You can slice the beds individually or all at once. If you choose the latter option, you can then bulk export the G-codes or add them all to the print queue via Prusa Connect. The export screen even provides useful statistics about the overall print time and filament use.

Automatically detecting multiple beds in older PrusaSlicer projects

PrusaSlicer had a minimal concept of virtual beds for many years, which is obvious from the Arrange function. When there were too many objects to place on a single bed, PrusaSlicer would keep adding them spaced as if there were other beds next to each other. If you load such a project into PrusaSlicer 2.9.0, this situation is detected and the objects on these virtual “beds” are moved so they actually end up on a non-virtual bed in the grid. It’s also worth mentioning that several PrusaSlicer forks (OrcaSlicer/BambuStudio) have already expanded on the original functionality and while the implementation in PrusaSlicer is completely independent, it was useful to see how they approach the problem.

Scarf seams

We’ve added a new seam option dubbed “scarf seams” by the community. Its primary purpose is to hide visible seams on smooth perimeters, which is achieved by overlapping extrusions at the start and end of a perimeter loop. The name of the feature originates from a similar technique in woodworking called the “scarf joint.”
In the example above, a cylinder is printed with both a regular seam and a scarf seam. Number one marks the scarf seam start, number two is its end, and number three is a standard seam. The scarf seam greatly reduces the visibility of the usual seam. Yet, it is not a silver bullet, as it may generate a new “ghost” seam, albeit much less visible than the original seam.

Thanks to @MichaelJLew and @vgdh for coming up with this idea, and @Noisyfox for its implementation into OrcaSlicer. Our implementation is original but mimics the functionality of the OrcaSlicer feature.

Printables integration

Printables is now a persistent tab in Prusaslicer’s top bar. It is available to all users, even without logging in. The tab is implemented as a webpage within a WebView, allowing users to access the familiar features and functionalities of the Printables website.

Similarly to the web version, you can browse 3D models within the Printables tab and seamlessly open them on the Plater tab using the Slice button featuring the Printables logo, or send G-codes directly to your printer via Prusa Connect.

Paint-on fuzzy skin

The new fuzzy skin painting tool, available from the left toolbar, allows you to easily add fuzzy skin to parts of objects without using modifiers. It features a few brush types and a smart fill tool similar to the multi-material tool and the support painting tool.

This new tool complements the overall improvement of fuzzy skin generation. Previously, it split an object into separate regions with their own perimeters. The new implementation works as you would intuitively expect, only affecting the outside perimeter. The texture quality of the fuzzy skin has also been improved.

Improvements in painting tools and multi-material slicing

The height range tool was added to the multi-material painting, allowing you to create perfect horizontal stripes of color across the whole object.

The bucket tool has also been improved and now includes a fill angle setting, similar to the smart fill tool. This works great with the height range tool, which you can use to mark the borders for coloring.

The processing of painted models has been improved, and various types of artifacts have been fixed. This means the sliced models will now better match how they were painted.

Support for printing with different nozzle diameters

Experimental support for printing with different nozzle diameters on multi-tool printers, such as the Original Prusa XL, is now available for experienced users and developers. This workflow allows combining nozzles of different diameters (e.g., a smaller one for fine perimeters and a larger one for fast infill). Check out our Knowledge base for a step-by-step tutorial.

Check out the PrusaSlicer release page for further details about the above-mentioned features and the complete list of all changes and bug fixes.

We truly appreciate all the wonderful contributions from our community members who help make PrusaSlicer and its forks even better!

Version 2.8.1

19. 9. 2024
  • Based on the feedback received after 2.8.0 release, the menu bar was reinstated and the menu no longer hides under a button. Thanks everyone for the feedback, it was very helpful and it will be taken into consideration during possible UI-related decisions in the future.
  • When logging-in with the PrusaAccount using third party authorization (Google, Apple, Facebook), an external browser window is opened so the user is not forced to enter their credentials into windows created by PrusaSlicer.
  • The built-in web engine no longer remembers the user after logout.
  • There are two new parameters: Filaments->Advanced->Abrasive material and Printers->Extruder->High flow nozzle. Both flags will be used to check whether a sliced G-code is compatible with the given printer (abrasive material requires hardened nozzle) and also to ensure that “Set as current” function in PrusaSlicer-embedded Prusa Connect will select the suitable profile for the given configuration.
    Note that this feature is supported since MINI/MK4/XL firmware version 6.2.0-alpha1, and that the implementation in Prusa Connect is not completely finished yet, meaning that the dialog where printer is selected does not use this information – it will later start working without the need to download a new slicer version.
  • Automatic orientation of bridges has been improved. Issues with unanchored bridges caused by inconvenient choice of their angle should now occur less frequently, although there is still a large class of scenarios where the solution is suboptimal.
  • The output of --query-printer-models command line option was extended to contain bed shape and dimensions. Note that custom bed shapes are currently not supported.
  • The ‘new version available’ notification can now be used to direct the user to our website, instead of just downloading the executable. As of now, we release two different Linux AppImages, so the user needs to be able to choose which one they want to download.
  • A new infill type called Zig-zag was created. It behaves the same as Rectilinear, except that the pattern is aligned between layers (Rectilinear is optimized for short travels, which leads to inconsistencies). The new infill may thus take slightly longer to print because of that, although the effect will be negligible in most prints. It is possible that Rectilinear and Zig-zag will be merged into a single infill type in one of the upcoming releases.

IMPORTANT NOTE FOR LINUX USERS!

PrusaSlicer now depends on WebKit library, which greatly complicates its distribution. Latest Linux distributions (such as Ubuntu 24.04, Fedora 40) ship with newer version of WebKit than older (but still supported) distros. Bundling WebKit into the AppImage is difficult and may not be possible.

Therefore, we now provide two separate AppImages, both depending on webkit library. You may need to install the respective package before you are able to run PrusaSlicer.

Buildmin libwebkit2gtk versiondistributions examples
older-distros4.0Ubuntu 22.04, Fedora 39, Debian 11
modern-distros4.1Ubuntu 24.04, Fedora 40, Debian 12

The AppImages can extract themselves when run with --appimage-extract command line parameter.

It is quite likely that PrusaSlicer will switch only to Flatpak deployment from the next version on. The AppImage made sense when it could be used in the “bundle what you need, distribute a single file” way, but having to distribute several different AppImages and maintaining the required build infrastructure (and still worrying about what needs to be updated when some Linux distribution update is released) means burning time that we would much rather invest into actual work on PrusaSlicer.

Version 2.8.0

27. 6. 2024

This release introduces several UI improvements, Prusa Account login and Prusa Connect integration, improved G-code viewer, better seams, single perimeter for top and bottom layers, and more many more improvements and bugfixes.

Improved UI

We have decided to do several tweaks to the user interface. It is by no means a complete redesign, so the controls are mostly where you are used to find them. The most visible change is the top bar. The system menu was removed (on Windows and Linux only) and it is now accessible through a separate button at the very left of the top bar. The settings tabs are now larger and styled. The larger top bar allowed us to integrate the Search field into it, so it is readily accessible and it looks the same regardless of which tab is active (unlike in previous versions). The right part of the top bar features the Simple/Advanced/Expert switch (which is newly a dropdown) and the PrusaAccount login box.

Next, both sliders in the Preview have been completely reworked and are now part of the 3D scene, instead of being placed in a neighboring panels. Apart from looking nicer and more modern, removing the side panels means that the canvas size is larger. It also comes with a nice benefit that switching back and forth between the 3D view and Preview no longer shifts the view, the views are now perfetly aligned.

image


Credits go to BambuStudio, whose sliders were used a starting point for the implementation (although we later ended up rewriting most of it to fit current PrusaSlicer architecture).

Topping the list of the UI improvements, the spacing and icon size in the toolbars in the scene was slightly changed. The toolbars are now nicer and look less cramped.

Prusa Connect integration

Prusa Connect is our online system to control printers from the browser and distribute print jobs among them. Starting with this release, Prusa Connect is accessible directly from PrusaSlicer to streamline the workflow. A login box was added to the right of the top bar. When the login is successful, one more tab (Prusa Connect) will appear in the top bar. This tab will present your Prusa Connect dashboard and all features that you are used to.

When logged in, PrusaSlicer keeps track of the status of your printers and it also knows with which of your printer profiles they are compatible (printer model, MMU capabilities and nozzle diameter are checked). When a printer compatible with a given printer profile is in Prusa Connect, a little colored dots will appear in the printer profile dropdown in the right panel, displaying current status of that printer. The summary of the state of connected printers is shown just below the dropdown.

When a G-code is ready to be exported, a ‘Send to Connect’ button appears in the right panel. Clicking this button will open a dialog window presenting all your Connect printers compatible with the current project and allowing you to send the generated G-code to one of them.

To streamline the workflow in the other direction, there is an extra button in Connect labeled “Set as current”, which is shown for every printer. Clicking it will switch back to Plater tab and select first compatible printer profile automatically. The language settings and light/dark mode in the Prusa Connect tab is automatically switched so they match what is currently selected in PrusaSlicer.

Previous way of sending G-codes to Prusa Connect using a physical printer profile is deprecated. Users should stop using physical printers for Prusa Connect, although the support will be maintained for some time. Nothing changes with regard to PrusaLink or the other print hosts.

Note that logging in or using Prusa Connect is completely optional. PrusaSlicer will work fine without the login, as it has worked before. We are considering to add a Preferences checkbox to hide the login box completely to not bother people who intend to never use it anyway.

Improved G-code Viewer

The integrated G-code Viewer has been significantly reworked to improve its performance. Less data are now transmitted between the CPU and GPU and more of the work is now performed on the GPU side.

Furthermore, G-code Viewer is now able to visualize actual speed. The printer accelerates and decelerates when direction changes, so even though the required speed is set to a given value, it takes some time to reach it (if it is reached at all). The acceleration limits are (as they always were) configurable in Printer Settings -> Machine limits and PrusaSlicer always calculated with the acceleration and deceleration phases to get precise time estimate, but it did not allow to visualize them.

image

Note that the same disclaimers as for precise time estimates hold. If the machine limits are set incorrectly (in the sense that the printer uses different values), both the time estimate and the real speed visualization will not align with reality. Also, the actual speed visualization is not available for firmware flavors for which slicer does not allow setting the machine limits.

In addition, when moving the horizontal slider, there is a new popup dialog showing the data that G-code Viewer has about current segment, including the actual speed profile:

Single Perimeter for top and bottom layers

We have ported an option to use single perimeter for (top) solid infill layer. The feature can be configured in Print Settings -> Only one perimeter and based on the configuration, it results in single perimeter on all solid infill layers, on top solid infill layers or on topmost solid infill layers. This generally leads to improved visual look of the printed object, without sacrificing structural rigidity.

This is a frequently requested feature, which was first implemented in SuperSlicer, ported over to OrcaSlicer and then reimplemented in BambuStudio. We have ported the code from BambuStudio with only small changes. Even though we ended up not using the original SuperSlicer implementation, we would like to thank to everyone who implemented the feature there and who worked on a PR with the port (#10648), namely @supermerill, @vovodroid, @mjonuschar. Thanks also go to @bambulab for rewriting the feature later.

New system profile updating system

Since Slic3rPE 1.40 (released six years ago), PrusaSlicer has a built-in profile updater. Its task is to deliver read-only “system” profiles, which are fine tuned for the given printer and filament, sparing the user from having to tweak the individual parameters. The database of profiles has been growing ever since, and it contains many profiles, both for Prusa products and products from other vendors.

We have now split the profile database into several profile “repositories”. Profiles are updated only from repositories that PrusaSlicer is subscribed to. The repositories are selected at the beginning of the Configuration Wizard. The transition of your previous configuration requires no action on the user’s side, the repositories are automatically selected based on your currently installed profiles.

This brings the following benefits:

  • Configuration Wizard loads faster, because it generally processes less data.
  • Notifications informing about an existing update are only shown for your active repositories. E.g. if you only use SL1 printer, you are not disturbed by notifications about updated filament profiles, which are not relevant to you.

Offline updates

We have also covered the problem of updating system profiles on computers without internet connection. Not connecting a computer to the internet is an obvious security measure in environments where data leaks would pose a problem. However, the profile updater in PrusaSlicer relied on internet connection and there was no way of updating the profiles on such off-the-grid stations. They had to rely on undocumented and very user-unfriendly copying of configuration folders, transferring settings as config bundles, etc.

It is now possible to download a file containing the configuration update for a given repository from our website (note that the URL and the website are also in an alpha stage). This file can then be loaded as an “Offline repository”, and the configuration process treats is the same way as it would use an online update. This gives the user a possibility to update profiles by transferring this file to the off-the-grid computer on a removable drive, distribute it using a local network storage, etc.
These files can be loaded (and removed) also in the Configuration Wizard. PrusaSlicer remembers path to the loaded files and it tries to use them anytime when configuration update is triggered.

Seam improvements

Placement of seams is not a very well defined task, and it has many solutions. After the last big batch of changes in the seam placing algorithm (in 2.5.0-alpha2), the placing of seams was detrimental on various models.

In this release, the seam-placing algorithm was significantly changed to improve the results. We also did some other changes which allow the seam placing algorithm to do a better job. To name the most visible improvements:

  • The ordering of perimeters was optimized to avoid unnecessary long travels between individual loops.
  • To further reduce long travels, in some special cases where there are two external perimeters the seams are placed in roughly the same spot.
  • The previous algorithm for aligned seams produced the seams from discontinuous “seam chains” picked heuristically on the object’s surface. Consequently, the old algorithm needed to fit a curve through the resulting seam points to achieve an aesthetically pleasing result. This worked for some models but produced worse results on others, where a strange “wiggling” appeared in places where a straight line was expected. This was particularly noticeable on very simple cylindrical models. The new seam aligning algorithm avoids this issue by employing a simpler strategy, more similar to the one used before 2.5.0-alpha2. It plans the seam from the bottom up, snapping to sharp corners. This approach generates several possible seams and selects the best one based on visibility criteria.
  • One of the improvements in 2.5.0-alpha2 was the use of a seam visibility metric for seam placement. This worked well for seam hiding and the new algorithm still uses the visibility metric as the main criterion to pick the best seam possible.
  • Previously, a single algorithm with different optimization criteria was used for both the aligned seam and the rear seam. This meant that the rear seam placement suffered from the same issues as the aligned seam algorithm (notably the artifacts produced by curve fitting). Another reported issue with the rear seam algorithm was that it had no notion of object center. In many use cases it is desirable that the seam is not only in the rear part of the object but also centered. Now there is a completely new separate algorithm for rear seam placement that tries to satisfy both criteria (rear and center).
  • The nearest seam algorithm is now fully separated. It now simply first searches for the nearest corner to the previous position. If there is none it picks the nearest point on the perimeter.

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