VERSION 2.5.0
6. 9. 2022New perimeter generator Arachne
For years, the strategy PrusaSlicer used when generating perimeters was to offset the contour of the object with an extrusion line of constant width. This caused issues in various cases, especially when printing thin walls, text, or logos.
The developers of Cura recently implemented a new strategy named Arachne based on the paper [Kuipers et al., 2020]. The Arachne generator produces perimeter loops and gap fills with varying extrusion width. Simply put, it automatically makes perimeters wider or thinner as needed. This is a major change! Before, it was nearly impossible to create a wall that would fit 2 perimeters exactly. And now? As long as the wall thickness is close enough to 2 perimeters, PrusaSlicer will take care of the rest.
The new approach produces nicer-looking prints with fewer artifacts. There is a significant reduction in gap fill, small extrusions used to fill gaps between perimeters, which also results in a reduction of print time.
STEP file format support
Starting with this release, PrusaSlicer is able to import STEP files, which is a format widely used for 3D modelling data exchange. Note that the model is tessellated on import and the slicing algorithms operate on the resulting triangle mesh, i.e., the model is not sliced analytically.
We use Open CASCADE Technology (OCCT) development platform to read the STEP files. It is a CAD kernel also used e.g. by FreeCAD or KiCad. Thanks @Open-Cascade-SAS for keeping it open-source. The import implementation itself was ported from BambuStudio, thanks @bambulab.
Lightning infill
Infill serves a dual purpose – to provide structural rigidity and to support top surfaces. In case structural rigidity is not needed, a lot of material and printing time is saved with the new Lightning infill, which is optimized to support the top surfaces only. The lighting infill generates a branching structure that gets progressively denser towards the top surfaces to support them reliably.
The lighting infill is based on paper [Tricard et al., 2019]. Like the Arachne perimeter generator, we have ported the Lightning infill from Cura, thanks again for keeping Cura open source.
Improved seam placement based on the visibility
Starting with this version, seam placement algorithm prefers regions which are not visible from the outside of the model at all or which are occluded from most directions. The new visibility algorithm is applied for seams set to Nearest or Aligned.
In addition, when paint-on seams are used and ‘Aligned’ is set, the resulting seam line attempts to find a sharp corner in the painted area and snap to it, leading to smoother lines along the sharp edge. Previous versions did not detect the sharp edge in this scenario.
Also the new algorithm strives to produce possibly long and smooth seams on smooth surfaces, while the old algorithm often produced disconnected random bits on such surfaces
Pressure equalizer
An FDM 3D printer consists of a motion system and an extrusion system. While the motion system loves to accelerate and decelerate smoothly to reduce vibrations, the extruder loves to extrude at a constant rate for the best extrusion consistency. That means, unfortunately, that the optimal conditions of the motion system and extruder are in conflict.
Bowden-style extruders are especially sensitive to pressure fluctuations, due to the slack in the Bowden tube, they are not able to reproduce rapid changes in extrusion rate reliably. The Pressure equalizer smooths sudden changes in speed between two features (e.g. between printing infill and perimeters) and reduces print artifacts caused by rapid extruder pressure fluctuations.
Before moving from a faster internal perimeter to a slower external perimeter, the pressure equalizer slows down gradually at the end of the internal perimeter to reach the extrusion rate of the external perimeter. Similarly, when moving from the external perimeter to the infill, the start of the infill is slowed down to the external perimeter speed and accelerated gradually.
New printer and material profiles
- Added Creality Ender-3 Neo and Ender-3 S1 Plus profiles
- Added Elegoo bundle (Neptune printers)
- Added new Creality printers (Ender-3 V2 Neo, Ender-3 Max Neo, CR-10 SMART Pro
- Added Infinity3D bundle
Many bugfixes and smaller improvements
- G-Code thumbnails can now be exported in JPG and QOI formats (until now, only PNG thumbnails were supported).
- SLA hollowing was optimized and it is now significantly faster. The difference is especially noticeable on bigger models, where it can be 10x faster than before.
- SLA time estimate was improved and it is now more accurate for SL1S. In addition, “High viscosity tilt time” was added into Printer Settings so the time estimate is correct for printers supporting separate tilt time setting for high-viscosity SLA materials.
- OSX specific: It is now possible to send G-Codes to OctoPrint using self-signed certificates.
- Fixed a crash when using a selection rectangle with the cut gizmo open.
- Windows specific: Dialog asking to send system info shown at startup no longer pops up in case the internet connection is not available.
- Fixed a crash when using auto-rotation with some specific models.
- When using arrange in sequential printing mode, it sometimes tightly violated desired extruder clearance.
- Fixed flickering of colored rectangles in legend in the stand-alone G-Code Viewer.
- When using wipe tower with no sparse layers, the first layer might have ended up too thin and ruined the print.
- OSX specific: Cmd+M shortcut should now minimize the application as expected, restoring the application using the “View All Windows” works.
- When clicking the “Detach from system preset” button in Dependencies section of a profile, the button did not disappear. Also, detaching a printer profile from a system profile broke rendering of custom bed model for both the parent and child profile. Both issues are fixed now.
- Fixed a very rare issue which led to generating a G-Code with commas instead of decimal points (caused by incorrectly set locales on one of the threads).
- Windows specific: Improved detection of corrupted PrusaSlicer.ini configuration file. Very rarely for some unknown reason PrusaSlicer.ini is partially or fully filled in with binary zeros, most likely due to power outage or a bug in hard drive driver.
- OSX specific: When trying to open a G-Code file using drag and drop or “Open with” option, G-Code Viewer would report the file extension as unknown when PrusaSlicer was not already running.
- Filament usage estimate was incorrect when using MMU. The loading and unloading moves were not correctly accounted for, leading to much higher estimate then reality. Only the ‘Sliced Info’ box was affected, the statistics at the end of the G-Code were correct.
- Fixed a crash when rescaling the windows or changing color mode (Windows, OSX). This should fix some spurious crashes happening when moving PrusaSlicer window between two monitors etc.
- Fixed inadvertent deselection after changing and confirming object-specific settings.
- Changing object-specific settings incorrectly inserted two undo/redo snapshots.
- Some configuration options always showed as modified in profiles inherited from the —default— profile.
- Fixed a crash when pressing Ctrl+A while using a painter tool or editing SLA support points or drainage holes.
- Linux specific: Fixed a crash when confirming a value in Height range modifier.
- Drivers & Apps Installer is now able to use offline unattended installation – it should be useful for mass deployment, for example on schools. To make this happen, launch the installator with parameter /VERYSILENT /SUPPRESSMSGBOXES
- We are leaving support for Win32.