Bot releases are hidden (Show)
Published by lukasmatena 11 months ago
This is the first release candidate of PrusaSlicer 2.7.0. It mostly fixes bugs found in the 2.7.0-beta1. Read the change log of 2.7.0-alpha1 and 2.7.0-beta1 for complete list of changes with respect to 2.6.1.
The release candidate saves its profiles into regular PrusaSlicer configuration directory. When you first run it, it will search for all configurations produced by alpha or beta versions and offer to create a copy of the latest one.
deps/README.md
containing details about building dependencies.Published by lukasmatena 11 months ago
This is the first beta release of PrusaSlicer 2.7.0. It brings small improvements and fixes several bugs found in the first alpha. Read the change log of 2.7.0-alpha1 for complete list of changes with respect to 2.6.1.
To let you enjoy the beta without worries, the beta builds save their profiles into PrusaSlicer-beta directory, so you may use the beta side by side with the current release without ruining your production configuration. The beta will ask whether it should import a configuration from previously run PrusaSlicer versions on the first start.
Important note for Original Prusa MINI, MK4 and XL owners: The new configuration update of our system profiles will enable binary G-code and G2/G3
features. Users using older firmware need to update to 5.1.0-alpha2 or later or manually turn these features off. On older firmware, new binary G-code is not visible or recognized and the G2/G3
G-codes may not work perfectly.
To help fight stringing and oozing deposition, PrusaSlicer now implements ramping travel moves. Previously you could set just the Lift height (Printer Settings->Extruder
) which resulted in the print head lifting up before each travel move and then returning back down after the travel move. Such lift could result in undesirable stringing, especially while using wider nozzles. Now you can use the new ramping lift which ensures that the print head lifts up gradually during the travel.
The feature can be turned on in Printer Settings->Extruder
for each extruder you are using in the new Travel lift section. You can override the setting for each filament in the Filament overrides section. The ramping travel is parametrized by an angle and a maximal ramping lift:
.
The ramping travel moves are now enabled in our system profiles for Original Prusa XL.
To fully harness the stringing reduction potential of the ramping travels moves a new layer change strategy is implemented while the ramping travel moves are active. Instead of going straight up to the next layer the printer head follows a helical ("screw thread") trajectory while changing layers. This feature is on by default once the ramping travel move is used.
The helical travel move was inspired by the same feature in BambuStudio. Thanks to bambulab for the idea.
https://connect.prusa3d.com
, the user is asked to confirm that it is intentional.Published by lukasmatena 12 months ago
This is the first alpha release of PrusaSlicer 2.7.0. This release introduces SVG emboss tool, G2/G3
G-codes, binary G-code output, improved UI, editor for custom G-codes and many more smaller improvements and bugfixes.
To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration.
Important note for Original Prusa MINI, MK4 and XL owners: The new configuration update of our system profiles will enable binary G-code and G2/G3
features. Users using older firmware need to update to 5.1.0-alpha2 or later or manually turn these features off. On older firmware, new binary G-code is not visible or recognized and the G2/G3
G-codes may not work perfectly.
Github clips this text at the release history overview. Please open the 2.7.0-alpha1 release log to see the complete change log.
In addition to the text embossing tool first presented in PrusaSlicer 2.6.0, it is now possible to emboss SVG images onto the models. The feature can be accessed through right button click and it allows similar options for projection and manipulation like the text tool.
When saving a project file, the user is asked whether they want to save the path to the SVG file, which would allow them to further modify the embossing parameters or reload the SVG from disk later. Otherwise, the SVG part is saved as a model and editing it is no longer possible.
Starting with this release, PrusaSlicer is able to emit G2
and G3
G-codes (arc and circle moves). This results in smaller G-code files when compared to the classic stream of plain G1
commands. The feature can be enabled in Print Settings->Advanced->Slicing->Arc fitting
. The G-code size reduction heavily depends on the contents of the G-code, but we are talking tens of percent in general.
Note that emission of G2
and G3
is not compatible with Pressure Equalizer feature and with Spiral Vase mode. When either of the two is active, the G2
and G3
G-codes will not be emitted regardless of how arc_fitting
is set.
This feature is based on ArcWelderLib by @FormerLurker, who is also the author of the famous ArcWelder OctoPrint plugin. Big thanks to @FormerLurker for all the effort invested into the project and for making it open-source.
G-code files are easy to read and interpret, but their downside is that the data is not saved efficiently and the file size is often very large. Compression of the file is problematic because the printers usually run on limited hardware and they may not have enough memory and/or CPU power to decompress it. Several solutions to the problem were proposed by members of the community, such as MeatPack encoding (utilizing the fact that the character set of a typical G-code is very limited) or heatshrink compression algorithm (designed to have very small memory requirements).
We are proposing a new standard for a binary G-code format for encoding and compressing ASCII G-code files (see the specification). The format is flexible and the encoding and compression of individual blocks is variable. We also provide libbgcode library which contains the routines to convert ASCII G-codes to binary and vice versa. The library is written in C++ and the repository includes bindings for Python.
Regarding comparison of ASCII vs binary G-code sizes, the result depends on the contents of the G-code. Our testing shows that using binary G-code reduces the size by about 70 % on average. Using arc fitting (described above) at the same time can reduce the size even further. Following chart shows the comparison for 10 randomly selected 3MF projects:
The support for the new .bgcode
file format was implemented in PrusaSlicer, including its export, loading configs, previewing G-code or file associations. Exporting binary G-code can be enabled in Print Settings->Output options->Export as binary G-code
. An option to convert ASCII G-code to binary (or the opposite) has been added into File menu.
To print a binary G-code, it has to be supported by firmware of the printer. For Original Prusa MINI, MK4 and XL printers, this is supported since version 5.1.0-alpha2. It is necessary to update printer firmware before using the binary G-code format.
We would like to thank Scott Vokes (@atomicobject) for his work on heatshrink and
Scott Mudge (@scottmudge) for developing and maintaining MeatPack.
The visual looks of user interface controls has been improved. They are now more pleasant to look at in both light and dark mode and various UI quirks have been resolved (e.g. #8877, #6399).
It is also now possible to change font size in the UI (Configuration->Preferences->Other
). #6317, #8278, #7159
One of the features of PrusaSlicer is a powerful macro language that can be used in various custom G-codes. In this release we added a dedicated dialog for editing these G-codes. The dialog contains list of all available placeholders for the given G-code and there is also a short description of each of the placeholders. Double-clicking a placeholder (or clicking the "plus" button) copies it into the G-code.
We believe that this will make editing custom G-codes more user-friendly and better documented at the same time.
For a long time, PrusaSlicer can emit object annotations for OctoPrint CancelObject plugin, which allows to cancel an individual object while printing. Starting with this release, we support these annotations also for Marlin, RepRapFirmware and Klipper firmware, so the cancel object feature can be used without relying on OctoPrint.
The feature can be configured in Print Settings->Output options->Label objects
. The option used to be a checkbox, it was now turned into a dropdown with Disabled
, OctoPrint comments
and Firmware-specific
options. When set to Firmware-specific
, the style of the annotations is chosen based on currently selected firmware flavor in Printer Settings (Marlin/RRF: M486
, Klipper: EXCLUDE_OBJECT
). When a different firmware flavor is selected, the annotations are not generated.
List of all objects is emitted at the very beginning of the print, so the printer knows about all the objects from the start.
For Klipper which supports graphical selection of the object to cancel, outline polygons are also provided for each object. Thanks to @jschuh for providing the implementation for Klipper (#10618).
The support for Marlin-style cancel object feature is implemented in Original Prusa MINI, MK4 and XL printer firmware since version 5.1.0-alpha2.
thumbnails
and thumbnails_format
were merged into one option called thumbnails
and it accepts a string describing the required thumbnails. For example, 440x240/QOI, 640x480/PNG
, etc.Configuration->Wi-Fi Configuration File
. You can select one of currently available networks and type in the password (PrusaSlicer will try to retrieve the password from the system and will auto-fill it when successful). Then you can save the configuration file on the USB drive of your choice. The INI file contains the Wi-Fi password in plaintext, make sure it is deleted after use. Note that loading the Wi-Fi info can fail in some cases. You can always enter the SSID and password as a text yourself.input_filename
was removed from PrusaSlicer macro language. The placeholder is not really useful and it was not generated correctly since PrusaSlicer 2.0.0.Published by lukasmatena about 1 year ago
This is the stable release of PrusaSlicer 2.6.1. This release fixes bugs found in previous release candidates. See the change logs of 2.6.1-rc1 and 2.6.1-rc2 for the complete list of improvements with respect to 2.6.0.
Published by lukasmatena about 1 year ago
This is a second release candidate of PrusaSlicer 2.6.1. This release fixes bugs found in previous release candidate. See the change log of 2.6.1-rc1 for the complete list of improvements with respect to 2.6.0.
output_filename_format
contained a custom file extension, the "Save as" dialog would incorrectly force the extension to be .gcode
. This is a regression which was reintroduced in 2.6.0 (#1221).PrusaSlicer is an open-source project with a long history. The first commit by @alranel was commited 12 years ago (to the day), and during all that time, many people have contributed many improvements and bugfixes, both big and small. All these people have played their part in getting Slic3r and later PrusaSlicer to where it is now.
Open-source licenses such as AGPL3 are somewhat ambiguous about how the contributors should be attributed. Regarding PrusaSlicer, the data are effectively kept only in the form of version control histories, and those don't transfer reliably when the project is forked/rebased/altered etc. To avoid losing the information about the original authors, we have added a short header to each of the source files, where all the contributors are listed. We believe that it is the correct way of claiming who's shoulders we are standing on.
Please note that although we have invested quite a lot of time to provide complete information about the authorship of each file (using both automated scripts and extensive manual lookup and investigation), it is still possible that we might have missed someone. For example because a part of the code was moved around the codebase and passed undetected by our scripts. If you feel that an attribution is missing, let us know and we will fix it. Unfortunately, it is not possible to reliably reconstruct the history of such a big project easily.
Published by lukasmatena about 1 year ago
This is a first release candidate of PrusaSlicer 2.6.1. This release brings significantly improved Arrange function, new features in the Cut tool, improved embossing on curved surfaces and various smaller improvements and bugfixes with respect to 2.6.0.
The Arrange feature has been significantly improved and it is now able to place objects inside concave areas formed by other objects #8225:
Currently there are three distinct levels of geometry handling, which can be selected using a drop-down in the Arrange dialog:
"Balanced" profile produces very similar results to "Accurate" in most cases but it is typically faster by multiple orders of magnitude.
As another improvement, arbitrary bed shapes are now supported:
Also, several bugs were fixed along the way:
New cutting mode is now available in the Cut tool. Dovetail mode automatically creates a tongue-and-groove connection that allows sliding one part into the other. #9382 The geometry of the connection is adjustable in the Cut tool dialog. Also, a new connector type was added (Snap).
The Emboss tool introduced in 2.6.0 now allows much better projection on curved surfaces. The feature is accessible through a Per glyph orientation
checkbox in the the Emboss dialog. When checked, the individual glyphs are (perpendicularly) projected along a curved line on the surface. The idea was inspired by the implementation in BambuStudio.
Print Settings->Advanced->Interlocking depth of a segmented region
and it must be smaller than Maximum width of a segmented region
, otherwise the setting is ignored.Perimeter speed
is used for the perimeter of the wipe tower and Infill speed
is used for the purging area (in the latter case, the speed is gradually increasing to that value). On the first layer, First layer speed
is used in both cases. #2058 #4590 #8399 #10854Retraction when tool is disabled
group (retraction length and extra length on restart) can now be overridden in Filament Settings.Filament Settings->Advanced->Toolchange parameters with multi extruder MM printers
and it is independent on the settings for the single-extruder ramming.SLIC3R_WX_STABLE
has been removed and our CMake script looks strictly for wxWidgets>=3.2 (#11027, thanks to @bnavigator).Published by lukasmatena over 1 year ago
This is the final release of PrusaSlicer 2.6.0. This release is functionally equivalent to 2.6.0-rc2.
See the release logs of 2.6.0-alpha2, 2.6.0-alpha3, 2.6.0-alpha4, 2.6.0-alpha5, 2.6.0-alpha6, 2.6.0-beta1, 2.6.0-beta2, 2.6.0-beta3, 2.6.0-beta4, 2.6.0-rc1 and 2.6.0-rc2 for the complete list of changes with respect to 2.5.2.
If any of the PrusaSlicer 2.6.0 alphas or betas was used before on the same machine, PrusaSlicer 2.6.0 will offer to import such alpha or beta configuration when it is first executed. In such case, the current release configuration will be archived first before importing the alpha or beta configuration.
Published by lukasmatena over 1 year ago
This is the second release candidate of PrusaSlicer 2.6.0, mostly fixing bugs found in 2.6.0-rc1. See the release logs of 2.6.0-alpha2, 2.6.0-alpha3, 2.6.0-alpha4, 2.6.0-alpha5, 2.6.0-alpha6, 2.6.0-beta1, 2.6.0-beta2, 2.6.0-beta3, 2.6.0-beta4 and 2.6.0-rc1 for the complete list of changes with respect to 2.5.2.
The release candidate saves its profiles into regular PrusaSlicer configuration directory. If any of the PrusaSlicer 2.6.0 alphas or betas was used before on the same machine, PrusaSlicer 2.6.0-rc2 will offer to import such alpha or beta configuration when it is first executed. In such case, the current release configuration will be archived first before importing the alpha or beta configuration.
We have introduced 'Template' filament profiles 2.6.0-alpha2 to provide the users a convenient starting point for their own profiles without having to inherit from a system profile and then detaching from it. This created a possibility of using the unaltered template profile for actual slicing by mistake, which often leads to horrible prints or downright print failures (because the template profiles are not tuned for any particular setup). The feedback that we collected from our users shows that this scenario happens quite often.
To prevent this from happening, we now show a warning notification immediately after slicing when a template filament profile is used. When exporting the G-code, there is one more warning dialog that the user has to confirm. We also extended the "cog" menu next to the Filament dropdown in the right panel and added an item 'Show/Hide template filament presets'. Clicking the item navigates to Preferences where this option is.
num_extruders
. It expands to the number of extruders the printer has, regardless of whether they are used in the print or not.is_extruder_used
did not always expand to the correct value when asked about an extruder that the printer does not have.Published by lukasmatena over 1 year ago
This is the first release candidate of PrusaSlicer 2.6.0, fixing bugs found in beta4. See the release logs of 2.6.0-alpha2, 2.6.0-alpha3, 2.6.0-alpha4, 2.6.0-alpha5, 2.6.0-alpha6, 2.6.0-beta1, 2.6.0-beta2, 2.6.0-beta3 and 2.6.0-beta4 for the complete list of changes with respect to 2.5.2.
The release candidate saves its profiles into regular PrusaSlicer configuration directory. If any of the PrusaSlicer 2.6.0 alphas or betas was used before on the same machine, PrusaSlicer 2.6.0-rc1 will offer to import such alpha or beta configuration when it is first executed. In such case, the current release configuration will be archived first before importing the alpha or beta configuration.
Published by lukasmatena over 1 year ago
This is the next beta release of PrusaSlicer 2.6.0, introducing G-code collision detection and fixing bugs found in beta3. See the release logs of 2.6.0-alpha2, 2.6.0-alpha3, 2.6.0-alpha4, 2.6.0-alpha5, 2.6.0-alpha6, 2.6.0-beta1, 2.6.0-beta2 and 2.6.0-beta3 for the complete list of changes with respect to 2.5.2.
To let you enjoy the beta without worries, the beta builds save their profiles into the 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.
PrusaSlicer now performs a check for colliding toolpaths after slicing. This prevents print failures when multiple objects (or their supports) intersect and would be printed one over the other (e.g. #316, #10148 and many others). The feature works for all instances of all objects, their supports and the wipe tower. A notification is shown in case an intersection is detected, but it is still possible to export the G-code (the user may decide that it is insignificant, or even intentional). The feature was ported from BambuStudio, thanks to @bambulab for the initial implementation.
Published by kubispe1 over 1 year ago
This is the third beta release of PrusaSlicer 2.6.0, which fixes bugs and introduces a few improvements compared to beta2. See the release logs of 2.6.0-alpha2, 2.6.0-alpha3, 2.6.0-alpha4, 2.6.0-alpha5, 2.6.0-alpha6, 2.6.0-beta1, and 2.6.0-beta2 for the complete list of changes with respect to 2.5.2.
To let you enjoy the beta without worries, the beta builds save their profiles into the 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.
Published by lukasmatena over 1 year ago
This is the second beta release of PrusaSlicer 2.6.0, fixing the most critical bugs found in beta1. See the release logs of 2.6.0-alpha2, 2.6.0-alpha3, 2.6.0-alpha4, 2.6.0-alpha5, 2.6.0-alpha6 and 2.6.0-beta1. for the complete list of changes with respect to 2.5.2.
To let you enjoy the beta without worries, the beta builds save their profiles into the 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.
Published by lukasmatena over 1 year ago
This is the first beta release of PrusaSlicer 2.6.0, mostly fixing bugs found in the previous alphas. See the release logs of 2.6.0-alpha2, 2.6.0-alpha3, 2.6.0-alpha4, 2.6.0-alpha5, and 2.6.0-alpha6. for the complete list of changes with respect to 2.5.2.
With this release, PrusaSlicer not only brings fixes but also introduces several noteworthy improvements to existing features. Highlighting the most significant enhancements, the Cut tool has been upgraded to provide increased power and functionality, Organic supports have undergone improvements to enhance stability and reliability, and modifications have been made to improve compatibility presets for multitool printers.
To let you enjoy the beta without worries, the beta builds save their profiles into the 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.
The improved Cut tool now offers more flexibility by allowing users to selectively select parts of the object which should not be cut. Selection and deselection of the parts can be controlled with the right mouse button. Note that when some parts are selected, PrusaSlicer will always generate two separate objects, the option to leave everything as parts of one object is not available.
When using a Multitool printer (with 'single_extruder_multi_material' turned off), PrusaSlicer now filters filament presets and presents the user with only the appropriate filaments based on the compatible printers conditions ('compatible_printers_condition') for each individual extruder. This change also introduces a new combobox in the Filament settings, simplifying the listing of extruders.
support_tree_branch_diameter_double_wall
parameter. #10304Published by lukasmatena over 1 year ago
This is another alpha release of PrusaSlicer 2.6.0. Among other things, the release adds support for Klipper firmware flavor, extends capabilities of custom G-codes, improves Arrange function, enhances Export to STL to subtract negative meshes, and fixes bugs found in previous alphas. For the full list of new features in the 2.6.0 series, please read the release logs of 2.6.0-alpha2, 2.6.0-alpha3, 2.6.0-alpha4 and 2.6.0-alpha5.
To let you enjoy the alpha without worries, the alpha builds save their profiles into the PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration.
While it has been technically possible to use PrusaSlicer with printers running Klipper even in previous versions, it required the printer profile to be properly set and the settings were not intuitive. To make the configuration easier:
Printer Settings->General->Firmware flavor
)Mainsail/Fluidd
The macro language that is used to process Custom G-codes got several significant improvements, namely:
one_of()
function to match an argument to any of the given patternsinterpolate_table()
function, which interpolates a piecewise linear function at point x
size()
and empty()
functions to return the state of any vector variableif-elsif-else
blocksextruded_volume
, extruded_weight
, extruded_volume_total
and extruded_weight_total
to give current consumption of the material for individual extrudersThe changes are described in more detail in the respective wiki page.
Only infill when needed
was removed. It never worked well, and it was a frequent source of confusion and bug reports when it removed infill from places where it was desirable or vice versa (#9790, #8381, #7914, #6286, #5791, #4916, #2796). The option is superseded by Lightning infill (#8648) and the feature has become too much of a maintenance burden, leading to problems when implementing new features #9935.Filament Settings->Advanced->Minimal purge on the wipe tower
. Note that this is potentially a breaking change, affecting non-single MM profiles with the 'Purging volumes' set much higher than the value in filament settings, in which case the wipe tower will become smaller than it was in previous PrusaSlicer versions.Print Settings->Multiple Extruders->Wipe tower
. Setting the value to zero disables the cone.Print Settings->Multiple Extruders->Wipe tower
Print Settings->Speed->Acceleration control
. The value is clamped by the maximum travel acceleration in Printer Settings->Machine limits
when using Marlin 2 or RepRapFirmware flavor.M107
(turn fan off) command emitted at the beginning of the G-code was removedsupport_tree_top_rate
to 15%idle_temperature
checked and others did not #10163M204
command at the beginning of the G-code, the correct format (M204 ST
) is now used for Marlin (legacy)
firmware flavor (in previous versions, the new M204 PRT
was used).Published by lukasmatena over 1 year ago
This is the final release of PrusaSlicer 2.5.2. This release is functionally equivalent to 2.5.1, the only difference is that it contains profiles for Original Prusa MK4 printer.
It does NOT contain Organic supports, the improved Cut tool, and other features introduced in PrusaSlicer 2.6.x series. These are currently only available in 2.6.0 prerelease versions (the most recent currently being 2.6.0-alpha5).
Published by lukasmatena over 1 year ago
This is the final release of PrusaSlicer 2.5.1, which is a minor release containing profiles for the Original Prusa XL printer and several related improvements over 2.5.0.
It does NOT contain Organic supports, the improved Cut tool, and other features introduced in PrusaSlicer 2.6.x series. These are currently only available in 2.6.0 prerelease versions (the most recent currently being 2.6.0-alpha5).
Print Settings->Speed->Acceleration control
)Published by lukasmatena over 1 year ago
This is another alpha release of PrusaSlicer 2.6.0. It brings several substantial changes to the slicing core and fixes bugs found in previous alphas. For new features in the 2.6.0 series, please read the release logs of 2.6.0-alpha2, 2.6.0-alpha3 and 2.6.0-alpha4.
To let you enjoy the alpha without worries, the alpha builds save their profiles into the PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration.
This change improves one of the most hated feature of PrusaSlicer: too much solid infill and the way it is printed. Some of the related issues are #28, #223, #1054, #1531, #2137, #3744, #6853, #9245, #9898.
The problem and its history are as follows: When printing sloping surfaces, the resulting wall gets thinner (for obvious geometrical reasons). In the case that the slope is small, this effect can even produce holes in these walls, as the external perimeter on one layer may in fact be "more inside" than the innermost perimeter on the layer below. Original Slic3r applied rectilinear infill to fill in these gaps, PrusaSlicer added an extra logic to Ensure vertical shell thickness
, which was trying to ensure that the shell would not be thinner than a vertical wall would be. The algorithm had the disadvantage of consuming more material than needed and creating very short segments of infill with abrupt changes of direction, leading to significant vibrations of the printer.
Starting with this version, PrusaSlicer fills the areas with concentric infill. The calculation of the areas is also reworked, so the material is only added where it is really needed. The old "Ensure vertical shell thickness" parameter used to switch between the upstream Slic3r and Slic3r Prusa Edition algorithms to ensure vertical wall thickness. The new algorithm implemented in PrusaSlicer 2.6.0-alpha5 is significantly better than either of the two old algorithms; thus, the switch "Ensure vertical shell thickness" was removed.
Another long-standing issue was connected to bridging solid infill printed over sparse infill. The shape of such infill islands was only determined by what was above, and the infill lines were often inadequately supported as a result, leading to mid-air extrusions and possibly failed prints. PrusaSlicer now extends the lines of the bridge infill so that their ends are supported by the sparse infill on the layer below. The bridge infill is now always using 'Thick bridges'. The new algorithm is NOT applied for Support Cubic, Adaptive Cubic and Lightning infill.
This change also made it possible to decrease the expansion of the bridging layers, which leads to smaller filament consumption and shorter print times. The comparison image below shows exactly the same model (a cube with a counterbored hole in the top face). Only the two adjacent layers are shown for clarity:
This feature is similar to Dynamic overhang speed
introduced in 2.6.0-alpha2. Fan speed is defined for predefined overlaps, and PrusaSlicer interpolates between the values to set the optimal fan speed when printing overhangs. The feature is accessible in Filament settings->Cooling->Dynamic fan speeds
.
File->Import->Import ZIP Archive
. A dedicated dialog is shown, and the user can select which of the files in the ZIP archive they want to open.Dynamic overhang speed
was simplified, the percentage levels for which the speeds are set are fixed at 0/25/50/75 %.is_nil
function available in custom G-Codes to check whether a given configuration option is currently inactive (such as idle_temperature in Filament Settings). Example usage: {if is_nil(idle_temperature[0])}...{else}...{endif}
Published by lukasmatena over 1 year ago
This is the 3rd public alpha release of PrusaSlicer 2.6.0. It mostly fixes bugs found in previous alphas, but there are also improvements, especially related to the Cut tool. For new features in the 2.6.0 series, please read the release logs of 2.6.0-alpha2 and 2.6.0-alpha3.
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.
Print Settings->Speed->Acceleration control
)idle_temperature
now retains its value when disabled and enabled again. If the value cannot be recovered (e.g. after switching to different tab), a value of 30 is used as a default instead of 1500. Previously, the value would change to 1500 (maximum allowed temperature) when the option was reenabled. Same fix was applied to options in Filament Overrides.is_extruder_used
introduced in 2.6.0-alpha2 was not expanded correctly in some cases.$XDG_DATA_HOME
and $XDG_DATA_DIRS
environment variables were undefined #9565, #9584Published by lukasmatena over 1 year ago
This is the 2nd public alpha release of PrusaSlicer 2.6.0. It mostly fixes the most critical bugs found in previous 2.6.0-alpha2. For new features in the 2.6.0 series, please read the release log of PrusaSlicer 2.6.0-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 over 1 year ago
This is the first public alpha release of PrusaSlicer 2.6.0 (alpha1 was not public). It brings the most anticipated Organic supports, measurement tool and text embossing tool. Cut tool now allows orienting the cut plane and adding connectors, there is a possibility to download files directly from Printables.com and several new features were added in order to improve FDM print quality. There are of course many more improvements and bugfixes.
To let you enjoy the alpha without worries, the alpha builds save their profiles into PrusaSlicer-alpha directory, so you may use the alpha side by side with the current release without ruining your production configuration.
Github clips this text at the release history overview. Please open the 2.6.0-alpha2 release log to see the complete change log.
Until now, PrusaSlicer's supports consisted of 2D "scaffolding" created on a regular 2D grid. While the approach produced reasonably good results in many cases, they often consumed quite a lot of filament, took a long time to print, ended up in spaces where they are difficult to remove from and left visible scars on the model when removed (especially when the settings were not tuned correctly). We improved some of these downsides by introducing the "Snug" supports in PrusaSlicer 2.4.0, but they are still an upgraded version of the old and limited approach.
An alternative approach, which was pioneered by different 3D modeling softwares and slicers are "Tree supports" - support structures designed to save material and printing time as much as possible. Branches of supports are generated where needed and limit contact areas to a necessary minimum. This results in a better surface of the original model. The community has rightfully complained that not having this style of supports in PrusaSlicer is a severe disadvantage.
In this release, we are presenting our implementation of tree supports, which we decided to call 'Organic supports' because of their smooth shape. The algorithm is based on @ThomasRahm 's implementation of tree supports, which are significantly improved tree supports originally from Cura. We would like to thank Ultimaker Cura and @ThomasRahm (see his Reddit post) for the effort they have invested into the problem.
The supports are easily removable, do not scar the surface and are fast and cheap to print. The algorithm automatically uses double perimeter walls for the trees where needed to improve structural capabilities. Like other support types implemented in PrusaSlicer, Organic supports can be enforced or blocked using the Paint-on supports tool.
We recommend to use the Organic supports together with the following two new features (see their respective sections below):
The Organic supports currently pose the following limitations:
Measurement tool is another feature long demanded by our community. The tool utilizes a geometry detection algorithm that recognizes points (vertices), edges, circles and planes. Users can check model sizes and angles directly in the slicer, so there is no need to open 3rd party software anymore for this purpose. At the moment, it is possible to measure between parts to simplify their better manipulation and organization inside objects (but not between separate objects). Last but not least, the tool allows to uniformly scale the object to the required length by clicking a button in the scene.
One of the current limitations of this tool is its behavior on objects with overlapping parts. In such cases, the parts are considered individually, meaning that edges created by the intersections are not detected, and planes hidden inside other parts are. The tool also does not work well with negative volumes, which are considered as parts.
This tool opens a new capability to insert, manipulate and edit text created like a new volume of an object. It allows to add notes, signs, serial numbers, etc. directly in the slicer.
The text can be placed on any type of surface, not only a planar one. There is an option to "Use a surface", which forces the text to follow the parent object surface along the whole text length. Text manipulation can be simply performed by dragging text around the object to be placed in the desired position. There are also possibilities to rotate (Z-rot) and elevate (Z-move) text directly in the Emboss panel.
The text editor automatically imports fonts from the user's system library. Basic or advanced properties of text are available to change and edit. Final text volume can be used like any of the usual types: part, negative volume or a modifier. The whole project with text entities is saved to 3mf and after reopening, the text is fully editable.
How to use: right-click the object and choose Add part->Text
.
Functionality overview:
The Planar Cut tool has been available in PrusaSlicer for a long time. It is handy for preprocessing huge models that don't fit the build volume, are too complicated to print in one piece, or models where only a part is valuable for the user. With this release, we decided to extend its functionality.
The model can newly be cut by a generally oriented plane (#4368, #5706). For cut plane manipulation purposes, the tool enables movement and rotation to an appropriate position. Z positioning is also possible to manage by numerical input value [mm]. Rotation around the X and Y axis is set up by a gizmo enhanced with 5 degrees snipping ability. Alternatively, the plane could be defined by selecting two points on an object or in space around it. To use this feature, press Shift and draw the requested cutting plane in the scene using the left mouse button.
Also, we understand how important it is for users to assemble final parts to a single object with an emphasis on precision and simplicity. That's why we added an option to define various types of connectors (#803, #8656, #5553, #1857). The user can enter editing mode for placing the connectors by pressing a button in the Cut panel. There are several shapes and styles of connectors to choose from. Users can also control the depth, size, and tolerances of each connector member and negative hole.
"Lay down" options help automatically place removed parts straight after the cut performs (#3154).
After the cut is performed, the resulting objects "remember" that they belong together and certain operations are not permitted. For example, one cannot scale one object and not the other, as that would make the parts not match. The information is visible in the Object List and is also saved into a 3MF. It is of course possible to break this correspondence and manipulate the objects without limitations.
For a long time, PrusaSlicer allows the user to paint areas to be supported. This is a much praised feature that allows the user to customize supports quickly and easily. As part of a large effort to create more intelligent support creation, the FDM support painting tool now contains an option for automatic painting of enforcers on the model. The algorithm behind this tool checks the print extrusion by extrusion and takes into account many factors such as the center of mass, weight of the supported part, bed movement, potential extruder collision, bed adhesion, material, and bridging. The result should be more effective support placement. For example, bridges are supported only on regularly spaced pillars and not over their full length.
The tool is also executed during slicing, providing conservative warnings in case no supports are to be generated but most likely some supports are needed. Experts may find such warning obtrusive, thus the warning may be disabled in application preferences.
Dynamic overhang speed functionality enables reliable slowdown of overhang extrusions. Lower velocity enables proper cooling when it is needed. The algorithm calculates extrusion overlap with the previous layer and applies speed calculated from the overhang slowdown function. Users can control the shape of the overhang slowdown function via four input points - each point has an extrusion overlap value expressed as percentage of the full width, and desired speed on such overlap. The speeds in between the control points are calculated via linear interpolation. The feature is configurable in Print settings -> Speed -> Dynamic overhang speed
.
This functionality detects overhang areas where bridges cannot be anchored, and fills them with extra perimeter paths. These paths are generated as perimeters of the overhang area and anchored to the non-overhanging areas when possible. The perimeters are then cut, sorted such that the area is filled from anchors outside such that each new path should be printed next to previous, and reconnected when possible. This feature can improve the quality of larger overhangs on many models as well as making some overhangs printable without supports.
Configurable in Print Settings -> Layers and Perimeters -> Quality -> Extra perimeters on overhangs
.
Avoid crossing curled overhangs is another new experimental feature. It aims to plan travel moves such that the extruder avoids areas where the filament may be curled up. This is mostly happening on stepper-rounded overhangs and may cause a crash with the nozzle. The danger of curling is calculated from extrusion properties like overlap with the previous layer and local curvature. It does not take into account the direction of the fan and thus the avoidance is conservative and may avoid places where issues did not appear.
The feature also cooperates with the new organic supports, avoiding their overhanging edges under steep angles. The option can be found in Print Settings -> Layers and Perimeters -> Quality -> Avoid crossing curled overhangs
.
The new Downloader feature enables the user to easily access and download models directly through the Printables.com site. By clicking on the PrusaSlicer logo on Printables.com, a new instance of the PrusaSlicer will open and the selected model will be saved to the user's folder. Users can register for the Downloader tool and select the target folder through the Config Wizard or the Preferences menu. This feature supports zip archives with STLs and 3MFs that can be downloaded, opened, or dragged and dropped into PrusaSlicer. Then, the user can select which files should be opened in a new dialog. Note that if multiple 3MF projects are selected, all load as geometry only. Additionally, opening a 3MF project now also opens in a new instance of PrusaSlicer.
Currently the user has to enable the downloader icon in their printables.com profile in order to use this feature. After the final release of 2.6.0, the icon will be visible by default (with the option to hide it).
Until now only system filament presets that were defined in printer vendor profile files were possible to use. Now we have added an additional profile that defines most of the filaments separately and is possible to use with every printer. In the Configuration Wizard, there is a new (Templates) category among Printers. There, the user can add filaments visible for every printer. If any other printer defines the same filaments (for example Prusa printers), template filaments will be available for other printers without the need to select them. After the installation in the right panel, there is a new category '--Template presets--' among Filaments. Please note that these profiles were usually set for Prusa printers and it is recommended to check all values in the Filament Settings. Then saving a copy of a template preset will offer a checkbox to save as a preset derived only for the current printer.
New top/botom infill pattern was introduced: 'Monotonic Lines'. It is very similar to Monotonic, except that adjacent lines are not connected. This allows for smaller perimeter/infill overlap and results in better filling of the top/bottom layer, less over-extrusion and better dimensional accuracy.
To join the Tree support fever, PrusaSlicer's SLA algorithms now contain a new, experimental support generation strategy that builds tree-like supports similar to that introduced in FDM mode. As a side-result of our time spent on tree supports in general, this strategy is inspired by the paper "Clever Support: Efficient Support Structure Generation for Digital Fabrication". The new strategy is called "branching supports" to differentiate from the previous strategy which is still the default. The biggest advantage of these new supports is their ability to save print material. Their ability to avoid the model body is also much improved compared to the default support strategy.
SLA mode is now able to host models with multiple volumes including negative ones which also makes text embossing available in SLA mode. Support blocking and enforcing regions can also be added to the scene to guide the automatic support point generator.
This release introduces several fixes and improvement related to multi-extruder printers (with multiple independent extruders).
idle_temperature
. It is optional, which is a new concept of configuration option, so far only known from Filament Overrides. When it is checked and "Ooze prevention" is active in Print Settings, the value is used. When it is unchecked, ooze prevention uses the old "delta" value as it always did.is_extruder_used
. It is a vector of bools telling whether that extruder is used in the print.layer_z
placeholder is now available in start filament gcode, regardless of whether the wipe tower is enabled or not.toolchange_retraction
parameter is now honored. Previously, "normal" retraction was applied before toolchange.--sw-renderer
command line option.TIMELAPSE_TAKE_FRAME
string was present in custom G-Code #8827