Skip to content

Releases: prusa3d/PrusaSlicer

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.

PrusaSlicer 2.7.0-beta1

11 Nov 03:24
Compare
Choose a tag to compare
Pre-release

PrusaSlicer

Summary

This is the first beta release of PrusaSlicer 2.7.0. It brings small improvements and fixes several bugs found in the first alpha. Read the change log of 2.7.0-alpha1 for complete list of changes with respect to 2.6.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.

Important note for Original Prusa MINI, MK4 and XL owners: The new configuration update of our system profiles will enable binary G-code and G2/G3 features. Users using older firmware need to update to 5.1.0-alpha2 or later or manually turn these features off. On older firmware, new binary G-code is not visible or recognized and the G2/G3 G-codes may not work perfectly.

Travel moves improvements

To help fight stringing and oozing deposition, PrusaSlicer now implements ramping travel moves. Previously you could set just the Lift height (Printer Settings->Extruder) which resulted in the print head lifting up before each travel move and then returning back down after the travel move. Such lift could result in undesirable stringing, especially while using wider nozzles. Now you can use the new ramping lift which ensures that the print head lifts up gradually during the travel.

The feature can be turned on in Printer Settings->Extruder for each extruder you are using in the new Travel lift section. You can override the setting for each filament in the Filament overrides section. The ramping travel is parametrized by an angle and a maximal ramping lift:
image.

The ramping travel moves are now enabled in our system profiles for Original Prusa XL.

To fully harness the stringing reduction potential of the ramping travels moves a new layer change strategy is implemented while the ramping travel moves are active. Instead of going straight up to the next layer the printer head follows a helical ("screw thread") trajectory while changing layers. This feature is on by default once the ramping travel move is used.
image
The helical travel move was inspired by the same feature in BambuStudio. Thanks to bambulab for the idea.

Other improvements with respect to 2.7.0-alpha1

  • After we collected feedback to the UI improvements presented in the previous alpha, we did several tweaks to the combo boxes. They react better to keyboard input, the spacing of the items is smaller, the scrollbar has been made wider and it allows dragging by mouse (#11499, #11505).
    image
  • Arrange is now faster in processing more complex scenarios (#11360).
  • The thumbnails in the G-code are now colored correctly even when using the painting tool.
  • A notification suggesting to upload Wi-Fi configuration data is opened when USB flash drive containing the configuration file is inserted. PrusaSlicer is then able to append the Wi-Fi data into the file.
  • When PrusaConnect print host is selected in the Physical Printer dialog, the Browse button is now hidden as it would make little sense. When confirming the dialog, the URL field is checked and if it contains anything different from https://connect.prusa3d.com, the user is asked to confirm that it is intentional.
  • A notification suggesting to upload Wi-Fi configuration data is opened when USB flash drive containing the configuration file is inserted. PrusaSlicer is then able to append the Wi-Fi data into the file.
  • The SVG dialog contains an extra button "Face the camera", which rotates the SVG so it is perpendicular to current view direction.
  • Trying to exporting ASCII G-code with binary G-code extension or vice versa is now reported as an error (#11498).
  • Colors of selected volumes in the scene were slightly changed so the negative volumes are visible even when selected (#11496).

Bug fixes with respect to 2.7.0-alpha1

  • The new "Wi-Fi Configuration File" dialog did not show correctly in dark mode and it did not use the new UI controls.
  • Cancel object G-codes were not correctly emitted for RepRapFirmware and the objects were not labeled as a result (#11492).
  • In some scenarios, an item in a combo box was duplicated.
  • When using the cut tool and assigning a part of the model to the other side, connectors were missing after slicing (#11415, #11487).
  • Fixed a rare crash when using 'Split to Objects' (#11484).
  • Password authentication did not work correctly when sending G-code to Duet SBC (#10061).
  • Perimeters were not generated when using Arachne perimeter generator with specific configuration (#11082, #11510).
  • The wipe tower was not generated correctly when non-zero extruder offset was used.
  • Number of tool changes in the statistics only showed when the wipe tower was enabled (#6832).
  • When slicing with the wipe tower enabled and then disabling it, PrusaSlicer sometimes ended up in an infinite loop.
  • Fixed incorrect label object markers at the start of the G-code when it was set to "OctoPrint comments" and the firmware flavor was Klipper (#11569).
  • Fixed a UI glitch related to the scrollbar in Preferences dialog (#11566).
  • Fixed invalid link to Organic Supports documentation (#11555).
  • When using the experimental option "Wipe tower with no sparse layers", a travel move to the wipe tower was sometimes missing, which resulted in the print head digging into the last printed object (#11089).
  • Spin controls which allow setting the value negative now accept minus sign input from the keyboard (#11574).
  • When configuring a physical printer, the IP address was not always correctly read from the text field, resulting in failed uploads later on.
  • Fixed a crash when slicing a sinking object with multiple instances (#11562).
  • Fixed synchronization of instances when rotating an instance in Object Coordinates.
  • Fixed a bug resulting in monotonic infill was not being monotonic (#11565).
  • Fixed crash in multi-material painting gizmo and during generating multicolor thumbnails when number of extruders was changed.

Other

  • 3DBenchy model and template models for signs were added to Shape Gallery.

Translations

  • Updated POT file for community translators.

PrusaSlicer 2.7.0-alpha1

20 Oct 15:52
Compare
Choose a tag to compare
Pre-release

PrusaSlicer

Summary

This is the first alpha release of PrusaSlicer 2.7.0. This release introduces SVG emboss tool, G2/G3 G-codes, binary G-code output, improved UI, editor for custom G-codes and many more smaller 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.

Important note for Original Prusa MINI, MK4 and XL owners: The new configuration update of our system profiles will enable binary G-code and G2/G3 features. Users using older firmware need to update to 5.1.0-alpha2 or later or manually turn these features off. On older firmware, new binary G-code is not visible or recognized and the G2/G3 G-codes may not work perfectly.

Github clips this text at the release history overview. Please open the 2.7.0-alpha1 release log to see the complete change log.

SVG embossing tool (#6916, #9373)

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.

ezgif com-video-to-gif

When saving a project file, the user is asked whether they want to save the path to the SVG file, which would allow them to further modify the embossing parameters or reload the SVG from disk later. Otherwise, the SVG part is saved as a model and editing it is no longer possible.

G2 and G3 G-code support #4352

Starting with this release, PrusaSlicer is able to emit G2 and G3 G-codes (arc and circle moves). This results in smaller G-code files when compared to the classic stream of plain G1 commands. The feature can be enabled in Print Settings->Advanced->Slicing->Arc fitting. The G-code size reduction heavily depends on the contents of the G-code, but we are talking tens of percent in general.

Note that emission of G2 and G3 is not compatible with Pressure Equalizer feature and with Spiral Vase mode. When either of the two is active, the G2 and G3 G-codes will not be emitted regardless of how arc_fitting is set.

This feature is based on ArcWelderLib by @FormerLurker, who is also the author of the famous ArcWelder OctoPrint plugin. Big thanks to @FormerLurker for all the effort invested into the project and for making it open-source.

Binary G-code

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:
image

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.

Improved user interface

The visual looks of user interface controls has been improved. They are now more pleasant to look at in both light and dark mode and various UI quirks have been resolved (e.g. #8877, #6399).

image

It is also now possible to change font size in the UI (Configuration->Preferences->Other). #6317, #8278, #7159

Custom G-code editor

One of the features of PrusaSlicer is a powerful macro language that can be used in various custom G-codes. In this release we added a dedicated dialog for editing these G-codes. The dialog contains list of all available placeholders for the given G-code and there is also a short description of each of the placeholders. Double-clicking a placeholder (or clicking the "plus" button) copies it into the G-code.

We believe that this will make editing custom G-codes more user-friendly and better documented at the same time.

image

Cancel object (Marlin, RRF and Klipper)

For a long time, PrusaSlicer can emit object annotations for OctoPrint CancelObject plugin, which allows to cancel an individual object while printing. Starting with this release, we support these annotations also for Marlin, RepRapFirmware and Klipper firmware, so the cancel object feature can be used without relying on OctoPrint.

The feature can be configured in Print Settings->Output options->Label objects. The option used to be a checkbox, it was now turned into a dropdown with Disabled, OctoPrint comments and Firmware-specific options. When set to Firmware-specific, the style of the annotations is chosen based on currently selected firmware flavor in Printer Settings (Marlin/RRF: M486, Klipper: EXCLUDE_OBJECT). When a different firmware flavor is selected, the annotations are not generated.

List of all objects is emitted at the very beginning of the print, so the printer knows about all the objects from the start.

For Klipper which supports graphical selection of the object to cancel, outline polygons are also provided for each object. Thanks to @jschuh for providing the implementation for Klipper (#10618).

The support for Marlin-style cancel object feature is implemented in Original Prusa MINI, MK4 and XL printer firmware since version 5.1.0-alpha2.

Other improvements with respect to 2.6.1

  • It is newly possible to emit several different thumbnail types (e.g. PNG and QOI) into the G-code. The old configuration options thumbnails and thumbnails_format were merged into one option called thumbnails and it accepts a string describing the required thumbnails. For example, 440x240/QOI, 640x480/PNG, etc.
    Opening an old configuration in new PrusaSlicer will automatically convert the old configuration options into the new one. Opening the new configuration in older PrusaSlicer will also work, but only the extension of the first thumbnail in the list will be used.
  • PrusaSlicer can generate an INI file containing Wi-Fi SSID and password for easier configuration of Original Prusa XL, MK4 and MINI printers. The option is available in Configuration->Wi-Fi Configuration File. You can select one of currently available networks and type in the password (PrusaSlicer will try to retrieve the password from the system and will auto-fill it when successful). Then you can save the configuration file on the USB drive of your choice. The INI file contains the Wi-Fi password in plaintext, make sure it is deleted after use. Note that loading the Wi-Fi info can fail in some cases. You can always enter the SSID and password as a text yourself.
  • Connectors in the Cut tool can be rotated using a new slider in the Cut tool panel (#10284).
  • macOS specific: The "About" menu item was moved from the Help section to the application menu (#10591, thanks to @iammattcoleman).
  • When using Variable Layer Height tool, the value in the tooltip is truncated to 3 digits (#10298, thanks to @vovodroid)
  • When importing a project containing multiple objects, there is a dialog asking whether they should be imported as parts of a single object. This is annoying in cases when one imports multiple projects at once. An extra "Apply to all" option was added into the dialog.
  • Opening of Configuration Wizard is now faster.
  • PrusaConnect print host is now available for Original Prusa MINI...
Read more

PrusaSlicer 2.6.1

06 Sep 18:56
Compare
Choose a tag to compare

PrusaSlicer

Summary

​This is the stable release of PrusaSlicer 2.6.1. This release fixes bugs found in previous release candidates. See the change logs of 2.6.1-rc1 and 2.6.1-rc2 for the complete list of improvements with respect to 2.6.0.

Improvements with respect to 2.6.1-rc2

  • The Help menu in PrusaSlicer was extended with "Sample G-codes and Models" item, which navigates the user to the respective page on our website where these assets can be downloaded.
  • The Help menu was extended with "Quick Start" item, which navigates the user to the beginner's guide on our website.

Bugs fixed with respect to 2.6.1-rc2

  • Two tooltips in the Cut tool dialog were shown with mangled encoding in some languages (#11236).

Bugs fixed with respect to 2.6.0

  • When renaming a preset to a name containing non-ASCII characters, the encoding was mangled. This is now fixed (#11232).
  • Supports are no longer shown when using the clipping plane in SLA supports tool.
  • Fixed a crash when displaying command line help (#11060).

Translations

  • Updated CS, DE, ES, FR, IT, JA, PL dictionaries.

PrusaSlicer 2.6.1-rc2

01 Sep 22:32
Compare
Choose a tag to compare
PrusaSlicer 2.6.1-rc2 Pre-release
Pre-release

PrusaSlicer

Summary

​This is a second release candidate of PrusaSlicer 2.6.1. This release fixes bugs found in previous release candidate. See the change log of 2.6.1-rc1 for the complete list of improvements with respect to 2.6.0.

Improvements with respect to 2.6.1-rc1

  • The new Snap connectors in the Cut tool can now be reset to default settings by a dedicated Reset button (#11159).

Bugs fixed with respect to 2.6.1-rc1

  • Shells in preview incorrectly showed when switching to the 3D scene and back to Preview (#11191).
  • Fixed access violation when using multi-material priming with multi-extruder printer (#11174, #11197).

Bugs fixed with respect to 2.6.0

  • Fixed a crash when replacing painted object with lower-polygon model (#11188).
  • Fixed occasional application freezes during slicing with tree supports and raft (#10762, #10858, #10891).
  • Objects larger than the print bed are not scaled down after cut operation when connectors are used.
  • Fixed a rare bug resulting in incorrectly loaded profiles from INI or 3MF files.
  • Fixed an occasional crash when switching between single-extruder and multi-extruder printer profiles.
  • Fixed crashes during hollowing in SLA mode (#10887).
  • Fixed a bug when exporting G-code: When output_filename_format contained a custom file extension, the "Save as" dialog would incorrectly force the extension to be .gcode. This is a regression which was reintroduced in 2.6.0 (#1221).
  • Organic support generation was occasionally crashing when using specific combinations of parameters. Additional validation checks were added to prevent the crashes. #9555

Translations

Infrastructure

PrusaSlicer is an open-source project with a long history. The first commit by @alranel was commited 12 years ago (to the day), and during all that time, many people have contributed many improvements and bugfixes, both big and small. All these people have played their part in getting Slic3r and later PrusaSlicer to where it is now.

Open-source licenses such as AGPL3 are somewhat ambiguous about how the contributors should be attributed. Regarding PrusaSlicer, the data are effectively kept only in the form of version control histories, and those don't transfer reliably when the project is forked/rebased/altered etc. To avoid losing the information about the original authors, we have added a short header to each of the source files, where all the contributors are listed. We believe that it is the correct way of claiming who's shoulders we are standing on.

Please note that although we have invested quite a lot of time to provide complete information about the authorship of each file (using both automated scripts and extensive manual lookup and investigation), it is still possible that we might have missed someone. For example because a part of the code was moved around the codebase and passed undetected by our scripts. If you feel that an attribution is missing, let us know and we will fix it. Unfortunately, it is not possible to reliably reconstruct the history of such a big project easily.