Bot releases are hidden (Show)
Published by lukasmatena about 3 years ago
This is the third alpha release of PrusaSlicer 2.4.0, following 2.4.0-alpha1 and 2.4.0-alpha2. This alpha mostly fixes bugs found in alpha2.
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.
Published by lukasmatena about 3 years ago
This is the second alpha release of PrusaSlicer 2.4.0, following 2.4.0-alpha1. This alpha adds several new features and improvements and it fixes bugs found in the first alpha. The most important change is significant speed-up of the G-Code generator.
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.
{version}
(denoting current PrusaSlicer version) can newly be used in output filename format template string #7002.$USER
environment variable was not set #3969.Published by bubnikv about 3 years ago
This is the first alpha release of PrusaSlicer 2.4.0, introducing Multi-material painting tool, improved FDM supports and raft, Windows dark mode, Fuzzy Skin, per object Brim configuration, Negative volumes, automatic Color Print for signs, Shape Gallery, "Tip of the day" notifications, Model simplification, support for Marlin 2 acceleration control, support of 3DLabPrint airplane models, new 3rd party printer profiles and many more new features, improvements and bugfixes.
To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration.
The software is based on work of Alessandro Ranelucci (@alranel) and the RepRap community. The first public commit is from 2011-09-01, meaning that exactly today, PrusaSlicer based on Slic3r celebrates its tenth birthday🎂🍾 Thanks to all who contributed during the decade and helped to continuously improve the software.
Complete description of improvements and changes with respect to the current PrusaSlicer 2.3.3 release follows.
Because the github Releases page clips the text to 25 thousand characters, full PrusaSlicer 2.4.0-alpha1 release log is available at the wiki.
In PrusaSlicer 2.3.0 we have introduced paint-on supports and seams. Seeing the painting tools in PrusaSlicer, many customers asked for similar tools to help with multi material printing. Indeed, preparing models for multi material FDM prints used to be a laborious and time consuming process. With this release of PrusaSlicer, that is a thing of the past and coloring an object for multi material printing requires just a handful of bucket fill and brush stroke operations.
The editing tool opens with N hot key and it offers the following tools:
Combo boxes in the panel allow mapping different extruders to left and right mouse button. The number and color of the selected extruder is shown for clarity. The color that is used for visualization can be overridden by clicking the colored square next to the selected extruder. This visualization color is not saved anywhere and will be lost when the application closes.
Once the object is painted, the object surface is segmented into patches of same material and the patches are extended inwards. The regions painted at the top resp. bottom surfaces are extended by the number of top_solid_layers
resp. bottom_solid_layers
(configurable in Print Settings->Layers and Perimeters
). The regions painted at the side walls are expanded inwards up to maximum mmu_segmented_region_max_width
(which is a new configuration parameter accessible in Print Settings->Multiple Extruders->Advanced
).
The painting only affects the slicing result, the model itself is not altered and the colored "parts" cannot be exported separately.
Please note that thin features are not printable with FDM technolgy, thus for example painting a thin wall with two distinct colors will not make the thin wall printable. Such thin non-printable regions created during segmentation are thus detected and merged with the neighboring region, changing its color. PrusaSlicer will print thinner features with "detect thin walls" enabled, thus one is advised to try to enable "detect thin walls" if painting over thin features.
There are two extra limitations arising from technical reasons:
The user is informed by a notification in both cases.
PrusaSlicer is based on the pioneering work of Alessandro Ranelucci and the RepRap community on the Slic3r project. As already mentioned above, the project was started ten years ago and a lot has changed since then indeed. The 3D printers are no more a rarity, ABS is not the only filament, motion systems are accurate and extruders are no more leaky. Thus adjustments to the slicing algorithms are called for.
Slic3r's strategies of FDM supports and object over support differ from the other FDM slicers. Namely, Slic3r was designed to make use of FDM bridging capabilities to circumvent the necessity of supports. And printing bridges with ABS was not that easy: The bridges were reliable only if extruding thick strands. Combining the thick bridges with supports required the 1st layer objects being printed thicker than the other layers, leading to ugly object undersides.
All the other FDM slicers evolved differently: The first layer over supports is printed with the same flow as the other layers, thus the first layer over supports looks nicer as long as the strands bridged reliably or supported by a support interface. For support materials that do not bridge reliably, dense support is required for high quality of objects over supports.
Starting with this release, PrusaSlicer newly offers printing bridges and 1st object layers over supports with the default layer thickness. The bridging behavior is configurable with a new "thick_bridges" boolean option. If enabled, the old Slic3r bridging strategy is applied, while if disabled, bridging is performed in a similar fashion to the other FDM slicers, leading to better bottom quality over supports. With "thick_bridges" disabled, the behavior of "bridge_flow_ratio" changes: Instead of modifying cross section of a rounded extrusion while keeping the gap between the extrusion threads constant, extrusion spacing is maintained while modifying the extrusion width and / or height to reach the prescribed extrusion ratio.
FDM supports were substantially redesigned in this release, answering frequent (and rightful) complaints from the users:
smooth_outward()
from Cura written by @BagelOrb to robustly simplify support island contours during merging of multiple support overhang islands.The raft rework is based on #6003 thanks @nemart69 for the contribution.
The following properties of the FDM support generator changed:
Previous PrusaSlicer versions only generated outer brim, leaving any possible holes in the first layer without brim and forcing users to use workarounds using extra thin object parts etc. Starting with this release, it is possible to generate outer brims, inner brims or both.
Also, brim settings are now object specific and brim is not generated for all objects at once, but for each of them separately. This allows to turn brim on just for some of the objects, use different brim width for individual objects etc.
#286
#651
#1033
#2182
#2290
#2455
Purpose of the brim is to increase adhesion of the object to the print bed, meaning that it must be fused to the object. On the other hand, it must be possible to remove the brim without damaging the object itself. This means that the gap between the object and the brim must be chosen carefully. This issue is further alleviated by elephant foot effect, always present on the first layer of a print.
In previous versions, elephant foot compensation (EFC) was applied on the first layer of the object, while the brim was left as if no EFC was applied. This leads to a small gap between the object and the innermost loop of the brim, which should be filled due to the elephant foot effect. However, this made the actual sticking of the brim quite sensitive to z-height adjustment of the nozzle and sometimes led to inadequate attachment of the brim to the object.
Starting with this release, the brim is generated after EFC of the object. The offset of the brim can be further adjusted by a new configuration parameter "brim_separation" (which is independent on EFC), allowing the user to fine tune the brim offset to his or her liking.
#4850
#3779
As long as brim offset is set to zero, the EFC should never detach the brim from the object.
#3870
#6795
#4736
#3949
#3915
#4736
#6602
When loading a project file (3MF) stored by earlier PrusaSlicer version, the "brim_separation" value is set equal to the elephant foot compensation value to produce the same brim as was created with the PrusaSlicer that saved that project file.
Skirt printed around the printed objects is present in PrusaSlicer for years (and it was in original Slic3r before). There are several uses the skirt can serve and that people use it for. Priming of the nozzle at the beginning of the print, priming after a toolchange, or using a very high skirt as a draft shield are the most usual. Skirt is a multi-purpose tool and this release brings several changes in its configuration and behavior to make its use more intuitive (especially regarding its usage combined with a brim).
The old boolean configuration option "draft_shield" is now an enum and allows following selection:
This allows the brim to improve draft shield print bed adhesion and to push the draft shield as close to the object as possible, while not creating any skirt/brim intersections when the user does not intend to use skirt in place of a draft shield.
#4802
#5056
#4736
#3692
#6544
When draft shield is used, skirt loops are printed uninterrupted and brim loops are cut. While it may make more sense to do it the other way round, shortening skirt is unacceptable because of "min_skirt_length" parameter and possible usage for nozzle purging.
PrusaSlicer newly supports "negative volumes" to subtract pieces of geometry from a model #4920. While there was a way to achieve a similar effect by setting zero number of top / bottom layers, zero perimeters and no infill in earlier versions of PrusaSlicer, the new "negative volumes" are much easier to use and they are processed faster and the old workaround produced artifacts as in #5095. Read more in the Documentation.
PrusaSlicer newly clips the volumes and applies the modifiers in the order they are presented at the side panel, latter volume clipping the former one, latter modifier overriding the former modifier or volume. The configuration values applied to objects, volumes and modifiers are newly collected in the following order:
This is a breaking change, where in earlier PrusaSlicer versions modifier parameters were applied over object parameters, ignoring parameters of volumes, layer range modifiers and other modifier meshes with which they overlap #5986. This was particularly painful for multi-material prints, where an application of a modifier mesh to set an infill rate resetted the extruder ID to the object default one #2657 #3012 #6091. Also newly a "Default" extruder assigned to a modifier mesh or a layer range modifier does not change the extruder of the underlying geometry.
Mutual clipping of multi-material volumes newly respects the order at the object list while in the earlier PrusaSlicer versions the volumes were first grouped by an extruder ID and then clipped #3272 #3318 #4114 #5831. Please note that the clipping order was changed as well: The latter volume newly clips the former volume. This is a breaking change, however we believe it is worth it as the new order is natural especially for the chaining of modifier attributes.
Following bugs were fixed during the refactoring:
We have ported the popular Fuzzy Skin feature of Cura into PrusaSlicer, thanks Cura team for keeping Cura open source. The Fuzzy Skin feature in PrusaSlicer works the same as in Cura: Fuzzification is applied to external perimeters only, hole perimeters may or may not be fuzzified. The perimeter is being resampled with a random step size and each new sample point is being shifted inside or outside of the perimeter by a random length. This simple algorithm produces surprisingly nice results suitable for tool handles or just to give the print surface a new interesting look or to hide print imprecisions. Read more in the Documentation.
PrusaSlicer newly supports slicing of 3DLabPrint airplane models. These 3DLabPrint models were designed to be sliced with Simplify3D with a single perimeter and no infill to produce a single perimeter wing surface reinforced by single perimeter ribs. From the solid geometry point of view, these models contain overlapping bodies, thus they are not valid solid models. After the model is sliced, polygons in each layer are merged and further processed with a Clipper library by most of the FDM slicers, including PrusaSlicer, Cura and most likely by the closed source Simplify3D as well, however the slicers differ in what fill rule they apply by default. Simplify3D always uses the Even-Odd fill rule, while Cura and PrusaSlicer use the Positive fill rule by default. To allow slicing the 3DLabPrint models, PrusaSlicer implements a new "Slicing Mode" option, allowing one to switch between the "Positive" (default) and "Even / Odd" rule. Yet another new "Slicing Mode" option "Close Holes" makes PrusaSlicer to fill in all internal structures #3062 #3708.
Prusa's MK2 and MK3 printer firmware is running on an 8-bit Atmel microcontroller and it is based on a heavily modified legacy Marlin, while the Prusa3D Mini printer and our upcoming 3D printer models are equipped with 32 bit boards running Marlin 2 as a motion controller. Until now, PrusaSlicer produced G-code for the legacy Marlin firmware only. We newly split the Marlin firmware flavor to 'Marlin (legacy)' and 'Marlin 2' to be able to support new Marlin 2 features, above all the more fine grained acceleration control, separating the acceleration while traveling from acceleration while extruding #1089 #1994 #6457.
With the 'Marlin (legacy)' firmware flavor active, M204 Pa Rb Ta is emitted at the G-code preamble, where a, b are the values from machine limits, while M204 S... is emitted for feature type dependent acceleration settings.
With the 'Marlin 2' firmware flavor active, M204 Pa Rb Tc is emitted at the G-code preamble, where a, b, c are the values from machine limits, while M204 P... is emitted for feature type dependent acceleration settings, not overriding the travel acceleration.
Due to technical limits of internal architecture inherited from original Slic3r, PrusaSlicer did not have any concept of opened project. That is, it did not track whether current plater contents was modified since it was loaded etc. This led to desperate moments when a user closed the application and instead of being asked about unsaved changes, they would all be discarded without a warning.
This release introduces this concept of edited project. When a 3MF is loaded and the objects are modified, an asterisk is shown in the title bar as an indication of unchanged changes in the project. This disappears after the changes are saved. Attempting to close the application, to open another project etc will open a dialog about whether the changes should be saved first.
The currently edited project is reset to an empty project when a new project is created (File->New Project
). A confirmation dialog is shown when there are unsaved changes in current project. While the plater content is still recoverable by Undo after opening a new project, the link to the previously opened project will not be recovered and the objects will be considered as parts of the new (unsaved) project. The same applies to 'Undo/redo', i.e., it undoes the action but does not change the correspondence to a project, so when you for example open project1, move object, open project2, undo and save, the content of project1 will be saved into project2. Also, creating New Project does not affect modified profiles.
Modifying configuration parameters in selected profiles is also considered as a change in the currently active project. When attempting to close the application with such an unsaved change, the user would again be asked whether to save the project. In case they select 'Yes', the modified profile will be saved into the 3MF and the application will close. However, answering 'No' will close the unsaved project and the "Unsaved changes dialog" (introduced in PrusaSlicer 2.3.0) will pop-up asking whether the modification of the profile should be saved (not into the 3MF, but into the profile).
We are newly allowing an object to be moved below the print bed to print just the part of the object above the print bed. Arguably this was already doable with the "Cut" tool, but the new way is much simpler to use and very handy for example if one just needs to flatten the bottom of an uneven object to be printable without a raft. We do not allow the object to be lifted above the print bed: Elevated objects are not printable without a raft and supports. If an object is not flat, raft shall be enabled for the object by the user.
An object is either on the print bed or below the print bed. If an object is on the print bed, the software behaves as before: After rotating and scaling, the object Z position is adjusted to touch the print bed. On the other hand, if an object is partially below the print bed, scaling and rotation does not change object's Z position as long as the object is not elevated above the print bed. If an object is elevated above the print bed, it is again lowered to touch the print bed. There is also a new button "Drop to bed" at the object manipulation panel to move the object back to the print bed, however the same action may be done just by elevating the object above the print bed with the move gizmo and letting it drop back to the print bed.
If the object is partially below the print bed, a white contour is drawn along the object - print bed intersection to indicate where the object will be trimmed. When manipulating the object with a move / rotate / scale gizmos or when hovering over the object with a mouse cursor, the white intersection contour is drawn not clipped by the object to make it easier to flatten an uneven bottom of an object.
When in painting gizmo, the part below the print bed is being clipped and painting on the print bed clipping plane is not allowed.
Moving objects below print bed is not allowed in SLA mode for now as it would make the placement of SLA supports confusing. Thus when switching from an FDM printer to a SLA printer, all objects below the print bed are being lifted to touch the print bed.
After slicing a sign object, a notification is newly shown in the G-Code preview informing that the object looks like a sign and that one may want to use the Color Print feature to manually switch the filament. If one agrees with the suggestion by clicking on the notification hyperlink, the color change events are inserted into the vertical scroll bar.
This feature was proposed by @richrap, thanks for the suggestion.
We have implemented a Shape Gallery offering both system shapes distributed with PrusaSlicer installation and user shapes installed into user's configuration directory. The Shape Gallery could be used to insert a shape on the plater, as an additional part of an object or as a modifier similarly to how a built in shape (cube, cylinder, sphere) has been inserted by earlier PrusaSlicers. The Shape Gallery could be used for example to emboss a recycling code to the bottom of an object #4349, for loading Mickeymouse brims to augment brims etc. STL and OBJ files may be loaded by the "Add" button or by drag & dropping into the Gallery window. A thumbnail is generated for a user shape automatically, which is saved as an PNG image file, however the user may want to replace the generated thumbnail image with her/his own.
The Shape Galery is not available in Simple mode.
Based on the popular request, we have implemented Dark Mode for Windows and we have also fixed the High Contrast mode #3038.
While PrusaSlicer supports dark mode on OSX and Linux for some time already, Dark Mode on Windows was the one from the hard basket. PrusaSlicer's user interface is implemented using a wxWidgets multi-platform library, which wraps around the native controls the platform provides. On Windows, wxWidgets wrap around the aging Win32 controls, for which there is no official Dark Mode support provided by Microsoft since the introduction of the Dark Mode into Windows 10 in fall 2018. Unfortunately Microsoft just implemented an undocumented API for the controls used by Windows Explorer to switch to Dark Mode. If a Win32 control is not used by Windows Explorer main window, it is not Dark Moded and it never will be, and the API for those controls that are supported is not official, thus it may be changed without notice.
We have done our best using the undocumented Dark Mode API and skinning of Win32 controls. We even implemented our own replacements for some Win32 controls, which were not skinnable, for example the tabbed notebook that we use to switch between the Plater / Print / Filament / Printer profiles (this one fixes speed of switching the tabs on 4k displays #6309). Still some of the controls are not skinned properly, for example the scroll bars, status bar or the spin control buttons, thus PrusaSlicer may not look quite polished in Dark Mode. Therefore for now we decided to not switch PrusaSlicer into Dark Mode following the Windows system settings, but we are letting the user to select dark mode from Preferences using the "Use Dark color mode (experimental)" checkbox.
We were inspired by the Notepad++ effort, which released its Dark Moded version just recently. We are using source code borrowed from Notepad++ interfacing with the unpublished Dark Mode API, which is based on this project. As far as we are aware of, Notepad++ is the only Win32 open source application which implements Dark Mode to a reasonable extent.
As an alternative to the "tabbed notebook" control to switch between the Plater / Print / Filament / Printer profiles, we newly allow these tabs to be placed into the application menu, which may be welcome on small laptop screens.
PrusaSlicer grows more powerful every day offering many unique features not found in other slicers. To streamline everyday slicing, many features are accessible through hot keys and keyboard modifiers (Ctrl / Alt + mouse key). We newly present "Did you know" hints inside a notification, often providing a hyper link to highlight a user interface element (toolbar button, configuration parameter) or to open a help page in web browser. The tips may be disabled in preferences, however we believe you will find them useful.
Many of our users run a small or not so small print farm, thus they may use a single PrusaSlicer session to slice and upload G-codes to multiple 3D printers in succession. To better support this workflow, we implemented the following improvements:
Sometimes the model imported into PrusaSlicer is excessively detailed, slowing down speed of user interaction, slicing and producing project files (3MF/AMF) of excessive sizes. We newly provide a model simplification tool based on Quadric Edge Collapse algorithm, thus our implementation produces similar results to Microsoft 3D Builder model simplification or to MeshLab Quadric Edge Collapse simplification tool. The simplification rate is controlled either by required level of detail (which internally uses estimates of maximum geometric error with respect to the original model) or by the fraction of triangles to be removed.
A very high simplification rate may be used to achieve a "Low Poly" effect.
Window->Compare presets
)__cpp_lib_uncaught_exceptions
while it does not if targeting older platforms. This issue has been worked around first in boost 1.74.0.Because the github Releases page clips the text to 25 thousand characters, full PrusaSlicer 2.4.0-alpha1 release log is available at the wiki.
Published by bubnikv over 3 years ago
PrusaSlicer 2.3.3 is a patch release following PrusaSlicer 2.3.2 release, fixing an unfortunate bug in handling FDM multi-material project and configuration files #6711.
Published by bubnikv over 3 years ago
This is a final release of PrusaSlicer 2.3.2, following 2.3.2-beta and 2.3.2-rc. For the new features in the 2.3.2 series, please read the change logs of the beta and release candidate. The final release is functionally equal to the release candidate, with a single additional improvement:
Before installing profile updates, a configuration snapshot is taken. In rare circumstances when the current configuration is not consistent, taking a configuration snapshot fails. PrusaSlicer 2.3.2 newly informs about the issue and offers either to install the configuration updates even if taking the configuration snapshot failed or to abort update of the profiles.
Published by bubnikv over 3 years ago
This is a release candidate of PrusaSlicer 2.3.2, following 2.3.2-beta. For the new features in the 2.3.2 series, please read the change log of the beta release. The release candidate is functionally equal to the beta release, the only difference being updates of CZ, DE, ES, FR, IT, NL, PL dictionaries.
Unlike the beta, the release candidate saves its profiles into PrusaSlicer directory, which is the same directory where the previous releases of PrusaSlicer (and the rcs) keep their profiles. If you were testing the PrusaSlicer 2.3.2 beta, your may consider exporting a Config Bundle from PrusaSlicer 2.3.2-beta and importing it into PrusaSlicer 2.3.2-rc.
Published by bubnikv over 3 years ago
This is a beta release of PrusaSlicer 2.3.2, introducing support for the new Prusa SL1S SPEED masked SLA printer, Prusa CW1S firmware updater, PrusaLink host type for Prusa i3 MK3 printers, Monotonic infill for all solid layers, better support for reading configurations of newer PrusaSlicer releases, new 3rd party printer profiles and a handful of bug fixes.
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.
Published by bubnikv over 3 years ago
This a final release of PrusaSlicer 2.3.1, introducing native builds for the new Apple Silicon MacBooks, Chrome OS support, performance improvements in G-code rendering, security fixes and new 3rd party printer profiles. For full changelog on PrusaSlicer 2.3.1 series, please check the PrusaSlicer 2.3.1-rc change log.
Published by bubnikv over 3 years ago
This a release candidate of PrusaSlicer 2.3.1, introducing native builds for the new Apple Silicon MacBooks, Chrome OS support, performance improvements in G-code rendering, security fixes and new 3rd party printer profiles.
Starting with this release, PrusaSlicer supports the new Apple Silicon MacBooks and MacMinis natively, running about 30% faster than emulated x86-64. The new Universal builds contain binaries of both x86-64 and ARM platforms, thus the distributed package is somehow larger than the previous PrusaSlicer.
Apple deprecated the multi-platform graphics API OpenGL about a year ago. Luckily MacBooks still support OpenGL, however G-code preview rendering of larger G-codes on new Apple M1 machines was extremely slow on PrusaSlicer 2.3.0 #5412 #5695 #5854, #6211. We were lucky to fix that issue through a trial and error process due to a lack of OpenGL API documentation and debugging tools from Apple.
We thank @xarbit and @obelisk for their initial work on PrusaSlicer M1 port #5179 #5313.
Chromebooks are getting increasingly popular due to their low price, good usability and stability. This makes the Chromebooks the number 1 pick for the US educational institutions. Luckily Google now offers a containerized Linux on modern Chromebooks out of the box and PrusaSlicer runs in the virtualized Linux environment nicely.
Some users managed to run PrusaSlicer on Chrome OS before, see this post. We encountered the following issues when testing PrusaSlicer on Chrome OS, and we solved some of them:
$HOME/.local/share/applications
resp. $HOME/ .local/share/icons/hicolor/96x96/apps
, then the PrusaSlicer application will be available at the Chrome OS application launcher. We will likely implement an automatic desktop integration into PrusaSlicer 2.4.0.We have documented installation of PrusaSlicer on Chrome OS in our installation guide.
PrusaSlicer requires around 8 GB of RAM for processing full build plate prints, so you will be more lucky with Chromebooks that are equipped with at least 8 GB of RAM. On a 4 GB Chromebook you will be able to slice just about 4 3D Benchies and 4 Tree frogs at a 0.15 mm layer height. Please note that Chrome OS gives the Linux virtual machine 1 GB less than the physical RAM and there is no swapping enabled in the Linux virtual machine, thus a 4 GB Chromebook gives just 3 GB of RAM to Linux running PrusaSlicer, which is not much. Please note also, that on ARM Chromebooks the situation is worse: Only 3GB of RAM are given to Linux even on 8 GB chromebooks.
Also please note that the OpenGL support on ARM Chromebooks may be flaky. Current Chrome OS provides hardware OpenGL virtualization on modern devices, but the GPU performance of some ARM SOCs (for example Mediatek) is quite low, while on one ARM device we tested PrusaSlicer crashes when switching windows, which is likely a bug in ChromeOS OpenGL virtualization. Therefore we recommend Chrome OS devices with Intel CPUs for now to run PrusaSlicer.
The Talos Cisco Intelligence Group did a great job identifying potential security issues in loading invalid and potentially malicious AMF and 3MF files, see their vulnerability reports TALOS-2020-1222 and TALOS-2020-1218. We fixed these two potential security issues with this release of PrusaSlicer.
Published by bubnikv almost 4 years ago
This a final release of PrusaSlicer 2.3.0, introducing paint-on supports (video), ironing (video), monotonic infill, seam painting, adaptive and support cubic infill, print time per feature analysis, standalone G-code viewer application, better auto-arrange with a customizable gap and rotation, search function for the settings, reworked "Avoid crossing perimeters" function, physical printers (network settings), many new 3rd party printer profiles and much, much more.
The final release follows releases 2.3.0-alpha1, 2.3.0-alpha2, 2.3.0-alpha3, 2.3.0-alpha4, 2.3.0-beta1, 2.3.0-beta2, 2.3.0-beta3, 2.3.0-rc1, 2.3.0-rc2 and 2.3.0-rc3. This release fixes bugs found in the last release candidate. For all the new features in the 2.3.0 series, please read the change logs of all the alphas, betas and release candidates.
Unlike the alphas and the betas, the release build saves its profiles into PrusaSlicer directory, which is the same directory where the previous releases of PrusaSlicer (and the rcs) keep their profiles. If you were testing the PrusaSlicer 2.3.0 alphas or betas, your profiles from them would have to be manually imported into PrusaSlicer 2.3.0-rc3 by exporting and importing the Config Bundle.
Published by lukasmatena almost 4 years ago
This is the third release candidate of PrusaSlicer 2.3.0, following 2.3.0-alpha1, 2.3.0-alpha2, 2.3.0-alpha3, 2.3.0-alpha4, 2.3.0-beta1, 2.3.0-beta2, 2.3.0-beta3, 2.3.0-rc1 and 2.3.0-rc2. This release fixes bugs found in previous release candidate and couple of old bugs as well. For the new features in the 2.3.0 series, please read the change logs of all the alphas, betas and rcs.
Unlike the alphas and the betas, the release candidate saves its profiles into PrusaSlicer directory, which is the same directory where the previous releases of PrusaSlicer (and the rcs) keep their profiles. If you were testing the PrusaSlicer 2.3.0 alphas or betas, your profiles from them would have to be manually imported into PrusaSlicer 2.3.0-rc3 by exporting and importing the Config Bundle.
g
, gcode
, ngc
and gco
, but ngc
and gco
were incorrectly rejected when selected. The same has also been fixed for importing configuration from a G-code. (#5536)T-1
(set no extruder as active) as valid for RepRapFirmware and RepRap/Sprinter G-Code flavors. (#5677)Published by lukasmatena almost 4 years ago
This is the second (and hopefully the last) release candidate of PrusaSlicer 2.3.0, following 2.3.0-alpha1, 2.3.0-alpha2, 2.3.0-alpha3, 2.3.0-alpha4, 2.3.0-beta1, 2.3.0-beta2, 2.3.0-beta3 and 2.3.0-rc1. This release fixes bugs found in previous release candidate. For the new features in the 2.3.0 series, please read the change logs of all the alphas, betas and rc.
Unlike the alphas and the betas, the release candidate saves its profiles into PrusaSlicer directory, which is the same directory where the previous releases of PrusaSlicer (and the rc1) keep their profiles. If you were testing the PrusaSlicer 2.3.0 alphas or betas, your profiles from them would have to be manually imported into PrusaSlicer 2.3.0-rc2 by exporting and importing the Config Bundle.
Published by lukasmatena almost 4 years ago
This is the first release candidate of PrusaSlicer 2.3.0, following 2.3.0-alpha1, 2.3.0-alpha2, 2.3.0-alpha3, 2.3.0-alpha4, 2.3.0-beta1, 2.3.0-beta2 and 2.3.0-beta3. This release mostly fixes bugs found in previous beta. For the new features in the 2.3.0 series, please read the change logs of the 2.3.0 alpha and beta releases.
Unlike the alphas and the betas, the release candidate saves its profiles into PrusaSlicer directory, which is the same directory where the previous releases of PrusaSlicer keep their profiles. If you were testing the PrusaSlicer 2.3.0 alphas or betas, your profiles from them would have to be manually imported into PrusaSlicer 2.3.0-rc1 by exporting and importing the Config Bundle.
Published by lukasmatena almost 4 years ago
This is the third, hopefully the last beta release of PrusaSlicer 2.3.0, following 2.3.0-alpha1, 2.3.0-alpha2, 2.3.0-alpha3, 2.3.0-alpha4, 2.3.0-beta1 and 2.3.0-beta2. This release mostly fixes bugs found in previous beta, but it also brings several improvements, namely completely reworked Avoid crossing perimeters feature. For the new features in the 2.3.0 series, please read the change logs of the 2.3.0 alpha and beta releases.
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.3.0 alpha releases, you may consider to rename your PrusaSlicer-alpha directory to PrusaSlicer-beta.
Avoid crossing perimeters is an algorithm to minimize crossings of external perimeters during travels, thus reducing stringing and improving overall print quality. The algorithm we inherited from Slic3r has gained a bad reputation for being suboptimal and very slow. After analyzing various path planning strategies, we have completely reworked the algorithm in this release. The old algorithm by Slic3r tried to minimize time spent when traveling over external surfaces of an already printed object. Such strategy may have been effective in the olden days of very leaky extruders. Today stringing is more an issue than leaking, thus a different strategy is called for. The new algorithm tries to route a travel path inside object islands with a shortest path while avoiding holes and concavities, while it takes the shortest path when traveling between islands.
The old algorithm often produced travels that crossed perimeters, while the new one decreases the number of perimeter crossings to a minimum. Compared to the old algorithm, slicing time is also significantly reduced. This fixes issues #355, #587, #2213, #2495, #2872, #2899, #3185, #3307, #3466, #4102, #4219, #4881, #5120, #5177 and most likely also #2604, #2891, #3968 and #4030.
We have added a new parameter Avoid crossing perimeters - Max detour length, which allows to limit the maximal length of a detour. For example, traveling from one end of a spiral to the other end inside the spiral while avoiding crossing perimeters is likely not the best idea and a straight path should be taken instead.
random(min, max)
has been added to custom G-code parser. The new random()
function returns a random number in the range specified by the parameters. The type of parameters defines the type of the output. (#4001, #5219) thanks @ardenpm.Published by lukasmatena almost 4 years ago
This is the second beta release of PrusaSlicer 2.3.0, following 2.3.0-alpha1, 2.3.0-alpha2, 2.3.0-alpha3, 2.3.0-alpha4 and 2.3.0-beta1. This release mostly fixes bugs found in previous beta. For the new features in the 2.3.0 series, please read the change logs of the 2.3.0 alpha and beta releases.
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.3.0 alpha releases, you may consider to rename your PrusaSlicer-alpha directory to PrusaSlicer-beta.
max_layer_z
is now available in custom G-Codes. It represents the maximum print Z value over the already printed layers, including sequential print (unlike layer_z
, which is reset to zero at the start of each object). The custom end G-codes parking the print head were updated with max_layer_z
to avoid crashing the print head into already printed objects in sequential mode. (#5349)Contributors are welcome, please check the [localization guide (https://github.com/prusa3d/PrusaSlicer/blob/master/doc/Localization_guide.md)
We are happy to announce that PrusaSlicer can now be compiled for the new Apple Silicon ARM based architecture. Many thanks to @xarbit and @obelisk for their help in making it happen. (#5313, #5316, #5179, #5124, #5322)
The Apple Silicon builds are compiled against wxWidgets 3.1.4, while all our other builds were compiled against wxWidgets 3.1.3, therefore the Apple Silicon builds will require some additional testing.
Published by lukasmatena almost 4 years ago
This is the first beta release of PrusaSlicer 2.3.0, following 2.3.0-alpha1, 2.3.0-alpha2, 2.3.0-alpha3 and 2.3.0-alpha4. This release mostly fixes bugs found in previous alphas. For the new features in the 2.3.0 series, please read the release logs of the 2.3.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.3.0 alpha release, you may consider to rename your PrusaSlicer-alpha directory to PrusaSlicer-beta.
WIPE_START
/ WIPE_END
G-code decorations.make install
did not correctly create the G-code viewer symlink when provided with user defined destination through DESTDIR environment variable. (#5238) thanks @MarqartPublished by lukasmatena almost 4 years ago
This is the fourth and hopefully the last alpha release of PrusaSlicer 2.3.0, following 2.3.0-alpha1, 2.3.0-alpha2 and 2.3.0-alpha3. This release introduces several new features, fixes bugs found in previous alphas and contains many additions and fixes in 3rd party profiles.
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.
Published by lukasmatena almost 4 years ago
This is the third alpha release of PrusaSlicer 2.3.0, following 2.3.0-alpha1 and 2.3.0-alpha2. This release mostly fixes bugs found in previous alphas, but it also adds several new features (such as Repetier server support) and 3rd party profiles.
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.
.gcode
in the title bar.gcode
files.gcode
file as an argument (#5013)Published by lukasmatena almost 4 years ago
This is the second alpha release of PrusaSlicer 2.3.0, following 2.3.0-alpha1. This alpha adds several new features and improvements and it fixes bugs found in the first alpha.
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. On Linux system, this version also changes the location of the configuration directory (see below).
M104
for temperature changes in favor of G10
. The new flavor supports the new behavior. We have decided to keep the old RepRap/Sprinter flavor for compatibility with older firmware implementations. (#4553, thanks to @ardenpm)${XDG_CONFIG_HOME}
directory, as dictated by XDG Base Directory Specification. The application will inform the user about the change and hint where to move the existing configuration data when ran for the first time (#2911)Published by lukasmatena about 4 years ago
This is the first alpha release of PrusaSlicer 2.3.0, introducing paint-on custom FDM supports and seams, ironing of the top layers, monotonic and adaptive cubic and cubic support infills, per-extrusion g-code preview & standalone G-code Viewer, neat notification center in the 3D scene, imperial units support, SLA supports improvements, collapsible side bar, floating presets dialog and fuzzy search in parameters, physical printer settings, nine new 3rd party printer profiles and many more new features, improvements and bugfixes.
To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration.
Complete description of improvements and changes with respect to the current PrusaSlicer 2.2.0 release follows.
For quite a long time already, PrusaSlicer provides support enforcers and blockers so the user has control over support generation. While this method works, it is not a pleasure to work with and manipulating the blocks where the user wants them is quite tedious.
This release brings a tool to simply paint the areas where supports should be enforced or blocked, directly on the object. The tool is available from the left toolbar and is only shown in Advanced and Expert modes. After selecting an object and clicking the toolbar icon, all other objects are hidden so they do not obscure the view, the selected object is rendered in light gray to ensure contrast and the painting tool is activated.
Left mouse button enforces supports, right button blocks them. The selection can be erased by Shift + mouse click. The size of the painting tool can be adjusted, as well as a cursor type: circular cursor paints all visible places inside the circle, possibly leaving unpainted areas in shaded areas, but never painting behind corners. Spherical cursor paints everything inside the sphere regardless of whether it is visible or not. You can also use the clipping plane tool to hide a part of the object, so that difficult to reach areas can be easily painted. The Autoset by angle button allows to select all triangles that are "more horizontal" than a threshold. This can be used as a default for further manual editing to ensure that no overhangs are left unsupported. The overhang triangles are visualized in real-time while the threshold is being adjusted.
Do not forget to enable supports if you want to actually generate them. The painted areas are equivalent to the old support enforcer/blockers, so their behavior depends on Auto-generated supports checkbox status in Print Settings (it can also be adjusted in the main window sidebar, highlighted in the picture above). When left unchecked, supports will be generated for support enforcers only:
If Auto-generated supports checkbox is checked, supports will be generated automatically, just not inside support blockers. This can be used to remove supports that are not necessary:
IMPORTANT NOTE: Your selection will not be completely obeyed when the painted region is small. The support generator itself works on a grid internally, the supported/unsupported areas cannot be infinitely detailed.
Seams are inherent to FDM printing and they can negatively affect visual appearance of the model. PrusaSlicer always provided limited possibility to customize the seam placement in Print Settings to optimize for short travel moves, to keep the seams aligned on between successive layers, to randomize seam position along the contour, or to place it to the back of the model. The last option allows rudimentary manual control of seam placement by rotating the model on the build plate. In addition, PrusaSlicer always tried to hide the seams into share concave or convex corners and seam was never placed on an overhang.
This release introduces a new manual seam placement tool to provide more detailed control over the seam placement. The tool is accessible from the left toolbar and it is only shown in Advanced and Expert modes. After clicking on the icon, the user can paint 'Seam enforcers' or 'Seam blockers' on the model in a similar to how the new custom supports are painted.
The seam logic is the same as it was in previous releases, except that if there is a seam enforcer, it always places seams into the enforcer area. If there is a blocker, its area is excluded from possible seam candidates. The Nearest, Rear and Random options are still respected. When the Aligned option is active and enforcers are used, the seam is placed in the middle of the enforcer area. This allows to draw smooth seams over the model.
Two long-standing problems related to seam placement were fixed along the way:
The Ironing idea was first proposed by the user "Neotko" on the Ultimaker community forum. Neotko prototyped "Neosanding" - a smoothing of top surfaces in Simplify3D by running a second infill phase at the same print height with zero or a tiny extrusion rate perpendicularly to the first infill run. The "Neosanding" was later integrated by Ultimaker into their Cura slicer. Kisslicer integrated Ironing with a small twist: The second phase is not perpendicular to the first phase, but at 45 degrees, which Johnathan, the author of Kisslicer validated to produce better results. With this release, PrusaSlicer implements Neotko's "Neosanding" at 45 degrees as in Kisslicer.
Ironing is very sensitive to accurate extruder calibration. Too little and shiny groves will be visible at the top layer, that will not be sanded. Too much and the excess plastic will be dragged by the nozzle to the edges of the top surface. One may experiment with the ironing flow, speed and spacing to achieve the best results. Ironing may also increase the print times significantly, as the second phase of top infills is usually performed with very narrow line spacing.
To improve the top surface quality without sacrificing the print time, we have developed a novel "monotonic" infill. The "monotonic" infill is the good old rectilinear infill with modified path planning: The infill lines are extruded left to right monotonically, a line is never extruded to the left of an already extruded infill line. This strikingly simple strategy leads to a homogenous texture without ridges, which are often created when the left-to-right extrusions meet with right-to-left extrusions in the center of an infill area, while printing left to right only leads to a homogenous shine. The seemingly simple left-to-right strategy is surprisingly difficult to implement optimally. We have implemented a variant of the Ant Colony System as described by Raad Salman.
The Adaptive Cubic infil was proposed by @mboerwinkle, see the discussion, and implemented for Cura by @mboerwinkle as well. The Adaptive Cubic infill works by refining those cells of an octree, that contain any object triangle. We have picked up on the idea with a handful of improvements:
We expect the Adaptive Cubic infill and the Adaptive Support Cubic infills to be useful for large prints with a large volume. For example, the Adaptive Support Cubic infill decreased the print time of the famous treefrog by MorenaP scaled to a full print bed of the Prusa i3 MK2 printer by -30% compared to a cubic infill of the same density, while 44% of material was saved.
PrusaSlicer offered a rich G-code viewer since Slic3r PE 1.42, however with two limitations: It was not possible to load an external G-code and print simulation in time was not possible. With this release, we are removing both these limitations and we are adding some more features.
First, we are newly providing a stand-alone G-code viewer. One can start as many G-code viewers as he wishes either by opening a G-code from the "File->G-code preview" menu, by starting the G-code viewer application, or by double clicking on a G-code file in Windows File Explorer or OSX Finder. From the technical point of view, the stand-alone G-code viewer is a PrusaSlicer in disguise. The stand-alone G-code viewer is started as a new PrusaSlicer process. The way how the G-code viewer process is started is platform specific:
PrusaSlicer standalone G-code viewer tries hard to estimate the extrusion widths, layer heights, extrusion types, types of moves, layers etc. from the G-code generated by various slicers (PrusaSlicer, Cura, Simplify3D, IdeaMaker). The G-code itself does not contain all the information mentioned above, thus the G-code is usually augmented with slicer specific comments. To support visualization of extrusion types and extrusion widths reliably for G-code generated by PrusaSlicer, the G-code generated by PrusaSlicer is newly augmented by the following comments: ";TYPE:", ";HEIGHT:" and ";LAYER_CHANGE", where these comments are only exported when the extrusion type, layer height or layer index changes. In addition, the following annotations are exported for the G-code events inserted on the vertical slider in the G-code viewer: ";COLOR_CHANGE", ";PAUSE_PRINT" and ";CUSTOM_GCODE". G-code generated by older PrusaSlicer which does not contain these new annotations will still be displayed, but the extrusion widths or extrusion types may not be shown reliably.
In the stand-alone G-code viewer or once the final G-code is available after slicing, a new horizontal slider shows up, limiting visualization of extrusions and travel by time thus allowing simulation of the print in time. By default the new horizontal slider limits visualization of the last layer selected by the vertical toolbar. Alternatively the horizontal slider limits the extrusions in all layers selected by the vertical slider. In the first case, if the horizontal slider limits visibility of the top layer, then the other layers below are rendered in a gray color. We borrowed this visualization strategy from the Craftware user interface as Cura did.
The legend newly shows the print time and the print time fraction per feature (perimeter, infill etc.), and the legend labels serve as buttons to show / hide the particular extrusion time. The print time estimate is available in both the G-code preview after slicing and in the stand-alone G-code viewer.
Some users prefer to work with a single instance of PrusaSlicer only, while other users love to be able to switch between multiple PrusaSlicer instances. While Windows and Linux support multiple instances of an application by default, OSX framework keeps just a single instance of an application running. We newly allow both scenarios on all platforms: The Windows and Linux users may now keep just a single instance of PrusaSlicer running, while the OSX users may launch additional instances of PrusaSlicer. Additionally we allow opening a new PrusaSlicer instance from a running PrusaSlicer "View -> Open New Instance" menu and from Dock context menu on OSX #2929 #4447.
When one clicks on the PrusaSlicer icon to open PrusaSlicer, either a new PrusaSlicer instance is started or an existing PrusaSlicer instance is activated based on the "single instance" preferences settings. The initial value of "single instance" matches the platform default: Multiple instances are allowed on Windows and Linux, while a single instance is allowed on OSX. When one drag and drops an STL or 3MF onto a PrusaSlicer icon and "single instance" is enabled, the file is opened in an existing PrusaSlicer instance. Drag and dropping a G-code file onto a PrusaSlicer icon opens always a new G-code viewer.
An instance of PrusaSlicer is identified by its full path to the PrusaSlicer binary, thus if "single instance" is enabled, PrusaSlicer will allow a single instance of each PrusaSlicer binary to run. Thus different versions of PrusaSlicer will not affect each other, alphas and betas included.
The command line supports a new "--single-instance" or "--no-single-instance" argument to override the "single instance" settings. For example, one may prefer to open a new instance of PrusaSlicer when drag & dropping an STL over the PrusaSlicer icon, while one may want to send an STL from Autodesk Fusion 360 to an existing PrusaSlicer instance by providing a "--single-instance" command line argument when starting PrusaSlicer from Fusion 360.
OSX specific: The OSX Finder and Dock only support a single application instance. Thus when double clicking on a PrusaSlicer icon, the existing PrusaSlicer instance is always activated independent of the "single instance" settings, and drag & dropping a file onto a PrusaSlicer icon in Finder or Dock opens the file in some random, likely the first instance of PrusaSlicer. However when starting PrusaSlicer.app/Contents/MacOS/PrusaSlicer from terminal, the "single instance" preferences settings is respected. We are aware that the approach of starting multiple instances of the same application on OSX is neither recommended nor supported by the OSX framework, however for technical reasons this was the quickest way to deliver multiple PrusaSlicer windows and the stand-alone G-code viewer.
While one may argue that one should open multiple windows of PrusaSlicer inside a single process instead of starting a new process for each PrusaSlicer instance, we do not think there is any memory issue with our approach as the program image is shared among instances and the base private program memory is quite low. Most of the memory is allocated by the models, slicing, undo/redo and mainly the G-code preview, therefore starting new instance for each slicer consumes just a tiny bit more than it would if the multiple windows were managed by a single process.
Technical details: PrusaSlicer writes a lock file into its cache directory to detect another instance running. The name of the lockfile is constructed from the hashed path to the PrusaSlicer process and a ".lock" suffix. Passing commands between PrusaSlicer instances is platform specific:
When closing the application or switching profiles, PrusaSlicer newly opens a dialog with the listing of modified unchanged parameters, their old and new values. The user may decide to discard all the changes, or one may save some or all the changes into user profiles. When switching profiles, the modified parameters may also be transferred to the activated profiles.
One may decide to always save or always discard the parameter changes by checking the "Remember my choice" checkbox at the "Unsaved changes" dialog. Such decision may later be reverted in the Preferences dialog. The user interface design and code was inspired by @kumpuu #3285.
When switching the Printer profile, the active Print and Filament profiles may no more be compatible with the new Printer profile. The old PrusaSlicer selected a Printer and Filament profiles marked as "default" in the activated Printer profile. The new PrusaSlicer selects the new Print profile with the following priority:
Thus when switching the printer from "Prusa i3 MK3" with the "0.2mm SPEED" Print profile active to "Prusa i3 MK2", "0.20mm 10mms Linear Advance" Print profile is newly activated, while the previous PrusaSlicer would select the default, which is "0.15mm OPTIMAL". The same logic applies to the selection of Filament profile, while the symbolic "filament_type" parameter is matched instead of the layer height.
In PrusaSlicer, not all installed filaments are necessarily compatible with all installed printers. We require the printer vendor to explicitly enumerate those filaments, which were verified to print correctly with his printers.
In this version, we have updated the Filaments selection page of the Configuration Wizard to reflect, that an installed filament may not be available for each installed printer. Namely, we are marking the filaments, which are incompatible with some of the installed printers with an asterisk. In addition, compatible installed printer profiles are listed out for the selected filament profile at the bottom of the Filaments page.
Historically PrusaSlicer stored the printer network connection settings into the Printer profile. This became inconvenient with the introduction of read-only vendor specific system profiles, where the user had to derive his own Printer profile from a system one just to be able to configure G-code upload over the network. In addition, storing the network connection information into the Printer profile posed a security risk, which we had to patch by suppressing export of the network connection into the 3MF, G-code and Config Bundles anyway.
Starting with this version, PrusaSlicer separates the physical printer connection settings from the Printer profile into new Physical Printer profiles. A Physical Printer profile references one or more Printer profiles of the same technology (either FFF or SLA), and it assigns a network connection information to these printers. One does not have to create a Physical Printer profile if one does not need to connect to a printer over the network. The new Physical Printers are listed in a new section in the Printer selection combo box after the system and custom Printer profiles.
A new Physical Printer profile is created by clicking on the "cog" icon right to the Printer profiles combo box, or by selecting the "add or remove printers" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the new "cog" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory.
When first installing PrusaSlicer 2.3.0-alpha1, the network connection information is removed from existing user Printer profiles and converted to new Physical Printers profiles giving them generic names "Printer 1, Printer 2, ...". The user is advised to review and rename these Physical Printer profiles generated by the conversion process. The following configuration keys are moved from Printer to Physical Printer profiles: "host_type", "print_host", "printhost_apikey", "printhost_cafile", "printhost_authorization_type", "printhost_user", "printhost_password". The last three keys are new to support SL1 HTTP digest authentication, see the following section.
If some parameter of a Printer profile is modified, a "(modified)" suffix is newly shown not only for the modified Printer profile in the list of Printer profiles, but also for all the associated Physical Printer profiles.
For security reasons, the "Export Config Bundle" function does not export the Physical Printers. To help sharing the complete PrusaSlicer profiles between ones computers, we added "Export Config Bundle with Physical Printers" option.
.SL1
archive. The feature is available through the "File->Import->Import SL1 archive" menu. Note that the original model is not available in the SL1 archive, it has to be reconstructed from the slices, thus the imported mesh will be visibly discretized and the supports (if they were used) will be fused with the object.Various improvements regarding supports and hollowing were implemented. See the following table for more information and comparison with the last release.
The following 3rd party printer profiles were added or improved:
PrusaSlicer is being used on various form factor devices ranging from ultrabooks and laptops to multi-screen workstations. One application layout does not fit them all, therefore we implemented the following layout options:
To support small laptops and ultrabooks, we have implemented the following new features:
Starting with this version, many non-critical notifications and user requests which used to pop up as modal dialogs are newly displayed as notifications at the right side of the 3D scene. The following notifications are shown by the new notification center:
The notifications are sorted by severity with the most severe notifications at the bottom.
The update notifications, slicing finished, unmounting successful, 3D mouse detached and similar notifications fade out after a short time interval, while the warnings and errors are displayed as long as they are valid. Fading out of a notification is suppressed if the mouse cursor hovers over the notification.
We newly provide support for imperial units for our US customers. PrusaSlicer uses metric system internally, namely all internal dimensions (model sizes, model positions, print & printer profiles and G-code) are measured in millimeters. To make the life easier to our US customers, we newly support imperial units in the following way:
The models are still imported / exported in millimeters by default, as most of the models available are in millimeters. However, we newly support the following:
PrusaSlicer newly allows one to search for a parameter to quickly access particular parameter page and parameter field. The search is accessible from both the Plater top toolbar and from the Print/Filament/Printer parameter pages, or with a Ctrl-F hot key.
A modified fuzzy search algorithm by @forrestthewoods is used, which works similarly to the fuzzy search algorithm in Sublime editor. If the application is switched to a local language, both the localized names and English names are searched through. ASCII folding is applied, so one may for example type "cistici vez" to search for "Čistící věž".
We are revamping the "Avoid crossing perimeters" feature.
We accept translations and 3rd party printer profiles.