pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

prusaslicer: update to release 2.7.2-rc1.



Module Name:	pkgsrc-wip
Committed By:	Paul Ripke <stix%stix.id.au@localhost>
Pushed By:	stix
Date:		Sat Feb 24 11:39:17 2024 +1100
Changeset:	b98468d356aa77d158242ba520c7d6c610b1eea1

Modified Files:
	prusaslicer/Makefile
	prusaslicer/PLIST
	prusaslicer/distinfo
	prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner.cpp

Log Message:
prusaslicer: update to release 2.7.2-rc1.

PrusaSlicer 2.7.2-rc1

Summary

This is the first release candidate of PrusaSlicer 2.7.2, which fixes a single bug found in the previous beta. Please, read the change logs of 2.7.2-alpha2 and 2.7.2-beta1 for the complete list of bugfixes and improvements over 2.7.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.
Bug fixes with respect to 2.7.2-beta1

-   Fixed incorrectly applied retraction in vase mode when ramping travels were enabled (#12305).

PrusaSlicer 2.7.2-beta1

Summary

This is the first beta release of PrusaSlicer 2.7.2, which fixes bugs found in the previous alpha. Please, read the change log of 2.7.2-alpha2 for the complete list of bugfixes and improvements over 2.7.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.
Bug fixes with respect to 2.7.2-alpha2

-   Travels with standard lifts (non-ramping) were incorrectly generated (#12257).
-   With option "Retract on layer change" disabled, there was a retraction missing before the first travel on each layer (#12219).
-   Variable layer height limits were not applied correctly when using multi-extruder printer with different values of min and max layer height (#12248).
-   When z travel speed was set to zero, it was incorrectly exported into the G-code, effectively stopping the print. Instead, regular travel speed should have been used for the z travel (#12258, #12293).
-   When Print / Filament / Printer profiles contained different values for the same key (which should normally not happen, providing the profiles are correct), the misplaced keys could have been used instead of the correct ones. (#6533, supermerill#4079, fixed by PR #12127, thanks to @supermerill).

Translations

-   Updated CS, DE, ES, FR, IT, PL dictionaries.
-   Updated POT for community translators.
-   Updated BE dictionary (#12208, thanks to @lidacity).
-   Updated FI dictionary (#12128, thanks to @J3r0github).
-   Updated RU dictionary (#12220, thanks to @AndylgTom)

PrusaSlicer 2.7.2-alpha2

Summary

This is the first public alpha release of PrusaSlicer 2.7.2 (alpha1 was not public). This release introduces improvements of multi-material segmentation algorithm, improved M600 G-code handling, SLA overrides and 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. The alpha will ask whether it should import a configuration from previously run PrusaSlicer versions on the first start.

Multi-material segmentation improvements

In PrusaSlicer, we use Voronoi diagrams as part of several features such as Arachne, multi-material segmentation, gap-fill, and thin-walls. We use the Voronoi diagram implementation from the Boost library because it is both fast and numerically stable. Unfortunately, it rarely produces a non-valid Voronoi diagram for some input polygons (the graph is not planar, missing vertices, etc.), which could cause a crash of PrusaSlicer, artifacts on external perimeters with Arachne or spilled layers with multi-material segmentation.

In 2.5.0, we implemented several mechanisms to detect a non-valid Voronoi diagram, and by manipulating the input, we could ensure that the Voronoi diagram would be valid. These mechanisms were originally implemented only for Arachne, and they were heavily tight with Arachne's data structures.

In this release, we have generalized these mechanisms to be used anywhere in PrusaSlicer. This itself solved many of the spilled layer issues with multi-material segmentation and also one crash during thin-wall generation (#10632).

We also reimplemented a significant part of multi-material segmentation from scratch, which, together with the changes above, should resolve all issues (#11774) with spilled layers for multi-material segmentation.

Color change (M600) improvements

Place the color change (M600) after moving to the next layer and position

Previously, PrusaSlicer placed the color change (M600) right after the previous layer was finished. The default implementation of M600 in all firmware will return to the position before M600. As a result of this behavior, the extruder with changed filament returns to the place that was printed with a previous filament and could create a blob with new material at that position (#2672).

Our community, especially @Nohus, came up with a solution (#9036) of placing the color change after moving to the next layer and position, which proved to be much easier and more universal solution than changing the M600 implementation on the firmware side. Thank you, Nohus, for your implementation and all of you who participated in testing his PR.

Selecting the correct tool before performing a color change (M600) on multi-tool printers

Previous implementations of color change for multi-tool printers left picking the right tool on the firmware and user. Also, M601 (pause print) was placed instead of M600 (color change), which is how it was intentionally implemented for MMU. That case issue especial on our Prusa XL printers (#11516, #11517, #11600, #11792).

This proved to be insufficient for multi-tool printers, mainly because there is a special sequence of extruder movements that need to be done before parking the tool, and PrusaSlicer depends on it.

Based on this, we implemented picking the tool on which the color change will be performed. After the color change, it picks the previous tool (if the tool for which the color change was performed no longer prints on that layer).
Along with this, we are now emitting the M600 (color change) for multi-tool printers instead of the M601 (pause print).

Ramping travel improvements over PrusaSlicer 2.7.1

In PrusaSlicer 2.7.1 we introduced ramping travels together with helical layer changes that both should mitigate stringing and oozing especially on long travels between objects. In this release we continue improving the ramping travels.

Replace helical layer changes with proper ramping travels

Based on user feedback, it turned out that helical layer changes weren't good enough and sometimes even caused visible blobs or artifacts on external perimeters of prints (#11940, #11800).

We thus decided to replace the helical layer changes with the ramping profile previously only used for travels. This change ensures that the stringing is still mitigated without the disadvantages of the helical movements.

Smoothing of ramping travel moves

During a ramping travel the print head moves in both XY plane and Z. If the travel is sufficiently long, the print head will reach the desired lift before the travel ends. This means that the Z-motor has to decelerate to stop, while the X and Y motors are still moving. Due to the limitations of motion planners in printer firmwares like Marlin and others, this Z-axis deceleration may lead to slight slow down of the movement in the XY plane which is not necessary.

Under the right circumstances this issue can be mitigated on Marlin-based printers by smoothing the ramping travel moves. PrusaSlicer now automatically employs this slight optimization when applicable. This further helps to prevent stringing and may even slightly improve print times by a very small amount.

Lift before obstacles

During long travels above already printed parts of models, ooze material may be so long that it can be wiped on the perimeters of other objects. Increasing the Z-hop distance could reduce this issue, but it also increases the print time when it isn't needed to do such a big Z-hope.

We implemented the lift before obstacles feature that ensures that during crossing already printed objects or parts the nozzle will be at chosen distance to not wipe oozed material on perimeters of that object.

SLA overrides

PrusaSlicer classifies the SLA parameters into three groups: Print, Material and Printer parameters. This parameter classification is certainly artificial and not flexible enough. We are now introducing a concept of Material Overrides in SLA, which is mimicking the Filament Overrides feature known from FDM slicing (introduced in 2.1.0). It allows to override selected configuration options from Print or Printer Settings in Material Settings. There is a new parameter page in Material Settings, which allows to check the parameters which would be overridden and to redefine their value.

Other improvements with respect to 2.7.1

-   Windows specific: The cut tool sometimes produces non-manifold meshes. This situation is now detected and the user is advised to use Windows repair algorithm on the resulting objects (#7243).

Bug fixes with respect to 2.7.1

-   Fixed incorrect partial arrange in certain cases.
-   Fixing arrange issues with aligning to unprintable objects when doing Shift+A.
-   Fixed arrange which sometimes put the wipe tower slightly out of bed (#11367, #11410)
-   Fixed UI glitch when setting object dimensions to extremely high values (#11617).
-   Fixed a bug in generation of brim and skirt preview in the preliminary G-code preview (#11821, thanks to @supermerill)
-   Fixed an issue Ctrl+Shift+Tab shortcut, which incorrectly collapsed sidebar (#7799).
-   Fixed wiggling of Rotate gizmo when moving an object in certain cases.
-   Fixed missing updated when moving through dropdown items using keyboard arrows (#11817).
-   Improve filtering of special characters on Klipper EXCLUDE_OBJECT labels (#11802, PR#11813 by @jschuh - thank you).
-   Fixed layer change color dialog opening off screen (#10419).
-   Fixed occasional crash during thumbnail generation for SLA printers.
-   Fixed slicing issues such as missing infills and similar on multi part models when sliced with object-specific settings (#11721).
-   In SLA mode, it was not possible to use custom file extension (configured in Output Settings).
-   Fixed incorrect calculation of wipe length in certain cases, leading to shorter wipes than configured.
-   Fixed various issues and UI glitches in text/SVG embossing (#11868, #12002).
-   Fixed missing update when a new printer was added while a physical printer preset was selected.
-   Scrolling of the window was incorrectly performed when using mouse wheel over a dropdown.
-   Windows specific: Drop down menus appeared outside of PrusaSlicer and could not be opened again (#11988).
-   When loading an object from a 3MF, the suggestion to rescale the model is not shown, because 3MFs store the information about the correct unit (unlike STL files).
-   Fixed an incorrect check of supported OpenGL version, which led to a hard crash when OpenGL 3.2 was not available (#12000).
-   When loading a 3MF for MM printer, PrusaSlicer offers to load individual models as parts of a single object. This dialog did not show up for specific geometries (#11547).
-   PrusaSlicer did not start on some Windows Server installations due to a missing DLL (wlanapi.dll). The library is now loaded in runtime and the respective features are not available when not found (#11790).
-   Fixed layout of configuration values in parameter tabs when the controls are placed next to each other.
-   Fixed a rare crash when switching printer profiles (#12005).
-   Fixed missing update when toggling "Show incompatible print and filament presets".
-   Fixed update of extruder dropdown when switching application color mode with SLA printer selected.
-   New G-code placeholders extruded_volume, extruded_volume_total, extruded_weight and extruded_weight_total (introduced in 2.6.0) did not include the volume / weight of the wipe tower. This is now fixed.
-   Template filament profiles did not show for custom printers in a specific case (#11991).
-   Dynamic speed on overhangs feature did not take into account maximal filament volumetric speed, meaning that it could violate it and speed up on the overhang.
-   When object name is changed, the G-code is newly reexported so the objects label in the G-code match the updated names (#8059, #12193).
-   Fixed a crash when loading an invalid 3MF.
-   When scaling a volume of a sinking object, PrusaSlicer incorrectly placed the model on the bed.
-   Legend in G-code preview was not automatically switched to Color Print view when color change for MM printers was set.
-   Z-lift was incorrectly not applied for the first travel move (#11843).

Other

-   It is now again possible to build PrusaSlicer without GUI (#11992).

Architecture, infrastructure

PrusaSlicer no longer uses Perl

PrusaSlicer is based on Slic3r project, which was originally written in Perl scripting language. Over the years, various parts were rewritten into C++, first the slicing core, then the user interface. We have now completed the transition by rewriting all remaining unit tests still depending on Perl into C++. Goodbye, Perl. You will not be missed.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=b98468d356aa77d158242ba520c7d6c610b1eea1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 prusaslicer/Makefile                               |  2 +-
 prusaslicer/PLIST                                  | 40 ++++++++++++++++++----
 prusaslicer/distinfo                               |  8 ++---
 .../patches/patch-src_slic3r_Utils_WifiScanner.cpp | 11 ++----
 4 files changed, 41 insertions(+), 20 deletions(-)

diffs:
diff --git a/prusaslicer/Makefile b/prusaslicer/Makefile
index 0c21f32f85..418883ec55 100644
--- a/prusaslicer/Makefile
+++ b/prusaslicer/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-PKGVERSION=	2.7.1
+PKGVERSION=	2.7.2rc1
 PKGNAME=	prusaslicer-${PKGVERSION}
 DISTNAME=	PrusaSlicer-${PKGVERSION:C/(beta|rc)/-\1/}
 CATEGORIES=	cad
diff --git a/prusaslicer/PLIST b/prusaslicer/PLIST
index 85a89b9c97..9eccb39536 100644
--- a/prusaslicer/PLIST
+++ b/prusaslicer/PLIST
@@ -394,6 +394,11 @@ share/PrusaSlicer/profiles/Anker.ini
 share/PrusaSlicer/profiles/Anker/M5-bed.stl
 share/PrusaSlicer/profiles/Anker/M5-texture.svg
 share/PrusaSlicer/profiles/Anker/M5-texture_v2.svg
+share/PrusaSlicer/profiles/Anker/M5C-bed.stl
+share/PrusaSlicer/profiles/Anker/M5C-texture.svg
+share/PrusaSlicer/profiles/Anker/M5C-texture_v2.svg
+share/PrusaSlicer/profiles/Anker/M5C_thumbnail.png
+share/PrusaSlicer/profiles/Anker/M5C_thumbnail_v2.png
 share/PrusaSlicer/profiles/Anker/M5_thumbnail.png
 share/PrusaSlicer/profiles/Anker/M5_thumbnail_v2.png
 share/PrusaSlicer/profiles/Anycubic.idx
@@ -424,12 +429,22 @@ share/PrusaSlicer/profiles/Artillery.ini
 share/PrusaSlicer/profiles/Artillery/Genius_thumbnail.png
 share/PrusaSlicer/profiles/Artillery/Hornet_thumbnail.png
 share/PrusaSlicer/profiles/Artillery/X1_thumbnail.png
+share/PrusaSlicer/profiles/Artillery/X3 Plus_thumbnail.png
+share/PrusaSlicer/profiles/Artillery/X3 Pro_thumbnail.png
+share/PrusaSlicer/profiles/Artillery/X4 Max_thumbnail.png
+share/PrusaSlicer/profiles/Artillery/X4 Plus_thumbnail.png
+share/PrusaSlicer/profiles/Artillery/X4 Pro_thumbnail.png
 share/PrusaSlicer/profiles/Artillery/bed-genius.png
 share/PrusaSlicer/profiles/Artillery/bed-genius.stl
 share/PrusaSlicer/profiles/Artillery/bed-hornet.png
 share/PrusaSlicer/profiles/Artillery/bed-hornet.stl
 share/PrusaSlicer/profiles/Artillery/bed-x1.png
 share/PrusaSlicer/profiles/Artillery/bed-x1.stl
+share/PrusaSlicer/profiles/Artillery/bed-x3-plus.stl
+share/PrusaSlicer/profiles/Artillery/bed-x3-pro.stl
+share/PrusaSlicer/profiles/Artillery/bed-x4-max.stl
+share/PrusaSlicer/profiles/Artillery/bed-x4-plus.stl
+share/PrusaSlicer/profiles/Artillery/bed-x4-pro.stl
 share/PrusaSlicer/profiles/BIBO.idx
 share/PrusaSlicer/profiles/BIBO.ini
 share/PrusaSlicer/profiles/BIBO/BIBO2.svg
@@ -669,6 +684,7 @@ share/PrusaSlicer/profiles/PrusaResearch/MK2.5S_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK2.5_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK2SMM_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK2S_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearch/MK35_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK39IS_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK39_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK3MMU2_thumbnail.png
@@ -700,6 +716,7 @@ share/PrusaSlicer/profiles/PrusaResearch/mini_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/mk2.svg
 share/PrusaSlicer/profiles/PrusaResearch/mk2_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/mk3.svg
+share/PrusaSlicer/profiles/PrusaResearch/mk35.svg
 share/PrusaSlicer/profiles/PrusaResearch/mk39.svg
 share/PrusaSlicer/profiles/PrusaResearch/mk3_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/mk4.svg
@@ -742,12 +759,23 @@ share/PrusaSlicer/profiles/Rigid3D/zero3_bed.png
 share/PrusaSlicer/profiles/Rigid3D/zero_bed.stl
 share/PrusaSlicer/profiles/Snapmaker.idx
 share/PrusaSlicer/profiles/Snapmaker.ini
-share/PrusaSlicer/profiles/Snapmaker/A250_bed.stl
-share/PrusaSlicer/profiles/Snapmaker/A250_texture.svg
-share/PrusaSlicer/profiles/Snapmaker/A250_thumbnail.png
-share/PrusaSlicer/profiles/Snapmaker/A350_bed.stl
-share/PrusaSlicer/profiles/Snapmaker/A350_texture.svg
-share/PrusaSlicer/profiles/Snapmaker/A350_thumbnail.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A250 Dual QSKit_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A250 Dual_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A250 QSKit_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A250 QSKit_texture.svg
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A250_bed.stl
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A250_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A250_texture.svg
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A350 Dual QSKit_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A350 Dual_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A350 QSKit_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A350 QSKit_texture.svg
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A350_bed.stl
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A350_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker A350_texture.svg
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker J1_bed.stl
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker J1_cover.png
+share/PrusaSlicer/profiles/Snapmaker/Snapmaker J1_texture.svg
 share/PrusaSlicer/profiles/Sovol.idx
 share/PrusaSlicer/profiles/Sovol.ini
 share/PrusaSlicer/profiles/Sovol/SV01 PRO_thumbnail.png
diff --git a/prusaslicer/distinfo b/prusaslicer/distinfo
index c72ec6e555..ca0cf03383 100644
--- a/prusaslicer/distinfo
+++ b/prusaslicer/distinfo
@@ -1,8 +1,8 @@
 $NetBSD$
 
-BLAKE2s (PrusaSlicer-2.7.1.tar.gz) = 16debd3190831580b52cc7ea25f140562c9d12c41a6b3c04dda76472e2507273
-SHA512 (PrusaSlicer-2.7.1.tar.gz) = 20037164b8a8853e2f30a5ed613e0da1d02d6fa581c21ef67a51e90af3c33a98eb75e0b3a203adfb8ed7bc67f32de7ea598f3f0ab9c68341738db0c1c1974b3d
-Size (PrusaSlicer-2.7.1.tar.gz) = 64975776 bytes
+BLAKE2s (PrusaSlicer-2.7.2-rc1.tar.gz) = add092ea2f5a8537fd90d509c02b40228e71d72b48efea29c4ef56b7d2673fc3
+SHA512 (PrusaSlicer-2.7.2-rc1.tar.gz) = eb2a3d16d0d53c0c623abcdfe7000e59fd21b4140ecd549e988f09c88d0a8f036fc69359bf89125d87309f805b66b985ababf45147d77b5b0df9e0acedb6cdb7
+Size (PrusaSlicer-2.7.2-rc1.tar.gz) = 64909450 bytes
 SHA1 (patch-CMakeLists.txt) = 33eb39d85ba7b33226f2cc022250872c3ffa28d8
 SHA1 (patch-cmake_modules_FindOpenVDB.cmake) = 4f2afc423a70fe60617b33ff7f26859b39775faa
 SHA1 (patch-src_CMakeLists_txt) = 24e0b8e6512b2a3f84204b03d8161aca903748a1
@@ -57,6 +57,6 @@ SHA1 (patch-src_slic3r_GUI_wxExtensions.cpp) = f36725675ad69d0f3a68183a8719ca4ba
 SHA1 (patch-src_slic3r_GUI_wxExtensions.hpp) = aa5bd2f325452cb2d9c2cef1dd50f37a149d7b6a
 SHA1 (patch-src_slic3r_Utils_FontConfigHelp.hpp) = 8027a1bc90a7f0ad1b53787a25f1e8a28c343ba2
 SHA1 (patch-src_slic3r_Utils_Serial.cpp) = 77dbb4e3526e932c04b8020b6f808278d1319bdb
-SHA1 (patch-src_slic3r_Utils_WifiScanner.cpp) = fbc26c4c6c48b8923b2427730351df55c1e05cfe
+SHA1 (patch-src_slic3r_Utils_WifiScanner.cpp) = a7c8d6dfb43ddaca651df13b487b43dd51b32719
 SHA1 (patch-src_slic3r_Utils_WxFontUtils.cpp) = cc033a04f3219b0f4229344e14d44be63192db60
 SHA1 (patch-tests_fff__print_test__data.cpp) = 588e2a7ea980d82b7bb43eb7522b639101d0a337
diff --git a/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner.cpp b/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner.cpp
index d3276b3d5d..da827f7b45 100644
--- a/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner.cpp
@@ -2,9 +2,9 @@ $NetBSD$
 
 Treat NetBSD like Linux.
 
---- src/slic3r/Utils/WifiScanner.cpp.orig	2023-11-23 14:51:47.000000000 +0000
+--- src/slic3r/Utils/WifiScanner.cpp.orig	2024-02-23 10:58:40.000000000 +0000
 +++ src/slic3r/Utils/WifiScanner.cpp
-@@ -19,7 +19,7 @@
+@@ -17,7 +17,7 @@
  #include "WifiScannerMac.h"
  #endif 
  
@@ -13,10 +13,3 @@ Treat NetBSD like Linux.
  #include <dbus/dbus.h> /* Pull in all of D-Bus headers. */
  #endif //__linux__
  
-@@ -457,4 +457,4 @@ std::string WifiScanner::get_psk(const s
-     }
-     return {};
- }
--} // Slic3r
-\ No newline at end of file
-+} // Slic3r


Home | Main Index | Thread Index | Old Index