PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)

AGPL-3.0 License

Stars
7.7K
Committers
215

Bot releases are hidden (Show)

PrusaSlicer - PrusaSlicer 2.5.0

Published by lukasmatena about 2 years ago

PrusaSlicer

Summary

​This is final release of PrusaSlicer 2.5.0, introducing Arachne perimeter generator, Lightning infill, Pressure equalizer, STEP file import and various smaller features and bugfixes. The final release fixes a single bug found in PrusaSlicer 2.5.0-rc2. See the release logs of 2.5.0-alpha2, 2.5.0-alpha3, 2.5.0-beta1, 2.5.0-rc1 and 2.5.0-rc2 for the complete list of changes with respect to 2.4.2.

Bugfixes with respect to PrusaSlicer 2.5.0-rc2

  • Fixed seam-like artifact visible on certain models when using Arachne perimeter generator and Fuzzy Skin feature #8793

Translations

  • Updated translations
  • Updated Catalan translation (#8787, thanks @davidjuanesb)
PrusaSlicer - PrusaSlicer 2.5.0-rc2

Published by lukasmatena about 2 years ago

PrusaSlicer PrusaSlicer 2.5.0-rc2

Summary

​This is second release candidate of PrusaSlicer 2.5.0, fixing bugs found in PrusaSlicer 2.5.0-rc1. See the release logs of 2.5.0-alpha2, 2.5.0-alpha3, 2.5.0-beta1 and 2.5.0-rc1 for the complete list of changes with respect to 2.4.2.

Changes with respect to 2.5.0-rc1

  • We added filament type "PA" into the list in Filament Settings #8713
  • Seam enforced areas were not always respected with Arachne perimeter generator #8695
  • Fixed crashes in Arachne perimeter generator happening for specific geometries #8724, #8747, #8753, #8761
  • Fixed artifacts produced by Arachne perimeter generator in specific cases #8778, #8760, #8742
  • Post-processing scripts on macOS and Linux were not executed when $SHELL environment variable was undefined #8766

Localization

  • Updated zh_CN dictionary (#8737, thanks @iBral)

Profiles

  • Added Creality Ender-3 Neo and Ender-3 S1 Plus profiles (#8746, thanks @pmjdebruijn)

PrusaSlicer - PrusaSlicer 2.5.0-rc1

Published by lukasmatena about 2 years ago

PrusaSlicer PrusaSlicer 2.5.0-rc1

Summary

​This is a release candidate of PrusaSlicer 2.5.0, fixing several bugs found in beta1. See the release logs of 2.5.0-alpha2, 2.5.0-alpha3 and 2.5.0-beta1 for the complete list of changes with respect to 2.4.2.

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.

Bugfixes with respect to PrusaSlicer 2.5.0-beta1

  • STEP import did not work on RPi builds because the necessary dynamically loaded library was missing in the archive #8703
  • When adding a custom shape in the Shape Gallery from a file containing non-ASCII characters in the filename, the automatically generated thumbnail name was mangled and the thumbnail was consequently not shown. The same issue appeared when there were non-ASCII characters in the username (or in path to a custom --datadir if used).
  • Fixed incorrectly computed starting position in Concentric infill when Arachne was used.
  • Lightning infill wasn't connected to perimeters when it was combined with the option "Only infill where needed". Lightning infill will now ignore this setting and treat it as off. Both features are intended to do the same thing (reduce infill) and the combination makes little sense #8648
  • Fixed unintended travels with Arachne and Spiral Vase mode. Classic perimeter generator is used instead for all the spiraled layers #8704, #8719
  • When extrusion width was changing close to the end of the extrusion, the next wipe might have ended up shorter than it should be. This is now fixed.
  • Fixed a performance issue in the seam placing algorithm.
  • Improved random seam, which sometimes generated lines and patterns.
  • Fixed an invalidation problem: when "Only infill where needed" was active and infill type was changed, the recalculated infill might not be correctly connected to perimeters.
  • The pressure equalizer was sometimes producing a malformed G-Code that caused underextrusion #8716, #8717, #8718
  • Windows specific: Since AMD driver version 22.7.1, there are issues with the missing texture of the bed, possibly caused by a bug in the driver which seems not to accept texture mipmap generated on the CPU for some reason. To workaround the issue, PrusaSlicer checks driver version and if it is AMD newer than 22.6.1, it generates texture mipmaps on the GPU. #8417, #8508

Translations

  • Updated JA dictionaries
PrusaSlicer - PrusaSlicer 2.5.0-beta1

Published by lukasmatena about 2 years ago

PrusaSlicer PrusaSlicer 2.5.0-beta1

Summary

​This is the first beta release of PrusaSlicer 2.5.0, adding STEP file format import and fixing bugs found in the previous alpha. See the release logs of 2.5.0-alpha2 and 2.5.0-alpha3 for the complete list of changes with respect to 2.4.2.

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. When you first run the beta, it will search for all configurations produced by alpha or final versions and offer to create a copy of the latest one.

STEP file format import #4989

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.

Arachne configuration changes

Parameters wall_add_middle_threshold and wall_split_middle_threshold were removed and are set automatically based on extrusion width. This results in better results in cases where the extrusion width of individual features differs (infill vs perimeters, etc).

Parameters min_feature_size and wall_transition_length can now be set in percents, in which case they are calculated based on nozzle diameter. Old profiles containing default values are converted into this percentage-based format, values that differ from the defaults are left untouched as the absolute values.

Bugfixes with respect to PrusaSlicer 2.5.0-alpha3

  • Contours shown in the Cut tool were not properly updated after object orientation or scale was changed
  • When opening any gizmo using a keyboard shortcut, its input window now shows immediately, not after the first mouse move
  • Fixed crashes appearing in Arachne perimeter generator with certain models #8474, #8514
  • Prevented gap fill and Arachne from creating tiny gaps in extrusions in specific cases.
  • Fixed an issue when an open perimeter containing part of an overhang perimeter was split into two parts and wasn't extruded as continuous extrusion.
  • Fixed a bug in the pressure equalizer which would hang or produce extremely fast printing speeds in some cases #8457, #8461
  • Fixed a bug in Arachne perimeter generator which would sometimes produce artifacts not present on the original model #8446
  • Prevented the pressure equalizer from emitting G1 Fx lines which would not affect any actual extrusions
  • Fixed an issue with wall_transition_filter_deviation config option, which was evaluated incorrectly when set a percentage
  • Fixed an issue with the Arachne perimeter generator: a middle perimeter was missing in some specific scenarios #8472
  • Fixed unintentional deceleration before ironing caused by pressure equalizer. The same issue affected gap fill. #8530
  • Fixed pressure equalizer not slowing down before bridge infill
  • Fixed a bug in the seam placer which sometimes placed seams on overhangs
  • When using seam painting, some of the resulting seams would occasionally be incorrectly placed close to the edge of the painted area #8600
  • Fixed a failing assertion in Arachne on Windows (the assertion was harmless) #8597
  • 'Unprintable' state is now maintained after merging parts together #8668
  • Fixed printable state update after splitting an object

Translations

  • Updated CS, DE, ES, FR, IT, PL translations
  • Updated zh_CN translation (#8544, thanks @iBral)
  • Updated pt_BR translation (#8673, thanks @valterfc)

Profiles

PrusaSlicer - PrusaSlicer 2.5.0-alpha3

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.5.0-alpha3

Summary

​This is the third alpha release of PrusaSlicer 2.5.0, fixing bugs found in the previous alpha. See the release log of 2.5.0-alpha2 for the complete list of changes with respect to 2.4.2.

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.

Bugfixes with respect to PrusaSlicer 2.5.0-alpha2

  • Lightning infill did not work when automatic extrusion width was used #8435
  • Fixed crash when lightning infill was used and some region had zero infill density #8436
  • Lighting infill generation was failing when it encountered very tiny polygons #8437
  • Fixed internal error reported by Arachne perimeter generator in rare cases #8447
  • Fixed empty G1 lines which were sometimes generated by the wipe tower (this is very old bug)
  • Fixed a crash in Arachne perimeter generator occurring in some specific cases #8463
  • Tooltips in parameter pages did not show in some cases when hovering the label of the control #8459
  • A hyperlink in the "Did you know" notification that should open Configuration Snapshots dialog did not work in all languages localizations #8450
  • Fixed a hang in Lightning infill generator, which was occurring with certain models and configs #8488
  • When using the Seach function after switching modes (Simple/Advanced/Expert), the search sometimes navigated to a wrong parameter #8376
  • Arachne perimeter generator sometimes produced extremely short segments even when there was no need. These extrusions could have been incorrectly shown as deretractions and also could have caused extremely short and counter-productive wipe moves #8455
  • When using the Classic perimeter generator, consecutive segments of gap fill are now merged when they have the same direction and don't differ in width (or only differ slightly). This reduces size of the G-Code and makes printer stuttering less likely.
  • Fixed a bug in pressure equalizer which introduced unnecessary deceleration (acceleration) before (after) ironing moves #8471
  • Fixed a bug in seam placement, which did not respect paint-on seams in certain cases #8464
  • Aligned seams in alpha2 were sometimes needlessly wavy, especially on simple geometries. This was improved and the effect is now reduced (although it may still appear in some cases) #8443, #8504

Translations

  • Updated zn_CN translation (#8425, thanks @dingyifei)
  • Update RU translation (#8438, thanks @AndylgTom)
  • Updated pt_BR translation (#8449, thanks @valterfc)
  • Fixed a typo in JA translation (#8330, thanks @AkimasaKonishi)
PrusaSlicer - PrusaSlicer 2.5.0-alpha2

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.5.0-alpha2

Summary

​This is the first public alpha release of PrusaSlicer 2.5.0 (alpha1 was not public), introducing new perimeter generator Arachne, improved seam placement based on visibility, pressure equalizer, lightning infill and several more improvements and bugfixes.

The new perimeter generator Arachne and the new lightning infill were ported from Cura. The Arachne perimeter generator was implemented based on the paper [Kuipers et al., 2020], while the lightning infill was implemented based on [Tricard et al., 2019]. Big thanks to Ultimaker for keeping Cura open source and big kudos to Cura development team led by @nallath, to @BagelOrb for his research and majority of the Arachne implementation and to @BagelOrb and @rburema for the lightning infill implementation.

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.

Arachne perimeter generator #5591​

The 'classic' strategy for calculating perimeter extrusion paths is to offset contours of an object slice inwards by a constant extrusion width, one offset per perimeter. This was also the default algorithm in previous PrusaSlicer versions. However this simple algorithm does not handle thin regions well, as reported in these issues. Namely, thin regions cannot be filled with an integer number of fixed width extrusion lines. The classic way of handling narrow regions is to either not generate the innermost perimeter that does not quite fit, but to fill the remaining region with a gap fill algorithm, or to over-extrude the innermost perimeter. None of the two approaches are ideal: The gap fill may produce short segments of widely differing extrusion rates, while over-extruding may produce bulges on thin walls.

The developers of Cura recently implemented a new strategy named Arachne based on paper [Kuipers et al., 2020]. The Arachne generator produces perimeter loops and gap fills with varying extrusion width in such a way, that the slice area is filled without underflows and overflows with possibly continuous paths while respecting minimum / maximum extrusion width limits. The Arachne perimeter / gap fill generator really shines on objects with thin walls as thin boxes or labels.

In this PrusaSlicer version, we have ported the Arachne engine from Cura while keeping the old perimeter generator as an option. We made the Arachne perimeter generator default in our printer profiles. Thanks again to Ultimaker for developing Cura under open license.

image

The following picture demonstrates Arachne benefits on thin text: ​The classic perimeter generator fills text contours with many thin gap fill lines, while the Arachne perimeter generator widens the perimeter lines instead, producing cleaner prints quicker and with better surface quality.

image

However the Arachne perimeter generator has a tendency to round concave corners, as shown in the picture below. While the perimeter curves with circular segments at concave corners produced by Arachne are geometrically correct (they satisfy the constant offset distance requirement), they may not be optimal for FDM due to the tendency of extruded plastic to shrink into concave corners, thus the classic perimeter generator producing mitered offset curves with sharp corners may print more accurate concave corners. For most prints the Arachne perimeter generator is superior, but for some functional prints where the accuracy of concave corners is important the classic perimeter generator may be better.

image

Another case where the classic perimeter generator may be preferable are sharp corners. The classic perimeter generator with "detect thin walls" disabled trims the tips of sharp corners, but the print surface will likely be smooth due to constant extrusion width.
image
With "detect thin walls" enabled, the chopped off tip is filled with gap fill, which may not quite stick to the print.
image
Arachne generator produces connected lines with varying extrusion rate, where the extrusion rate variation will likely cause some visible artifacts on the outer surface of the print.
image

Lightning infill #7344

Infill serves dual purpose: To provide structural rigidity and to support top surfaces. In case the structural rigidity is not needed, a lot of material and printing time is saved with the new lightning infill, that is optimized to supports the top surfaces only. The lighting infill is based on paper [Tricard et al., 2019]. A branching structure is generated that gets progressively denser towards the top surfaces to support them reliably. Like the Arachne perimeter generator, we have ported the Lightning infill from Cura, thanks again for keeping Cura open source.

image

The following table compares the print time and filament consumption when printing the famous tree frog at 100% and 400% scale. The values for a 400% scale are enclosed in braces.

Infill type Print time [min] Filament total [g] Filament Infill [g] Filament saved on Infill
Gyroid 15% 54 (1104) 6.8 (204) 1.5 (114) 0%
Support Cubic 15% 51 (792) 6.3 (152) 1 (62) 33% (46%)
Lightning 15% 55 (840) 6.0 (111) 0.6 (20) 60% (82%)

Pressure equalizer (EXPERIMENTAL)​

FDM 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 best extrusion consistency. Unfortunately the optimal conditions of the motion system and extruder are contradictory. Bowden style extruders are especially sensitive to pressure fluctuations, due to the slack in bowden tube they are not able to reproduce rapid changes in extrusion rate reliably.

With bowden style extruders, moving from internal perimeter printed at high speed to external perimeter printed at slower speed the extruder often produces a bulge at the start of the external perimeter due to an excess extruder pressure. Similarly when moving from external perimeter to infill the extruder produces gap at the start of infill because of the extruder pressure deficit. To lessen these artifacts caused by rapid extruder pressure fluctuations, we have implemented an experimental "Pressure equalizer" feature.

Before moving from faster internal perimeter to slower external perimeter, the pressure equalizer slows down gradually the end of the internal perimeter to reach the extrusion rate of the external perimeter. Similarly when moving from the external perimeter to infill, the start of the infill is slowed down to external perimeter speed and accelerated gradually. The volumetric rate fluctuations are configured at Print Settings->Speed->Pressure equalizer, they are limited by the new Max volumetric slope negative and Max volumetric slope positive configuration values. Slowing down infill after perimeter may increase print times excessively, thus it could be suppressed by setting Max volumetric slope positive to zero.

​The following two images show gradual slowdown when external perimeter is about to be printed and comparison of the result with and without the feature activated.

image

The right picture shows bulges on external perimeters due to excess extruder pressure on a bowden style printer, while the bulges are mitigated in left picture thanks to the pressure equalizer.

image

Visibility-based seam placement​

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.

image

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 #5857 #6086 #7180 #8014.

image

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 #4416 #7180 #7759.

image

For multi-material or multi-part objects where a slice is split into multiple regions with each region having its own perimeter, the seams are newly hidden inside the object between the regions #5144 #6751.

Other improvements with respect to PrusaSlicer 2.4.2

  • G-Code thumbnails can now be exported in JPG and QOI formats (until now, only PNG thumbnails were supported). This should make it possible to see the thumbnails on printers which do not support PNG thumbnails. Namely the Duet boards with RepRapFirmware are low on RAM to decode PNGs, but they happily consume QOI thumbnails. Thanks to @n8bot for initial implementation.
  • SLA hollowing was optimized and it is now significantly faster. The actual speed-up depends on the model, but in general it is several times 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. #8421
  • Concentric infill is newly properly filled by the new Arachne perimeter generator if Arachne is enabled. #577, #1461, #3104

Bugfixes with respect to PrusaSlicer 2.4.2​

  • OSX specific: It is now possible to send G-Codes to OctoPrint using self-signed certificates. The OSX system SSL library does not accept self signed certificate, however OpenSSL based libcurl library shipped with OSX does. See also the following Prusa3D forum thread and #5984
  • Fixed a crash when using a selection rectangle with the cut gizmo open​.
  • Fixed a memory leak during slicing​ e0e34f6a53278121f779f34e8e25cf0716b11e7e.
  • 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 #8319​.
  • When using arrange in sequential printing mode, it sometimes tightly violated desired extruder clearance #8335.
  • 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 #7090​, #8358.
  • OSX specific: Cmd+M shortcut should now minimize the application as expected, restoring the application using the "View All Windows" works. #6364, #8352
  • 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 #8217.
  • 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 #8300, #8344
  • 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 #8342
  • 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 #8416
  • Linux specific: Fixed a crash when confirming a value in Height range modifier #7531, #8055, #8408

Profiles

  • Added Infinity3D bundle (#8396, thanks @Amit4Infinity3D)

Translations

  • Updated CZ, DE, ES, FR, IT, JA and PL dictionaries.
  • Updated zn_CN translation (#8383, thanks @iBral)

References

[Kuipers et al., 2020] Tim Kuipers, Eugeni L. Doubrovski, Jun Wu, Charlie C.L. Wang. "A Framework for Adaptive Width Control of Dense Contour-Parallel Toolpaths in Fused Deposition Modeling." Computer-Aided Design, vol. 128, p. 102907. 2020.

[Tricard et al., 2019] Thibault Tricard, Frédéric Claux, Sylvain Lefebvre. "Ribbed support vaults for 3D printing of hollowed objects." Computer Graphics Forum. 2019.

PrusaSlicer - PrusaSlicer 2.4.2

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.4.2

Summary

This is final release of PrusaSlicer 2.4.2, which mostly fixes bugs found in 2.4.1 release. This release is functionally the same as 2.4.2-rc2. See the release logs of 2.4.2-rc1 and 2.4.2-rc2 for the complete list of bugfixes with respect to 2.4.1.

Localization

  • Updated Brazilian Portuguese dictionary (#8212, thanks @ComicShrimp)
PrusaSlicer - PrusaSlicer 2.4.2-rc2

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.4.2-rc2

Summary

This is second release candidate of a patch release fixing several bugs found in 2.4.1 release. See the previous release logs for the complete list of bugfixes and improvements in the 2.4 series.

Bugs fixed

  • When opening files through macOS finder on latest macOS, the model was not displayed in the scene until further action (e.g. slicing) #8170
  • Fixed a crash when Unsaved Changes dialog attempted to show a modified config option which is not available in current mode (e.g. Start G-Code in Simple mode). #7905
  • Fixed a bug that when the user was closing the application and replied 'Yes' in the dialog asking about unsaved project while also checking 'Remember my choice', it made it impossible to close PrusaSlicer in the next runs when there were no objects in the plater #8076, #8122
  • Loading of a G-Code in G-Code Viewer or loading config from G-Code file sometimes failed because of a bug in parsing of the configuration block at the end.
  • Fixed incorrect rendering of some characters used in the recently updated Simplified Chinese translation #8171
  • Fixed incorrect number of toolchanges reported in "Sliced Info" box when wipe tower was used. The annotations of toolchanges in G-Code were also numbered wrong #8186
  • Fixed a crash when using the "Import SL1 Archive" function and either cancelling the dialog or confirming a non-existing file #8175

Other

  • Recycling symbols in Shape Gallery were mirrored so the user does not have to flip them when using them as negative volumes at the base of the print (which is the usual use case). Also, PLA recycling symbol was added #7800
PrusaSlicer - PrusaSlicer 2.4.2-rc1

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.4.2-rc1

Summary

This is release candidate of a patch release fixing several bugs found in 2.4.1 release. See the previous release logs for the complete list of bugfixes and improvements in the 2.4 series.

Bugs fixed

  • SLA mode incorrectly handled 3MFs from 3rd party software, resulting in misplaced SLA support points and holes in some cases (#6100, #7359, #7189, #7826, #7659). This is very old issue.
  • Vase mode preview did not show in cases when Custom Start G-Code lacked moves in Z #8032
  • 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 (#7711, #7903, #8044)
  • 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) #8156
  • 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 (#6364, related to #7981).
  • Linux specific: Fixed a crash on opening projects in some cases (#8078, #8097)

Localization

  • Fixed minor errors in German translation #8024
  • Updated Simplified Chinese localization (#8105 - thanks @kang-kang)

Profiles

PrusaSlicer - PrusaSlicer 2.4.1

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.4.1

Summary

This is final release of PrusaSlicer 2.4.1, introducing G-Code Substitutions and fixing bugs found in 2.4.0 release. See the release logs of 2.4.1 betas and rcs for the complete list of bugfixes and improvements.

Bugs fixed with respect to PrusaSlicer 2.4.1-rc1

  • macOS specific: Several dialogs showed black text on black background on macOS 10.13 High Sierra and older (#3775, #7603)

Localization

  • Updated Catalan localization (#8021 - thanks @davidjuanesb)

Profiles

PrusaSlicer - PrusaSlicer 2.4.1-rc1

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.4.1-rc1

Summary

This is a release candidate of PrusaSlicer 2.4.1, following 2.4.1-beta1 and 2.4.1-beta3. This release only fixes several bugs found in beta3. For list of new features in the 2.4 series, please read the release logs of all 2.4.0/2.4.1 releases.

The release candidate builds save their profiles to the same directory as the last release. If you already tested any of the PrusaSlicer 2.4.1 beta builds, you will be offered to import the recent beta profiles.

Bugs fixed

  • G-Code Substitutions were incorrectly applied on initial and final M73 internal placeholders, which unexpectedly mangled the M73 commands #7978
  • G-Code Substitutions were incorrectly applied on the commented-out configuration block at the end of the G-Code #7952 (this was fixed in beta3 already)
  • 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 (#7681, #7173 and #7845)
  • macOS specific: The fix of Cmd+M shortcut not minimizing the application which was made in beta3 was reverted, because it made PrusaSlicer crash on older macOS versions(#7981). The fix has been postponed into PrusaSlicer 2.5 release.
PrusaSlicer - PrusaSlicer 2.4.1-beta3

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.4.1-beta3

Summary

This is another beta version of PrusaSlicer 2.4.1, a third patch release of PrusaSlicer 2.4.0 (beta2 was not released publicly). This patch release adds several little improvements and fixes some bugs found in the 2.4.1-beta1.

This release saves its configuration into a dedicated beta configuration folder to avoid breaking production profiles. PrusaSlicer 2.4.1-beta3 will offer to copy configuration from any older release into the beta configuration folder on the first invocation.

Improvements with respect to 2.4.1-beta1

  • In 2.4.1-beta1, we added a check that G92 E0 is present in layer change G-Code when relative extruder addressing is used. This is needed to prevent error accumulation in firmware. From this version, the check is only applied for Marlin firmware, because as far as we know, other firmware flavors do not suffer from this issue. #7846
  • Related to the previous improvement: our G-Code preview works by mimicking the Marlin firmware, therefore if the G92 E0 was missing and the error accumulation became visible, it would also be visible in the G-Code preview. Because only Marlin firmware suffers from this issue in reality and there is an explicit check for the G92 E0 when Marlin is selected, we have now modified the G-Code Preview so the loss of precision problem is not visualized. #4881, #5073, #6336
  • Clicking 'Delete All' button to delete all currently defined G-Code substitutions is newly followed by a confirmation dialog, so it is not possible to delete the entries by mistake #7850

Bugs fixed

  • 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 #7852
  • When a 3MF with an SLA project was loaded and there were no SLA printers installed, the presets from the 3MF should have been temporarily installed. Instead, the list of SLA materials was incorrect and possibly even empty. This is quite an old bug.
  • 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 #7849
  • Some settings showed confusing indeterminate labels when they were modified per object in Object Manipulation panel #7887
  • 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 #7838, #6892
  • 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.
  • macOS specific: Cmd+M did not minimize the application as it should have. This is now fixed for Intel Macs, the problem persists on ARMs.
  • Exporting a volume as STL did not take into account possible transformation (rotation and scaling) of the model. This bug was introduced in 2.4.1-beta1. #7906
  • Fixed incorrectly shown cut contour in the Cut tool when cutting in SLA mode and the object was elevated because of supports

Localization

  • Updated CS, DE, ES, FR, IT, and PL dictionaries
PrusaSlicer - PrusaSlicer 2.4.1-beta1

Published by lukasmatena over 2 years ago

PrusaSlicer PrusaSlicer 2.4.1-beta1

Summary

This is a beta version of PrusaSlicer 2.4.1, a first patch release of PrusaSlicer 2.4.0. This patch release adds several small improvements and 3rd party profiles, fixes some bugs found in the 2.4.0 final and typos found in translations.

This release saves its configuration into dedicated beta configuration folder to avoid breaking production profiles. PrusaSlicer 2.4.1-beta1 will offer to copy configuration from PrusaSlicer 2.4.0 or any older release into the beta configuration folder on first invocation.

Improvements with respect to 2.4.0

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.

image

We hope this tool will make common post-processing tasks simpler, such as adding custom annotations, adjustments of output format such as in #6996), ringing cancellation, adjustments of per feature extrusion rate and similar.

Regular expression syntax of Perl is supported as described in boost Perl regular expression syntax, where a "single line" modifier mimics the Perl's s/ modifier. With regular expressions active, the "Replace with" pattern supports the "extended" syntax as described in boost extended format syntax. Lookahead and lookbehind are supported by the regular expression engine, but only for fixed length patterns. With regular expression disabled, \n, \r, \t, \0 and \\ placeholders are supported in both "Find" and "Replace with" patterns similarly to Notepad++'s "extended" syntax.

The G-code find/replace post-processor processes G-code in blocks, where a single G-code block is generated for each layer starting with the Z up to move to the next layer. Multiple find/replace patterns are applied one by one to one G-code block before processing the next G-code block. Matching multi-line patterns is possible, however only inside one G-code block, most likely inside a single layer. Regular expressions are powerful but tricky, thus we recommend the regular expressions 101 online playground to get familiar with regular expressions and to test and fine tune the regular expressions modifying G-code before entering them into PrusaSlicer. Don't forget to switch the regex flavor to ECMAScript in the regular expressions 101 online playground.

An example of a quite powerful G-code modification by a reasonably complex regular expression: Increase the extrusion rate of top solid infill from the default 95 percent to 98 percent.
Find: (;TYPE:Top solid infill\n)(.*?)(;TYPE:|$)(?!Top solid infill)
Replace with: ${1}M221 S98\n${2}M221 S95\n${3}
Modifiers: regexp, single line

Other improvements

  • Seam placement was improved. In 2.4.0, seams on internal perimeters were placed close to external seams to reduce long travels between seams, with additional staggering of internal seams wrt. to the external seams, so that they do not overlap. This sometimes produced an internal seam on a straight perimeter segment, even thought there was a convenient corner nearby, producing a visible bulge on the outer surface. The internal seams are now placed close to the external seam, but not at all costs. The staggering is now disabled as it often produced unnecessary jerking of the printer. Also, there was a bug in the seam placement algorithm, which again caused excessive travels in some cases #7690 #7686 #7784.
  • 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 #4440.
  • 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. The existing three options "Ask for unsaved changes when..." always referred to the changes in presets, thus they are now reworded to make it clear #7114.
  • Machine limits table in Printer Settings is now available for RepRapFirmware, while until now it was only enabled for Marlin #7347 thanks @n8bot.
  • Implemented new placeholders for output file name:
    1. initial_filament_type and printing_filament_types (useful for multi-material prints) #5300, #7684, #7673
    2. initial_tool and initial_extruder - zero based index of first extruder
    3. num_printing_extruders - number of printing extruders.
  • New option "Restore window position on start" was added to Preferences. We have received reports of rare crashes on application start-up when trying to restore application main window position on some multi-display setups. While we were not able to fix the crash, we newly detect a crash during the window position restore and we suggest to disable the window restore option on the next application startup as a workaround #2939, #5573.
  • Windows specific: The build_win.bat script newly supports a low CPU priority compilation option #7828 thanks @Jebtrix.
  • FDM printer firmware usually keeps an absolute extruder axis position using a single precision float representation, which leads to a loss of accuracy if the extruder axis is not resetted regularly. In extruder absolute mode 'G92 E0 is issued at each retraction by PrusaSlicer, while in extruder relative mode it is newly enforced, that either layer_gcode or before_layer_gcode contains 'G92 E0'. On the other side, in extruder absolute mode, 'G92 E0' in layer change custom G-code breaks slicer's assumption leading to horrible over-extrusions, thus 'G92 E0' is newly tested for and prohibited with extruder absolute addressing #6336 #5073.

Bugs fixed

  • Windows specific: Fixed crash on some machines at the very start of the application. The bug was introduced to PrusaSlicer 2.4.0-beta1 with the dark mode support #7560 #7574 #7613.
  • Windows specific: Dark mode is now enabled for all the new Windows builds. Let's hope that Microsoft will maintain the undocumented API that PrusaSlicer and other applications rely upon #7546.
  • Fixed a rare crash in Configuration Wizard under certain conditions, mainly on OSX #7655.
  • 'Place on face' function was very slow when used on some complex models #7587.
  • When 'Reload from disk' attempts to load an invalid file, an error message is newly shown, while previously the error was silently ignored #7550.
  • 'Export to STL' did not work for individual parts and modifiers, the option was grayed out. This was a regression wrt. PrusaSlicer 2.3.3 #7647.
  • Windows specific: Button in focus and the default button was not highlighted. The issue was introduced with the dark mode support in PrusaSlicer 2.4.0-beta1. Because of missing Win32 dark mode support for buttons, we had to resort to flat rendering of buttons. However with flat rendering, Win32 buttons do not support highlight of a default or active button and we had to implement a workaround ourselves #7564.
  • Cancelling "Fix by NetFabb" might have left a temp file opened. This is now fixed #7632.
  • Windows specific: Fixed color of the text in Firmware updater window when firmware flashing is done.
  • Fixed crash during slicing when a negative volume was used on painted areas of a multi-material model #7618.
  • Fixed mangled text in "did you know" notifications when breaking a long line at a non-ASCII character #7611, thanks @odaki.
  • Fixed crash on closing the application on OSX Sierra and older #7583.
  • SLA pad model was sometimes not generated correctly, which was visible during preview visualization.
  • Removed empty G1 command which appeared before bridging perimeters were printed #7714
  • Fixed some text encoding issues in Print host queue dialog.
  • The "Unsaved Changes dialog" used to inform that some of the differing keys are too long to be displayed fully and that one may open a pop-up window to show the full content of the differing keys. This was broken in 2.4.0 and it works again now #7734.
  • Avoid crossing perimeters was improved in PrusaSlicer 2.4.0 to not move along the outermost perimeters. This feature did not work reliably for thin islands, which should be now improved #7699.
  • The Yes/No/OK/Cancel buttons on various dialogs were displayed using the system language and not translated to the language set in PrusaSlicer. This is now fixed by providing dictionaries for these buttons #7542.
  • Fixed possible crash during print host upload, likely related to #7681.
  • The G-Code Preview parser did not skip whitespaces between axis letter and number, so e.g. G1 X 10 would not be correctly displayed in Preview. This was a bug introduced in PrusaSlicer 2.4.0 due to G-code export speed-up #7773.
  • Some excessively wide message boxes were sometimes shown for example when showing a very long file path. The texts in message boxes are newly wrapped to keep the width of these message boxes reasonable.
  • When printing with a single extruder only with a multi-material printer profile active while the printing extruder was not the default one, the G-code viewer did incorrectly considered the printer to not support multi-material printing, thus the cog icon below the vertical slider did not offer the 'Set extruder sequence' option. This is now fixed.
  • When the type of an object part was changed from a printable part to a modifier, the part should be rendered transparent, but the transparency was not updated immediately.
  • Cut tool sometimes showed the cut contours incorrectly after object parts were added and removed.
  • Fixed crash when editing thumbnails in Printer settings #7781.
  • Fixed an incorrect invalidation of PrusaSlicer configuration in case old PrusaSlicer is started, which reports that it does not support the current configuration thus it proposes to downgrade configuration to a version it understands. In case the user refuses to downgrade, the configuration was incorrectly marked as downgraded #7780.
  • OSX specific: "Did you know hints" referencing Cmd-F hot key will now show Cmd-F, not Ctrl-F #7820.

Localization

  • Added Catalan localization #7566 thanks @davidjuanesb.
  • Updated CZ, PL, IT, ES, DE, FR translations (including previously not translated phrases and typo fixes)
  • Added Hungarian localization #5479 thanks @zomatt.

Profiles

PrusaSlicer - PrusaSlicer 2.4.0

Published by bubnikv almost 3 years ago

PrusaSlicer PrusaSlicer 2.4.0

Summary

This is a final release of PrusaSlicer 2.4.0, following 2.4.0-alpha1, 2.4.0-alpha2, 2.4.0-alpha3, 2.4.0-beta1, 2.4.0-beta2, 2.4.0-beta3, 2.4.0-beta4, 2.4.0-rc and 2.4.0-rc2. The final release fixes bugs found in the second release candidate. For new features in the 2.4.0 series, please read the release logs of the 2.4.0 alphas and betas.

If you already tested any of the PrusaSlicer 2.4.0 alpha or beta builds, you will be offered to import the recent alpha or beta profiles.

Bugs fixed

  • Painting gizmos: Fixed reset of the cursor radius after undo / redo.
  • Fixed crash when exporting G-code with no extrusions produced for printable objects #7538.
  • RepRap firmware: Fixed export of G10 (set temperature) G-code, the tool was not set correctly #5919 #7536 thanks @rsobik.
  • Fixed rendering of ironing extrusions in G-code viewer, broken since first alpha #7522.
  • Fixed "default" button for "Send to host" dialog reported on twitter.
  • Fixed intermittent error in Configuration Wizard after PrusaSlicer 2.4.0-rc, where the Filaments page was sometimes missing #7544.
  • Fixed "negative flow" issue of FDM support generator for object layers lower than the minimum layer height allowed for the active extruder. For example, 0.05um layer height profile may be selected for Prusa Mini printer profile with extruder minimum layer height set to 0.07um.

Languages

  • Japanese localization was updated.
  • Fixed missing localization of "Extra perimeters if needed" #7520.
PrusaSlicer - PrusaSlicer 2.4.0-rc2

Published by bubnikv almost 3 years ago

PrusaSlicer PrusaSlicer 2.4.0-rc2

Summary

This is a second release candidate of PrusaSlicer 2.4.0, following 2.4.0-alpha1, 2.4.0-alpha2, 2.4.0-alpha3, 2.4.0-beta1, 2.4.0-beta2, 2.4.0-beta3, 2.4.0-beta4 and 2.4.0-rc. This release candidate fixes bugs found in the first release candidate. For new features in the 2.4.0 series, please read the release logs of the 2.4.0 alphas and betas.

The release candidate builds save their profiles to the same directory as the last release, however if you already tested any of the PrusaSlicer 2.4.0 alpha or beta builds, you will be offered to import the recent alpha or beta profiles.

Bugs fixed

  • Improved robustness of importing newer configuration, for example from PrusaSlicer-beta to PrusaSlicer configuration directory after transitioning from PrusaSlicer 2.4.0-beta to PrusaSlicer-2.4.0-rc.
  • Windows specific: Fixed update of non-modal presets dialog after Windows dark mode is enabled or disabled, also dark mode is now correctly updated after a newer configuration is imported #7496.
  • Improved handling of Windows dark mode and fonts during application start up for dialogs that open before the main PrusaSlicer window.
  • Fixed regression wrt. PrusaSlicer 2.4.0-rc, where "detect bridging perimeters" could not be disabled with support material enabled #7498.
  • Fixed offsetting of the "avoid crossing perimeters" paths inside an island away from the outmost perimeter. This is a regression since alpha3, where paths along holes in islands were offsetted outside their islands due to some recent refactoring. Also sometimes the offsetting failed and the print head still followed the outmost perimeter.
  • Fixed crash when switching type of a modifier to printable with circular print beds.
  • Loading modifier meshes was not properly undoable.

Profiles

  • Preliminary profile for Creality Ender-3 S1, slight improvements to Ender-2 Pro #7502 thanks @pmjdebruijn.
  • Updated Anycubic i3 Mega (S) #7092 thanks @slghb.

Languages

  • Catalan language #7511 thanks @davidjuanesb.
  • Russian language #7501 thanks @AndylgTom
PrusaSlicer - PrusaSlicer 2.4.0-rc

Published by bubnikv almost 3 years ago

PrusaSlicer PrusaSlicer 2.4.0-rc

Summary

This is a release candidate of PrusaSlicer 2.4.0, following 2.4.0-alpha1, 2.4.0-alpha2, 2.4.0-alpha3, 2.4.0-beta1, 2.4.0-beta2, 2.4.0-beta3 and 2.4.0-beta4. This beta mostly fixes bugs found in beta4. For new features in the 2.4.0 series, please read the release logs of the 2.4.0 alphas and betas.

The release candidate builds save their profiles to the same directory as the last release, however if you already tested any of the PrusaSlicer 2.4.0 alpha or beta builds, you will be offered to import the recent alpha or beta profiles.

Bugs fixed

  • Fixed regression since cc44089 in bed shape dialog, where the origin was inverted after reopening the dialog #7474.
  • Fixed crash with fuzzy_skin_point_dist set to zero #7468.
  • Fixed crash when leaving the G-code text editing field by selecting another preset page #7486.
  • Fixed crash on some NVIDIA Quadro graphic cards with travel paths visualized due to unorthodox definition of normal buffers #7461.
  • Fixed crash on some AMD graphic cards with seams or retraction points visualized. Some cards did not support instancing correctly, therefore we rather don't use instancing anymore https://github.com/prusa3d/PrusaSlicer/issues/7461#issuecomment-991807602.
  • Disabled enforcement of "bridging perimeters" with support material enabled at an object level #7484.
  • Linux specific: Fixed "No image handler for type 15 defined." error shown on start of PrusaSlicer before a dialog to offer importing configuration from other PrusaSlicer configuration was to be opened #7469.
  • Linux specific: Implemented support of newest Intel Thread Building Blocks after Intel made many breaking changes #6355 #7332 #7470.
  • Fixed bug in combo box background color in dark mode #7481 thanks @n8bot.

Profiles

Ender2-Pro profiles were provided by @spuder.

Languages

Dutch localization was contributed by Simon Tillema.

PrusaSlicer - PrusaSlicer 2.4.0-beta4

Published by lukasmatena almost 3 years ago

PrusaSlicer PrusaSlicer 2.4.0-beta4

Summary

This is the fourth beta release of PrusaSlicer 2.4.0, following 2.4.0-alpha1, 2.4.0-alpha2, 2.4.0-alpha3, 2.4.0-beta1, 2.4.0-beta2 and 2.4.0-beta3. This beta mostly fixes bugs found in beta3.

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.

Improvements with respect to PrusaSlicer 2.4.0-beta3

  • Windows specific: "Dark mode" option now shows in Preferences even in standalone G-Code Viewer.
  • Optimization of G-Code rendering, which improves speed issues mentioned in #7415, for example of the volumetric speed preview.
  • When an existing configuration folder is found on application startup (for example configuration saved by PrusaSlicer alfa was found by PrusaSlicer beta), an extra dialog to decide whether its contents should be copied to active configuration directory was added to 2.4.0-beta2. The text in the dialog was now rephrased to be more clear. The existing configuration check is also no more performed when PrusaSlicer is started with a custom configuration folder set by the --datadir command line argument.
  • Automatic random colors generated for color changes were slightly adjusted to avoid generation of extremely light or dark colors.
  • We newly provide both GTK2 and GTK3 builds for aarch64 (64bit operating systems on Raspberry PI, Linux on Chromebooks). We provide both binary builds and AppImages, thanks @davidk for showing the way.
  • We newly provide an AppImage for armhf (32bit operating systems on Raspberry PI) in addition to the binary .tar.bz2 distribution.

Bugs fixed

  • Windows specific: Fixed resource leak that manifested by UI controls corruption and spurious crashes after application ran for a long time and parameter tabs were switched many times #7369.
  • Fixed label on the new 'Upload and Simulate' button added in beta3 for Duet print host #7424.
  • Windows specific, broken in beta3: With settings opened in their own non-modal window, a modal dialog opened from the settings window incorrectly opened over the main window, stealing focus from the settings window after the modal dialog was closed. This is now fixed #7419.
  • Fixed a crash of the stand-alone G-code viewer when opening application preferences #7430.
  • Fixed a crash in G-code preview with some OpenGL drivers #7415.
  • Since PrusaSlicer 2.4.0-alpha1, first layer height could no more be specified as a percentage of a layer height. When loading an old profile, the first layer height is being properly converted to an absolute value when loaded, but the user interface still allowed the percentage to be entered. A check was newly added disallowing a percentage to be entered #7418.
  • The dialog suggesting to enable 'Detect bridging perimeters' when supports are enabled kept appearing in an infinite loop under certain circumstances #7419.
  • Fixed robustness issues manifested with spurious infills after re-slicing #7442.
  • Fixed 'Rear' seam option, which was not always respected. This is a regression since PrusaSlicer 2.4.0-alpah1, which started to manifest after recent seam improvements.
  • Fixed sliders in SLA gizmos, broken in beta2 after the 'Edit' button was added. Changing of support points diameter, hole parameters etc. was not possible for existing holes.
  • Fixed reverting of a spiral vase mode setting with the "undo" button at the top of the Print settings page. Resetting configuration page to previous state using the undo button lead to a spurious dialog to change other settings in order to use spiral vase mode being shown #7146.
  • OSX and Linux specific: Some of the modal dialogs with Yes and No buttons incorrectly interpreted Esc key as Yes.
  • Fixed performance issues with "infill only where needed" enabled #1696 #6385.
  • Windows specific: Fixed rare layout issues resulting in some of the combo boxes being rendered too small #7414, #7176.
  • Fixed 'Reload from disk' which did not work for modifier volumes and which sometimes shifted the reloaded object incorrectly #7429.
  • Fixed solid infill of all layers achieved by setting solid_infill_every_layers to 1. With ensure_vertical_wall_thickness disabled many layers were not filled at all, with ensure_vertical_wall_thickness enabled the layers were incorrectly filled with bridging infill #6736.
  • Fixed regression in FDM supports, were the support interface at first layer overlapped with expanded support base #7460.
  • Improved robustness of "don't support bridges" for bridging perimeters #7260.
PrusaSlicer - PrusaSlicer 2.4.0-beta3

Published by lukasmatena almost 3 years ago

PrusaSlicer PrusaSlicer 2.4.0-beta3

Summary

This is the third beta release of PrusaSlicer 2.4.0, following 2.4.0-alpha1, 2.4.0-alpha2, 2.4.0-alpha3, 2.4.0-beta1 and 2.4.0-beta2. This beta mostly fixes bugs found in beta2. For new features in the 2.4.0 series, please read the release logs of the 2.4.0 alphas and betas.

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.

Improvements with respect to PrusaSlicer 2.4.0-beta2

  • MKS WiFi print host is newly supported #5617, thanks @RandoMan70.
  • Duet WiFi print host newly allows to initiate a print simulation in addition to initiating an actual print #5157, thanks @mloidl.
  • Since 2.4.0-alpha1, post-processing scripts are run on a temporary G-code file before the post-processed G-code is copied to the final destination or sent to a print host. The post processing thus has to be done in-place and it must neither rename nor move the file, which was always required by the manual. In this release, this requirement is explicitly mentioned above the post-processing script input field and a more descriptive error message is shown in case the temporary G-code file is deleted or renamed by the post-processing script. See the respective Prusa Knowledge Base article for details and how the script may pass a new G-code name to PrusaSlicer if needed.
  • New config value "gcode_resolution" was added to control maximum deviation of the exported G-Code from the full resolution toolpaths. Very high resolution G-Code requires huge amount of RAM to slice and preview and a 3D printer may stutter not being able to process a high resolution G-code in a timely manner. On the other hand, a low resolution G-code will produce a low poly effect and because the G-code reduction is performed at each layer independently, visible artifacts may be produced. The G-code resolution defaults to 0.0125 mm, while modern 32 bit printer control boards are able to process G-code with about twice the resolution (0.005mm) with no issue.
  • The painting tools (paint-on supports and seam, multi-material painting) newly produce smoother regions. When mouse is moved quickly, the active spherical or circular cursor used to be applied at mouse positions only producing jagged edges, while newly the path traveled by the mouse is interpolated with cylinders producing smooth smooth boundaries.
  • Several icons in menu (Shape gallery) and object list (Sinking, Paint-on supports/seam/multimaterial) icons were added or updated.

Localization

Dictionaries for CZ, DE, ES, FR, IT and PL were updated by Prusa Research. Contributors are welcome, please check the localization guide.

Bugs fixed

  • Count of custom G-Code lines shown at the vertical slider is limited to avoid tooltip flickering when the tooltip text is too long #7368.
  • 'Slice resolution' parameter was not taken into account in previous 2.4.0 prerelease versions #7364.
  • Fixed a bug resulting in support material interface pattern "Rectilinear Grid" value being reported as unknown #7316, thanks @n8bot.
  • OSX specific: Fixed saving of G-codes with a custom file extension. When opening a "Save" file dialog with an output file name generated from the output file template, OSX file dialog strips the provided custom file extension and replaces it with the default file extension. This causes issues with a custom file output template, where a non-default file extension is specified. This was now improved and when a custom extension is provided by the output file name template, it is passed to the file dialog as the first extension in the list of file extensions supported, thus the custom file extension becomes the defaut #7190.
  • Handling multi-part objects with "clip_multipart_objects" disabled was broken in all preceding 2.4.0 alphas and betas, which resulted in some object parts not being printed at all. This is now fixed and with "clip_multipart_objects" disabled, individual parts are printed overlapping #7366.
    -Windows specific: "Use system menu for application" option in Preferences is newly suppressed for systems older then Windows 10. PrusaSlicer 2.4.0-beta2 did not start on Windows 7 because a Windows 10 only API was called #7355.
  • Fixed a possible crash when deleting objects while 'Arrange' or 'Optimize orientation' was in progress.
  • 'Arrange' and 'Optimize orientation' can no longer be executed simultaneously, one waits for the other to finish.
  • "Height range Modifier" menu item is no more available in 'Simple' mode #7381.
  • Windows specific: Text controls in settings tabs (for Custom G-Codes etc.) now correctly handle encoding. Non-ASCII characters were previously mangled on Windows #7384.
  • Linux specific: Avoid crashing with DISPLAY environment variable not set, just show a warning and print out a help screen.
  • When sending system info from the recently introduced dialog and sending the system info fails, the "sent" flag is newly not saved, ensuring that the user is asked another time during following application start-up.
  • When raft was enabled, visualization of objects' shells were not elevated above the raft in G-Code preview #7388.
  • Fixed a bug when 'disable fan for first N layers' was not respected with raft enabled. The cooling logic was broken for raft during recent refactoring to cool support layers together with the object layers they support #7232.
  • Windows only: Increased robustness of convex hull calculation by switching from floats to doubles. On other platforms the convex hull calculation was already using doubles. The insufficient convex hull robustness caused issues for some degenerate objects created for example by the cut tool #7377.
  • "Did you know" notifications showed in English, even when the translations into a local language were available.
  • Fixed some crashes in G-Code preview with specific models #7396.
  • Avoid crossing perimeters did not work correctly when 'Detect thin walls' or 'External perimeters first' options were enabled #7209.
  • Windows specific, OctoPrint support: Beta2 introduced a workaround for mDNS discovery, however the workaround broke support for complex host URLs, for example with non-default host port specified. This is now fixed #7361 #7389.
  • Fixed incorrect rotation when volumes are being rotated by the gizmo while Alt key is pressed. This is a very old bug already present in 2.0.0.
  • Object labels showing sequential print order were sometimes shown when the respective menu item checkbox was unchecked #7207.
  • Fixed an issue with ironing, which was applied multiple times in case a part of the ironed top solid infill was inside a modifier mesh.
  • Fixed crash when trying to delete the last printable volume of an object #7408.
  • Windows specific, if installed by the Prusa3D Drivers installation package: The "Drivers" installer installs a 3rd party updater. The "Drivers" package used to install a "PrusaSlicer" link, which pointed to a 3rd party installer, which in turn launched PrusaSlicer. Unfortunately this broke launching PrusaSlicer by drag & dropping STLs and 3MFs onto the PrusaSlicer icon #6769. This is now fixed by PrusaSlicer launching the 3rd party updater, not vice versa. The 3rd party updater is only launched by PrusaSlicer if 'Check for application updates' is checked in Preferences. This overrides settings the 3rd party updater itself, meaning it will not be started even if set to check for updates e.g. every week.
  • Windows specific: Fixed zooming with a touch pad on some Windows laptops. This is an old issue which was fixed long time ago, then broken again in PrusaSlicer 2.3.0 #2750.
  • Linux specific: Fixed focus issue with some window managers with "focus follows mouse" enabled #5620 #6870.
PrusaSlicer - PrusaSlicer 2.4.0-beta2

Published by lukasmatena almost 3 years ago

PrusaSlicer PrusaSlicer 2.4.0-beta2

Summary

This is the second beta release of PrusaSlicer 2.4.0, following 2.4.0-alpha1, 2.4.0-alpha2, 2.4.0-alpha3 and 2.4.0-beta1. This beta mostly fixes bugs found in beta1.

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.

Windows dark mode improvements

As mentioned in beta1 change log, we continued in Windows dark mode implementation. This was a tedious work given the lack of support provided by Windows API, but we managed to skin most widgets and got reasonably nice look on both Windows 10 and 11 in the end. Main improvements with respect to 2.4.0-beta1 are included in https://github.com/prusa3d/wxWidgets/commit/4b7588eb0fec2d3e9b48e8b1d27e347ba91011a8:

  • Skinned title bar for most dialogs and frames
  • Redrawn Spin controls
  • Skinned tooltips, scroll bars, menus, and list boxes

We also improved dark mode version of "Change volume type" dialog and PrintHost dialogs.

Other improvements with respect to PrusaSlicer 2.4.0-beta1

  • When copying system info from About->System Info dialog into clipboard, OpenGL extensions are newly enclosed in <details> tag so they are wrapped when inserted into a github issue #6830

  • Conversion from inches/meters to mm can now be done for all loaded objects at once, so the user does not have to confirm each object separately.

  • New functions in custom G-Code macro language: round(value) (rounds to integer), digits(value, num_digits, num_decimals) (rounds to num_digits and num_decimals, left filled with spaces), zdigits(value, num_digits, num_decimals) (same as digits(...), only left filled with zeros) #3472

  • New placeholder parser values for output file name template: {num_objects} (number of printable objects on the plater), {num_instances} (number of all printable instances on the plater) #2735 #3339 #4607

  • When selecting SLA support points by the selection rectangle, even points that are slightly obscured by the object are selected. Until now, the center of the visualized sphere had to be visible, and it sometimes hid behind even very tiny bumps on the object.

  • When running 32-bit build of PrusaSlicer on 64-bit operating system, the user is instructed to download the correct version. While such application will run, it will be slower and will easily exhaust memory.

  • Fixed a crash when uploading G-Code to a print host for the second time #7170

  • When PrusaSlicer detects there is a more recent configuration folder than the one it is about to use (such as an alpha/beta specific folder), the user is asked if he/she wants to copy that configuration into the current folder. A configuration snapshot is taken in case there is something that would be overwritten.

  • Added a "Start printing after upload" checkbox for Repetier server (#5351, thanks @scott0122)

  • Sliders presented in the in-scene dialogs always allowed to type in the required value after Ctrl+mouse click. Because this useful feature was too hidden, we now show a small button to the right of each slider to switch it into this mode:
    image

  • SLA material color can now be specified in Material Settings. The color is used for visualization in the scene and is also shown in the right panel combo box. Until now, the last FDM filament color was used.

  • Windows specific: When PrusaSlicer was downloaded from the Drivers bundle and installed using the installer, the created desktop shortcut launched external updater application instead of PrusaSlicer. The updater checked updates online, notified the user when a newer version was found and then started PrusaSlicer. The drawback was that command-line arguments were not correctly passed. This was now improved by switching the order: PrusaSlicer now runs the updater after it starts. This only happens when 'Check for application updates' is checked in Preferences and the built-in notification about the same thing is supressed in that case.

  • In-scene dialog widgets now accept Numpad Enter (until now, only Enter was accepted)

  • Shape Gallery dialog can now be closed by pressing Esc

  • Linux specific: Extruder colors in the right panel can be changed by clicking the cog wheel to the right of the respective filament preset #6759

  • When uploading G-Code to print host, the confirmation dialog now has an "Upload and Print" button (instead of a checkbox)

  • Changing purge volumes in multi material project did not mark project as unsaved #7265

  • Minimum diameter of the brush in the multi-material painting gizmo was reduced to 0.1 mm #7108

  • Configuration Wizard: when adding a printer profile with no default filament/material profile, the dialog is shown informing the user that one should be selected manually

  • When custom extrusion visibility is supressed in Preview, they are not taken into account when 'Volumetric Flow' view is shown. The scaling of the color palette is therefore more appropriate #7066

  • Context menu in the right panel now shows even when right clicking the name of the respective part, not just the 'Editing' column #7270

  • SLA material expansion correction can now be set independently for all three axes

  • Increased translation speed maximum in 3D connexion dialog to 30 (#3385)

  • 'Scale to print volume' now works with circular beds

  • When color changes are added using the vertical slider in Preview, the colors are newly chosen randomly. Until now, a fixed predefined sequence of colors was used, leading to issues when the color changes were not added in order).

  • Out-of-bed detection was refactored and is now faster

  • Support generator now merges bottom contacts, top contacts and interface layers where possible (always possible with soluble supports, with non-soluble supports it is only possible when they are extruded without bridging and have the same layer height). This removes thin loops of interfaces that were sometimes generated with complex geometries and should generally result it nicer support interfaces.

  • Added experimental filtering of propagated support columns to two extrusions, overlapping by maximum 20%. This filtering step will remove spurious columns that do not support anything, but it may also remove supports supporting tiny islands (which would likely not be printable anyway without user intervention, such as extending the supported area by painting).

Bugs fixed

  • Mirrored objects appeared darker in multi-material painting mode (except on macOS Monterey, where non-mirrored objects were darker). The issue is now solved on all platforms and operating system versions #7259
  • Multi-material painting did not correctly propagate top and bottom solid layers on mirrored objects
  • Fixed a crash in bed collision detection when there were sinking toolpaths
  • Fixed calculation of estimated times for individual layers for multi-material models #7110
  • Variable layer height editing did not not work when printing on raft (broken between 2.3.3 and 2.4.0-alpha1) #6999
  • Fixed an ugly artifact sometimes appearing in Configuration Wizard (incorrectly shifted printer images)
  • When supports are enabled and 'detect bridging perimeters' is disabled, a suggestion appears to turn it on. This suggestion newly only appears when the user makes the change, not when such config is loaded #6814
  • Bottom layer of a multi-material painted model had incorrect color when the object was partially below the bed. This is now fixed #7107
  • 'G-code thumbnails' config option now accepts an empty string to turn thumbnails off #7019
  • Fix of a crash when layer count exceeded 4095 in slicing code and MMU segmentation, likely specific to fine layered SLA prints #7168
  • Fixed a crash when a part of a multipart object is completely below the printbed
  • Fixed a possible problem in SLA mode: supports inside cavities might have ended up not attached to the model
  • When selecting an object while moving the mouse, only one part was sometimes selected #7160
  • Fixed missing sinking property in objects list for multipart objects with some parts completely below the printbed
  • Fixed incorrect handling of exactly horizontal surfaces that were painted (by supports/seam/multi-material). The painting was sometimes ignored.
  • Fixed int() function in the macro language: it did not accept an expression unless it was enclosed in double parentheses. Constants and variables were processed correctly #3472
  • Fixed localization encoding issues in Undo/Redo stack (introduced in 2.4.0-alpha3)
  • Clipping plane in gizmos was not shown correctly when viewed exactly from Left or Right #7211
  • Reworked an internet connection check before the new 'Send system info' is shown. The check sometimes did not work and the application was unresponsive before it timed out. It is now done differently (hopefully more reliably) and only on Windows. Linux and macOS open the dialog even without internet connection.
  • Fixed high CPU usage and nonresponsive application during parameter changes for objects with a large number of modifiers #7220
  • Brims were sometimes not generated in 2.4.0-beta1 (all objects missed inner brims, objects inside holes of other objects missed the outer brims too) #7213
  • Empty G1 commands were sometimes present in the G-Code due to the cooling slow down logic. This is an old bug present in 2.1.0 already #3058 #5176
  • Default color sometimes appeared at the boundary of two multi-material painted areas #7112
  • Fixed a crash after a filament or SLA material was installed with a Configuration Wizard and then erroneously activated even though it was not compatible with the active printer profile #7169.
  • SL1 files produced by very old PrusaSlicer versions did not contain the used profile. When loading such a file, layer height to use is loaded from config.ini instead (it should always be part of the SL1 archive).
  • The settings in 'Import SLA archive' dialog now retain the selected value, so the users don't have to reselect them every time they open the dialog
  • Mesh errors after SLA import are now repaired (as they were in 2.3.3, but not in 2.4.0-beta1). This is a consequence of recent refactoring related to admesh library.
  • Fixed dimples in external perimeter after slicing multi-material painted model #7235
  • Fixed crash in the multi-material segmentation when some projected triangle is outside the bounding box of the current layer #7299
  • Fixed bulges of base color on multi-material painted models #7109
  • Fixed a beta1 crash after typing zero into scale or size fields in the right panel #7245
  • Fixed cut function that sometimes worked incorrectly when applied on multi-part object #7258
  • Fixed error when resizing object to bed limit (may be exactly equal to the build volume height) #7246
  • Fixed a crash after splitting object into parts #7282
  • Fixed a crash when simplifying a mesh and manipulating Undo/Redo after it
  • Simplification preview does not mark project as modified, invalidate slicing, insert Undo step nor remove painted areas
  • A warning about empty layers is newly emitted once per object, even when there are multiple empty layers detected
  • Fixed 'Volume' in the Info box in the right panel. It showed incorrect values when the selected volume was scaled and non-sense value when multi-instances object was selected. The Info box is now shown only when a single volume is selected.
  • Fixed a crash during slicing in SLA mode (localization dependent, present e.g in German) #7313
  • Fixed infinite loop of dialogs suggesting to enable wipe tower layer synchronization in some cases #6124
  • Empty layer warning sometimes reported false positives (broken after support top/bottom distance was separated) #6709
  • Simplify dialog no longer obscures the main toolbar when opened after undo/redo
  • When attempting to simplify a multipart object, user is newly informed that it is not supported (beta1 did not do anything)
  • SLA hollowing preview sometimes did not show correctly when it was toggled on and off again
  • Fixed a crash when entering negative values in sliders in variable layer height dialog (the range can be overriden with Ctrl+click)
  • Horizontal slider in Preview sometimes (after a specific sequence of actions) incorrectly iterated over two layers, not one as it should
  • Spiral vase mode was not applied when 'complete individual objects' was also active
  • Windows specific: OctoPrint did not work when using hostname instead of an IP address. This should now be fixed.
  • Linux, macOS: When exporting GCode, characters that are invalid on Windows are not allowed in the filename. They led to crashes when exporting to FAT/NTFS formatted drives.
  • Support generator: "with sheath" option now again uses the lighweight zig-zag algorithm for the sparse support columns, while PrusaSlicer 2.4.0-alpha1 to PrusaSlicer 2.4.0-beta1 used the new "stable" zig-zag algorithm for both the non-sheathed and sheathed sparse support columns creating unnecessarily thick support column perimeters.
  • Fixed endless loop of "Do you want to save the project?" possibility in a specific scenario

Translations, profiles

  • Updated CZ translation
  • Fixed a mistake in Korean translation (#7164, thanks @tangible-idea)
  • Fixed several typos in UI texts (such as #7161)
  • Added Ultimaker 2 printer profile (thanks @foreachthing)
  • Added several Voron printer profiles (based on the profiles from https://github.com/slic3r/slic3r-profiles, thanks to the original authors)
  • Updated BASF filament profiles
PrusaSlicer - PrusaSlicer 2.4.0-beta1

Published by lukasmatena almost 3 years ago

PrusaSlicer PrusaSlicer 2.4.0-beta1

Summary

This is the first beta release of PrusaSlicer 2.4.0, following 2.4.0-alpha1, 2.4.0-alpha2 and 2.4.0-alpha3. This beta mostly fixes bugs found in alpha3. For new features in the 2.4.0 series, please read the release logs of the 2.4.0 alphas.

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. If upgrading from any of the PrusaSlicer 2.4.0 alpha release, you may consider to rename your PrusaSlicer-alpha directory to PrusaSlicer-beta.

Send system info

In order to focus our future effort, 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 to bring up new features. Please help us by submitting your system configuration to us, otherwise it may happen that we will deprecate support of some old or not so common systems too early.

The system configuration data collected is strictly anonymous and the full content of the data collected is available to the user for review from the new "Send system info" dialog. A unique system identifier is generated for the machine submitting the system configuration to identify duplicate records submitted multiple times by the same machine. The unique system identifier is anonymized by hashing with MD5 and salted with a "salt", which is unique to the "system info" service. We believe our method is sufficiently anonymous, however we are certainly open to suggestions by the security experts.

When connected to internet, a dedicated dialog will open on application start up (or second application startup, if Configuration Wizard is opened on first start-up), showing exactly what information PrusaSlicer collects. When confirmed, the data is sent to our server using a secure channel (SSL) and the dialog no more shows up at the following application start-ups. No other data than those presented by the "Send system info" dialog are submitted, and it is not possible to trace one's identity based on the data submitted. One can of course decline to submit the system information data.

FDM support improvements with respect to PrusaSlicer 2.4.0-alpha3

FDM supports were improved significantly in PrusaSlicer 2.4.0 alphas. In beta1, the FDM supports were improved further.

A conventional FDM support generator generates support towers based on the differences between successive object layers and PrusaSlicer's support generator is not different. Such a local algorithm often either produces excessive supports, or it does not support long thin features at all. While we are working on a smarter algorithm that takes global geometry of an object into account, it will take us some time to make it ship shape. In the meantime, we made some adjustments to the current local algorithm. Namely, the FDM support generator algorithm was designed before introduction of the support blockers / enforcers and paint-on supports, thus it tried to be smart about not introducing too much supports while not missing supports below thin features, however such algorithm behaved unintuitively. Thus in this release, we switched off some of the unintuitive filtering steps and we rather rely on the user giving hints to the support generator using the support blockers / enforcers and paint-on supports.

We are still fine tuning our print profiles for the new "snug" supports. The "snug" supports behave differently than the old "grid" supports. You may want to experiment with different gaps between object and support interfaces, also the "snug" supports may require more interface layers than the "grid" supports to produce wide enough regions to be printable FDM technology.

  • Disabled enhancement of thin long overhangs to be supported. The enhancement produced supports at object corners, which were difficult to explain #3094.
  • Disabled filtering step that removed support towers in case the support contact island supporting an overhang was completely trimmed by the support / object XY separation distance. Such filtering made sense to reduce excessive supports before introduction of support blockers and paint-on supports, however the filtering step was the reason of PrusaSlicer support generator seemingly not respecting the support overhang threshold and support enforcers #1324.
  • Fixed missing interface layers for snug supports by propagating full overhangs before trimming by the support / object XY separation distance when generating interface layers. This change together with the previous topic significantly improves #6058 #6902.
  • Rounding / merging of snug supports using the closing radius parameter is now smoother, it does not produce sharp corners.
  • When calculating snug support interfaces below support contacts, the projected support contact areas are expanded to produce wider, printable and more stable interfaces. This fixes some missing snug support interfaces.
  • For grid supports, supports supporting steep overhangs are not covered with dense support interfaces, because steep overhangs are mostly self supporting. However this strategy did not work well for the snug supports with narrow towers, thus overhangs with all angles are newly covered with support interfaces #6331.
  • For snug supports the interface layers are newly angled at 45 degrees from the base supports and they alternate their direction by 90 degrees, making the interfaces cohesive.
  • Fixed planning of support interface layers with rafts and larger Z gap for supports than for the raft.
  • Regression to PrusaSlicer 2.4.0-alpha1: Some of the support interfaces were not supported by the sparse support again #7014.
  • Fixed soluble interface support interfaces / non soluble base for support enforcers, where base support was supporting an object without interface layers #2849.

Improvements of painting gizmos

  • 'Smart fill' and 'Pointer' brush types introduced recently into multi material painting gizmo are now available at FDM support and Seam painting gizmos as well.
  • The FDM paint-on supports gizmo newly allows limiting the brush strokes to triangles highlighted by "Highlight by angle" slider. One may let PrusaSlicer highlight the overhangs and one can quickly mark only those highlighted areas that are essential to the success of the print while masking out the non-overhang areas.
  • With clipping plane enabled, the areas clipped by the clipping plane are no more painted.

Seam improvements

When possible, PrusaSlicer newly places seams on internal perimeters close to external seams, reducing travel moves and retractions. For leaky extruders, bowden setups and leaky materials (PET, PVA) reducing travel between perimeters reduces gaps at their starts. The seams between the nested perimeters are not aligned exactly, but they are staggered by a short distance to reduce bulge of the outer most seam #6790, #6400, #6741, #6494, #6186, #5149.

Other improvements with respect to PrusaSlicer 2.4.0-alpha3

  • Circular print beds are newly fully supported: Objects pulled out of circular print beds turn blue and print paths outside of a circular bed are detected. Convex print beds are partially supported: The part of an object outside of the print bed volume is not yet highlighted with blue color. No collision detection is performed for non-convex print beds #5388 #6460.
  • Notifications about new PrusaSlicer versions available for download are newly available for prerelease versions (alphas and betas) as well. Notifications on new alphas and betas can be enabled / disabled in Preferences.
  • Several more improvements regarding notifications (new icons, adjusted timeouts, minimal time notification stays on screen, no focus on hover).
  • Windows specific: After a model is repaired by Netfabb successfully, a notification is shown instead of a modal dialog #7067.
  • Modifiers, support blockers and support enforcers are newly rendered transparent #7076.
  • The mesh simplification tool newly initiates calculation of the preview of the simplified model automatically, the "calculate preview" button is gone. The calculation can be stopped by pressing Esc key.
  • PrusaSlicer highlights toolbar items and print preset options with red blinking arrows after they are selected by the search dialog or when clicking on a hyperlink of a "Tip of the day" notification. The red blinking arrow is newly newly supported by the Preferences dialog as well. For example, clicking the "cog wheel" icon of the "Tip of the day" notification opens the Preferences dialog and a red arrow blinks next to the "enable / disable tip of the day" checkbox.
  • Models with zero volume (for example an STL with one polygon) are no more loaded. Previous versions of PrusaSlicer loaded such files, but these objects did not show on Plater, which was confusing.
  • Reporting of repaired and / or corrupted models has been improved. PrusaSlicer newly distinguishes between three states: 1) Model is fine, 2) model was broken, but it is now fixed, 3) model is still broken. The three states are reflected by the "warning" icon at the side panel: If the model is still broken, red "exclamation" icon is shown. If a mesh was broken but repaired successfully, white "warning" icon is shown.
  • If a mesh was repaired during import into PrusaSlicer, the number of errors fixed is newly saved into 3MF, so that the status of an imported model is not lost.
  • New default shapes were added into the Shape Gallery.
  • Context menu is newly available for custom shapes of the Shape Gallery, which allows to delete a custom shape or to modify its thumbnail. The dialog also newly accepts the Del key.
  • Windows 11 specific: Fixed implicit setting of the dark mode.
  • Travel paths planned by the "avoid crossing perimeters" algorithm no more follow the outermost perimeter, but the 2nd outermost perimeter if possible. This should improve the print surface quality and reduce re-heating of overhangs.
  • Hollowing gizmo newly allows drilling larger holes for inserting magnets #6101, thanks @h-2.
  • "Copy to clipboard" at the "System info" dialog newly encloses the lengthy OpenGL extensions details into a <details> tag, thus helping to make the github issues easier to read #6830.

Bugs fixed

  • Fixed dimples sometimes appearing on multi-material painted objects, often happening on cylindrical objects #7104.
  • Improved detection of seams and their visualization by the G-code viewer. Some of the seam points were missed #6895.
  • Fixed incorrect default context menu if the right mouse button was clicked on empty space in 3D scene when several objects were selected.
  • Fixed some issues due to the recent admesh eradication in PrusaSlicer 2.4.0-alpha3: Fixed import of multi-material AMF files, calculation of mesh volume in the right panel after applying a transformation and flipped normals when importing some 3MFs.
  • Implemented processing of M109 G-code (set hot end temperature and wait) by the G-code viewer #7050 #7099.
  • Save (CTRL+S) is newly enabled for unnamed projects, it is equivalent to Save As #7054.
  • Fix by Netfabb is again available for all models, even those reported as manifold #7063.
  • Numeric inputs in 3D scene newly accept localized decimal separator. For example, one may enter decimal comma into the Cut by plane clipping plane height #7056.
  • Multipart objects are not supported in SLA mode, thus when a new SLA printer is added through the Configuration Wizard, it is only activated if there are no multipart objects on the Plater.
  • Mesh simplification tool did not work correctly when applied on a model volume or a modifier mesh.
  • Object transformation values at the side panel were barely readable with both dark mode and colored background of the coordinate text boxes enabled #7012.
  • Modifier context menu at the side panel was made consistent with the modifier context menu in the 3D scene.
  • With background processing enabled, background processing did not restart after Undo / Redo #7040.
  • Windows specific: Tooltips on "Slice now" and "Send to OctoPrint" buttons were getting in the way when clicking the buttons.
  • Fixed crash when turning on shells visibility in preview with background processing active.
  • Added automatic update of legend when switching on/off travel visibility in preview #7068.
  • Fixed non-uniform scaling of a volume using the part manipulation panel #6380.
  • Windows specific: Dark mode config option is now available in standalone G-Code Viewer.
  • Modifiers added to an object from the Shape Gallery are newly centered first before calculating their initial position relative to the object.
  • Fixed regression wrt. PrusaSlicer 2.4.0-alpha3 due to G-code export parallelization: Standalone G-Code Viewer was again changing timestamp of the imported G-code #7005.
  • Fixed another regression due to G-code export parallelization: M106 (fan speed) was exported on every layer #7094.
  • Fixed crashes with some models on SLA hole drilling.
  • Fixed "out of print bed" indication for objects partly below the print bed.
  • Disabled acceleration control if default_acceleration parameter is zero. The user interface already suggested this condition by graying out the per feature acceleration parameter fields with default_acceleration zeroed, but the G-code generator did not respect that #3409, #6743 thanks @jschuh.
  • Improved fuzzy skin options wording ("walls" instead of "perimeters") #7082, #7083, thanks @nsheridan.
  • Fixed confusing cooling hint when min and max fan speed are equal #3270.
  • Fixed variable layer editing disabled with raft enabled, this was a regression wrt. PrusaSlicer 2.4.0-alpha1 #6999.
  • Fixed paint on supports showing through model in certain orientations #5050.
  • Multi-material painting tool: Fixed incorrect propagation of bottom surfaces with objects partially below print bed #7107.
  • Fixed spurious "Supports print better with detect bridging perimeters" enabled on application start-up #6814.
  • Fixed incorrect estimated print time on G-code horizontal slider for MMU prints #7110.

Build, infrastructure

  • Updated documentation about building on Windows (thanks @jschuh, #6867)

What is in the working

  • Windows 10 / 11 dark mode support. There is no official dark mode support for Win32 controls by Microsoft. We worked hard to skin Win32 controls to simulate dark mode, however the skinning did not quite work for some controls and some of the skinning is now broken again on Windows 11. It seems we will be able to apply some of the hacks discovered by the Notepad++ team to improve the dark mode.