Skip to content

Releases: prusa3d/PrusaSlicer

PrusaSlicer 2.7.3-alpha1

20 Mar 21:59
Compare
Choose a tag to compare
Pre-release

PrusaSlicer

Summary

This is the first public alpha release of PrusaSlicer 2.7.3. This release introduces improvements of multi-material printing, improvements of spiral vase mode and several important bugfixes.

To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration. The alpha will ask whether it should import a configuration from previously run PrusaSlicer versions on the first start.

Improvements of multi-material printing

For a long time, a community-developed feature exists which claims to improve filament tips during toolchange sequences, which would in turn increase reliability of devices depending on reasonable tip shape (such as Prusa MMU1 and MMU2). This feature is referred to as "skinnydip", and the basic principle is to push the filament back into the melt zone after it was unloaded to melt off the thin string that the filament often has. We at Prusa Research have tested the feature several times, but the results were not very convincing and we never integrated the feature into PrusaSlicer. After doing more experiments recently, we found out that the technique is more convincing when preceded by very rapid ramming.

Based on that knowledge, we decided to implement very similar approach for reshaping the filament tip. Because the goal is to reshape the filament tip using the mostly empty nozzle, instead of melting off the thin filament tip, we call our approach "stamping". There are two new parameters in Filament Settings (filament_stamping_distance and filament_stamping_loading_speed) which control how far and how fast should the filament be pushed after the initial unload. The stamping moves are coupled with cooling - the stamping moves are performed between the individual cooling moves.

We would like to highlight community projects that helped us develop our Stamping step and saved our developers and testers a significant amount of time – Skinny Dip post processing script by Erik Bjorgan and Dribbling by Antimix. While we ended up with a different approach, we would like to thank both authors for all the effort invested into the project and for making it open-source! (Related to #2385, #2452, #2729, mentioning @domesticatedviking and @antimix.)

Purging volumes

PrusaSlicer allows to set purging volumes for single-extruder multi-material printers, so that each filament is purged exactly as it needs to. However, these settings were only saved in the 3MF project, not in configuration. This made setting them quite cumbersome and the user would always need to think about adjusting the default values. On the other hand, setting the values only in configuration without the option to override it in the project is also inadequate, because one may care about purging more in one project and less in another. In addition, the configuration option would make sense both in Filament and Printer Settings. #1273, #1282, #2990, #3756

In this release, two additional configuration options were added. The volume to purge is set using multimaterial_purging in Printer Settings->Single extruder MM setup. This value can be further modified on filament level using filament_purge_multiplier in Filament Settings->Advanced.

As for the project-specific override, the "Purging volumes" dialog now contains a switch. You can either use the values from Filament and Printer profiles (as described above) or define your own matrix of purging volumes (like in previous PrusaSlicer versions). When you decide to do that, the values from the configuration are not used.

image

Spiral vase mode improvements

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 (#4116, #2841). 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 (SoftFever/OrcaSlicer#3091), 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 (#12079, #12142).

Other improvements with respect to 2.7.2

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

Bugfixes with respect to 2.7.2

  • Pressure equalizer limits were not respected when Dynamic speed on overhangs was used (#9485). This is now fixed. Pressure equalizer is also not applied after long travels. Many thanks to @MGunlogson for providing a fix in his pull request #9622.
  • Fixed a bug resulting in inadequate anchoring of bridging extrusions. This bug was introduced in PrusaSlicer 2.6.0. #10231, #11500, #11633, #11173, #11117, #9999, #10313, #11150, #10493
  • When using Cancel object feature, the marks denoting where one object ends and another starts were placed incorrectly. As a result, there was a missing deretraction after all travels to objects which would normally be printed following the cancelled object. The issue was even worse with sequential printing, where the uncompensated retractions on the cancelled object summed up and could result in filament being unloaded past the driving gears.
  • When arcs (G2 and G3 G-codes) were enabled, PrusaSlicer generated toolpaths outside the print area in certain cases (#12381).

Translations

PrusaSlicer 2.7.2

29 Feb 17:54
Compare
Choose a tag to compare

PrusaSlicer

Summary

This is the stable release of PrusaSlicer 2.7.2, fixing one bug found in the previous release candidate. Please, read the change logs of 2.7.2-alpha2, 2.7.2-beta1, 2.7.2-rc1 and 2.7.2-rc2 for the complete list of bugfixes and improvements over 2.7.1.

If any of the PrusaSlicer 2.7.2 alphas or betas was used before on the same machine, PrusaSlicer 2.7.2 will offer to import such alpha or beta configuration when it is first executed.

Bugs fixed with respect to 2.7.1

  • When specific extruder was set for the wipe tower and z position has changed in custom toolchange G-code, the z position was not correctly accounted for.

PrusaSlicer 2.7.2-rc2

27 Feb 11:57
Compare
Choose a tag to compare
PrusaSlicer 2.7.2-rc2 Pre-release
Pre-release

PrusaSlicer

Summary

This is the second release candidate of PrusaSlicer 2.7.2, which fixes bugs found in the previous release candidate. Please, read the change logs of 2.7.2-alpha2, 2.7.2-beta1 and 2.7.2-rc1 for the complete list of bugfixes and improvements over 2.7.1.

The release candidate saves its profiles into regular PrusaSlicer configuration directory. When you first run it, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.

Bug fixes with respect to 2.7.2-rc1

  • When using the "No sparse layers" wipe tower, the print head sometimes lowered before travelling to the wipe tower, digging into an object and destroying the print (#12330).
  • Fixed a crash when loading certain AMF files (#12332).

Localization

  • Updated JA dictionary.

PrusaSlicer 2.7.2-rc1

23 Feb 21:36
Compare
Choose a tag to compare
PrusaSlicer 2.7.2-rc1 Pre-release
Pre-release

PrusaSlicer

Summary

This is the first release candidate of PrusaSlicer 2.7.2, which fixes a single bug found in the previous beta. Please, read the change logs of 2.7.2-alpha2 and 2.7.2-beta1 for the complete list of bugfixes and improvements over 2.7.1.

The release candidate saves its profiles into regular PrusaSlicer configuration directory. When you first run it, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.

Bug fixes with respect to 2.7.2-beta1

  • Fixed incorrectly applied retraction in vase mode when ramping travels were enabled (#12305).

PrusaSlicer 2.7.2-beta1

20 Feb 20:17
Compare
Choose a tag to compare
Pre-release

PrusaSlicer

Summary

This is the first beta release of PrusaSlicer 2.7.2, which fixes bugs found in the previous alpha. Please, read the change log of 2.7.2-alpha2 for the complete list of bugfixes and improvements over 2.7.1.

To let you enjoy the beta without worries, the beta builds save their profiles into PrusaSlicer-beta directory, so you may use the beta side by side with the current release without ruining your production configuration. The beta will ask whether it should import a configuration from previously run PrusaSlicer versions on the first start.

Bug fixes with respect to 2.7.2-alpha2

  • Travels with standard lifts (non-ramping) were incorrectly generated (#12257).
  • With option "Retract on layer change" disabled, there was a retraction missing before the first travel on each layer (#12219).
  • Variable layer height limits were not applied correctly when using multi-extruder printer with different values of min and max layer height (#12248).
  • When z travel speed was set to zero, it was incorrectly exported into the G-code, effectively stopping the print. Instead, regular travel speed should have been used for the z travel (#12258, #12293).
  • When Print / Filament / Printer profiles contained different values for the same key (which should normally not happen, providing the profiles are correct), the misplaced keys could have been used instead of the correct ones. (#6533, supermerill#4079, fixed by PR #12127, thanks to @supermerill).

Translations

  • Updated CS, DE, ES, FR, IT, PL dictionaries.
  • Updated POT for community translators.
  • Updated BE dictionary (#12208, thanks to @lidacity).
  • Updated FI dictionary (#12128, thanks to @J3r0github).
  • Updated RU dictionary (#12220, thanks to @AndylgTom)

PrusaSlicer 2.7.2-alpha2

09 Feb 14:55
Compare
Choose a tag to compare
Pre-release

PrusaSlicer

Summary

This is the first public alpha release of PrusaSlicer 2.7.2 (alpha1 was not public). This release introduces improvements of multi-material segmentation algorithm, improved M600 G-code handling, SLA overrides and many more improvements and bugfixes.

To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration. The alpha will ask whether it should import a configuration from previously run PrusaSlicer versions on the first start.

Multi-material segmentation improvements

In PrusaSlicer, we use Voronoi diagrams as part of several features such as Arachne, multi-material segmentation, gap-fill, and thin-walls. We use the Voronoi diagram implementation from the Boost library because it is both fast and numerically stable. Unfortunately, it rarely produces a non-valid Voronoi diagram for some input polygons (the graph is not planar, missing vertices, etc.), which could cause a crash of PrusaSlicer, artifacts on external perimeters with Arachne or spilled layers with multi-material segmentation.

In 2.5.0, 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. These mechanisms were originally implemented only for Arachne, and they were heavily tight with Arachne's data structures.

In this release, we have generalized these mechanisms to be used anywhere in PrusaSlicer. This itself solved many of the spilled layer issues with multi-material segmentation and also one crash during thin-wall generation (#10632).

We also reimplemented a significant part of multi-material segmentation from scratch, which, together with the changes above, should resolve all issues (#11774) with spilled layers for multi-material segmentation.

voronoi

Color change (M600) improvements

Place the color change (M600) after moving to the next layer and position

Previously, PrusaSlicer placed the color change (M600) right after the previous layer was finished. The default implementation of M600 in all firmware will return to the position before M600. As a result of this behavior, the extruder with changed filament returns to the place that was printed with a previous filament and could create a blob with new material at that position (#2672).

Our community, especially @Nohus, came up with a solution (#9036) 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 PR.

Selecting the correct tool before performing a color change (M600) on multi-tool printers

Previous implementations of color change for multi-tool printers left picking the right tool on the firmware and user. Also, M601 (pause print) was placed instead of M600 (color change), which is how it was intentionally implemented for MMU. That case issue especial on our Prusa XL printers (#11516, #11517, #11600, #11792).

This proved to be insufficient for multi-tool printers, mainly because there is a special sequence of extruder movements that need to be done before parking the tool, and PrusaSlicer depends on it.

Based on this, we implemented picking the tool on which the color change will be performed. After the color change, it picks the previous tool (if the tool for which the color change was performed no longer prints on that layer).
Along with this, we are now emitting the M600 (color change) for multi-tool printers instead of the M601 (pause print).

Ramping travel improvements over PrusaSlicer 2.7.1

In PrusaSlicer 2.7.1 we introduced ramping travels together with helical layer changes that both should mitigate stringing and oozing especially on long travels between objects. In this release we continue improving the ramping travels.

Replace helical layer changes with proper ramping travels

Based on user feedback, it turned out that helical layer changes weren't good enough and sometimes even caused visible blobs or artifacts on external perimeters of prints (#11940, #11800).

We thus decided to replace the helical layer changes with the ramping profile previously only used for travels. This change ensures that the stringing is still mitigated without the disadvantages of the helical movements.

Smoothing of ramping travel moves

During a ramping travel the print head moves in both XY plane and Z. If the travel is sufficiently long, the print head will reach the desired lift before the travel ends. This means that the Z-motor has to decelerate to stop, while the X and Y motors are still moving. Due to the limitations of motion planners in printer firmwares like Marlin and others, this Z-axis deceleration may lead to slight slow down of the movement in the XY plane which is not necessary.

Under the right circumstances this issue can be mitigated on Marlin-based printers by smoothing the ramping travel moves. PrusaSlicer now automatically employs this slight optimization when applicable. This further helps to prevent stringing and may even slightly improve print times by a very small amount.

Lift before obstacles

During long travels above already printed parts of models, ooze material may be so long that it can be wiped on the perimeters of other objects. Increasing the Z-hop distance could reduce this issue, but it also increases the print time when it isn't needed to do such a big Z-hope.

We implemented the lift before obstacles feature that ensures that during crossing already printed objects or parts the nozzle will be at chosen distance to not wipe oozed material on perimeters of that object.

SLA overrides

PrusaSlicer classifies the SLA parameters into three groups: Print, Material and Printer parameters. This parameter classification is certainly artificial and not flexible enough. We are now introducing a concept of Material Overrides in SLA, which is mimicking the Filament Overrides feature known from FDM slicing (introduced in 2.1.0). It 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.
image

Other improvements with respect to 2.7.1

  • Windows specific: The cut tool sometimes produces non-manifold meshes. This situation is now detected and the user is advised to use Windows repair algorithm on the resulting objects (#7243).

Bug fixes with respect to 2.7.1

  • Fixed incorrect partial arrange in certain cases.
  • Fixing arrange issues with aligning to unprintable objects when doing Shift+A.
  • Fixed arrange which sometimes put the wipe tower slightly out of bed (#11367, #11410)
  • Fixed UI glitch when setting object dimensions to extremely high values (#11617).
  • Fixed a bug in generation of brim and skirt preview in the preliminary G-code preview (#11821, thanks to @supermerill)
  • Fixed an issue Ctrl+Shift+Tab shortcut, which incorrectly collapsed sidebar (#7799).
  • Fixed wiggling of Rotate gizmo when moving an object in certain cases.
  • Fixed missing updated when moving through dropdown items using keyboard arrows (#11817).
  • Improve filtering of special characters on Klipper EXCLUDE_OBJECT labels (#11802, PR#11813 by @jschuh - thank you).
  • Fixed layer change color dialog opening off screen (#10419).
  • Fixed occasional crash during thumbnail generation for SLA printers.
  • Fixed slicing issues such as missing infills and similar on multi part models when sliced with object-specific settings (#11721).
  • In SLA mode, it was not possible to use custom file extension (configured in Output Settings).
  • Fixed incorrect calculation of wipe length in certain cases, leading to shorter wipes than configured.
  • Fixed various issues and UI glitches in text/SVG embossing (#11868, #12002).
  • Fixed missing update when a new printer was added while a physical printer preset was selected.
  • Scrolling of the window was incorrectly performed when using mouse wheel over a dropdown.
  • Windows specific: Drop down menus appeared outside of PrusaSlicer and could not be opened again (#11988).
  • When loading an object from a 3MF, the suggestion to rescale the model is not shown, because 3MFs store the information about the correct unit (unlike STL files).
  • Fixed an incorrect check of supported OpenGL version, which led to a hard crash when OpenGL 3.2 was not available (#12000).
  • When loading a 3MF for MM printer, PrusaSlicer offers to load individual models as parts of a single object. This dialog did not show up for specific geometries (#11547).
  • PrusaSlicer did not start on some Windows Server installations due to a missing DLL (wlanapi.dll). The library is now loaded in runtime and the respective features...
Read more

PrusaSlicer 2.7.1

14 Dec 12:08
Compare
Choose a tag to compare

PrusaSlicer

Summary

This is the stable release of PrusaSlicer 2.7.1, bringing minor improvements and several bugfixes with respect to 2.7.0.

Improvements fixed with respect to 2.7.0

  • 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 therefore easy to turn the feature on or off without doing any changes in profiles (#11734, #11873).
  • 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

  • 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 (#11759).
  • Helical layer changes could result in out of bed moves (#11754).
  • Helical layer change was enabled even when there was no retraction on layer change (#11709, #11761).

Translations

  • Updated CS, DE, ES, FR, IT, JA, PL dictionaries.
  • Updated RU dictionary (#11742, thanks to @AndylgTom).
  • Updated POT file for community translators.

PrusaSlicer 2.7.0

23 Nov 17:51
Compare
Choose a tag to compare

PrusaSlicer

Summary

This is the stable release of PrusaSlicer 2.7.0, introducing SVG emboss, binary G-codes, ramping travels, support for G2/G3 G-codes, support for Cancel object function and much more. It also fixes many bugs. Please, read the change log of 2.7.0-alpha1, 2.7.0-beta1, 2.7.0-rc1 and 2.7.0-rc2 for complete list of changes with respect to 2.6.1.

If any of the PrusaSlicer 2.7.0 alphas or betas was used before on the same machine, PrusaSlicer 2.7.0 will offer to import such alpha or beta configuration when it is first executed.

Bugs fixed with respect to 2.7.0-rc2

  • When selecting a printer in Configuration Wizard and exiting it using the 'Finish' button without selecting any filaments, the default filaments for the printer were not installed.
  • Physical printers using the alpha profiles in 2.7.0 prerelease versions did not show after the alpha designation was removed (#11727).
  • Fixed a crash sometimes occurring when using the sliders in Preview (#11728).

PrusaSlicer 2.7.0-rc2

22 Nov 07:09
Compare
Choose a tag to compare
PrusaSlicer 2.7.0-rc2 Pre-release
Pre-release

PrusaSlicer

Summary

This is the second release candidate of PrusaSlicer 2.7.0. It fixes several bugs found in the 2.7.0-rc1. Read the change log of 2.7.0-alpha1, 2.7.0-beta1 and 2.7.0-rc1 for complete list of changes with respect to 2.6.1.

The release candidate saves its profiles into regular PrusaSlicer configuration directory. When you first run it, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.

Bug fixes with respect to 2.7.0-rc1

  • macOS specific: Fixed a crash when using the spin controls in parameter pages (#11688).
  • Fixed incorrect generation of a thumbnail in specific cases (#11686).
  • Fixed wipe tower generating outside of its perimeter when extra spacing parameter was used (#11692).
  • Fixed occasional stray extrusions when generating the wipe tower brim (#11708).

Translations

  • Updated JA dictionary.

PrusaSlicer 2.7.0-rc1

16 Nov 18:25
Compare
Choose a tag to compare
PrusaSlicer 2.7.0-rc1 Pre-release
Pre-release

PrusaSlicer

Summary

This is the first release candidate of PrusaSlicer 2.7.0. It mostly fixes bugs found in the 2.7.0-beta1. Read the change log of 2.7.0-alpha1 and 2.7.0-beta1 for complete list of changes with respect to 2.6.1.

The release candidate saves its profiles into regular PrusaSlicer configuration directory. When you first run it, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.

Improvements with respect to 2.7.0-beta1

  • PrusaSlicer 2.7.0-alpha1 introduced the binary G-code format. The new format is enabled in our system profiles for Original Prusa MINI, XL and MK4 printers, but it requires that the printer firmware is updated. Old firmware would not show the binary G-code files at all. Based on the feedback that we collected, this was a frequent problem and a source of confusion. Therefore, we decided to add an extra dialog informing the user about the need to update firmware. The dialog is shown when exporting binary G-code for the printer models mentioned above, and it contains a "Don't show again" checkbox, which dismisses the dialog for good.

Bug fixes with respect to 2.7.0-beta1

  • macOS specific: Fixed a crash when modifying purging volumes (#11627).
  • It was not possible to change selection in a focused combo boxes using the mouse wheel (#11640).
  • Fixed a crash when opening the Shape Gallery (#11681).
  • macOS specific: Fixed occasional failures to upload G-code to PrusaConnect. The problem was possibly caused by a bug in libCURL library shipped with the affected macOS versions (possibly curl/curl#11353). We worked around the problem by using HTTP/1.1 for libCURL requests (#11076, #11355, #11399).
  • The helper arrows in the scene indicating direction when a value in Object Manipulation is being edited were not shown by mistake (#11636).
  • Overhang fan speed was not reset before printing infill, which is now fixed. Thanks to @jschuh for debugging the issue and providing a fix (PR #11650, #11648).
  • Fixed a possible crash when deleting the last object with auto-center enabled (#11186).
  • Fixed incorrect placement of checkboxes in some of the dialogs.
  • Linux specific: Fixed appearance of checkboxes in GTK2 version (#11664).
  • Fixed updates of some Preferences options, e.g. when it changed as a result of "Remember my choice" checkbox in some dialog.
  • Focus of spin controls did not work correctly in Config Wizard and Ramming dialog.
  • Linux and macOS specific: Colors in the combo boxes did not change when system settings were changed (#11556).
  • File names in the Shape Gallery were cut short (#11642).
  • Fixed a hang occasionally happening during Arrange (#11392).
  • When loading a 3MF containing a profile based on a system profile which is currently not installed, an incorrect preset was sometimes chosen instead of the temporary installed preset. Also, a notification is now shown when the temporary preset is installed (it was inadvertently removed in 2.7.0-alpha1).
  • In certain cases, materials and filaments in Configuration Wizard were incorrectly marked as not compatible with the printer.
  • When loading a 3MF with multiple filament profiles, some of the profiles were incorrectly marked as modified, even though they were not.

Infrastructure

  • Update build_win.bat max version to Visual Studio 2022 (PR #11646, thanks to @jschuh, related to #11635).
  • Updated build instructions for Windows, added deps/README.md containing details about building dependencies.

Translations

  • Updated CS, DE, ES, FR, IT, JA, PL dictionaries
  • Catalan dictionary updated (#11641, thanks to @davidjuanesb).
  • Russian dictionary updated (#11559, thanks to @AndylgTom).
  • Updated POT file for community translators.