Sur la base des retours reçus après la sortie de la version 2.8.0, la barre de menu a été rétablie et le menu ne se cache plus sous un bouton. Merci à tous pour vos retours, ils ont été très utiles et seront pris en considération lors d’éventuelles décisions liées à l’interface utilisateur à l’avenir.
Lors de la connexion avec le PrusaAccount à l’aide d’une autorisation tierce (Google, Apple, Facebook), une fenêtre de navigateur externe est ouverte afin que l’utilisateur ne soit pas obligé de saisir ses informations d’identification dans les fenêtres créées par PrusaSlicer.
Le moteur web intégré ne se souvient plus de l’utilisateur après la déconnexion.
Il y a deux nouveaux paramètres :Filaments->Avancé->Matériau abrasif et Imprimantes->Extrudeur->Buse à haut débit. Les deux indicateurs seront utilisés pour vérifier si un G-code découpé est compatible avec l’imprimante donnée (le matériau abrasif nécessite une buse durcie) et également pour garantir que la fonction “Définir comme courant” dans Prusa Connect intégré à PrusaSlicer sélectionnera le profil approprié pour la configuration donnée. Notez que cette fonctionnalité est prise en charge depuis la version 6.2.0-alpha1 du firmware des MINI/MK4/XL et que l’implémentation dans Prusa Connect n’est pas encore complètement terminée, ce qui signifie que la boîte de dialogue dans laquelle l’imprimante est sélectionnée n’utilise pas ces informations – elle commencera ultérieurement à fonctionner sans qu’il soit nécessaire de télécharger une nouvelle version du slicer.
L’orientation automatique des ponts a été améliorée. Les problèmes liés aux ponts non ancrés causés par un choix inapproprié de leur angle devraient désormais se produire moins fréquemment, bien qu’il existe encore une grande classe de scénarios dans lesquels la solution n’est pas optimale.
La sortie de l’option de ligne de commande --query-printer-models a été étendue pour contenir la forme et les dimensions du plateau. Notez que les formes de plateau personnalisées ne sont actuellement pas prises en charge.
La notification ‘nouvelle version disponible’ peut désormais être utilisée pour diriger l’utilisateur vers notre site web, au lieu de simplement télécharger l’exécutable. À l’heure actuelle, nous publions deux AppImages Linux différentes, l’utilisateur doit donc pouvoir choisir celle qu’il souhaite télécharger.
Un nouveau type de remplissage appelé Zig-zag a été créé. Il se comporte de la même manière que Rectiligne, sauf que le motif est aligné entre les couches (Rectilinear est optimisé pour les déplacements courts, ce qui entraîne des incohérences). Le nouveau remplissage peut donc prendre un peu plus de temps à imprimer à cause de cela, bien que l’effet soit négligeable dans la plupart des impressions. Il est possible que Rectiligne et Zig-zag soient fusionnés en un seul type de remplissage dans l’une des prochaines versions.
REMARQUE IMPORTANTE POUR LES UTILISATEURS LINUX !
PrusaSlicer utilise désormais la bibliothèque WebKit, ce qui complique grandement sa distribution. Les dernières distributions Linux (telles que Ubuntu 24.04, Fedora 40) sont livrées avec une version plus récente de WebKit que les distributions plus anciennes (mais toujours prises en charge). L’intégration de WebKit dans l’AppImage est difficile et peut ne pas être possible.
Par conséquent, nous fournissons désormais deux AppImages distinctes, toutes deux utilisant la bibliothèque Webkit. Vous devrez peut-être installer le package correspondant avant de pouvoir exécuter PrusaSlicer.
Version
version minimale de libwebkit2gtk
exemples de distributions
anciennes-distributions
4.0
Ubuntu 22.04, Fedora 39, Debian 11
distributions modernes
4.1
Ubuntu 24.04, Fedora 40, Debian 12
Les AppImages peuvent s’extraire lorsqu’elles sont exécutées avec le paramètre de ligne de commande --appimage-extract.
Il est fort probable que PrusaSlicer passera uniquement au déploiement Flatpak à partir de la prochaine version. L’AppImage avait du sens lorsqu’elle pouvait être utilisée de manière “regroupez ce dont vous avez besoin, distribuez un seul fichier”, mais devoir distribuer plusieurs AppImages différentes et maintenir l’infrastructure de production requise (et toujours se soucier de ce qui doit être mis à jour lorsque certaines mises à jour de distribution Linux sont publiées) signifie perdre du temps que nous préférerions investir dans un travail réel sur PrusaSlicer.
Version 2.8.0
27. 6. 2024
This release introduces several UI improvements, Prusa Account login and Prusa Connect integration, improved G-code viewer, better seams, single perimeter for top and bottom layers, and more many more improvements and bugfixes.
Improved UI
We have decided to do several tweaks to the user interface. It is by no means a complete redesign, so the controls are mostly where you are used to find them. The most visible change is the top bar. The system menu was removed (on Windows and Linux only) and it is now accessible through a separate button at the very left of the top bar. The settings tabs are now larger and styled. The larger top bar allowed us to integrate the Search field into it, so it is readily accessible and it looks the same regardless of which tab is active (unlike in previous versions). The right part of the top bar features the Simple/Advanced/Expert switch (which is newly a dropdown) and the PrusaAccount login box.
Next, both sliders in the Preview have been completely reworked and are now part of the 3D scene, instead of being placed in a neighboring panels. Apart from looking nicer and more modern, removing the side panels means that the canvas size is larger. It also comes with a nice benefit that switching back and forth between the 3D view and Preview no longer shifts the view, the views are now perfetly aligned.
Credits go to BambuStudio, whose sliders were used a starting point for the implementation (although we later ended up rewriting most of it to fit current PrusaSlicer architecture).
Topping the list of the UI improvements, the spacing and icon size in the toolbars in the scene was slightly changed. The toolbars are now nicer and look less cramped.
Prusa Connect integration
Prusa Connect is our online system to control printers from the browser and distribute print jobs among them. Starting with this release, Prusa Connect is accessible directly from PrusaSlicer to streamline the workflow. A login box was added to the right of the top bar. When the login is successful, one more tab (Prusa Connect) will appear in the top bar. This tab will present your Prusa Connect dashboard and all features that you are used to.
When logged in, PrusaSlicer keeps track of the status of your printers and it also knows with which of your printer profiles they are compatible (printer model, MMU capabilities and nozzle diameter are checked). When a printer compatible with a given printer profile is in Prusa Connect, a little colored dots will appear in the printer profile dropdown in the right panel, displaying current status of that printer. The summary of the state of connected printers is shown just below the dropdown.
When a G-code is ready to be exported, a ‘Send to Connect’ button appears in the right panel. Clicking this button will open a dialog window presenting all your Connect printers compatible with the current project and allowing you to send the generated G-code to one of them.
To streamline the workflow in the other direction, there is an extra button in Connect labeled “Set as current”, which is shown for every printer. Clicking it will switch back to Plater tab and select first compatible printer profile automatically. The language settings and light/dark mode in the Prusa Connect tab is automatically switched so they match what is currently selected in PrusaSlicer.
Previous way of sending G-codes to Prusa Connect using a physical printer profile is deprecated. Users should stop using physical printers for Prusa Connect, although the support will be maintained for some time. Nothing changes with regard to PrusaLink or the other print hosts.
Note that logging in or using Prusa Connect is completely optional. PrusaSlicer will work fine without the login, as it has worked before. We are considering to add a Preferences checkbox to hide the login box completely to not bother people who intend to never use it anyway.
Improved G-code Viewer
The integrated G-code Viewer has been significantly reworked to improve its performance. Less data are now transmitted between the CPU and GPU and more of the work is now performed on the GPU side.
Furthermore, G-code Viewer is now able to visualize actual speed. The printer accelerates and decelerates when direction changes, so even though the required speed is set to a given value, it takes some time to reach it (if it is reached at all). The acceleration limits are (as they always were) configurable in Printer Settings -> Machine limits and PrusaSlicer always calculated with the acceleration and deceleration phases to get precise time estimate, but it did not allow to visualize them.
Note that the same disclaimers as for precise time estimates hold. If the machine limits are set incorrectly (in the sense that the printer uses different values), both the time estimate and the real speed visualization will not align with reality. Also, the actual speed visualization is not available for firmware flavors for which slicer does not allow setting the machine limits.
In addition, when moving the horizontal slider, there is a new popup dialog showing the data that G-code Viewer has about current segment, including the actual speed profile:
Single Perimeter for top and bottom layers
We have ported an option to use single perimeter for (top) solid infill layer. The feature can be configured in Print Settings -> Only one perimeter and based on the configuration, it results in single perimeter on all solid infill layers, on top solid infill layers or on topmost solid infill layers. This generally leads to improved visual look of the printed object, without sacrificing structural rigidity.
This is a frequently requested feature, which was first implemented in SuperSlicer, ported over to OrcaSlicer and then reimplemented in BambuStudio. We have ported the code from BambuStudio with only small changes. Even though we ended up not using the original SuperSlicer implementation, we would like to thank to everyone who implemented the feature there and who worked on a PR with the port (#10648), namely @supermerill, @vovodroid, @mjonuschar. Thanks also go to @bambulab for rewriting the feature later.
New system profile updating system
Since Slic3rPE 1.40 (released six years ago), PrusaSlicer has a built-in profile updater. Its task is to deliver read-only “system” profiles, which are fine tuned for the given printer and filament, sparing the user from having to tweak the individual parameters. The database of profiles has been growing ever since, and it contains many profiles, both for Prusa products and products from other vendors.
We have now split the profile database into several profile “repositories”. Profiles are updated only from repositories that PrusaSlicer is subscribed to. The repositories are selected at the beginning of the Configuration Wizard. The transition of your previous configuration requires no action on the user’s side, the repositories are automatically selected based on your currently installed profiles.
This brings the following benefits:
Configuration Wizard loads faster, because it generally processes less data.
Notifications informing about an existing update are only shown for your active repositories. E.g. if you only use SL1 printer, you are not disturbed by notifications about updated filament profiles, which are not relevant to you.
Offline updates
We have also covered the problem of updating system profiles on computers without internet connection. Not connecting a computer to the internet is an obvious security measure in environments where data leaks would pose a problem. However, the profile updater in PrusaSlicer relied on internet connection and there was no way of updating the profiles on such off-the-grid stations. They had to rely on undocumented and very user-unfriendly copying of configuration folders, transferring settings as config bundles, etc.
It is now possible to download a file containing the configuration update for a given repository from our website (note that the URL and the website are also in an alpha stage). This file can then be loaded as an “Offline repository”, and the configuration process treats is the same way as it would use an online update. This gives the user a possibility to update profiles by transferring this file to the off-the-grid computer on a removable drive, distribute it using a local network storage, etc. These files can be loaded (and removed) also in the Configuration Wizard. PrusaSlicer remembers path to the loaded files and it tries to use them anytime when configuration update is triggered.
Seam improvements
Placement of seams is not a very well defined task, and it has many solutions. After the last big batch of changes in the seam placing algorithm (in 2.5.0-alpha2), the placing of seams was detrimental on various models.
In this release, the seam-placing algorithm was significantly changed to improve the results. We also did some other changes which allow the seam placing algorithm to do a better job. To name the most visible improvements:
The ordering of perimeters was optimized to avoid unnecessary long travels between individual loops.
To further reduce long travels, in some special cases where there are two external perimeters the seams are placed in roughly the same spot.
The previous algorithm for aligned seams produced the seams from discontinuous “seam chains” picked heuristically on the object’s surface. Consequently, the old algorithm needed to fit a curve through the resulting seam points to achieve an aesthetically pleasing result. This worked for some models but produced worse results on others, where a strange “wiggling” appeared in places where a straight line was expected. This was particularly noticeable on very simple cylindrical models. The new seam aligning algorithm avoids this issue by employing a simpler strategy, more similar to the one used before 2.5.0-alpha2. It plans the seam from the bottom up, snapping to sharp corners. This approach generates several possible seams and selects the best one based on visibility criteria.
One of the improvements in 2.5.0-alpha2 was the use of a seam visibility metric for seam placement. This worked well for seam hiding and the new algorithm still uses the visibility metric as the main criterion to pick the best seam possible.
Previously, a single algorithm with different optimization criteria was used for both the aligned seam and the rear seam. This meant that the rear seam placement suffered from the same issues as the aligned seam algorithm (notably the artifacts produced by curve fitting). Another reported issue with the rear seam algorithm was that it had no notion of object center. In many use cases it is desirable that the seam is not only in the rear part of the object but also centered. Now there is a completely new separate algorithm for rear seam placement that tries to satisfy both criteria (rear and center).
The nearest seam algorithm is now fully separated. It now simply first searches for the nearest corner to the previous position. If there is none it picks the nearest point on the perimeter.
Version 2.7.4
5. 4. 2024
Il s’agit d’une petite version de patch :
Les objets des 3MF générés par BambuStudio conservent désormais la peinture multi-matériau lorsqu’ils sont chargés
Correction d’un bug où le téléchargement de fichiers à partir de Printables ne fonctionnait pas lorsqu’il était activé dans les Préférences
Version 2.7.3
28. 3. 2024
Il s’agit d’une version stable, apportant des améliorations mineures et plusieurs corrections de bugs.
Améliorations de l’impression multi-matériaux
Nous avons implémenté des modifications dans les réglages de volume d’impression et de nouvelles routines de pointe de filament utilisées par le MMU3 sur la MK4.
Lissage du mode vase
Lorsque vous utilisez le mode Vase en spirale, les parcours d’outils sont générés comme d’habitude et les extrusions résultantes sont ensuite extrudées en augmentant progressivement z. Cette approche a conduit à des artefacts ressemblant à des coutures sur l’impression aux endroits où se trouveraient normalement les transitions de couches. De plus, la dernière couche se terminait brusquement, créant un “bord” acéré à l’endroit où se termine l’extrusion.
Ces deux questions ont été traitées par @andrewboktor en interpolant entre couches adjacentes et en réduisant progressivement le débit d’extrusion en toute fin d’impression. L’amélioration a été récemment fusionnée dans OrcaSlicer et nous avons reçu une pull request avec un portage vers PrusaSlicer. Après avoir évalué la fonctionnalité, nous avons décidé de la fusionner car elle est bien écrite, fonctionne bien et est très utile.
Merci à @andrewboktor pour le temps et les efforts investis dans ce problème, et à @vovodroid et @tg73 pour avoir fourni une pull request avec un portage d’OrcaSlicer
Prise en charge des fichiers 3MF générés dans BambuStudio
PrusaSlicer est désormais capable d’ouvrir les fichiers 3MF générés par BambuStudio et d’en charger la géométrie. (#10718, PR #10808, merci à @cmguo). Veuillez noter que BambuStudio permet d’enregistrer un 3MF contenant uniquement du G-code, ce qui n’est pas pris en charge par PrusaSlicer et le chargement de ces 3MF échouera.
Métadonnées avec polygone limite de chaque objet
Les métadonnées du G-code binaire ont un nouvel élément nomméobjets_info, qui répertorie tous les objets de l’impression et leurs polygones de limite. La même information a été ajoutée dans les commentaires à la fin des G-codes ASCII. Ceci est utile pour contrôler la fonction Annuler un objet à distance via Prusa Connect.
Version 2.7.2
29. 2. 2024
Il s’agit d’une version stable, apportant des améliorations mineures et plusieurs corrections de bugs.
Peinture multi-matériaux améliorée
Nous avons implémenté plusieurs mécanismes pour détecter un diagramme de Voronoï non valide, et en manipulant l’entrée, nous avons pu garantir que le diagramme de Voronoï serait valide. Nous avons également réimplémenté une partie importante de la peinture multi-matériaux à partir de zéro, ce qui, avec les modifications ci-dessus, devrait résoudre tous les problèmes de couches éparpillées pour la segmentation multi-matériaux.
Changement de couleur (M600) Amélioration menée par la communauté
Auparavant, PrusaSlicer plaçait le changement de couleur (M600) juste après la fin de la couche précédente. L’implémentation par défaut du changement de couleur dans presque tous les firmwares ramène la buse exactement à la même position qu’avant le début du changement de couleur. En raison de ce comportement, une petite goutte de filament avec la couleur nouvellement chargée resterait collée à l’impression.
Notre communauté, en particulier @Nohus, a proposé une solution consistant à placer le changement de couleur après le passage à la couche et à la position suivantes, ce qui s’est avéré être une solution beaucoup plus simple et plus universelle que de modifier l’implémentation du M600 du côté du firmware. Merci, Nohus, pour ton implémentation et à vous tous qui avez participé au test de son changement.
Mouvements de déplacement en rampe : plus fluides et plus efficaces
Nous avons remplacé les changements de couche hélicoïdaux introduits dans la version 2.7.1 par un profil de rampe plus raffiné. Bien que les changements de couche hélicoïdaux aient contribué à réduire les cheveux d’ange, ils ont parfois provoqué des taches de couleur et des artefacts. Avec le nouveau profil de rampe raffiné, les cheveux d’ange sont toujours atténués sans les inconvénients des mouvements hélicoïdaux.
Réglages dérogatoires pour SLA
Pour l’impression SLA, nous avons introduit les Réglages dérogatoires de Matériaux. Cette nouvelle fonctionnalité, imitant la flexibilité du découpage FDM, permet de remplacer les options de configuration sélectionnées dans les Réglages d’impression ou dans les Réglages du matériau. Il y a une nouvelle page de paramètres dans les Réglages du Matériau, qui permet de vérifier les paramètres qui seraient remplacés et de redéfinir leur valeur.
Un adieu à Perl
L’origine de PrusaSlicer est basée sur le projet Slic3r, qui a été initialement écrit en langage script Perl. Au fil des années, nous avons réécrit presque tout le code. D’abord le noyau de découpage, puis l’interface utilisateur. Nous avons maintenant réécrit tous les tests unitaires restants, toujours dépendants de Perl, en C++. Au revoir, Perl. Tu ne nous manqueras pas.